This forum is read-only. Please post new topics in our Q&A forum.

APC40 Programing, (a learning thread) PLEASE HELP.

General discussion about MIDI Translator

Moderators: florian, DvlsAdvct

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Mon Jan 16, 2012 12:08 am

OK so I have had Bomes for a few years and never dug in. Lately I have been using it a lot to add extra "Modes" to strays apC_CL3 template. For example a mode for Reaktor's Vectory where the Clip Matrix is 2 4x4 grids, 1 Red 1 Yellow, and the bottom row of the clip Matrix is Green.

I can achieve most of what I want using translators that activate and deactivate various MODE presets. I can get LED feed back to some degree. My trouble is in understanding RULES and GLOBALS in Bomes. I know my Bomes template could be much more streamlined if I understood these principals better.

SO, I am asking for help by maybe coming up with some basic questions to understand how to make a more complex, yet more efficient template.

This is what I want to learn first.

Lest say I have 2 different modes.

Mode 1, ALL the Matrix buttons are YELLOW. When I press a button it turns RED, if I press another button it turns RED and the previous one goes back to YELLOW.
Mode 2, ALL the Matrix buttons are RED. When I press a button it turns YELLOW, if I press another button it turns YELLOW and the previous one goes back to RED.
NOW, I also want to be able to switch between these 2 MODES and when the Matrix updates to the currently selected MODE, I want it to remember where it was at before, which button was/is active.
For example, if in MODE 1 (YELLOW MODE) I have pushed the top left corner button and it is RED, then I switch to MODE 2(RED MODE) and the bottom right button is pushed/activated YELLOW, when I switch back to MODE 1 I want it to update where it was with the top left button RED, and vise versa.

HOW do I achieve this kind of LED updating/memory?

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Mon Jan 16, 2012 7:24 pm

14 views and no feedback? Is my post confusing? I tried to make it simple as possible.

soulpixel
User
Posts: 6
Joined: Mon Sep 01, 2008 2:14 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by soulpixel » Wed Jan 18, 2012 12:29 am

Hi Juan,
your post isnt confusing, as far as I am concerned it only misses one bit of information: what does a pressed pad do? Play a clip ?

Globals are variables that you can call/modify across all presets. They basically store information.
You use rules (among other things) to retrieve or to modify Globals.
Rules are triggered by events.
So if Event A occurs, lets say, a button is pressed (or released) then you receive a message, an event occurs.
If you want something to happen you write a rule. If you want to set a condition according to some data in another preset or data in the current preset but not determined by the specific event(for exemple) you can call a Global and according to its value you may trigger one or another action.

I m not familiar with the APC's midi, and I might be very wrong with my approach.
But anyway, I would create 2 presets and would use 2 globals to define the background color(unpressed state) and the foreground color(pressed state) per preset and would switch those when activating a preset.
Do the leds colours on the APC work with a specific range ?
I am, again wrongly guessing but you could store the range values as globals and then pass those through the outgoing action. Might not even need a rule.
You would need to set the colour for a pressed pad through Ableton though, by for example retrieving the state of a clip(if it is playing or not).

I hope that I am not confusing you and even more, that I am not leading you in the wrong direction, but I am unclear as what a pressed pad does, because when switching presets you would need to retrieve the state of a clip in order to set its colour.
You could get that from ableton or you could store the status of each clip in a variable, but you have a limited amount of Globals in Bome.
Anyway, here's a tutorial for Bome http://www.skratchworx.com/reviews/bomes1.php.
I have an APC and Bome, and wont promise anything because right now I am configuring some controllers in Traktor, but let me know if I can help.
Cheers.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Wed Jan 18, 2012 9:28 pm

I understand the theory behind globals and rules, it's using them that I can't seem to figure out.

With my above example, the matrix buttons would just be sending a note. note on off "toggle" I want the button to change color after I have pressed it, and stay that color unless I press another button. These outgoing notes would be activating different stuff in a Reaktor Vectory plug in Ableton.


SO, I understand the theory, and what your saying about setting up globals, one for pressed one for released, I've heard that before. I need a visual example of how to assign globals, how rules work. The rules section confuses me. For example, I will want to write a rule that says. if xx==80 then xx==90 else skip rules. But there is no else? I guess is what I am saying is I am familiar with conditionals, but I am not sure how they work in Bomes, it's just slightly different than what I am used to and it confuses me. My if then is probably a poor example.

So yeah, I dont know how to assign Globals, OR how to implement them once they are assigned.

I need some examples. Examples that I can make since of. Hence my post.

Thanks for responding, seriously, this forum is not visited very often. Seems like once you learn Bomes well there's no real reason to come back.

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Thu Jan 26, 2012 6:19 am

Hi JuanSOLO

I'm sorry it's taken so long to get a response. I wanted to let you know I've seen your post and will get you an answer tomorrow. I'm fried from travelling and I think whatever it is I type will make almost no sense. If you don't hear from me within 24 hours respond to this and I will get right on it.

Sorry again
Jared

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Thu Jan 26, 2012 5:50 pm

Alright, there are a number of ways you can get your initial setup. I'm actually glad that my article on Skratchworx was linked as I'm hoping to do a ton more of those, but it doesn't really help what you're discussing now.

So the easiest way to set this up is to have three presets, labelled Mode Switch, Mode 1 and Mode 2. In Mode Switch you will put all of your translators to switch presets, and in each Mode you will have all of the translators to control the LEDs AND the commands being sent from them. Before we get to that we'll discuss global variables and conditional statements in the rules.

There are two kinds of variables: local and global. Local variables are oo, pp, qq, rr, ss, tt, uu, vv, ww and xx. These variables are only calculated in an individual translator at the time it is triggered. So, you have a translator with an incoming message of 90 00 pp. pp is calculating the variable every single time the translator is triggered. Nothing is saved. If you were to put a rule in that says "if pp<50 then pp=20" then every time the translator is triggered with a velocity of less than 50 the pp variable in the outgoing message will be 20. So, you could have an outgoing message that says 90 pp 7F which would mean any time the incoming message had a velocity under 50 the outgoing message would be 90 20 7F (well, whatever the decimal translates to hex. I'm at my day job and can't remember off the top of my head). You can have multiple translators all using pp and they do not interact. So you can also have a translator that says 90 00 pp with a rule that says "if pp>50 then pp=30" with its own outgoing action. You can also mix variables so "if pp>50 then xx=30" with an outgoing action of 90 00 xx.

Global variables, however, are saved as changes are triggered across translators and presets. These are made up of variables beginning with g, h, i, j, k, l, m, n and in the mac version for now y and z. These values can range anywhere from g0-g9 and ga-gz for all of them (h0-h9 ha-hz, etc.). These variables can be set by any translator and will carry onto any other translator. So, as an example, you can have a trigger that sets g0 to 1 and then back to 0. If g0=1 then some translators might not trigger (if g0!=0 then exit rules, skip outgoing action). This would be used as a shift, and would be the most basic method of using global variables.

