Tag Archive: processing


The source for Katapult, in an early, but working state is now up on Google Code. Check out the Katapult page for more details.

Katapult update

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!

    Katapult, I say

    Yes, I say Katapult. What is it you say?

    Well, I recently, after much struggle, got my hands on Novations Launchpad controller, hooray. It’s pretty cool, and very functional for controlling Ableton Live. Unfortunately my plan was never to use it with live, but instead with Traktor. In this regard, it is utterly lacking and uncool. Mostly because Novations Automap software is absolutely featureless in terms of what i wanted to do.

    So when the software to make your dreams come true doesn’t exist, you just have to write it yourself. Hence I started writing Katapult. It’s intended to be a dynamic, totally customizable mapping solution for the Launchpad, that allows for much more functionality than the pretty mediocre hold-button scheme of Automap. So what does it do?

    It allows you to create various controls on the surface of the Launchpad such as faders, buttons and “slider zones”. The MIDI output of these indivdual controls can then be mapped to different fuctions in Traktor, for example.

    I have a lot of interesting ideas planned for this thing, but basics first. When I feel I’ve gotten all the basics down and tidied up the code a bit, I’ll release a preview and move on to some of the more interesting stuff :)

    Okay, it’s late and I’m brainsmashed, so this might not be a very informative and detailed post. Intsead, I give you ZE VIDEO!

    Here’s a rather uninspired and boring “mix” using the thing. It definitely won’t give you eargasms, but it’ll give you a general idea of how it works. Promise to post the technical nitty-gritty later :)

    Follow

    Get every new post delivered to your Inbox.