Addtime in sec (#576)

* addtime endpoint

---------

Co-authored-by: arc-alex <ac@omnivox.dk>
This commit is contained in:
Alex Christoffer Rasmussen
2023-11-07 21:24:44 +01:00
committed by GitHub
parent 98bd320cbd
commit 138be478ca
3 changed files with 32 additions and 9 deletions
@@ -7,6 +7,7 @@ import { parse, updateEvent } from './integrationController.config.js';
import { isKeyOfType } from 'ontime-types/src/utils/guards.js'; import { isKeyOfType } from 'ontime-types/src/utils/guards.js';
import { event } from '../models/eventsDefinition.js'; import { event } from '../models/eventsDefinition.js';
//TODO: re-throwing the error does not add any extra information or value
export function dispatchFromAdapter( export function dispatchFromAdapter(
type: string, type: string,
args: { args: {
@@ -174,6 +175,19 @@ export function dispatchFromAdapter(
PlaybackService.roll(); PlaybackService.roll();
break; break;
} }
case 'addtime': {
const time = Number(payload);
if (isNaN(time)) {
throw new Error(`Time not recognised ${payload}`);
}
try {
PlaybackService.addTime(time);
} catch (error) {
throw new Error(`Could not add time: ${error}`);
}
break;
}
//deprecated
case 'delay': { case 'delay': {
const delayTime = Number(payload); const delayTime = Number(payload);
if (isNaN(delayTime)) { if (isNaN(delayTime)) {
+16 -7
View File
@@ -269,17 +269,26 @@ export class PlaybackService {
} }
} }
/**
* Adds time to current event
* @param {number} time - time to add in seconds
*/
static addTime(time: number) {
if (eventTimer.loadedTimerId) {
const timeInMs = time * 1000;
eventTimer.addTime(timeInMs);
timeInMs > 0
? logger.info(LogOrigin.Playback, `Added ${time} sec`)
: logger.info(LogOrigin.Playback, `Removed ${time} sec`);
}
}
/** /**
* Adds delay to current event * Adds delay to current event
* @deprecated Use addTime
* @param {number} delayTime time in minutes * @param {number} delayTime time in minutes
*/ */
static setDelay(delayTime: number) { static setDelay(delayTime: number) {
if (eventTimer.loadedTimerId) { this.addTime(delayTime * 60);
const delayInMs = delayTime * 1000 * 60;
eventTimer.delay(delayInMs);
delayInMs > 0
? logger.info(LogOrigin.Playback, `Added ${delayTime} min delay`)
: logger.info(LogOrigin.Playback, `Removed ${delayTime} min delay`);
}
} }
} }
+2 -2
View File
@@ -304,10 +304,10 @@ export class TimerService {
} }
/** /**
* Delays running timer by given amount * Adds time to running timer by given amount
* @param {number} amount * @param {number} amount
*/ */
delay(amount: number) { addTime(amount: number) {
if (!this.loadedTimerId) { if (!this.loadedTimerId) {
return; return;
} }