For what you want to do you're going to want to use a whole buncha stuff including timers, presets and multiple translators. There are quite a few ways to do what you're talking about but I believe this method will instruct you in how to set variables and use multiple functions of MIDI Translator Pro together to get the most out of your controllers. Before we get to that I just want to make sure that what I've written so far makes sense. If it does we'll keep going, if it doesn't I'll explain more in depth.

Also, I'm going to start working on an actual manual forMT Pro, I think, to give users actual explanations of the sdtuff I had to fight with for a long time.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Thu Jan 26, 2012 6:44 pm

Yeah all of this is helpful and greatly appreciated. I understand all these concepts and are using some of them, especially setting up presets i.e. MODES, Mode 1, Mode 2, and how these work together, like 'MODES preset' switching between Mode 1 & 2, and having all my working translators in there.

I struggle with the globals and rules because I am coming from a M4L background on using conditionals. I haven't tried this basic globals "shift function" yet. But my intention is that most of my APC40's default functions will be shifted as opposed to the Modes being shifted. For example, I generally want to engage a mode by simply pressing a Track Select button. So Track 1 will be like a Drum/Step sequencer mode, Track Select 7 & 8 will be a basic note mode as I described above, where there is no "note off" message when releasing a button, but only 1 note on message is outgoing in the mode, and pressing a different button disengages the previous not while activating the current one. Like a huge toggle matrix where only 1 note can be played at a time, AND the modes "remember" which note is pressed and the LED feedback shows that.

I dont wanna get too specific about what my goal is, because I feel like it boggs down the learning process, for me it's more important to learn the LED feedback memory thing between modes in some easy to understand/generalized manner, and thats why I have come up with what I did in my original post.

However I will give you some basic breakdown of some goals so you can understand where I am coming from. I want 8 Modes selected via Track Selection buttons, AND the Track Selection buttons select the Track to focus as well. Mode 3 is currently my most abused Mode. It is for a Reaktor Plug called Vectory. Not sure if your familiar with it, but basically on my APC40 I have 2 4x4 matrix blocks side by side. 1 red block, 1 yellow. The RED 4x4 matrix selects a 2 bar breakbeat, the YELLOW 4x4 matrix selects a mash up sequence. These buttons send out a "note on" that Vectory responds to in a monophonic manner for each 4x4 matrix. One of the things I cant figure out is the LED feedback. I want to press a Red button and it stays yellow, until I push another red button and then IT goes yellow and the previous one goes back to red. I also want these pressed LED's to stay that color when switching back and fourth between modes, UNLESS I change them.

I can get all of the Modes working pretty well and doing what I want them to, except for better LED feedback. Right now buttons only change color when pressed and upon release they go back to their original color. I want them to provide visual feedback show which one is active.

THANKS for responding and looking forward to more. I have posted up a video here, showing something a little different, HOWEVER you can see my Vectory Mode pretty well in this footage and kind of get and idea of what I want it to do with the LED feedback. @ 2:13 in the video I switch to this Vectory Mode http://vimeo.com/35278018 ALSO, I have another video I made for Stray at NativeKontrol in the form of a feature request. I'd love to share that with you through dropBox. It shows a similar idea to the Matrix Modes, only with selecting title bars on FX devices, per engaged mode. If you can send me a message at particle808 at yahoo dot com. I will send you an invite to that video.

Thanks AGAIN!

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Thu Jan 26, 2012 8:28 pm

