Akai APC40 MK II via MT pro

Hey,

 

wanted to write a script for the AKAI APC40 MK II to use the 8 Knobs above and the 8 Faders under in diverse Channels (using red nb. 1-8 for ch) and pull them from the last saved value of the channel.

Got an example from you, but I can`t use this for this. Normally we could make 8 columns with 2 rows right?

But my ones, didn`t wanna work. Could you maybe make an example for the first 2 columns please?


Attachments:
![](upload://1qKgFrMHfWnxbdG1r9b2yaPew4y.jpeg)

Hi Mike,
I’m unclear what you are looking for. Are you looking for the labeled buttons in the middle of your picture to control the MIDI channel of your knobs above and faders below?

For instance push button 1 and All knobs above are MIDI CH1 with different CC values and faders are on MIDI CH1 with different cc values. Then push button two and all knobs above and below are now the same CC values yet on MIDI CH 2, etc?

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

Hey Steve,

I try to explain you.
I have done:

Fader 1 till 8 (in the red rectangle) have

Fader 1 – Ch1
Fader 2 – Ch2
Fader 3 – Ch3

I have convert this all faders in
Fader 1 till 8 are in Ch1 by pressing red button 1
Fader 1 till 8 are in Ch2 by pressing red button 2

The Knobs above are all in Ch1.
I have convert them in the same way like the fader.

Now:
I wanna do a “crossover”
Fader Channel 1 – 100%
Fader Channel 2 – 50%
Coming back to fader channel 1 wanna react to last saved point.
But I have to converted first of all, all faders and knobs to the channels.

Kindest regards
Mike

See the below example. I only did first two channels but left templates for the rest. I hope you can understand what is going on.

I implemented LED feedback for LED rings (preset 3)

I implemented strategy for global variables “See Init Globals” in preset 1

Channel changes saves values of knobs in from channel and pulls temporary values from new channel.

Channel switching updated LEDs and LED rings using a timer.

I heavily commented rules to help understand what is going on.

 


Attachments:
1572995801957_APC-40-Knob-Memory.bmtp

Thank you so much for this script. I will be check up now.

Can this run with the old 32 bit mapping we did in the past?
I have checked out something and could bring to run with the old 32 bit mapping from here:

https://www.bome.com/support/kb/midimix-independent-value-from-the-same-knobfader-after-channel-switch

I`ve wrote so Things on other positions and it runs perfect! But I think, if I use both together (MIDImix and MK II) the bitmapping will crash isn`t it?

Kindest regards
Mike

To keep it simple, I used just 7 bits per global variable but you should now have sufficient knowledge to use 28 bits (1 global variable 4 for knobs).

The only caveats with using with MIDI Mix are collisions of global variables and proper direction of input and output ports if you want to merge them. Much beyond the scope of this forum.

On this controller you don’t need crossover since the knobs are 360 degree knobs and the indicators are also soft leds instead of hard location.

Okey. Thank you so much. I will be first run on this solution, like we did in the MIDImix with the 32bit mapping and take the same global variables on it.
On the MK II the momentary can`t run
Think the problem is: Note 1 till 8 are in the same Bit as Knobs: CC16 till CC23

ww=value should be never under “1”
How I could write it?
Example:

I have a knob from 0 till 127 and the knob never should go under 1. So the result would be:
1 till 127 and never trigger to 0…

In Bits I wanna that the knob, don`t reach “pp qq 00” only from “pp qq 01” till “pp qq 7F”

So if you don’t want the knob to trigger if it is 0 then
Incoming oo pp qq
Rules:
if qq<1 then exit rules, skip outgoing action
or
if qq==0 then exit rules, skip outgoing action

Of course the incoming trigger will always happen just the outgoing result will be suppressed.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

Yeah. This I´ve tried and didn`t run.
I have build a big preset with many translators.
I have took the MIDImix mapping together with my current MK II mapping. If I wanna use both, I had to choose the “deactivate all other Presets” off, on all translators. Because after mapping MIDImix to Virtual Port I and MKII to Virtual Port 2 didn´t was enough for this. Now, If I use Knob CC16 from MK II I have a collision with the Note Red Nbs 1 till 8.
(Example Note Red Nb 1 – B0 10 00 – Knob CC:16 – B0 10 00/7F)

Yes the tricks are:
1) Map your global variables and do not reuse across controllers
2) Define the input and output destinations for both controllers (usually using different presets). If the same source or destination, MIDI messages need to be unique. If the app can process different messages from different virtual ports, less hassle in keeping things unique.

Since you asked about both controllers individually, my examples on APC-40 didn’t take into consideration global variables used on MINI-Mix.

This I have understand.
I mean, from the manufactury from the AKAI MK II the Notepads in the Picture from red nb 1 till 8 are linked with the 8 knobs on the Right side.
So,
Notepad RED NB 1 triggers on the same time 8 variable values:
B0 10 qq
B0 11 qq
B0 12 qq
B0 13 qq
B0 14 qq
B0 15 qq
B0 16 qq
B0 17 qq

B0= Ch1 = RED NB 1
If I use the first knob from the RIGHT side, I trigger B0 10 qq

On the Notepad RED NB 2 I have the Bitmaps with the beginning of:
B1 10 qq
B1 11 qq
….
and so on.
I wanna trigger all the 8 Pads without conflicts with the knob values in qq.

Hope now you can understand this thing.

By the way….

I found this picture for more information:

 

1/D#2 – 2/D#2 –

1/ (is channel nb + note) D#2

and so on are the problem in the conflicts from my mapping and wanted to give them all 8 unique variables for no conflicts with the knobs CC16 till CC23.

 

kindest regards

Mike


Attachments:
![](upload://pcde4C0YektoGyGJivdT6JaaRxl.jpeg)

The knobs on the top trigger B0 30 qq through B0 37 qq
The knobs on the right trigger B0 10 qq through B0 17 qq
I don’t see the conflict.
In Mode 0 the knobs on the right channels change as you press buttons 1 through 8 and the led rings are controlled by the controller.
In Mode 2, however the knobs on the right channels do not change (unless you set them up with Bome to do so, like the ones at the top). The advantage of Mode 1, however is you can control the ring LED’s and values remotely.
I set up the 2 channels so that as you change channels it saves the current channel’s knob value and then pulls the new channels knob value and updates the LED’s. I only worked on the top knobs.
PS. I put the controller in Mode 1 by mistake, not mode 2.
Change the initialization from
F0 47 7f 29 60 00 04 41 09 07 01 f7
to
F0 47 7f 29 60 00 04 42 09 07 01 f7
It should then work better for LED ring feedback (all controlled by Bome)

I don’t see any conflicts with what your CONTROLLER sends. Before you do any coding you need to create a COMPLETE map (spreadsheet or whatever) of the output you want from MT Pro and make sure you don’t have any conflicts. Otherwise, you will code yourself into a corner.

What buttons/knobs to you show in conflict?
Buttons are all notes and knobs/sliders are all CCs

I have wrote the following translator:

If I Push the button NB 1 – every Knob and every Fader (without Master Fader) change the channel to 1. So I have, 8 Channels with all Knobs and Faders.
One problem is. If I use both, MIDImix and MK II. I had to write the presets little bit in other way. I use for the MK II the 8 Buttons from D#2. I only can use a raw from one of the 8 right kobs to change the channel. Because the Buttons have only the same bitmapping like the 8 knobs from the right side.

I’m not sure what you mean. Do you want the knobs on the right to also follow your channel bitmapping? If so, then you can use the same variable for the channel number you want but of course every knob and every channel will need to have it’s own global variable if you want to remember the knob location. Of if you use shared global variables (28 bits for 4 knobs), Then every 4 knobs on every channel will need it’s own variable (according to its bitmap).

If you are using one translator to handle a range of knobs, then you will need to put rules in the translator to distinctly handle each range you want to change and exclude outgoing actions that are not within your desired range.

Remember, if you want to use both MIDImix and MKII, it is best to put the output to your DAW on different MIDI ports from each to avoid MIDI message duplication/conflicts.

I’m really having difficulty understanding your issue.

My preset to activate the actuall channel is to press the buttons 1 till 8

You see, the button has only the same command like the 8 knobs from the right side.

So I can`t convert this 8 buttons to another variable because the same varaibles are on the 8 knobs.

Wanna have change the Channel with the same to change the whole map of all knobs and faders. (Here it is the best way, the 8 Channel change buttons, because they run with a multichannel manufactured script for the 8 knobs on the right side)

kindest regards

Mike


Attachments:
![](upload://l6dCXRUSHUwNpJdI4oXmy8XGYZ7.jpeg)
![](upload://2JwaMLZ8gxN7Kc8ms7hhCWiWb9H.jpeg)
![](upload://nUSPYNPSUXqmD45I4sWH1i7xfP8.jpeg)

Mike, I’m sorry, I’m still not getting you. Are you trying to run an APC40 MKII with an APC40 MKI script? That would be a whole different exercise that we discussed earlier. As far as the APC40 MKII there are no duplicates in what it sends, All knobs and buttons are distinct. Knobs on the APC40MKII cannot be pressed, just turned, so I’m not sure what you are saying with pressing red nb 1. You can turn it but not press it. If there are duplicate mappings from the knobs on the right and knobs on the top when switching channels, then you will need to set up different global variables/maps with the ones on the right when switching channels.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

You are welcome Steve. No in this I didn`t use a MK I script. This is only the MK II what you can see in the picture.
I try again.
You see the bright buttons under the 8×5 padlaunch?
I have gave them the names “Buttons red NB 1 till 8” in the first picture of the thread.
So button Nb 1 ( is on the left side above the first fader)
If I push without MT Pro translators, without a template, only push – 1 time the button:
I get this incoming MIDI message:
B0 10 00
B0 11 00
B0 12 00
B0 13 00
B0 14 00
B0 15 00
B0 16 00
B0 17 00
(these are the same variables for the 8 right knobs –
B0=CH1 10=Fader CC16 00-the last saved value of the fader in this channel.
B1=CH2 10=Fader CC16 00-the last saved value of the fader in this channel.
B1=CH2 11=Fader CC17 00-the last saved value of the fader in this channel.

So the buttons from 1 till 8 only say the same thing, what we did before for the MIDImix with the 16 buttons to changing the channel, but here without a own CC or RAW MIDI.
The knobs above you can ignore. They run normal.
So what I wanted to do is:
give the buttons another variable or the knobs another variable, to didn`t get conflict together.
I have tried to give the knobs on the right side another variable – but reaction is the same after this with the conflict of the button.
kindest regards
Mike