diff --git a/common/lkt.js b/common/lkt.js index c62ac0d55d97b5f5f7a101c0aa2eba4c9c2701a4..87e4b3b667b67f0f6c95427c97cb49966d7cfa8e 100644 --- a/common/lkt.js +++ b/common/lkt.js @@ -134,7 +134,25 @@ class LktClient { } static commandPlay() { - return LktClient.__execSimple('play'); + var status= LktClient.commandStatus(); + return status.then(LktClient.changePlayStatus,LktClient.errorStatus); + } + static changePlayStatus(status) + { + switch(status.state) + { + case "play": + return LktClient.__execSimple("pause 1"); + break; + case "pause": + return LktClient.__execSimple("pause 0"); + break; + case "stop": + return LktClient.__execSimple("play"); + break; + default: + logger.info("Unknown play state"+status.state); + } } static commandStop() { return LktClient.__execSimple('stop'); @@ -155,6 +173,10 @@ class LktClient { static commandQueueDelId(id) { return LktClient.__execSimple(`deleteid ${id}`); } + static errorStatus(error) + { + logger.error("Unable to access lektor status:" + error); + } } function __mpdToObject(string) {