Alright, then what I would recommend is using timers and global variables in conjunction for your LED feedback. You'll want two timers, one for each part of the grid (using the vektor preset you're discussing), and one variable for each (we'll use g0 and g1 for this example), but those can be replaced with any other global variable (ha...hz, etc.).

So, to start you're going to set a translator for each button with an outgoing message that you already have. In the rules you're going to have this set a global variable. So for the red section, the top left corner button will be g0=0, the one to the right will be g0=1, then g0=2, etc. etc. The rule will literally say just that. That will set your global variable based on the state of the last button pressed. When you exit this preset and reload another one it will still be there. Keep in mind not to reuse this specific variable anywhere else in the preset as it will over ride.

All LEDs are going to be set by a timer that we'll called Red State LED.

Now there are a bunch of ways you can code the LEDs. The cleanest way would be to use a local variable and define the range of just the buttons that will trigger the red state timer. This would look something like

Code: Select all

Translator Name: Red State LED
Incoming Message: 90 xx 7F
Rules
if xx<1 then exit rules, skip outgoing action
if xx>4 then exit rules, skip outgoing action
Outgoing Action: Timer Red State LED 0ms
You would use this to define the range of the buttons that can be used to trigger the LED. You'll need to convert the hex code to decimal for rules, as the rules need decimal values, but you can do that in the Help menu under the translator. You'll want four of them to put this together, for each row of the grid.

From here you'll need a translator to signal what the timer will send out. I would do this with 16 translators, one for each button, and the outgoing action dictating the value of every button in the range. Assuming that red is velocity 1, yellow is 2 and off is 0, it’d look something like

Code: Select all

Translator Name: Red State LED Trigger
Incoming Message: Timer Red State LED
Rules: if g0!=0 then exit rules, skip outgoing action
Outgoing Action: 90 00 02 90 01 01 90 02 01 90 03 01 90 04 01….
And then you can just duplicate each time and change which one turns yellow and reverse the other one to red.

You then create a translator that triggers the timer on activation of the preset

Code: Select all

Translator Name: Activate LED
Incoming Message: The Current Preset is Activated
Rules: None
Outgoing Message: Timer Red State LED
It’s a lot of code, I know, but this is the cleanest for a Bome preset. Does it make sense?

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Thu Jan 26, 2012 8:43 pm

YES, totally makes since. I will try this out when I get home from work. I'm sure I'll have more questions. AND, I'm not afraid of a lot of code at this point, I just want it to be manageable. Currently I have made a tangled web of a template.

THANKS!

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Thu Jan 26, 2012 8:55 pm

I totally understand. Feel free to respond to this thread with questions in the future as I'll directly get alerts in my email.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Fri Jan 27, 2012 3:52 am

Code: Select all

Translator Name: Red State LED
Incoming Message: 90 xx 7F
Rules
if xx<1 then exit rules, skip outgoing action
if xx>4 then exit rules, skip outgoing action
Outgoing Action: Timer Red State LED 0ms

OK, right here I am using xx, where xx is the CC number, and 7F is the velocity. For the APC40, LED's are set by velocity.
0-off
1-green
2-green blink
3-red
4-red blink
5-yellow
6-yellow blink

so I am confused why we set rules for xx<1 and xx>4. The CC numbers coming in at xx are like 35-39.
So is this meant to be for the velocity? Unless we are just listening for the buttons CC number?

Also does this mean
You'll want four of them to put this together, for each row of the grid.
I am making 4 of these translators in this particular "mode" preset for each row where
row 1 is 90 xx 7F
row 2 is 91 xx 7F
row 3 is 92 xx 7F
row 4 is 93 xx 7F

is that right?

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Fri Jan 27, 2012 4:26 am

the 35-39 is in hexadecimal, correct? Not binary. It needs to be in binary for rules. 35 in Hex is 53 in binary

if xx<53 then exit rules, skip outgoing action
if xx>58 then exit rules, skip outgoing action

and the outgoing action is the timer.

You're going to have four timer translators. The first one will read out (assuming the channel for the row is all 90... it could be something different so just fill that in as needed)

Code: Select all

Incoming Message: Red State LED
Rules
if g0!=0 then exit rules, skip outgoing action
outgoing message 
90 35 05 90 36 03 90 37 03 90 38 03
Make sure you have the g0 variables set by each button in the grid for the red section. Now you'll have four timer translators that look like the above, and you should be able to update each light individually.

That make sense? Worst case I could do a quick draft together to see if that'd work for you as well.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Fri Jan 27, 2012 4:46 am

The attachment shows where I am at, which is obviously lost.

I am on the phone with my wife, so I havent really read your latest post. I will soon.
Attachments
APC40 MODES.bmtp
(7.84 KiB) Downloaded 625 times

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Fri Jan 27, 2012 4:59 am

OK, so now I got some feedback, but not quite what I was expecting, I got colums changing colors. hmmm, I feel like I almost got this figure out.
Sorry about the wife stuff, we just sold our house and have been living apart for a year and a half, yet I wanted to respond ASAP.

DANG, this almost makes since

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Fri Jan 27, 2012 5:12 am

God you're just so damn selfish :p Totally understandable, some things, even family, takes priority over MIDI.

Regardless, since I left my girlfriend in front of Family Guy (hopefully she doesn't notice I'm gone), I just reuploaded some changes to the drop box.

I was unsure of the specific channel setup of the individual columns. So each column has its own MIDI channel (1-8) with the same note message. I set the appropriate global variables for all of them and added a few lines. Being that each LED translator has 4 entries I duplicated them 4 times with the same global variable so they all light up. What I would do, to clean it up, is have a preset for the left half and the right half of the grid, just so the code is clearer when you're looking at it, and managing the variables makes more sense.

I uploaded it to the drop box we set up, but I'll attach it here as well.
Attachments
APC40 MODES update.bmtp
(9.05 KiB) Downloaded 582 times

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Fri Jan 27, 2012 5:43 am

OK this WORKS!!! see attachment.

Thanks for the help, now I am just trying to realize why it's working.
Attachments
APC40 MODES.bmtp
(9.16 KiB) Downloaded 614 times

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Fri Jan 27, 2012 5:47 am

Well, where are you getting lost? (at this point I'm going to get ready for bed)

Just jot down where things aren't making sense and I'll try and explain them.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Fri Jan 27, 2012 6:52 am

OK, I got 2 4x4 grids working, now for the bottom row. This is where I want the buttons GREEN unless pressed, then I want that button RED.
I seem to be off here, maybe something to do with hex vs. binary, not sure where that is in the help menu?

I am posting the current template. I may figure this out before I got to sleep, maybe not.

THANKS again!!!
Attachments
APC40 MODES.bmtp
(15.3 KiB) Downloaded 584 times

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Fri Jan 27, 2012 7:25 am

AWESOME, got the LED feedback in at least 1 mode. I attached the template.

This is great, now I am getting it! Thanks SO MUCH!!! more questions soon, I am sure.
Attachments
APC40 MODES.bmtp
(16.69 KiB) Downloaded 573 times

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Fri Jan 27, 2012 4:29 pm

OK, so far with what I have posted I have my 1st Mode for my Vectory Plug.

If I haven't mentioned it before, I am using the NativeKontrol apC-CL3 in conjunction with my additional Bomes features. Eventually I may quit running the apC-CL3, but for now I like the DrumMode and step sequencer too much to make my own.

So what I have noticed is that switching to my Vectory Mode, the LED's do not populate till I push a button on the matrix. I am thinking I need a way to initialize the Matrix upon activation of the Vectory Mode preset. Not sure what the best approach would be.

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Fri Jan 27, 2012 4:55 pm

All of your LEDs are set on global variables which are set by triggering timers.

So, what you are going to do is set a translator that says

Code: Select all

Translator Name: Activate LED
Incoming Message: On Activation of This Preset
Rules: none
Outgoing Message: Yellow LED timer
Now when you trigger the preset the LEDs will trigger based on the stored global variable.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Fri Jan 27, 2012 5:10 pm

NICE! I knew it was something like that, but I had no idea how to do it. I will try this when I get home from work.

I'm really excited to start grasping this, thanks so much.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Sat Jan 28, 2012 1:28 am

OK so I tried adding the translators you suggested for activating the LED's. However it only seems to be activating the outgoing "timer" of the section that was pressed last. I posted the latest version.

ALSO, in trying to think ahead, I would like to put the APC40's matrix in default mode, ONLY when any Track Select button is pressed. When it is released it will activate the Mode for that particular Track Selection button.
Attachments
APC40 MODES.bmtp
(22.94 KiB) Downloaded 555 times

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Sat Jan 28, 2012 11:11 pm

OK so here's my latest template. It's ment to work with NativeKontrols apC-CL3. I only the NativeKontrol stuff for the Drum Sequencer, and thats what the "Drum Mode" is all about. So when you see the 'DRUM MODE SWALLOW' it is nullifying all the drum pads when the 'DRUM MODE' is NOT activated.

When Track 1 Selection is pressed a call is getting sent to the APC40 saying "press Shift+Clip Stop 3," and when released it's telling the APC40 to release Clip Stop 3 then Shift. This engages Drum Mode on the apC-CL3 template.
When ALL other Track Selection buttons are pressed, a call is getting sent to the APC40 saying "press Shift+Clip stop 4," and when released it's telling the APC40 to release Clip Stop 4 then Shift. This engages User Mode on the apC-CL3 template giving me an opportunity to override with my custom Modes.
In the "MODE SWiTCH" preset I am making the "shift+" calls for every button. I was thinking there should be a way to do that once for Track Selection 1, and once for all the others since all the others are doing the same call. Not sure how to set up that rule. It works as is but I am thinking I could simplify it somehow.

Everything seems to work as expected so far. The only problem is engaging Vectory Mode. The LED's dont update properly, they only update for the last section of color pressed or something?
I really wanna fix this but I am stumped.
Attachments
APC40 MODES.bmtp
(97.8 KiB) Downloaded 585 times

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Sat Jan 28, 2012 11:47 pm

I've been seeing these, not ignoring you. I'll hopefully have an answer for you before the end of the day. Just haven't been home.

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Sun Jan 29, 2012 2:22 am

For some reason the LED signals are all set with the Thru option. Go through each translator and check/uncheck the Stop Processing with this Translator box. Thru should go away. Let me know if that works.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Sun Jan 29, 2012 6:37 pm

For some reason the LED signals are all set with the Thru option
Not sure exactly what this means in Bomes. I understand Midi Thru, but what are you looking at here to determine LED signals are set with the Thru Option?

I tried turning on and off the Stop Processing button for every translator in my Vectory Mode, still not luck. hmm

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Mon Jan 30, 2012 12:02 am

Alright, I think I got it.

What we forgot about was a translator to have the red and green sections light up if g0 was not in their range. I added it in to the preset, attached below. I have an idea for another method of setting up the LEDs which might be easier to manage in the future. Have an individual translator for each button tied to the same timer (with the g0 variable as is). There would be a rule for each LED dictating what color it would turn on that timer, so if it's off it's red and on its yellow, or off it's green and on it's red, etc. etc.. I can try and throw that together so you have have an alternative which might be easier to manage in the future.

Regardless, here's what I put together. Tell me if it does what you want.
Attachments
APC40 modes LED update.bmtp
(98.21 KiB) Downloaded 587 times

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Mon Jan 30, 2012 2:22 am

This sort of works, but now instead of updating 1 section, it just updates 2, yet those 2 vary upon what was previously activated.

I found what you added, the
if g0<16 then exit rules, execute Outgoing Action
and
if g0<32 then exit rules, execute Outgoing Action

but there is only these 2 correct? Why not 3? maybe something to do with g0<0 when there is no less than zero?

So I just added another translator for the Yellow State in Vectory Mode with a rule
if g0<0 then exit rules, execute Outgoing Action
It almost works but not really. Should I bump all the global variables 1 increment, so there is no g0=0. In other words Clip1 translator would start at g0=1 instead?

DvlsAdvct wrote:I have an idea for another method of setting up the LEDs which might be easier to manage in the future. Have an individual translator for each button tied to the same timer (with the g0 variable as is). There would be a rule for each LED dictating what color it would turn on that timer, so if it's off it's red and on its yellow, or off it's green and on it's red, etc. etc.. I can try and throw that together so you have have an alternative which might be easier to manage in the future.
This sounds GREAT!

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Mon Jan 30, 2012 2:55 am

Yes, I forgot about that. You actually need a timer that says g0=0 and one for the yellow state for g0>15 like the others I put in. I spaced on that. I'll get it together soon so you can see it.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Mon Jan 30, 2012 4:13 am

DvlsAdvct wrote:Yes, I forgot about that. You actually need a timer that says g0=0
How does that work?

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Mon Jan 30, 2012 5:50 am

I was typing that on my phone, and I think I overthought it.

What you need to add, mainly cause I forgot, is a Yellow Timer translator that sets everything to a static value if g0>15.

So essentially you'll take the first yellow timer entry (g0!=0) and duplicate it. Change the rule to read as

if g0>15 then exit rules, execute outgoing action

and set all of the LEDs to be yellow, just by changing the first entry in the code from 05 to 03. Make sense? The g0=0 won't be needed cause g0=0 actually gives you an LED value, which I forgot. :)

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Tue Jan 31, 2012 1:44 am

DvlsAdvct wrote: and set all of the LEDs to be yellow, just by changing the first entry in the code from 05 to 03. Make sense? The g0=0 won't be needed cause g0=0 actually gives you an LED value, which I forgot. :)
you lost me here. Set all the LED's I "want" to be yellow, or ALL of the LED's to yellow? First entry in the code, not sure which entry you are referring too.

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Tue Jan 31, 2012 3:51 am

It was easier to just throw this together. If I have time I'll try to put together a more direct LED control scheme, but I'm going out of town this weekend and will need to have "family" time... yay?

So yeah, this should get the yellow LEDs to light up. This working how you want?
Attachments
APC40 modes LED update.bmtp
(98.46 KiB) Downloaded 572 times

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Tue Jan 31, 2012 4:29 am

Yeah, this is what I did...i think, but I am still getting strange behavior in Vectory mode, even whit your attachment.

All other modes LED's update as expected, it's just the Vectory Mode that seems to be missing something.
Does this work for you?
For example if you activate the Vectory Mode preset with your mouse, do you get 2 4x4 grids, one yellow with a pressed red button somewhere, and one red with a yellow button pressed somewhere, plus the bottom row that is OFF except for what has been pressed, which should be green?

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Tue Jan 31, 2012 1:48 pm

Ah, I see where the confusion came in.

Try this one out. The Green LEDs aren't coded perfectly, but I have to get myself together for work and this would have bugged me all day.

J
Attachments
APC40 modes LED update.bmtp
(97.95 KiB) Downloaded 562 times

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Tue Jan 31, 2012 5:55 pm

I tried it this morning before walking out the door to work. The 2 4x4 grids update perfectly, not sure about the green row. HOWEVER, I didn't even get a chance to look at the actual template, I'm sure I will have more questions later.

Thanks for being so helpful with all of this.

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Tue Jan 31, 2012 6:25 pm

Not a problem at all.

I have ideas for the green section, I just didn't have time before I ran out to figure it out. Let me put some thought into it. Essentially, you want the green buttons to light up when pressed, but turn off when released? Or stay on and then turn off if you leave the preset and come back?

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Tue Jan 31, 2012 7:07 pm

the green row is used for selecting "banks" of samples, kind of like a preset. So essentially it works just like the 4x4 grids, all buttons are "off" except for the bank that is selected, which is green.

For a while I thought about the whole row being green except the selected bank would be red, but visually off and selected=green seems to provide better visual feed back, and contrast.

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Tue Jan 31, 2012 8:31 pm

Right. And you want it to restore that bank state when it is reactivated?

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Tue Jan 31, 2012 8:34 pm

most definitely!

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Tue Jan 31, 2012 8:49 pm

Oh, okay, then we just need to clear two things out, which I can do when I get home, and that'll work exactly as you want.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Tue Jan 31, 2012 9:05 pm

awesomeness!

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Thu Feb 02, 2012 1:15 am

How's this work?
Attachments
APC40 modes LED update.bmtp
(97.73 KiB) Downloaded 567 times

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Thu Feb 02, 2012 4:05 pm

I tried it for a few seconds on my way out this morning. TOTALLY WORKS! Thank you.

The past week I have polishing some work inside Ableton. Next week I will be putting this template through it's paces, and thinking what I want to try adding next.

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Thu Feb 02, 2012 8:44 pm

Awesome. Please feel free to come back with questions. Just keep building this thread, as I'm sure people can use it in the future.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Thu Feb 02, 2012 9:41 pm

OH yeah I will be asking plenty of questions once I get this situated and tested.

I still wanna figure out how to get into default mode. I was thinking about using the Master Select and when pressed you'd see the clip matrix/default mode. I'm just not sure I want to use the Master Select.

Also I will be wanting to do some stuff with the device control buttons, knobs and Track Control buttons and knobs.

Right now I am slimming down some of my Live set and contemplating what I want to work on next with this Bomes template.

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Thu Feb 02, 2012 10:48 pm

Well, keep in mind you can use a preset to get into Default Mode, and can use a keyboard command for it, to switch between the two modes.

Once you know what you need let us know. I'll be keeping my eyes open, and might even have to get my hands on an APC40 cause this stuff looks cool regardless.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Fri Feb 17, 2012 5:30 am

OK, so now I am wanting to do something kind of complex.

In my Live, there is a logic that goes like this.
On every Track there is a Device 1, which is usually a SynthRack, or some kind of VST Rack. This is followed by 4 FX Racks.
ALSO, I have a DrumRack and each cell follows this logic, there is the Device 1 (usually a Sampler), then it's followed by 4 FX racks

I am also using the apC-CL3 template from NativeKontrol, which offers a 'Device Lock' feature for the Track Control Knobs. This gives you the opportunity to use 2 blue hands. One locked to the Track Control Knobs, and the other can be used for the Device Control Knobs yet you can move it around to other devices.

I want my APC40 to do this:
Upon pressing a Track Selection button, OR hitting a DrumPAD on my APC40
1. The Track Control Knobs lock to the 1st Device (second blue hand)
2. Then the Device Control blue hand selects the title bar of one of the following 4 FX racks. (pending on which one was selected previously, like it has memory of where it left off)
3. The 4 Device Control Buttons will toggle between the 4 FX Racks. CLIP/TRACK, DEVICE ON/OFF, LEFT ARROW, RIGHT ARROW, select FX Device 2, 3, 4 and 5.
4. When Selecting the FX Racks with these buttons, I want the FX Rack to OPEN and CLOSE so only whats being controlled by the Device Control knobs is in view and all other FX racks are closed. (done by sending a "shift +" or - keystroke. Actually the - keystroke is the only one that seems to be nessicary because when selecting a device via midi mapped title bar, it automatically opens from a closed state.)

I can get all of this to work, but I cant get the "memory" part working, and my previous attempts are kind of buggy.

Right now I want to focus mainly on the DrumCell part.

SO
I go into DrumMode by pressing Track Selection 1.
My APC40's Matrix lights up with my DrumPads via the apC-CL3 Template.
When I hit the Kick Pad, I want the above to happen, or the snare pad, or any of the 16 pads.
So basically I need to set up a Bomes Preset for each
1. Kick Device and FX
2. Snare Device and FX
3. Hat Device and FX
etc etc.
These will be activated within the 'Drum Mode' preset. So when 'Drum Mode' is activated the pad translations within it, will activate/deactivate the Kick Device and FX, or the Snare Device and FX, and so on.

So in these 'Device and FX' presets I was thinking something like this:
Translator 1 Lock
incoming message, when preset is activated
outgoing message, 90 59 7F (the SEND B button to activate Track Control blue hand lock,) set to specific ports Midi Translator Pro Virtual Out 1.

Translator 2 Lock
incoming message, when preset is activated
outgoing message, 80 59 7F (the SEND B button release to activate Track Control blue hand lock,) set to specific ports Midi Translator Pro Virtual Out 1.

Translator 3 Select FX Rack
incoming message, when the preset is activated
rules (some kind of global for memory sake??? for example g9=0)
outgoing message 99 (a different number for each title bar for the 4 different FX Racks) 7F

ALSO somewhere there needs to be an 'UNLOCK' Translator that sends a 90 59 7F and then a 80 59 7F, emulating the SEND B button pressing to unlock.
AND when the Device Controls blue hand moves, a - keystroke needs to be sent, to close the device that is moving from.
There probably needs to be some kind of initializing preset, so when I open the Live Set/Bomes Template, maybe the FX device blue hands are set to something default.

If the Device open and close is TOO complex I could live without, but the memory and Device Lock are essential. However I would like to see ALL of this working.
Any advice on how to set this up?

Right now I have attached a Bomes Template thats kind of working but I realize it's difficult to understand without the Live Set file.
Let me know if I need to share that to make since.
Attachments
APC40 MODES.bmtp
(115.82 KiB) Downloaded 586 times

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Fri Feb 17, 2012 11:09 pm

Wow, this actually looks like fun. :p

I'm going to take a look at this during the weekend. I'll see if I can grab my friend's APC40 so make this a little easier.

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Tue Feb 21, 2012 4:39 pm

I've been putting some thought into this and hope to be able to get some work into it this week. REALLY crazy week coming up, but I should be able to swing some details.

Regardless, if you want your state remembered you need to set a global variable for it. You need to make sure that the states that overlap are given the same global variable to make the memory process work. So, in your example, you want it to remember the FX state that was open for each specific sound in the drum rack. To do this you need to set the same Global Variable for each FX state (0, 1, 2, 3) for each FX state. You should set this to the translator that opens and closes each FX rack.

So once you have that set you can set the translators up in different ways. The cleanest to set but hardest to edit later is all tied into one translator

Code: Select all

Translator 1: FX On Load
Incoming Action: When Preset is Activated
Rules:
if g9==0 then xx=1
if g9==1 then xx=2
if g9==2 then xx=3
if g9==3 then xx=4
Outgoing Action: 90 xx 7F
And what this will do is trigger the opening of the individual FX rack when the sound is activated in Ableton.

As far as opening and closing the FX windows, isn't there a way to toggle this with MIDI instead of key strokes like "ctrl +"?

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Tue Feb 21, 2012 5:04 pm

Without my APC40 plugged in, this is what I it looks like. When a kick pad is pressed, the "EKS Rack" gets selected, then locked to the Track Control Knobs. THEN, it jumps to one of the following FX racks, and opens it.

Image


Tonight I will be doing more work on this trying to figure out the memory, and and the closing of devices.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Wed Mar 07, 2012 6:49 pm

OK, so far I have most things working as I want. As soon as I refine some adjustments I will post the template as is, plus a Live Set template.

However, right now I am utilizing the NativeKontrol apc_CL3 template, mainly for the killer drumMode and sequencer. I want to replace this method by creating my own step sequencer. Any tips on where to get started with that?

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Wed Mar 07, 2012 7:56 pm

I have no idea if step sequencing is even possible to do this in Bome. If it is it's going to be extremely intensive, and might require API programming or something, which I have no knowledge of. I can pass this on to Florian to get his input, though.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Wed Mar 07, 2012 8:28 pm

yeah, I have a feeling it might take more than Bomes.

Nevertheless, I will keep this thread going with some other things.

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Wed Mar 07, 2012 8:46 pm

Definitely. Any more questions don't hesitate to bring it here. Also, if you get it working please post as much info as you want so others can see it. :)

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Wed Mar 07, 2012 9:03 pm

I pretty much got the opening and closing of devices working, PLUS the device memory pending on cell/track selection.

What I dont have worked out yet is initalizing the template, or the APC40? I know I need to kind of initialize the entire thing so everything starts at kind of a default place, but I have some things I need to figure out, or can figure out, and then maybe questions.

Should initialization be done with timers?
Is there a way to initialize globals?
For example, I want a default starting point that says, 'all of these buttons have been pushed, everything is in position ready to play'

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Wed Mar 07, 2012 9:11 pm

Well, you can create an [init] preset with translators that all relate to "On Project Load" which is a special option for incoming message. In the rules just set all the global variables you want and they will be set as such when you open the new presets as you're using it.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Wed Mar 07, 2012 9:38 pm

COOL, thanks!

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Fri Apr 06, 2012 10:59 pm

How do you set the matrix back to it's "default" state? As in refreshing the LED's in default

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Mon Apr 09, 2012 2:35 pm

So you want a preset that loads everything back to its original form. I've found a great way to do this is to create a preset that has a series of translators that set everything exactly to what the default states are. Set all your variables, and trigger all of your timers so the controller looks like it should. This preset can even trigger whatever states you want back in your software so everything is lined up.

In your initialize preset, or whatever preset you have to control triggering all of your other presets, set an "activate selected preset" translator for a "Return to Default" preset. WIthin that preset, start with a timer called "Deactivate" on a 50ms delay. Every other translator should be set as "On activation" and have every variable, preset action, LED state trigger within. The last translator have on the timer "Deactivate" and have that translator deactivate the preset.

Make sense? Need me to create any examples?

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Mon Apr 09, 2012 3:18 pm

I want a preset that I trigger, and the APC40's Matrix goes back to default mode, i.e. launching clips. Like it does out of the box.

For example I want to push the "Master Track" button and it goes back to clip launching mode for the Matrix. How do I do that so the LED's update correctly.
I ended up abandoning the apc-CL3 template, and just making my own Bomes template. So I dont have a mode for clip launch, or a way to reset that state.

ALSO, I still always feel a bit confused on ports, the router, and what this means in Ableton's preferences.
I understand in Ableton's midi prefs that if I tick IN and OUT for Track and Remote on Bomes Midi Translator 1 that I can use that in Ableton for recording midi to tracks and controlling parameters.
Right now, in Bomes I have.
Midi In Port, APC40
Midi Out port, APC40 and Bomes Midi Translator 1
the Router is connected as
APC40 in>Bomes 1 out
Bomes 1 in>APC40 out

I'm not certain of what these paths are connecting, their relationship to each other, why things loop back on themselves sometimes, etc.

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Mon Apr 09, 2012 4:43 pm

Oooooooh okay. I misunderstood. Can you just provide the signals that trigger APC40 mode and the open mode you've coded with Bome? I think we can figure this out. You are going to need a preset to switch between the default mode and your advanced mode. You'll also need a preset for the default mode with only two translators, one for in and one for out, and each with incoming and outgoing signals as xx yy zz. This will allow the presets to act as passthrough.

Now you need to select a command that turns these presets on and off, in tandem with your advanced mode. This making sense? You may also need to set a preset tied to your advanced mode forcing the timers and variables to be pushed back to the APC40.

What the router is showing is that anything coming into Bome from the APC40 is, by default (and unless otherwise noted in the translators) sent to Bome MIDI Translator 1 and anything sent from Bome 1 goes to the APC40. Make sense?

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Tue Apr 10, 2012 12:35 am

This is where I am at right now.
It's not very refined. Kind of a mess after ditching the apC_CL3 stuff/
Attachments
APC40 MODES V12.bmtp
(226.37 KiB) Downloaded 584 times
APC40 MODES V11.bmtp
(230.68 KiB) Downloaded 576 times

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Tue Apr 10, 2012 3:10 pm

Hi Juan

I will take a look at this tonight after work. :) For simplicity's sake, which preset are you more concerned with (as I can't open them while at the office)

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Tue Apr 10, 2012 3:38 pm

