outputs.js 743 B

123456789101112131415161718192021222324252627
  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. });
  12. }
  13. return result;
  14. }
  15. function setOutputState(outputId, inputId, state) {
  16. var output = outputs[outputId];
  17. return output ? output.setState(inputId, state) : false;
  18. }
  19. module.exports.listOutputs = listOutputs;
  20. module.exports.setOutputState = setOutputState;
  21. module.exports.registerOutput = function(id, output) { console.log("Registered new client " +id); outputs[id] = output; }
  22. module.exports.unregisterOutput = function(id) { console.log("Unregistered client " +id); delete outputs[id]; }