diff --git a/apps/server/src/adapters/WebsocketAdapter.ts b/apps/server/src/adapters/WebsocketAdapter.ts index 6954ac017..2c230926c 100644 --- a/apps/server/src/adapters/WebsocketAdapter.ts +++ b/apps/server/src/adapters/WebsocketAdapter.ts @@ -141,7 +141,7 @@ class SocketServer implements IAdapter { if (reply) { ws.send( JSON.stringify({ - type: tag, + tag, payload: reply.payload, }), ); diff --git a/apps/server/src/services/runtime-service/rundownService.utils.ts b/apps/server/src/services/runtime-service/rundownService.utils.ts index 2999294b8..56d28e942 100644 --- a/apps/server/src/services/runtime-service/rundownService.utils.ts +++ b/apps/server/src/services/runtime-service/rundownService.utils.ts @@ -78,7 +78,8 @@ export function findNextPlayableId(playableEventsOrder: EntryId[], currentEventI } /** - * returns first event that matches a given cue + * returns next event that matches a given cue + * then loops from the start */ export function findNextPlayableWithCue( rundown: Rundown, @@ -95,6 +96,14 @@ export function findNextPlayableWithCue( return event; } } + + for (let i = 0; i < currentEventIndex; i++) { + const eventId = playableEventsOrder[i]; + const event = rundown.entries[eventId]; + if (isOntimeEvent(event) && isPlayableEvent(event) && event.cue.toLowerCase() === lowerCaseCue) { + return event; + } + } } /**