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