I basically want to turn off ALL of the other "modes" presets and have a default APC40 matrix mode.

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Wed Apr 11, 2012 1:08 am

Hi Juan

I totally understand what you're looking for. I just need to know what message the APC40 needs to receive to send it into User Mode and APC40 mode, and how you want to trigger it (from a button or a keypress). From there I can put together the logic for it, but those messages matter.

I don't have access to an APC40 for a few days. Once I have it I can figure it out on my own, but that might have to wait for the weekend.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Wed Apr 11, 2012 3:15 am

Its cool. I was gonna make the Master Select button be the trigger.

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Wed Apr 11, 2012 3:27 am

Okay.

I'll have something for you in a day or two that'll do what you want, with an explanation as best I can. :)

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Wed Apr 11, 2012 3:38 am

You are AWESOME!

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Wed Apr 11, 2012 4:03 am

Give this a shot for a start. I created a Mode Switch preset, and an APC40 Mode preset. I don't have the APC40 in front of me so I can't trigger the incoming messages for preset changes, obviously, so I can't test, but if you give this a shot it might work. The idea is you need to make sure that the first two translators are the Master Select button in the APC40 mode and the last two are the Master Select button in User Mode. If that works then there should be only a few steps left to make this work flawlessly. Let me know if there are any problems. :)
Attachments
APC40 MODES V11.bmtp
(232.67 KiB) Downloaded 571 times

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Wed Apr 11, 2012 1:45 pm

