diff --git a/test.js b/demo.js similarity index 59% rename from test.js rename to demo.js index e671a2e..d529200 100644 --- a/test.js +++ b/demo.js @@ -1,47 +1,53 @@ -var drv = require('./drivers/enttec-usb-dmx-pro.js'); -universe = new drv.init(0); +"use strict" + +var DMX = require('./dmx') +var A = DMX.Animation + +var dmx = new DMX() + +// var universe = dmx.addUniverse('demo', 'enttec-usb-dmx-pro', 0) +var universe = dmx.addUniverse('demo', 'null') + universe.update({0: 1, 1: 0}) universe.update({15: 1, 16: 255}) universe.update({1: 255, 3: 120, 4: 230, 5: 30, 6: 110, 7: 255, 8: 10, 9: 255, 10: 255, 11: 0}) function done() {console.log('DONE')} -var A = require('./anim.js').Anim; - function green_water(universe, channels, duration) { var colors = [ [160, 230, 20], [255, 255, 0], [110, 255, 10] ] - - for(c in channels) { + + for(var c in channels) { var r = Math.floor((Math.random()*colors.length)) - u = {} + var u = {} for(var i = 0; i < 3; i++) { - u[channels[c] + i] = colors[r][i]; + u[channels[c] + i] = colors[r][i] } - new A(universe).add(u, duration).run() + new A().add(u, duration).run(universe) } - setTimeout(function() {green_water(universe, channels, duration);}, duration * 2); + setTimeout(function() {green_water(universe, channels, duration);}, duration * 2) } function warp(universe, channel, min, max, duration) { - var a = {}, b = {}; + var a = {}, b = {} a[channel] = min; b[channel] = max; - new A(universe).add(a, duration).add(b, duration).run(function() { - warp(universe, channel, min, max, duration); + new A().add(a, duration).add(b, duration).run(universe, function() { + warp(universe, channel, min, max, duration) }) } -warp(universe, 1, 200, 220, 360); -warp(universe, 1+15, 200, 255, 240); -green_water(universe, [3, 6, 9], 4000); -green_water(universe, [3+15, 6+15, 9+15], 4000); +warp(universe, 1, 200, 220, 360) +warp(universe, 1+15, 200, 255, 240) +green_water(universe, [3, 6, 9], 4000) +green_water(universe, [3+15, 6+15, 9+15], 4000) -return; +return var x = new A() .add({1: 255, 6: 110, 7: 255, 8: 10}, 1200) @@ -69,10 +75,10 @@ var x = new A() .delay(50) .add({2: 255}, 6000) .delay(200) - .add({2: 0}); + .add({2: 0}) var y = new A() - .add({9: 255}, 10000); + .add({9: 255}, 10000) -x.run(universe, done); -y.run(universe, done); \ No newline at end of file +x.run(universe, done) +y.run(universe, done) \ No newline at end of file diff --git a/dmx.js b/dmx.js index a586e51..7ba4b0e 100644 --- a/dmx.js +++ b/dmx.js @@ -21,7 +21,7 @@ DMX.prototype.registerDriver = function(name, module) { } DMX.prototype.addUniverse = function(name, driver, device_id) { - this.universes[name] = new this.drivers[driver](device_id) + return this.universes[name] = new this.drivers[driver](device_id) } DMX.prototype.update = function(universe, channels) {