Icon commit

This commit is contained in:
knicolas22 2025-06-24 11:02:44 +02:00
parent e1e2e283a3
commit 03df8c354a
4 changed files with 41 additions and 30 deletions

View File

@ -169,6 +169,27 @@ export class MPinstance extends InstanceBase<ModuloPlayConfig> {
return null return null
} }
public readonly initPolling = (): void => {
//this.instance.log('warn', `CONNECTION| INIT POLLING >>> ${this.pollAPI}`)
if (this.pollAPI !== undefined && this.pollAPI !== null) {
clearInterval(this.pollAPI)
}
const pollAPI = () => {
//if (this.websocket?.readyState == 1) {
this.updatPolling()
//}
}
pollAPI()
// Check if API Polling is disabled
if (this.config.pollInterval != 0) {
const pollInterval = this.config.pollInterval < 100 ? 100 : this.config.pollInterval
this.pollAPI = setInterval(pollAPI, pollInterval)
}
}
} }
runEntrypoint(MPinstance, UpgradeScripts) runEntrypoint(MPinstance, UpgradeScripts)

View File

@ -40,7 +40,7 @@ export class MPconnection {
this.instance!.log('info', 'WEBSOCKET MP OPENED ' + this.websocket?.readyState) this.instance!.log('info', 'WEBSOCKET MP OPENED ' + this.websocket?.readyState)
this.instance.mpConnected = true this.instance.mpConnected = true
this.instance.isConnected() this.instance.isConnected()
//this.initPolling() this.instance.initPolling()
}) })
this.websocket.on('close', (ev: { toString: () => any }) => { this.websocket.on('close', (ev: { toString: () => any }) => {

View File

@ -75,7 +75,7 @@ export function getPresets(instance: MPinstance): CompanionPresetDefinitions {
//text: 'Generals', //text: 'Generals',
}) })
// Play // PLAY
playlistsPresets.push({ playlistsPresets.push({
category: `${playlist + 1} - ${plName}`, category: `${playlist + 1} - ${plName}`,
name: `${plName}\nPlay`, name: `${plName}\nPlay`,
@ -103,7 +103,7 @@ export function getPresets(instance: MPinstance): CompanionPresetDefinitions {
feedbacks: [], feedbacks: [],
}) })
// Play // PAUSE
playlistsPresets.push({ playlistsPresets.push({
category: `${playlist + 1} - ${plName}`, category: `${playlist + 1} - ${plName}`,
name: `${plName}\nPause`, name: `${plName}\nPause`,
@ -134,13 +134,16 @@ export function getPresets(instance: MPinstance): CompanionPresetDefinitions {
// NEXT CUE // NEXT CUE
playlistsPresets.push({ playlistsPresets.push({
category: `${playlist + 1} - ${plName}`, category: `${playlist + 1} - ${plName}`,
name: `${plName}\nNext cue`, name: `${plName}`,
type: 'button', type: 'button',
style: { style: {
text: `${plName}\nNext cue`, text: `${plName}`,
alignment: 'center:top',
size: textSize, size: textSize,
color: combineRgb(255, 255, 255), color: combineRgb(255, 255, 255),
bgcolor: instance.grayModuloPlayer, bgcolor: instance.grayModuloPlayer,
png64: next_icon,
pngalignment: 'center:center',
}, },
steps: [ steps: [
{ {
@ -162,13 +165,16 @@ export function getPresets(instance: MPinstance): CompanionPresetDefinitions {
// PREV CUE // PREV CUE
playlistsPresets.push({ playlistsPresets.push({
category: `${playlist + 1} - ${plName}`, category: `${playlist + 1} - ${plName}`,
name: `${plName}\nPrev cue`, name: `${plName}`,
type: 'button', type: 'button',
style: { style: {
text: `${plName}\nPrev cue`, text: `${plName}`,
alignment: 'center:top',
size: textSize, size: textSize,
color: combineRgb(255, 255, 255), color: combineRgb(255, 255, 255),
bgcolor: instance.grayModuloPlayer, bgcolor: instance.grayModuloPlayer,
png64: prev_icon,
pngalignment: 'center:center',
}, },
steps: [ steps: [
{ {
@ -871,3 +877,9 @@ export function getPresets(instance: MPinstance): CompanionPresetDefinitions {
return presets as unknown as CompanionPresetDefinitions return presets as unknown as CompanionPresetDefinitions
} }
const next_icon =
'iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAFEmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDYtMjRUMTA6NDI6MTUrMDIwMCIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjUtMDYtMjRUMTA6NDY6MTQrMDI6MDAiCiAgIHhtcDpNZXRhZGF0YURhdGU9IjIwMjUtMDYtMjRUMTA6NDY6MTQrMDI6MDAiCiAgIHBob3Rvc2hvcDpEYXRlQ3JlYXRlZD0iMjAyNS0wNi0yNFQxMDo0MjoxNSswMjAwIgogICBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIgogICBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiCiAgIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSI0MCIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjQwIgogICBleGlmOkNvbG9yU3BhY2U9IjEiCiAgIHRpZmY6SW1hZ2VXaWR0aD0iNDAiCiAgIHRpZmY6SW1hZ2VMZW5ndGg9IjQwIgogICB0aWZmOlJlc29sdXRpb25Vbml0PSIyIgogICB0aWZmOlhSZXNvbHV0aW9uPSI3Mi8xIgogICB0aWZmOllSZXNvbHV0aW9uPSI3Mi8xIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0icHJvZHVjZWQiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFmZmluaXR5IFBob3RvIDIgMi42LjIiCiAgICAgIHN0RXZ0OndoZW49IjIwMjUtMDYtMjRUMTA6NDY6MTQrMDI6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KPD94cGFja2V0IGVuZD0iciI/Phspxb4AAAGCaUNDUHNSR0IgSUVDNjE5NjYtMi4xAAAokXWRzytEURTHPzMGEyOKxSwsXhpKIT9qYqOMNNSkaYzyazPzzJtRM+P13pskW2WrKLHxa8FfwFZZK0WkZM2W2KDnPKNGMud27vnc773ndO+54I5n1Zzp6YZc3jJi4ZAyNT2jVD9RhR8v7XgSqqkPRaMRytrbDS4nXnU6tcqf+9dq51OmCi6v8KCqG5bwqHBkydId3hRuUjOJeeFj4Q5DLih87ejJIj86nC7yh8NGPDYM7gZhJf2Lk79YzRg5YXk5gVy2oP7cx3mJL5WfnJDYIt6MSYwwIRTGGGGYID0MyBykk166ZEWZ/O7v/HEWJVeVWWcZgwXSZLDoELUg1VMSNdFTMrIsO/3/21dT6+stVveFoPLBtl9aoXoDPtdt+33ftj8PoOIezvKl/MU96H8Vfb2kBXahfhVOzktacgtO18B/pyeMxLdUIe7WNHg+grppaLyEmtliz372ObyF+Ip81QVs70CbnK+f+wI1bGfP9gSzaAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAN9JREFUWIXt1D8OQUEQgPEZf0KpcQAKh3ATrqByAU6glFCLS9ByBApH4AKv8imEbPEi5i1vSeZXv9n58jZZEeecc86lpJaPgZ6IjCJ3zlX1FHlGPkCBJcUtANNPKRJZB7YF4jZA/atxQWQLOBriDkCrlLggsgtc3og7A51S44LIPpC9iMuAfpK4IHL4InCQNO4BmObETVJ3PXF/ftZB3IpvPydWQBPYAzugkbonF9AG2p88s/A1AGMRqRpGZqqKdU9MYCYilqusqurVuqdiHSjbzwfWImbnkfPOOeec+wM3bf56C1rwLO4AAAAASUVORK5CYII='
const prev_icon =
'iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAFEmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDYtMjRUMTA6NDI6MTUrMDIwMCIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjUtMDYtMjRUMTA6NDY6MjQrMDI6MDAiCiAgIHhtcDpNZXRhZGF0YURhdGU9IjIwMjUtMDYtMjRUMTA6NDY6MjQrMDI6MDAiCiAgIHBob3Rvc2hvcDpEYXRlQ3JlYXRlZD0iMjAyNS0wNi0yNFQxMDo0MjoxNSswMjAwIgogICBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIgogICBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiCiAgIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSI0MCIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjQwIgogICBleGlmOkNvbG9yU3BhY2U9IjEiCiAgIHRpZmY6SW1hZ2VXaWR0aD0iNDAiCiAgIHRpZmY6SW1hZ2VMZW5ndGg9IjQwIgogICB0aWZmOlJlc29sdXRpb25Vbml0PSIyIgogICB0aWZmOlhSZXNvbHV0aW9uPSI3Mi8xIgogICB0aWZmOllSZXNvbHV0aW9uPSI3Mi8xIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0icHJvZHVjZWQiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFmZmluaXR5IFBob3RvIDIgMi42LjIiCiAgICAgIHN0RXZ0OndoZW49IjIwMjUtMDYtMjRUMTA6NDY6MjQrMDI6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KPD94cGFja2V0IGVuZD0iciI/PiTiGS4AAAGCaUNDUHNSR0IgSUVDNjE5NjYtMi4xAAAokXWRzytEURTHPzMGEyOKxSwsXhpKIT9qYqOMNNSkaYzyazPzzJtRM+P13pskW2WrKLHxa8FfwFZZK0WkZM2W2KDnPKNGMud27vnc773ndO+54I5n1Zzp6YZc3jJi4ZAyNT2jVD9RhR8v7XgSqqkPRaMRytrbDS4nXnU6tcqf+9dq51OmCi6v8KCqG5bwqHBkydId3hRuUjOJeeFj4Q5DLih87ejJIj86nC7yh8NGPDYM7gZhJf2Lk79YzRg5YXk5gVy2oP7cx3mJL5WfnJDYIt6MSYwwIRTGGGGYID0MyBykk166ZEWZ/O7v/HEWJVeVWWcZgwXSZLDoELUg1VMSNdFTMrIsO/3/21dT6+stVveFoPLBtl9aoXoDPtdt+33ftj8PoOIezvKl/MU96H8Vfb2kBXahfhVOzktacgtO18B/pyeMxLdUIe7WNHg+grppaLyEmtliz372ObyF+Ip81QVs70CbnK+f+wI1bGfP9gSzaAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAOJJREFUWIXt1bFtwkAYhuHvR6C4dOMBEilLhElgDZSWjIBElfRhCdKGFVwwAixgS0Ev1SkiIJQ7ZB/F/9T+fG9hnSXnnHPO5WQpI2AgaREx+TGzWcpZtwQeIiatmRUpZw1SRn26+8Bh4g5JrxHPx3wO3QEqoMrdcRFQABvgG3jI3XMCMGDFr08g6YboBPDGuXnuLkkSML0QF0xyx42B9kpgA7zkinsC9lfigh3w2HdcCdT/iAtqoOwrbgR8RcQFa2DUdZwBHwlxwTuR10/sr+5ZUiNpGbn7+47tDXvnnHPO9egInP95mCldvZ4AAAAASUVORK5CYII='

View File

@ -42,7 +42,7 @@ export class SDconnection {
this.instance!.log('info', 'WEBSOCKET SPYDOG OPENED ' + this.websocket?.readyState) this.instance!.log('info', 'WEBSOCKET SPYDOG OPENED ' + this.websocket?.readyState)
this.instance.sdConnected = true this.instance.sdConnected = true
this.instance.isConnected() this.instance.isConnected()
this.initPolling() this.instance.initPolling()
}) })
this.websocket.on('close', (ev: { toString: () => any }) => { this.websocket.on('close', (ev: { toString: () => any }) => {
@ -113,27 +113,5 @@ export class SDconnection {
this.websocket = null this.websocket = null
this.instance.sdConnected = false this.instance.sdConnected = false
this.instance.isConnected() this.instance.isConnected()
//this.instance!.log('debug', 'Connection has been destroyed due to removal or disable by user')
}
public readonly initPolling = (): void => {
//this.instance.log('warn', `CONNECTION| INIT POLLING >>> ${this.pollAPI}`)
if (this.pollAPI !== undefined) {
clearInterval(this.pollAPI)
}
const pollAPI = () => {
if (this.websocket?.readyState == 1) {
this.instance.updatPolling()
}
}
pollAPI()
// Check if API Polling is disabled
if (this.instance.config.pollInterval != 0) {
const pollInterval = this.instance.config.pollInterval < 100 ? 100 : this.instance.config.pollInterval
this.pollAPI = setInterval(pollAPI, pollInterval)
}
} }
} }