Akai APC 40 MK2 lights and faders and layers

Hi im having a issue
Trying to send both on and off
Midi raw to vm becouse vm needs the off signal to send a midi feed back
And all the buttons for the mute funcktion have the same CC but diffrent channels
So the first thing i tried was
The original send is 90 32 7F for on and 80 32 7F for off
So i tried tt 32 pp in then tt 32 pp out and it works
But secon button got 91 32 7F and 81 32 7F
So running tt 32 pp is not working any more becouse i need to pass true both the 8 and the 9 or vm wont do a feed back .
The only thing i was able to think of is to run 2 translators for each button one that feeds the 9 and one that feeds the 8 .
If u got some better system would like to hear it thx


I don’t think this has to do with incorrect button feedback, but I suspect your APC-40 MK2 is in the default Mode where these buttons are toggle. If you send this MIDI message to your APC-40 when you start the project, then it should work with the standard MIDI learn and then setting Voicemeeter feedback to FF.

F0 47 7F 29 60 00 04 42 09 07 01 F7

Byte value 42 above is the Mode in which your APC40 will be set.

Suspecting that you are using this for ‘Select’ in the master section. I tested this and it works.


0x40 Generic (Startup Default) Track select Radio- Channel Toggle

0x41 Ableton Live (LED Ring Remote Controlled) Momentary All

0x42 Alternate Ableton Live Momentary All

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: bome@sniz.biz

Hi mate im running in mode 2 all momentary but ring leds remote
But i think i set it up wrong in bome by setting strip by strip in seperate presets
So i think if i put all mute buttons in same preset
I might getting away with only 2 translators for all buttons
By setting
The apc in to tt 32 7F and out to vm the same
Then from vm in tt 32 pp to apc the same
Becouse on the return i do
If pp==7f then pp=22
If pp==0 then pp=5
For the color green and red
Need to wait a nother 1hr to test still at work
So the apc is sending exsample on first button
On press 90 32 7F on release 80 32 7F
But send back from vm is on 90 32 7F off is think its 90 32 00 and reaction is only on the on note but fedback is sent on the release

Ah so you are sending it back to one of your RGB Leds

Here is an example of what you need to do on the return path to your controller.

Incoming : Raw oo pp qq


//Check if note on or note off
if rr!=128 then exit rules, skip Outgoing Action
// MIDI CH in rr
// Make Note on MIDI CH 1
// Default velocity off
// On velocity
if qq==127 then tt=22
// desired outgoing note number using MIDI CH

Outgoing: Raw oo pp tt

Now you get green for on and red for off

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: bome@sniz.biz

I got it working when i
Deleted all the mute translators
And i did 1 preset for all mute
From vm in tt 32 pp
If pp==127 then qq=1
If pp==0 then qq=0
out from bome tt 32 qq

From apc uu 32 qq out to vm uu 32 qq

And it works .

But im having small issue with getting all strip buttons on 2 translators would be easy
If it wasent for the 0A 1A the others
It start easy enough they are all 90 00 up to 09 then 0A to 0F then start at 10 to 19 then 1A to 1f Again
If it weren’t for them i would just have done
In 90 qq pp
If qq>40 then exit

You would do a construct similar to this.

Incoming Note on Any Channel set to oo note set to pp value set to qq.


if oo>7 then exit rules, skip Outgoing Action
if pp==66 then Goto "A/B"
if pp==49 then Goto "Solo"
if pp==48 then Goto "Rec Arm"
if pp==52 then Goto "Clip Stop"
exit rules, skip Outgoing Action
Label "A/B"
Log "Doing A/B Stuff"
Goto "Done"
Label "Solo"
Log "Doing Solo"
Goto "Done"
Label "Rec Arm"
Log "Doing Rec Arm"
Goto "Done"
Label "Clip Stop"
Log "Doing Clip Stop"
Goto "Done"

Outgoing: Whatever your did with processing above.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: bome@sniz.biz

That looks good will def implement this
Im also working on the main rgb buttons
They are all 90
And its 40 of them but the normal numbers only go to 27
And i was working so i could use this 90 tt pp
As in
If tt>40 then exit
Its a bit strange
When actually pressing the button whit the number 40 or 32
The if tt>40 Then exit
Is activated
Im so confused its like the button numbers are not realy linked
If i set the limit to 27 then half the buttons dont work included the actual button 27 but still the 0A and 1A

There are 40 of them but they go from 0 to 39.

Here is a project file you can play around with to see how I manipulate colors of buttons.
The cross fader is a color chooser to for the main matrix. The color selection is shown on Scene Launch 1. If you then push Scene Launch 1, all LED in the matrix (instead of 2nd row) are changed to that color. The refresh logic makes sure the 2nd row is always red. If you push a button, that button will flash and the others will go solid.

This is just something I whipped up a while back playing around with my APC-40.
APC40MK2- Button-Lighting-a.bmtp (2.8 KB)
Steve Caldwell
Bome Customer Care

Also available for paid consulting services: bome@sniz.biz

Thx i will have a look
Do you know about the how
90 00 00 to 90 27 00 are numbers but 12 buttons are
Using 0A 0B 0C 0D 0E 0F
1A 1B 1C 1D 1E 1F
And not the last ones but between 09 to 10
Then again betwen 19 to 20
So if i put in 27>tt then i should be able to use all the buttons from 0 to 27 and the 0A 1A should not count in but i can use all buttons up to the fysical nr 27 not the one that actually i dentifys as 27 thats what messing me up in the head specialy since if i put it to 40>tt the all buttons work but i dont understand the button that identifies as 32 or 36 are trigering the 40>tt rule its realy confusing

Make sure you are using the right number system. If entering rule and you want hex use 0x3F for example for decimal 63.


Steve Caldwell
Bome Customer Care

Also available for paid consulting services: bome@sniz.biz

Now i see i was not rapping my head around that it was all hex haha :laughing: when i sav the diagram i understood what was happening and why the numbers where no aligned with what i was expecting

Hi mate is there a simple non bit bashing way
To switch leds on a big amount of them lika all
From 90 00 to 90 39
Like a led refresh

Yes, but you would need 40 global variables where with bit bashing all you need is 2 (for simple on/off state) since there are 32 bits per variable.

The sample I posted earlier is the ‘bit bashing’ method an although a bit of a pain to set up, is really the most efficient way of doing this.

If the LEDs can all be the same color, then you would not need bit bashing or global variables.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: bome@sniz.biz

Yeah i just want them to switch to a singel solid color i was going to use it for a couple of layers
Of momentary switches and have the layer color as indicator what layer im on becouse when going back to default vm has a refresh controller button i maped to when presets open it refreshing .
Same as when refreshing switching from A1 》A5
To B1》B3 works great

I thought some thing like this
Activation button
Input 91 00 7F or on preset start
And so on
Out put
90 tt 7F.

I know it wont work i was stupid.

Is it posible to send 40 out put

Hi, see the below example

  • The first translator starts the ball rolling
  • The second translator is a recurring perform action and calls itself until the count reaches 40. It also passes the LED number (note number) delay between iterations, and color number to use. There is a rule that calls the third translator with the note number and value.
  • The third translator handles sending the outgoing MIDI message.

By using the new ‘Perform’ action of Bome MIDI Translator 1.9.1, I didn’t need any global variables to handle this. It is all done with local variables and parameter passing.

Perform-Refresh-APC40-Matrix-LEDs.bmtp (1.8 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: bome@sniz.biz

Thank you this definetly will be used when i get home from work

All is working great excacly what i needed

1 Like