WE
JSConf Budapest 2016 by Tim Pietrusky & Martin Schuhfuss
MUSIC
& THE WEB
Tim Pietrusky
Martin Schuhfuss
JSConf EU 2014
JSConf EU 2015
Music
Organized sound
Voice
Instrument
Digitally
Sample
Recorded sound
Microphone
Synthesizer
Loop Drop
created by Matt McKegg
Lighting
Javascript
DMX512
- used by every piece of stage-equipment
- 512 channels / 1 Byte per channel
- multiple channels per device
- static / precofigured device-addresses
DMX Interface
let dmx = new Uint8Array(512);
serialport.write(dmx.buffer);
fivetwelve
let device = new DmxDevice(...);
device.brightness = 1;
device.color = 'yellow';
moving on...
- how to manage and store presets?
- what about mixing of presets?
- inheritance?
- should I use huge JSON-files for that?
let's try that using CSS.
// select a group of devices
.profile {
// assign some property-values
pan: 0deg;
tilt: 0deg;
brightness: 1;
shutter: open;
color: lightblue;
}
lighting.css
lighting.css demo
light.scss
intermediate css
node-sass
rework-parser
CSS AST
DMX DeviceRegistry
launchpad
set active classes
akvarium.getComputedStyle()
LIVE
Thank you!
Enjoy the party
We <3 music and the web
By Martin Schuhfuss
We <3 music and the web
- 1,317