Midi confusion with APC40

Neal Riley's icon

I have been working with my APC40 in preparation for Max4Live's release (whenever that will be). In the mean time I have stumbled up something that confused me. I plugged my APC40 in and fired up MidiOx, and noticed when going through the buttons/faders that the APC40 makes heavy use of both the Data1 and Data2 messages for each button combination. It does not seem like these are sysex/rtm/etc. messages, but multiple data inputs per CC/note on/note off events.

My question is: How does max handle these types of data? Does midiin distinguish between the two? I have searched the forums/google/midi spec but have had no luck so far? Any help would be greatly appreciated.

Danny P's icon

I myself just started using the APC40 in Max, I am starting to work with midi messages from simple midiin and ctlin objects. It is simple enough to figure out how to decode received messages from the APC in Max, but I am really curious how to send it messages as well, such as to access the clip launch buttons and be able to control them in a "Monome" type manner. Any suggestions as to how I could find out this sort of information?

meta_kid wrote on Sat, 30 May 2009 14:01I have been working with my APC40 in preparation for Max4Live's release (whenever that will be). In the mean time I have stumbled up something that confused me. I plugged my APC40 in and fired up MidiOx, and noticed when going through the buttons/faders that the APC40 makes heavy use of both the Data1 and Data2 messages for each button combination. It does not seem like these are sysex/rtm/etc. messages, but multiple data inputs per CC/note on/note off events.

My question is: How does max handle these types of data? Does midiin distinguish between the two? I have searched the forums/google/midi spec but have had no luck so far? Any help would be greatly appreciated.

Peter Nyboer's icon

Ok, not a helpful response, but I can't contain myself:http://lividinstruments.com/hardware_ohm64.php
It's very easy to figure out how to control the LEDs. Max patches aplenty are provided.

Pete.

Neal Riley's icon

Where's the challenge in that!? haha.
That Ohm looks quite impressive as well, I can't wait to test one out.

Danny P's icon

This thing dominates. The faders and knobs are slightly weighted and feel superb. Each grid LED has 3 different colors with both solid and flashing modes. The messages were very easy to decode.

Just to save some people a little time:

Using the midiin/midiout objects:
The top left button on the 5x8 clip control grid is 144 53 1, where 144-151 is the entire top horizontal row, 53-57 is the vertical row going down (the next row down in this case is 54), and 1 is the velocity. The bottom Clip Stop row is 52.

The Velocities are as follows
1 - Green
2 - Green Flashing
3 - Red
4 - Red Flashing
5 - Orange
6 - Orange Flashing

7-127 Are all green.

If you got this far the rest should be simple to decode.

Sascha E. Peters's icon

Here is a litte example for use the AKAI APC40 and Resolume via Max - APC4MAX...
http://www.realtimespacelab.com/software/apc4resolume.html

take5's icon

i am looking to figure out how to either use max, or simply edit the remote scripts to help me setup my apc40 (currently apc64-40 Hanscripted) to work hand in hand with the JX3P editor that was released for max.

Essentially I am looking to modify some of the button's behavior. Some of the buttons are mapped to parameters that cycle through menus. So for example, one menus would have 4 options, so pressing the button on the APC40 four times would cycle once through the menu. I am looking to modify the behavior so in a case like this the button would illuminate green, yellow, red, then blinking red, with each press of the button. This way I would know which parameter has been selected.

IN other cases there are simply on/off buttons which is fine the way it currently works, that one press in ON and another press is OFF.

I am wondering how to accomplish this. At this point I have been able to choose which color the buttons are by editing the matrix maps.py file of the hanscript that i am using.

ANy help would be greatly appreciated.

Mikee