PixelController Changelog

What's new in PixelController 2.1.0 RC 1

Apr 3, 2014
  • Add client/server architecture. PixelController can started headless on a server, connect to the server with the client GUI (same look as the standalone version)
  • Add RaspberryPi WS2801 output driver
  • Add custom led matrix mapping tool, see http://pixelinvaders.ch/pixelcontroller/ for more details
  • Add Bonjour/Zeroconf support, PixelController register itself as "pixelcontroller.local"
  • Add new ROTATE_ Generator/Effect/Mixer/Colorset OSC command
  • Add Noise generator
  • Add Gamma 3.0 color correction
  • Add TouchOsc layout for phone and tablet
  • Add simple performance test (PixelController.sh -perf or PixelControllerRPi.sh -perf)
  • Add Random Mode with selectable time-life (option randommode.lifetime.in.s) (Issue #44)
  • Add more Blinkenlights movie files
  • Add new effect Posterize
  • Add new effect Darken
  • Add PixelInvaders firmware for Arduino UNO, thanks Yves Alter. This should fix all UNO related issues.
  • Add new output rotate option: FLIPPEDY
  • Remove support for stealth panels
  • Fix decouple fps setting of PixelController from the GUI update speed (Issue #61)
  • Fix replace Pixel and Quality image resize code with custom implementations (nearest neighbour and bilinear), major performance improvement
  • Fix add missing float parameter to the OSC server, only int values were parsed
  • Fix the framerate configuration can be a float number (ex. fps=0.1) if you need a really slow update rate
  • Fix refresh GUI settings when random mode kicks in
  • Fix generator speed changes the target fps (0..200%), much smoother (Issue #46, #52 and #59)
  • Fix generator speed and brightness were not stored as part of the preset (Issue #62)
  • Fix capture generator, crashed if recording window was too small
  • Fix Metaball generator resolution for different sizes
  • Fix more code cleanup
  • Fix optimize CPU usage in heavy beat detection mode
  • Fix optimize preset load time, load resource files (image and blinkenlight) only if generator is used in preset
  • Fix reduce rotozoom effect speed
  • Fix visual size in GUI
  • Fix rename preset.led -> preset.properties, all PixelController extension files have now the same file extension.
  • Fix update build process, put RPi specifiy resources (Serial and pi4j) dependencies into special directory, do not include junit dependencies.
  • Fix speedup Blinkenlight parser, some frames were displayed too long
  • Fix Multliply and Negative Multiply mixer, output didn't respect ColorSets correctly
  • Fix Subsat mixer - was completly broken
  • Fix output layout for all *FLIPPEDY entries - all FLIPPEDY action were broken.

New in PixelController 2.0.0 (Dec 3, 2013)

  • Modularize Project, rewrote large parts
  • Add new command line version of PixelController - run on a headless server (like an RPi)
  • Add make speed of generators configurable via GUI and save it as part of the preset (Issue #46)
  • Add Beat Workmode, define how beat input should be interpreted. Options: Linear, Moderate Sound and Heavy Sound
  • Fix Update GUI much faster (instant feedback)
  • Fix GUI, sort images and blinkenlights file dropdown content case insensitive
  • Fix remove obsolete config options (initial.image.simple, initial.blinken, initial.text) but load a preset during startup
  • Fix rename config options (maximal.debug.window.xsize -> gui.window.maximal.width, update.generators.by.sound -> sound.analyze.input)
  • Fix typo, rename data/presents.led -> data/presets.led
  • Fix respect maximal window size defined in the config file
  • Fix adjust matrix simulation window for large resolutions
  • Fix effect Rotate90 - works now for non-square resolutions
  • Fix improve error reporting
  • Much faster startup time
  • Display gamma correction on output matrix
  • Removed TCP Server, used by the old PureData frontend and CLI client
  • Update documentation, see readme.pdf

New in PixelController 2.0.0 RC 1 (Nov 25, 2013)

  • Modularize Project, rewrote large parts
  • Add new command line version of PixelController - run on a headless server (like an RPi)
  • Add make speed of generators configurable via GUI and save it as part of the preset (Issue #46)
  • Add Beat Workmode, define how beat input should be interpreted. Options: Linear, Moderate Sound and Heavy Sound
  • Fix Update GUI much faster (instant feedback)
  • Fix GUI, sort images and blinkenlights file dropdown content case insensitive
  • Fix remove obsolete config options (initial.image.simple, initial.blinken, initial.text) but load a preset during startup
  • Fix rename config options (maximal.debug.window.xsize -> gui.window.maximal.width, update.generators.by.sound -> sound.analyze.input)
  • Fix typo, rename data/presents.led -> data/presets.led
  • Fix respect maximal window size defined in the config file
  • Fix adjust matrix simulation window for large resolutions
  • Fix effect Rotate90 - works now for non-square resolutions
  • Much faster startup time
  • Removed TCP Server, used by the old PureData frontend and CLI client

New in PixelController 1.5.1 (Nov 18, 2013)

  • Add support for ExpeditInvaders output
  • Add Fader effect if a preset is loaded, freeze current buffer and fade into new content
  • Add Fader effect if current visual is randomized, freeze current buffer and fade into new content
  • Add config option to make fader time configurable
  • Fix Checkbox Mixer, make checkbox size dependent on output
  • Fix PixelImage, possible exception
  • Fix Geometrics and Cell generators, possible exception
  • Fix rename Rainbowduino firmware to prevent crash
  • Fix rainbowduinov3 firmware bug, the serial line could block
  • Fix PixelInvaders, improve serial detection, *should* now works with regular Arduino boards
  • Huge refactoring, improve unit testing

New in PixelController 1.5.0 (Oct 24, 2013)

  • Add new Help Tab, display a short help how to use PixelController
  • Add Zoom Effect, add Zoom options (zoom in, zoom out, vertical, horizontal)
  • Add Textwriter option (PingPong scrolling, left scrolling)
  • Add new Minimum and Maximum Mixer
  • Add new keyboard shortcut to select tabs (arrow keys)
  • Add new GUI option to save screenshot of all visuals
  • Add missing option 'snake cabling' and 'mapping' for TPM2.Net device
  • Add missing option 'snake cabling' and 'mapping' for Artnet/E1.31 devices
  • Add multipanel support for Artnet/E1.31 output
  • Fix use colorset name (instead of index) if a preset is saved
  • Fix colorscroll GUI element initialization
  • Fix Effect Rotate90 for non square output
  • Fix Effect BeatHorizShift for exotic resolutions
  • Fix Effect Rotozoom for exotic resolutions
  • Fix Effect Texture deform for exotic resolutions
  • Fix Mixer Checkbox for exotic resolutions
  • Fix PixConCli JMX Query
  • Fix ColorSet, rarely visible smoothness bug
  • Cleanup GUI, make grouping of controls more strict
  • Reduce filesize of distribution file, remove unneeded files
  • Remove support for Adavision product does not exist anymore
  • Update PixConCli, improve message handling
  • Update Fire Generator, remove visible random pixels
  • Update Config example files
  • Update PixelInvaders firmware, use the TPM2Net protocol to send data
  • Testcase: 2 PixelInvader Panels, ColorScroll Generator, no sound update
  • Framerate old fw: 35fps, Framerate new fw: 140fps > 400% faster!

New in PixelController 1.4.0 (Oct 24, 2013)

  • New Features:
  • Add support for E1.31 devices
  • Add more 8x8 icon images
  • Add new effect, rotate 90 degrees
  • Add option to hide internal Visuals to save CPU power
  • Add new generator: VisualZero. use the first visual as generator, you can chain you effects.
  • Add new random preset mode
  • Add Pass through mode: ScreenCaputure (always) and OSC Generator (depending on input) are now 24bpp generators, you cannot use effects/mixer/colorsets
  • Add option to adjust the color for each PixelInvaders panel
  • Add new gamme option, GAMMA 2.2
  • Add a lot of new presets and cleanup unused presets
  • Bugfixes:
  • Fix: Checkbox mixer for larger resolutions
  • Fix: find .png files in GUI
  • Fix: Do not change selected visual and output if a preset is loaded
  • Fix: Handle missing config files
  • Fix: if the Null output and another output is configured, ignore null output and start PixelController
  • Fix: Preset numbering and loading Preset 0
  • Fix: Load Presets: do not display non-existent files in the GUI
  • Fix: Textwriter generator, use 8bpp as temp buffer to prevent artefacts
  • Fix: Improve Add and Sub Mixer (rollover)
  • PixelInvaders Output: Use Adler32 as caching mechanism instead of MD5 - much faster. md5 needs about 1ms to generate, adler32 needs about 0.2ms. 2 panels, 50fps, save: 80ms/s, 6 panels, 20fps, save: 96ms/s
  • Fix Rainbowduino Output: Cleanup init code.
  • Optimize PixelInvaders Firmware, use Serial.readBytes instead Serial.read() (see

New in PixelController 1.3.2 Beta 16 (May 28, 2013)

  • Add Midi2OSC PureData sketch.
  • Minor fixes.

New in PixelController 1.3.2 Beta 15 (May 28, 2013)

  • update rxtx jar driver.
  • fix 64b issues.

New in PixelController 1.3.2 Beta 13 (May 28, 2013)

  • Implement tpm2.net.
  • log jre fatal errors in the log directory.
  • add 10 new palettes.
  • fix preset save.
  • fix pixelinvaders output mapping.

New in PixelController 1.3.2 Beta 12 (May 28, 2013)

  • Fix gui panel order.
  • Improve image search.