MikeDoor
2019-11-05 18:27:00
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:
Steve-Bome Forum Moderator
2019-11-05 21:39:02
comment
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
MikeDoor
2019-11-05 22:33:12
comment
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
Steve-Bome Forum Moderator
2019-11-06 00:17:30
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:
MikeDoor
2019-11-06 00:24:21
comment
Steve-Bome Forum Moderator
2019-11-06 00:41:41
comment
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.
Steve-Bome Forum Moderator
2019-11-06 00:43:32
comment
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.
MikeDoor
2019-11-06 02:10:57
comment
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”
Steve-Bome Forum Moderator
2019-11-06 02:30:55
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
MikeDoor
2019-11-06 02:45:57
comment
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)
Steve-Bome Forum Moderator
2019-11-06 02:53:53
comment
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.
MikeDoor
2019-11-06 03:24:14
comment
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.
MikeDoor
2019-11-06 03:31:00
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:
Steve-Bome Forum Moderator
2019-11-06 06:15:49
comment
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)
Steve-Bome Forum Moderator
2019-11-06 06:27:27
comment
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
MikeDoor
2019-11-06 11:32:28
comment
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.
Steve-Bome Forum Moderator
2019-11-06 14:20:55
comment
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.
MikeDoor
2019-11-06 19:29:17
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:
Steve-Bome Forum Moderator
2019-11-06 20:13:28
comment
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
MikeDoor
2019-11-07 15:59:25
comment
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
Steve-Bome Forum Moderator
2019-11-07 17:22:42
Hi Mike,
Send this message to your MKII when you start the project. This alters the behavior of the APC40 by putting it in Mode 2 instead of Mode 0.
In Mode 0, the buttons and knobs behave as you indicated. The buttons 1-8 will indeed latch and send knob values of the knobs on the right.
In Mode 2, all buttons are momentary instead of latch and the knob values on the right will not be sent.
Also in Mode 2, there is no local control of LED or knob rings. We handle that with sending feedback to the controller with MT Pro. The last project file I sent you (APC-40-Knob-Memory.bmtp) should show this behavior.
In that project file under the preset Init, there is a translator called “Set PPC40 to Mode 2” (it might be mis labled as Mode 1).
It sends the following to your APC-40 at project start to put it in Mode 2.
F0 47 7f 29 60 00 04 42 09 07 01 f7
The 42 above is for mode 2. For mode 1 it would be 41 and for the default mode (Mode 0), it will be 40.
You want it to be in Mode 2 so that you have full control of the LED’s and rings (and CC values) with MT Pro.
Note, in Mode 2 the values of the knobs at the right do not change channels. If you want to do this, you will have to set up something similar as I did with the top knobs (first two channels in the example I sent you).
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz
P.S. I also set it so that you can press the ESC key on your computer keyboard (without MT Pro being the focus) and it will re-initialize (via the Init timer). The timer also triggers and project opened.
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz
MikeDoor
2019-11-07 22:27:47
comment
Hey Steve,
I`ve got it as far as I can.
Now I have the possibility to change the 3 modes if I want.
and I have understand to change the color of all launchpads.
Thank you so much for explaining me this one.
Now I have to look how I can solve the think with the “Clip launch” “Scene mode” and all the other things.
Did I have to write everytime first of all in the MIDI RAW the : F0 47 7f …….?
Another point is, can I run this in the Rules to? Or don`t gave a possibility for this?
Kindest regards
Mike
Steve-Bome Forum Moderator
2019-11-08 00:58:35
comment
Hi Mike,
The only time you need to send the MIDI Raw Mode message is after you power up your APC40 MKI, so generally I power up the controller first, then start MT Pro and set it up to send the message at project start using a timer (Init). The raw message has to be sent exactly as shown in the project file I sent you. You can use any trigger you want to send it.
All of the clip launch and scene buttons have their own note sent and corresponding color you can return for LED feedback. I usually stick with just a few colors for simplicity sake. Green, Red, Yellow, Blue (sometime amber).
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz
MikeDoor
2019-11-08 01:52:17
Yes! Steve, we got this thing! 🙂
We come to the end to set up the whole mapping of the MK II with your amazing help 🙂
I choose amber. I like this awesome special color. Triggering on/off note is working perfect too.
But now, the next and I think the last point on this mapping maybe….
I have tried out so much things to get the answer, how this script works with the LED feedback in the “performance mode” (something like in ableton, you choose a color of a clip and this comes back to the MK II with the same color – LED feedback)
In the picture you can see:
PAD#1 is the left LED feedback from the launchpad.
PAD#2 is the 1 light right from this.
Is there a sampler choosen, you can see it with the LED feedback.
I have tried out, every template they have. But it`s still fixed in the DAW without getting deep scripting file.
So I come to the “Electrix Tweaker” it`s an easy midi controller with the same “Notes as the MK II” get LED feedback sends with placeholders from the sampler etc.
But how I can figure this to find out, to get the LED feedback without a template?
I have got a VST plugin to monitor the midi in the DAW but getting only the direct control from the MK II not what comes from the DAW template….
PAD#1 – Track 1 has for example note – C0
PAD#2 – Track 1 has note – C#0
PAD#1 – Track 2 has note – C1
PAD#2 – Track 2 has note – C#1 etc
Did you have an idea?
kindest regards
Mike
Attachments:
Steve-Bome Forum Moderator
2019-11-08 02:12:27
comment
Not sure I follow you. Are you asking how to get the DAW to send colors you want? Really not sure here. In Ableton, there is detailed scripting and knowledge of the controller which is how they control LED feedback. Ableton has tightly integrated here with the controller. No clue on how this happens with FL Studio.
There IS a color mapping for LED’s to the APC40 MKII. If the DAW sends back different color values based on clip and scene selection, that is great. You would just need to use MT Pro to translate to the colors for the APC40 MKII. However if it just sends one color value, not much you will be able to do.
Steve-Bome Forum Moderator
2019-11-08 02:16:33
comment
You CAN monitor what comes back from the DAW. Just set up another preset and check the input from the virtual port your DAW is using and then check MIDI in in the log window.
MikeDoor
2019-11-08 02:20:10
comment
This is what I think too. That the DAW sends back different color values based on clip and scene selection. But I can`t figure it, how I can get it to MT Pro.
The normal LED feedback is getting perfect. I choose the normal Note on/off at value 127/0 and get the color I wanted from the Communicate protocol. But how I get the LED (color) feedback from the DAW didn`t know.
Steve-Bome Forum Moderator
2019-11-08 02:35:35
comment
If you send the signals to the DAW and the DAW doesn’t provide any feedback signals then I’m afraid you will be out of luck unless you emulate a controller that the DAW is designed to provide LED feedback.
MikeDoor
2019-11-08 03:18:51
comment
I have did this:
MT Pro: MIDI in APC MK II – MIDI out Virtual Port 1 – DAW has Virtual Port 1 nothing is showing only MIDI in from the APC MK II….
MT Pro: MIDI in Virtual Port 1 – Sample with the mouse – it comes with this message:
PAD#1 – Track 1 – 90 00 07 and 90 00 0F in between in seconds
PAD#1 – Track 2 – 90 08 07 and 90 00 0F in between in seconds
Steve-Bome Forum Moderator
2019-11-08 04:40:58
comment
That is a shame. Unfortunately we have no control of what the DAW sends. You might want to check with the FL people but I doubt if they would be able to help you unless they wrote an interface for the APC40 MKII.