Update: All the source, plus an absolutely-alpha-beta-alpha build will be put up on Google Code very soon, but please be patient, since I have a lot of work right now. I’m trying to squeeze in work on this wherever i can, so I can get it out there :)

So, here is a few more details on Katapult. I’ve been adding a lot of stuff today, and getting close to something that is release-worthy. The current features include:

  • Fully customizable layouts can be mapped to the entire grid of the Launchpad
  • Multipart layouts are supported and can be toggled using buttons on the Launchpad
  • The layouts are loaded into Katapult from a simple easy-to-write text-file (line example: yfader 0 7 8). This is kinda like mrmr-style layout files.
  • LED-colors of the controls can be set to any of the supported colors of the Launchpad
  • Katapult supports bi-directional control-messages. This means that changing a fader in for example Traktor, will also update the corresponding fader on the Launchpad surface. Me thinks this is cool.
  • Controls currently implemented are:
    • Hold button
    • Toggle button
    • Horizontal fader
    • Vertical fader
    • Horizontal slider-zone
    • Vertical slider-zone

    Okay, might have forgotten something, but it does give a good overview of the current state of the thing. I’m going to implement support for 2D-pad controls, as well as an “indicator” control, that doesn’t send output, but can be used as an indicator light, before releasing it. I think that will make it out for a pretty suitable start. And after that? More advanced visualizers (beat-grid style, etc), timed functions, triggered after x beats, controller-chaining (altering one control can influence others), macros(!). A visual layout-editor would be nice but definitely won’t be first priority, since the layouts really are very easy to write by hand. Here’s a new video. It doesn’t show any of the bi-directional stuff, but it does make it clear how multi-page layouts are handled.

    The more technical stuff: It’s all written in Processing. I’m writing and using it on OS X 10.6, but should work fine on other platforms as well. I found Processings MIDI support a bit annoying to work with (for output), so I took the easy route and offloaded the MIDI output handling to PureData through OSC. When I get the motivation, I’ll probably move the MIDI output back into the actual program, but I couldn’t find any MIDI-framework that did what I wanted to do, so PD is a fine solution right now. The patch is very simple and looks like this:

    So, that’ll be it for now :) Hopefully a release soon!