Awesome, I will try this after work.
THANKS!

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Thu Apr 12, 2012 2:19 am

This sort of makes since, and at the same time I'm confused.

I get the deactivation of all other presets and then having a few translators that are xx yy zz and this would pass ALL of the APC40's commands.
But I dont really want to pass ALL of the commands, just the Matrix and the Clip Stops.

I reposted a cleaned up version of my Template and here a breakdown of whats happening.

Preset 1 - APC Always Active.. These are translators that allow everything I want to pass ALL the time. Things like PLAY STOP REC, all the Record Arm Buttons, prety much all buttons outside the Matrix. This preset would ALWAY be on.
Preset 2 - initialize.. This preset has not trigger yet, right now I just mouse click it. However, this preset runs through my Live set, activating globals and closing devices. Eventually it will do more, i.e. set values etc, so it's kind of a work in progress and not totally important right now.
Preset 3 - CLOSE FX DEVICE.. This preset is ALWAYS active. It is used to Close FX Rack upon switching FX racks, so whatever is 'bluehanded' is the only thing open. I was using this a lot more in the beginning, but now I have simplified my Set as well as this template so I am not currently using it
Preset 4 - MODE SWITCH.. This preset handles all the mode switching. For example if Track Selection 2 is pressed, Track 2 is selected, when it's released 'Vectory MODE' is activated.
Preset 5 - DRUM MODE. is different, eventually it will be a step sequencer, but for now it is receiving drum pads. When in Drum Mode if a pad is hit, it will activate presets KICK FX, SNARE FX, etc. pending on which pad is hit.
Preset 6 - VECTORY MODE.. Vecotry Mode handles all the Matrix Translation for my Reaktor Vectory Plug. It also Translates the top 4 Device Control Buttons too highlight title bars for the 4 FX racks on that Track and 'blue hand' them.
Preset 7 - FM8 MODE. This Mode turns the Matrix in to a big program change switch for my FM8 Plug. It also Translates the top 4 Device Control Buttons too highlight title bars for the 4 FX racks on that Track and 'blue hand' them.
Preset 8 - DECK MODE. This mode is a little different. I am using Track Selection 4 and 5 to turn the Matrix into DECK MODE, but DECK MODE is spread across 2 Tracks, so it also Activates/Deactivates DECK FX A or DECK FX B for the Top 4 Device Control buttons to 'blue hand', pending on which track is selected.
Preset 9 - MOOG MODE. This Mode turns the Matrix in to a big program change switch for my MOOG Slim Phatty through the External Instrument Device. It also Translates the top 4 Device Control Buttons too highlight title bars for the 4 FX racks on that Track and 'blue hand' them.
Preset 10 - FNGR MODE. - This mode makes the Matrix translate note on/off messages that are sent to The Finger which resides on a return Track in Ableton. BUT when it comes to the 'blue hand' I have to make it jump to the Return Track it sits on NOT Track 7.
Preset 11 - STUTTER MODE. This is like a sub mode for the FNGR MODE, it just changes the LED's and the range of notes translated by the Matrix and it is activated by pressing the Activator button on Track 7. The 'blue hand' works identically as FNGR MODE.
Preset 12 - 19. These presets are only activated/deactivated in DRUM MODE. They translate the Top 4 Device Control Buttons to 'blue hand' FX devices pending on which Drum Pad is hit.
Preset 20 - 21. These presets are only activated/deactivated in DECK MODE. They translate the Top 4 Device Control Buttons to 'blue hand' FX devices pending on which Track is selected.

