Setting up "rotary banks" on apc 40

danryanfl

2010-12-13 17:54:22

This question was probably already described somewhere, but I am not quite clear on it still:

I mainly DJ with two channels, each with a bunch of effects arranged as 4 Live Racks. I would like the "track control" knobs to control the track 1 racks and the "device control" knobs to control the track 2 racks.

I want to use the pan, sendA, sendB, sendC buttons to select which rack in track 1 I am controlling and the clip/track, device on, leftarrow, rightarrow buttons to select the rack being controlled in track 2.

When I select one of these racks, I want to store the current values of the knobs in the rack I am switching out of, so when I come back I can reset the leds and restore the knob states. So, do I use one global variable for each knob of each rack to track the values (8 knobs per rack, 8 racks in total (4 on each channel)) and then another 2 global variables (taking on values 1-4) to store which rack is active on each of the two channels?

Then, when I select a new rack I load all the stored values for the new rack and send them to the APC40 causing it to change its led states etc, and also send the appropriate messages to turn on/off the button leds. Then filter all outgoing messages through a rule that determines which rack it should be sent to, giving each rack a different midi note to bind in Ableton.

Does this seem like everything? Am I missing something or getting it wrong?

Attigo

2010-12-19 18:39:35

Most of this is possible but a little tricky. You will need to set up MIDI through ports so that the pads/buttons act as normal, but you will need to over-ride the encoder messages.

You can store the encoder values (for LED feedback) with global variables, but only if Live has an output for the things you are controlling. If all the things you want to control are controllable by the APC then this should work.

I would start by getting 'SendSX' and reverse engineering what messages represent what controls etc.

Scott

danryanfl

2010-12-20 16:45:29

Thanks for the reply. I have it all worked out now. I created a preset for each rotary bank. When when bank is turned on, it turns off the other 3 on that channel and sends the appropriate led and variable states to the relevant knobs. I also have a separate preset that is always on that swallows all messages of the form B0 pp oo coming in from Bomes Virtual Midi channel. This blocks Live from sending feedback to my knobs when I select different tracks in the program etc. I also had to block some incoming messages destined for the device on/off button.

Within each of the rotary bank presets, I have assigned a different midi out to each knob. It took some fiddling to find good ranges, I ended up using B0 40 to B0 5F for the 32 knobs on track 1 and B1 40 to B1 5F for the 32 knobs on track 2.

I also found it useful to setup a button that initializes all my racks to good default starting values and sends these same values to Live so that they start all matched up at the begining of a session.

Cheers

Attigo

2010-12-23 19:48:59

Good work, glad to hear it...

Scott

JuanSOLO

2011-12-20 18:51:27

danryanfl wrote:Thanks for the reply. I have it all worked out now. I created a preset for each rotary bank. When when bank is turned on, it turns off the other 3 on that channel and sends the appropriate led and variable states to the relevant knobs. I also have a separate preset that is always on that swallows all messages of the form B0 pp oo coming in from Bomes Virtual Midi channel. This blocks Live from sending feedback to my knobs when I select different tracks in the program etc. I also had to block some incoming messages destined for the device on/off button.

Within each of the rotary bank presets, I have assigned a different midi out to each knob. It took some fiddling to find good ranges, I ended up using B0 40 to B0 5F for the 32 knobs on track 1 and B1 40 to B1 5F for the 32 knobs on track 2.

I also found it useful to setup a button that initializes all my racks to good default starting values and sends these same values to Live so that they start all matched up at the begining of a session.

Cheers
This is almost exactly what I am wanting to do, but I am so lost when trying to learn Bomes. Would you be willing to share this bomes file so I could learn from it?

Thanks SO MUCH!

danryanfl

2011-12-21 01:20:37

sure thing, here is a link:

http://dl.dropbox.com/u/35263452/APC40.bmtp

Let me know if you have questions, in addition to the rotary banks I have a few other things going on as well which might make it more confusing...

JuanSOLO

2011-12-21 02:24:51

I guess my first question would be how do I open the text file in Bomes, sorry for the remedial question but I have never done that in Bomes.



AH HA, I must have not selected everything, I got it, disregard that^ question.

Thanks for sharing, I'm sure I will have questions soon!

danryanfl

2011-12-21 17:44:34

I just remembered that since my original post, I changed my setup. The file I sent you does something slightly different than originally described. Now, instead of all eight knobs changing when I switch "banks" only the bottom 4 change, the top 4 remain as they were (these are my eq's and gain which I found helpful to always have handy... also I found that 32 knobs on each track was overkill and 20 (4 for eq/gain and 4*4 =16 for effects) was actually more than enough).

Also, when you switch from one bank to another, I have it setup so that messages are sent to Live to turn off/on the appropriate effects racks, and when you switch on a rack, all of its knob settings are set to a default initial value (resulting in a completely dry signal for that rack). This lets you mangle stuff up with an effect and then quickly switch to another bank and have everything go back to normal...

I like this setup a lot better than the one described in my original post.

JuanSOLO

2011-12-21 18:59:28

It's hard to dissect without seeing your live set. However I am really just wanting to learn from the template. I have no idea how to set up globals and shifted function through Bomes for the APC40. And one of the things I want to do is use the Device Buttons, to select the title bars of the effects on the Selected Track. For example when I select track 1, I want the Device Buttons used to 'blue hand' various devices for the Device Knobs to control.

This is something I cannot to effectively with M4L, and I am slowly learning python. So for know I am wanting to use Bomes for a solution, but need to see what others are doing to make since of it.

Thanks for the help so far.

danryanfl

2011-12-21 22:44:39

I want the Device Buttons used to 'blue hand' various devices for the Device Knobs to control
My setup does not move the "blue hand" in Live, but it does something that acts a lot like that. When you hit one of the 4 buttons below the bank of knobs it:

1. Turns off the previously selected rack
2. Turns on the newly selected rack
3. Changes the midi cc numbers that the knobs transmit on so that they now map to the knobs in the newly selected rack (part of this is in the Live template, ie the different Live racks have knobs assigned to different midi control numbers)
4. Changes (if necessary) the LED pattern on the apc40 knobs to the desired style of the new rack knobs
5. Loads default values for the new rack knobs (both in the APC40 [so the lights are set to the correct level] and in Live)

Hope that helps decipher things

adseckel

2012-06-21 04:20:13

Hey, I'm trying to achieve a similar comes mapping, and would love to use yours to try to get started. I wonder if you would be able to re-upload your template?

Id really appreciate it!

Thanks