1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

APC20/other controllers customization with Processing

Discussion in 'Developers Area' started by alfaleader, Jan 23, 2012.

  1. alfaleader

    alfaleader Member



    A while ago I made a tutorial for how to customize your midi controller to your needs with bomes midi translator. http://vjforums.com/showthread.php?t=35614

    This method was very easy and worked fine, but there were some limitations. You had to run 2 bome programs, and midi ox to split the midi signal. It worked flawless, but it took a while to setup. I also wanted to add some new functions that weren't possible with bome's midi translator.

    So I started to do some experiments with max/msp and vvvv. Because I'm not familiar with node based programming, I looked for a more traditional programming language. I found processing, that's based on JAVA. Processing is quite easy if you know your basic programming (classes, loops, if...). You can load a library that includes a certain aspect (OSC, MIDI, user input). Another good thing about processing: it's free!

    So I started to build a program. First I used themidibus (the easiest solution for midi) but this library had some serious performance issues. It takes +-15 seconds to open a midi input/output (with high cpu usage). When the input or output is initialized, it works fine. (not sure this is a bug on my computer or not)
    Then I took a look at rwmidi, this library is a lot harder to use but doesn't has the startup issues.


    The program is made for resolume 3 (with no midi out), but if you can do a little programming you can adapt it to resolume 4 or any other program. I even made midi feedback for resolume 3 (not in this version). The program took each second the color of different positions on the screen, if those positions are a certain color (yellow), the clip is active and the midi controller changes it's color. (with some things to make sure you didn't scroll in the layers).

    The start button activates bank 1, stop button bank 2, rec button activates a "fader mode". The fader mode makes each clip collumn a fader. These faders are OSC mapped to the dashboard of the (1->4) composition and layers (5->8). With the collumn next to the clips, you can change the active layer in fadermode. In bank mode the fist button clicks on windows explorer (on my computer) and the 2nd opens adobe bridge.

    If you want to use these button clicks, you might have to change the x/y values in the program.

    You need:

    link: http://www.mediafire.com/?tdr8movy0q0y22b
    The program and annotations are in dutch, buth shouldn't be to hard to understand :) Some annotations are in english.
    This program is not tested with OSX, I don't know the libraries I used are compatible with OSX (rwmidi might have problems with coremidi from osx)

    So now you can use this source to make your own, try to understand it. And the internet is your friend! Good luck
    Last edited: Jan 23, 2012
  2. -[eM Tv]-

    -[eM Tv]- visual content/e addict

    nice !! thanks again alfaleader (for both the Bome's process and the processing one)

    i'll have a look at it...
  3. alfaleader

    alfaleader Member


    I'm also making some little programs that can make a vjs live easier. MIDI over LAN/wifi (there are some programs that can do this, but they don't work on my computer).
    Also a midi port duplicator.

    Now that I have the framework of midi input/output, osc input/output, and GUI I can create new programs very fast :)
  4. LucyJW

    LucyJW New Member

    Last edited: Jun 19, 2012

Share This Page