Most of my other buttons on the APC40 such as Activators, Solos, Record Arm, Detail View - Metronome, Tap Tempo, Shift, Bank Select, Vol Faders etc... are MIDI MAPPED in Ableton to do something specific, OR do their default behavior ALL of the time. Thats what the 1st Preset is for, the APC40 ALways Active.

What I need is a "Default Matrix Mode" preset, that when Master Select is pressed ONLY the APC40 Matrix goes back into clip launching mode, and the LED's are updated.

So far everything EXCEPT the Default Mode is working well, HOWEVER I'd really appreciate the once over of this Template and maybe ideas of how things might work better?
I am still having trouble with the VECTORY MODES green LED's updating properly too. They are correct once I press one, but they dont update correctly upon opening my Live Set and geting right to it. They are always ALL GREEN. I want only one green button showing, and the rest off. The one Green showing represent which Sample Bank I am in.

Thanks DvlsAdvct for all your help so far! I am learning, but I got more to learn for sure.
Attachments
APC40 MODES V13.bmtp
(213.59 KiB) Downloaded 604 times

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Fri Apr 13, 2012 3:51 pm

I'm hesitant to say we can JUST activate the grid into default mode and not the rest of the controller. Not to say it can't happen, just not sure right now. It might have to be an on/off thing for the entire unit. I'm waiting to get my hands on one so I can screw around with it.

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Mon Apr 16, 2012 11:13 pm

