diff --git a/lib/lib.base.requestMediaRenderer.js b/lib/lib.base.requestMediaRenderer.js index ac3fba3..29b59a7 100644 --- a/lib/lib.base.requestMediaRenderer.js +++ b/lib/lib.base.requestMediaRenderer.js @@ -35,6 +35,15 @@ module.exports = class RequestMediaRenderer extends Request { return true; } + + + waitTillConfirmed() + { + var confirm = this.getQueryValue("confirm", ""); + if (confirm != "" && confirm != "0" && confirm != "false") + return true; + return false; + } async run() diff --git a/lib/requestHandlers/lib.request.pause.js b/lib/requestHandlers/lib.request.pause.js index 96f7b11..216922b 100644 --- a/lib/requestHandlers/lib.request.pause.js +++ b/lib/requestHandlers/lib.request.pause.js @@ -17,7 +17,7 @@ module.exports = class Request_Pause extends RequestMediaRenderer runAction(_resolve, _reject, _mediaRendererVirtual, _mediaRendererRoom, _roomUdn) { - _mediaRendererVirtual.pause().then(function(_data){ + _mediaRendererVirtual.pause(this.waitTillConfirmed()).then(function(_data){ _resolve(_data); }).catch(function(_data){ _reject(_data); diff --git a/lib/requestHandlers/lib.request.play.js b/lib/requestHandlers/lib.request.play.js index a237e73..d7395ae 100644 --- a/lib/requestHandlers/lib.request.play.js +++ b/lib/requestHandlers/lib.request.play.js @@ -17,7 +17,7 @@ module.exports = class Request_Play extends RequestMediaRenderer runAction(_resolve, _reject, _mediaRendererVirtual, _mediaRendererRoom, _roomUdn) { - _mediaRendererVirtual.play().then(function(_data){ + _mediaRendererVirtual.play(this.waitTillConfirmed()).then(function(_data){ _resolve(_data); }).catch(function(_data){ _reject(_data); diff --git a/lib/requestHandlers/lib.request.setPlayMode.js b/lib/requestHandlers/lib.request.setPlayMode.js index 5034002..4a5dfd7 100644 --- a/lib/requestHandlers/lib.request.setPlayMode.js +++ b/lib/requestHandlers/lib.request.setPlayMode.js @@ -32,7 +32,7 @@ module.exports = class Request_SetPlayMode extends RequestMediaRenderer } - _mediaRendererVirtual.setPlayMode(playMode).then(function(_data){ + _mediaRendererVirtual.setPlayMode(playMode, this.waitTillConfirmed()).then(function(_data){ _resolve(_data); }).catch(function(_data){ _reject(_data); diff --git a/lib/requestHandlers/lib.request.stop.js b/lib/requestHandlers/lib.request.stop.js index acb8221..2d853d2 100644 --- a/lib/requestHandlers/lib.request.stop.js +++ b/lib/requestHandlers/lib.request.stop.js @@ -17,7 +17,7 @@ module.exports = class Request_Stop extends RequestMediaRenderer runAction(_resolve, _reject, _mediaRendererVirtual, _mediaRendererRoom, _roomUdn) { - _mediaRendererVirtual.stop().then(function(_data){ + _mediaRendererVirtual.stop(this.waitTillConfirmed()).then(function(_data){ _resolve(_data); }).catch(function(_data){ _reject(_data); diff --git a/package.json b/package.json index 1eb713f..4d64a7c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "engines" : { "node" : ">=7.6.0" }, "name": "node-raumserver", - "version": "0.0.7", + "version": "0.0.8", "description": "Server to control the Raumfeld multiroom system via requests", "main": "index.js", "scripts": { diff --git a/test/index.html b/test/index.html index 0712901..152a70c 100644 --- a/test/index.html +++ b/test/index.html @@ -20,6 +20,9 @@
node-raumserver host
+
+ Confirm requests +
diff --git a/test/index.js b/test/index.js index 7a43709..adbf31d 100644 --- a/test/index.js +++ b/test/index.js @@ -47,6 +47,14 @@ function doGetAction(_action) function doAction(_action) { + if($("#confirm").is(':checked')) + { + if(_action.indexOf("?") > 0) + _action += "&confirm=1" + else + _action += "?confirm=1" + } + showJSONResult({ "val" : "Waiting for response..."}); setUrls(); $.ajax({