Canvas2DMX

Canvas2DMX

A Processing library for mapping canvas pixels to DMX lighting fixtures in real time. Define LED layouts, apply colour correction, and send to any DMX backend.

Canvas2DMX in action


Features


Examples


Quick Start

import com.studiojordanshaw.canvas2dmx.*;

Canvas2DMX c2d;

void setup() {
  size(400, 200);
  pixelDensity(1);

  c2d = new Canvas2DMX(this);
  c2d.mapLedStrip(0, 8, width/2f, height/2f, 40, 0, false);
  c2d.setChannelPattern("grb");  // match your fixture
  c2d.setResponse(2.6);          // gamma for WS2812/WS2815
  c2d.setStartAt(1);
}

void draw() {
  background(0);
  ellipse(mouseX, mouseY, 100, 100);

  int[] colors = c2d.getLedColors();
  c2d.visualize(colors);

  // send via your backend — ENTTEC Pro, FT232RL, OLA, or your own
  c2d.sendToDmx((ch, val) -> dmx.sendValue(ch, val));
}

Full setup guide →


Demo

Watch the demo


Made with Canvas2DMX

Installations built using this library — Studio Jordan Shaw

Constellation Range

Constellation Range

Six illuminated faceted peaks with aurora gradients responding to Bluetooth proximity — ~2,000 LEDs. Lumière: The Art of Light at Trillium Park and OCAD U Gala 2026

Same Material / Different Time

Same Material / Different Time

Anamorphic LED installation — addressable strips transform a tree into a sail through light and perspective

Crosshatch

Crosshatch

Kinetic interactive installation — handles alter lighting, shadows, and projected patterns in real time

Signal

Signal

Interactive light sculpture driven by open weather data and visitor interaction

Rays

Rays

Infrared-interactive public light sculpture celebrating post-pandemic community reconnection — Hamilton


MIT License  ·  Studio Jordan Shaw