outputs.js 793 B

12345678910111213141516171819202122232425262728
  1. var outputs = {};
  2. function listOutputs() {
  3. var result = [];
  4. for (var id in outputs) {
  5. var i = outputs[id];
  6. result.push({
  7. name: i.name || i.getName(),
  8. id: id,
  9. inputs: i.inputs || i.getInputs(),
  10. volumeControl: i.volumeControl,
  11. status: i.getStatus ? i.getStatus():undefined
  12. });
  13. }
  14. return result;
  15. }
  16. function setOutputState(outputId, inputId, state) {
  17. var output = outputs[outputId];
  18. return output ? output.setState(inputId, state) : false;
  19. }
  20. module.exports.listOutputs = listOutputs;
  21. module.exports.setOutputState = setOutputState;
  22. module.exports.registerOutput = function(id, output) { console.log("Registered new client " +id); outputs[id] = output; }
  23. module.exports.unregisterOutput = function(id) { console.log("Unregistered client " +id); delete outputs[id]; }