any luck?

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Tue Apr 17, 2012 5:11 pm

Hey Juan

Sorry for not getting back. I should be picking up an APC40 tonight from a friend so I can test this out. Hopefully I should have an answer for you before the end of the week. Just to make my life a little easier, can you send me any APC40 documentation you might have that would help? As an example, what messages are used to change modes.

Thanks
J

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Tue Apr 17, 2012 7:00 pm

I figured out a semi workaround for getting the Matrix into default mode using the Master Select.

When the Master Select is pressed, all other "modes" presets, get deactivated, AND a translator is set up to emulate pushing "shift" is sent to the APC40 only.

When Master Select is released, it turns on the "Default Mode Preset",
which has a series of Translators that have incoming 'activate this when current is activated', that turn off all the LED's
AND the last Translator with 'activate this when current is activated', emulates a "shift" button release sent to the APC40.

I'll post the template when I get home

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Wed Apr 18, 2012 4:21 pm

Well, I have an APC40 at my desk now, so just upload the preset and I can take a look at it.

:)
J

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Wed Apr 18, 2012 4:32 pm

nice!

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Sat Apr 21, 2012 6:56 pm

Yo dude, you gonna upload that preset? :p

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Sat Apr 21, 2012 7:21 pm

Sorry, spaced out a bit.
Attachments
APC40 MODES V14.bmtp
(218.61 KiB) Downloaded 564 times

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Sat Apr 21, 2012 7:33 pm

Alright, I'll take a look today and hopefully get something sorted by tomorrow night. :)

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Sun Apr 22, 2012 8:33 pm

Hey Juan. so I loaded up the preset and I'm screwing around with it. The APC40 is so pretty with all the lights :)

So for Vectory Mode, the big issue you said you were having was the LEDs updating properly on load. I added a translator in the SHIFT FUNCT ON preset to set the global variables by default to 0 for g0 and g1, and 1 for g2. Now when it loads those variables are set by default appropriately so when you select that mode the timers know what to set. :)

As far as default mode, I'm getting the master button acting as a toggle for the Default Mode, and everything seems to work fine for that. One weird interaction I'm getting is the LEDs for Deck A FX, Deck B FX, Moog FX and Mash FX are not updating the numbered LEDs properly. I would recommend taking a look at those, as I can't seem to find the commands to send the on/off. This making sense?
Attachments
APC40 MODES V14.bmtp
(218.68 KiB) Downloaded 470 times

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Sun Apr 22, 2012 9:07 pm

TOTALLY MAKING SINCE, THANKS!!!

mrsdoubtfire
User
Posts: 9
Joined: Sun Apr 22, 2012 1:26 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by mrsdoubtfire » Mon Apr 23, 2012 10:41 pm

Hi guys - hope you're good. Reading your posts, I thought you might know the answer to this:

My problem is - that when I twiddle the knob on my APC40 which I have programmed to mimic the computer arrow keys - that knob still controls the pan it is pre set to control in Ableton.

Is there a way I can disconnect this knob from controlling the pan it is connected to?

Cheers!

(Currently - I have the MT output set to 'Bome's Midi Translator 1 Virtual Out' - as per what you said
In Ableton, I have APC40 set as the control surface and ''Bome's Midi Translator 1' as input.)

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Mon Apr 23, 2012 10:52 pm

Try clicking "swallow" for that translator.

mrsdoubtfire
User
Posts: 9
Joined: Sun Apr 22, 2012 1:26 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by mrsdoubtfire » Tue Apr 24, 2012 12:01 am

Screen Shot 2012-04-23 at 23.55.09.png
Screen Shot 2012-04-23 at 23.55.09.png (45.05 KiB) Viewed 271722 times
Screen Shot 2012-04-23 at 23.55.09.png
Screen Shot 2012-04-23 at 23.55.09.png (45.05 KiB) Viewed 271722 times
Cheers

I have tried this - however I think the problem lies in Ableton Midi settings.

In Ableton - Whenever I select 'MT Virtual out 1' as the Midi input (with APC40 selected as control surface) - the APC40's standard mapping shuts off and the unit just goes into a basic non educated midi controller state - my knob to arrow keys still works - but the APC's Ableton Mappin is gone. I have attached a pic of my Ableton and MT midi settings.

Cheers
Attachments
Screen Shot 2012-04-23 at 23.55.05.png
Screen Shot 2012-04-23 at 23.55.05.png (59.02 KiB) Viewed 271722 times

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Tue Apr 24, 2012 12:44 am

In Live's prefs un click all the APC40 only stuff, for Track ReMote and Sync. Keep the APC40 MTP virtual 1 for Track & Remote. Then use the swallow, that should work.

mrsdoubtfire
User
Posts: 9
Joined: Sun Apr 22, 2012 1:26 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by mrsdoubtfire » Tue Apr 24, 2012 9:54 am

11.png
11.png (47.2 KiB) Viewed 271715 times
Hi -thanks

I've attached a pic of what my Ableton Midi settings now look like.

I have midi swallow check box selected in all my settings in Bomes - and still the message is getting through.

