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,478