The only way I can stop the message getting through is by selecting 'Bomes Midi Translator 1' as the input drop in the Ableton down menu - but then the APC40 red box disappears and it becomes a non educated midi controller.

Have I missed anything?

Cheers

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Tue Apr 24, 2012 2:34 pm

You need to set the input and output for the APC40 to be Bome MIDI Translator 1, it's the only way this will work.

If you followed my instructions from the other thread, another idea is to put an exclusion rule into the translator.

So you should have four translators, correct? one for all signals going FROM the APC40 TO Ableton, one for everything FROM Albeton TO the APC40 and then the two translators for keystrokes. That's what we're looking at?

mrsdoubtfire
User
Posts: 9
Joined: Sun Apr 22, 2012 1:26 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by mrsdoubtfire » Tue Apr 24, 2012 8:26 pm

Hi - thanks.

So I have made some progress. In ableton I now have APC40 as the control surface and Bome's 1 selected as input and output - and the APC40 red box is still showing in ableton which is great . However - the knob is still controlling the pan on channel 1 - even though I have selected 'swallow midi' in every check box on Bome. Maybe there is a mistake in my routing and the signal is still getting through?

My settings are as per the screen shots attached.
able.png
able.png (34.63 KiB) Viewed 271705 times
bomes.png
bomes.png (136.25 KiB) Viewed 271705 times

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Tue Apr 24, 2012 8:37 pm

What happens if you deactivate the first translator?

mrsdoubtfire
User
Posts: 9
Joined: Sun Apr 22, 2012 1:26 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by mrsdoubtfire » Tue Apr 24, 2012 10:16 pm

A ha

When I deactivate the first translator - the knob stops controlling the panning !

Which is great.

But now - due to deactivating that piece of code, the knob only scrolls up when twisted - rather than going up and down

What does this tell us?!

Thanks again
almost.png
almost.png (167.29 KiB) Viewed 271703 times

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Wed Apr 25, 2012 1:18 am

It's because you're using the same knob, which I'm guessing is sending absolute signals, to control a command that needs to be sent as an infinite rotary. This needs to be set up with rules. So you have two translators, one for up and one for down. Found this in http://www.bome.com/forums/viewtopic.ph ... as+endless

Code: Select all

Translator 0: turn up
Options: stop=false
Incoming: MIDI B0 0E pp
Rules:
  gd=pp-ga
  ga=pp
  if pp==0 then exit rules, execute outgoing action
  if gd>=0 then exit rules, skip Outgoing Action
Outgoing: Keystroke: Up

Translator 1: turn down
Options: stop=false
Incoming: MIDI B0 0E pp
Rules:
  if pp==127 then exit rules, execute outgoing action
  if gd<=0 then exit rules, skip Outgoing Action
Outgoing: Keystroke: Down 
Make sense?

mrsdoubtfire
User
Posts: 9
Joined: Sun Apr 22, 2012 1:26 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by mrsdoubtfire » Wed Apr 25, 2012 9:10 pm

Thanks so much for your help - with that code, the scrolling is working perfectly and the command is being swallowed perfectly as well!

For anyone who wants to scroll using a non infinite knob with APC40 & Ableton, these screen shots show what I did.

Thanks again

Screen Shot 2012-04-25 at 21.06.44.png
Screen Shot 2012-04-25 at 21.06.44.png (44.82 KiB) Viewed 271695 times
Screen Shot 2012-04-25 at 21.07.11.png
Screen Shot 2012-04-25 at 21.07.11.png (212.31 KiB) Viewed 271695 times
Screen Shot 2012-04-25 at 21.07.17.png
Screen Shot 2012-04-25 at 21.07.17.png (197.71 KiB) Viewed 271695 times

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Mon Apr 30, 2012 3:49 am

My latest Template is attached.
many thanks to DvlsAdvct for all his input.

It still needs some work, and just a good once over and tidying up.
I added a DrumPad mode by pushing Track Select 1
The Green buttons will work as pads always at a velocity of 100, AND they select the corresponding device in the DrumRack and allow you to toggle the blue hand for that cell using
CLIP/TRACK
DEVICE ON/OFF
<
>
The Yellow Buttons give you 16 ascending velocity pads pending on which Green Button you hit last.
The Red Blinking button is a toggle for the Green Pads. When it is pressed the Pads will not send out note on, but it will select the devices and allow for changing bluehanded FX

Right now my MAIN issue I want to work out is when using the BANK SELECT up or down to move the red box. If I am in any mode other than Default Matrix Mode, the matrix LEDs get replaced to what clips are getting focused in the red box. In all modes except default, I do not want this to happen.

Things I need to do:
Fix the BANK up down red box issue when in any of the modes besides 'Default Matrix Mode'
Make all Buttons and Knobs behave in their default function while holding Shift.
Decide if I want to actually use the OPEN CLOSE device feature so only whats blue handed is open.
Figure out what I want the CUE Knob to do, and how to translate the CUE (endless encoder)
Figure out storing and recalling values for parameters (maybe a job for M4L?)
Make a preset for restoring bluehanded device to default values, AND another for resetting ALL devices to default values.
Eventually figure out a step sequencer for the Drums (something like Mark Egloff's sequencer with velocity)

I will eventually make a link to download my entire Live set, but for now I need to make sure I am not sharing anything that is not legal to share.
Attachments
APC40 MODES v18.bmtp
(269.61 KiB) Downloaded 528 times

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Sat May 26, 2012 8:01 pm

So how do you keep the "RED BOX" from updating LED's when in other modes besides default matrix mode?

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Sun May 27, 2012 9:11 pm

Another question besides the one above.

How do you translate the 'Track Control Knobs' properly in Bomes.
I have:
IN, B0 30 xx
OUT, 90 48 xx

however when used like this, the parameter I am mapped too jumps back and fourth between all the way down and all the way up, like a stuttering.

DvlsAdvct
Bome Software: Partner
Posts: 1351
Joined: Fri May 09, 2008 5:07 pm

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by DvlsAdvct » Sun May 27, 2012 9:41 pm

Well hello again Juan. :)

I'm on the road so I can't terry these solutions, but if you change the 90 48 xx to B0 48 xx does it work?

As for the red box, can you check your log window and see if any translators are sending unwanted output messages to the apc40? That might be the route of the problem. Or it could be the midi thru settings.

Let me know
J

JuanSOLO
Power User
Posts: 81
Joined: Tue Sep 15, 2009 8:27 am

Re: APC40 Programing, (a learning thread) PLEASE HELP.

Post by JuanSOLO » Sun May 27, 2012 11:22 pm

Well thanks for taking the time to respond!

I got a suedo work around thing going for the Knobs using M4L, so that one is a bit on the back burner for now.
My big concern is the RED BOX.

My MIDI IN Port is just the APC40
My MIDI OUT Port is Bomes Midi Virtual 1
in the MIDI ROUTER Section I have a connection going from the APC40 to Bomes Virtual 1
and a connection going from Bomes Virtual 1 to the APC40

So I am assuming I need to find some way to isolate all of my custom MODES from receiving the router input from the APC40.
And when in Default that connection needs to be there?

Post Reply