Author Topic: Try to configure Novation LaunchControl Mini  (Read 12805 times)

Offline binbinhfr

  • Newbie
  • *
  • Posts: 45
Try to configure Novation LaunchControl Mini
« on: October 06, 2021, 01:42:42 AM »
Hi,

just installed AZSlow and trying to configure my LaunchControl (Mini not XL).
It looks like in the attachement.
- 8 strips containing 2 rota (emitting ctrl chg) + 1 button (emitting note)
- 4 additional left rightup down buttons, emitting ctrl.
- 2 buttons only used to change the mapping of the device (8 user maps and 8 factory maps), that emits Sysex when changing map.

The device can also receive messages to light up its buttons, change map or otehr things (see MIDI implementation in attachement)



Using User map1, I manage to control volume/pan/mute per group of 8 strips, with the possibility to move the WAI track group using left and right arrow. Nice !

Now I'm trying to program the transport buttons using User map2. (STOP on button 1 and PLAY on button 2)
And... it almost works...

Because I noticed a strange behaviour :
I switch to map2 (I must press "User" and at the same time button2 (which is also "mute" in map1),
Then I use the transport buttons.
It work once and then, the device switch back to User map1 (with vol/pan/mute controls).
I wonder why it does that.
I tested outside Cakewalk, and if I do the same button sequence, it does not switch map by itself.
So I suppose that Cakewalk(AZSlow) send some kind of message back that is interpreted as an request to change map...
I read in the LaunchControl MIDI implementation that you need Sysex to do this.
Is it possible that AZSlow is emitting sysex messages by itself ?

For info, I used the Startup preset to start with...

« Last Edit: October 20, 2021, 01:48:17 PM by binbinhfr »

Offline Bassman

  • Full Member
  • ***
  • Posts: 158
Re: Try to configure Novation LaunchControl (small one)
« Reply #1 on: October 06, 2021, 10:21:37 AM »
Hi:)

This is this Reset Controller on Stopp, you can deactivate this or use an instrument file:

https://discuss.cakewalk.com/index.php?/topic/18083-finished-azcontroller-preset-for-novationlaunchcontrol-xl-2/

First sentence on this link!

Video from 7.26 on

https://www.youtube.com/watch?v=Fo-RG8reAAM
 
or in the PDF Directory of my OneDrive Link  is an Installation Guide...

Greetz;)
Bassman.
« Last Edit: October 06, 2021, 10:26:58 AM by Bassman »

Offline binbinhfr

  • Newbie
  • *
  • Posts: 45
Re: Try to configure Novation LaunchControl (small one)
« Reply #2 on: October 06, 2021, 11:23:15 AM »
Thanks man, that's what I needed, now I can finish the work.
The LaunchControl (small) is much simpler than the XL.

As you may know, the Launchcontrol has 8 user banks and 8 factory banks.
In each bank, buttons are emitting the same note/ctrl, but on different channels (user1-8=ch1-8, factory1-8=ch9-16)

I would like my left right buttons to trigger "move WAI left/right" in every bank.
But in "hardware" panel, it seems taht we can assign "move WAI left" to only 1 MIDI event, with a defined channel...
For example, how can I make the left button respond to any "ctrl 116" message on any channel ?

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1679
Re: Try to configure Novation LaunchControl (small one)
« Reply #3 on: October 06, 2021, 11:51:07 AM »
You can prevent Cakewalk sends to controller using options in AZ Controller. In the Options tab select "Block all channel messages" ("Block assigned messages" is the default) and set "Block all SysEx messages". It seems like in this case Cakewalk recognize the device is "dedicated DAW controller" and no longer operate it usually (but I am not 100% sure).

For hardware presets on device. With AZ Controller it is better avoid switching them (they are supported correctly, but require quite some extra work for proper setup) and instead use "modes" inside AZ Controller itself. Note that AZ Controller supports several methods to extend control functionality, f.e. arrow buttons can do something different on short/long/double press. That way you can have sufficient number of "mode switchers" without hardware presets changing.

How that works is partially used in Startup preset (strips - ACT modes). But Bassman has PMed me almost ready to use preset for your case (I hope he uploads it here).

In fact with a bit of patience and several iterations you can get preset/layout you need, without programming much yourself  ;)
But explicit and detailed description of your wishes, uploading current preset you are using (especially after your own modifications) and reporting what other create is really working (since we don't have the same device) is required for success.
   

Offline binbinhfr

  • Newbie
  • *
  • Posts: 45
Re: Try to configure Novation LaunchControl (small one)
« Reply #4 on: October 06, 2021, 12:09:10 PM »
Ok I understand, I will look at Modes.
Bassman sent me preset for the Launchcontrol XL which is a really bigger device with many more buttons.

I'd like to define my own, because I have a precise idea of what I need :
- infact I do not care about mixing vol/pan/mute, etc...
- I want to use the device as a recording remote when I'm recording my sax in front of the mic, and do not want to use PC keyb/mouse.

So basically I need :
- button 1 : STOP
- button 2 : PLAY
- button 3: arm/unarm current selected track
- button 4 : RECORD
- buttons 5 -6: move time to FROM or THRU markers
- button LEFT/RIGHT: UNDO/REDO
- button UP/DOWN: select previous/next track
- rotary1: change current selected track volume using a rotary (I don't know if you have access to the concept of "current selected track")
- rotary2: move time between FROM and THRU (this one may be tricky)

BTW, can you tell me where to look to see available cakewalk commands ? (like the ones I described just before)
EDIT: forget about it, I found them. Wao, everything is available !!!
« Last Edit: October 06, 2021, 02:58:57 PM by binbinhfr »

Offline binbinhfr

  • Newbie
  • *
  • Posts: 45
Re: Try to configure Novation LaunchControl (small one)
« Reply #5 on: October 06, 2021, 04:04:00 PM »
Finally, after reading the doc (huge but precise) I managed to create a preset that suits my need of a recording remote.

Here its is in attach.

I just have one thing that cannot figure out : how can I write a command that unarms all armed track, and then arm the selected one ?

And is it possible to "conditionaly" send midi to the device ? For example, I'd like to lit the button 4 in yellow when selected track is armed, and button 5 in red while recording is in process, and play button in green when playing.

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1679
Re: Try to configure Novation LaunchControl (small one)
« Reply #6 on: October 06, 2021, 04:04:16 PM »
I attach the preset from your specification (only).

a. It is currently assume "Factory 1" on device (it also tries to set it on loading, if not set it manually on device)
b. You will have to assign MIDI to buttons/knobs (Hardware tab)

After that:
1. report if preset really set "Factory 0"
2. report if controls work as expected
2. check LEDs are working for buttons 1-4 (you can change colors in the "Feedback" tab, Btn 1-4 , there are lines with color names)
3. save preset in the dialog, export it with Cakewalk Plug-in Manager, attach to your reply (so I can fix/extend the copy with all assignments and colors of your choice)

Better not do any other modifications in the preset, it is easy to break something and that will be hard to spot for me... Sure you can play with your own copy (type new name and press save, it will create a copy)  ;)

Knob 2 is in fact tricky. For the moment I have implemented it as a "Jogger by measures" with knob imitates encoder (one of several "modes" for such imitation, can be inconvenient to use, we can try another).
 

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1679
Re: Try to configure Novation LaunchControl (small one)
« Reply #7 on: October 06, 2021, 04:10:36 PM »
We have published our presets almost simultaneously... We can continue with yours, but in my I have implemented quite some definitions for colors/monitoring, WAI, preset selection,...

There is "Rude record" parameter in "Strip" Action. "Value 0" after it should disarm all tracks. It is possible to make that conditionally, so if current track is armed,
button disarm it. If current track is not armed, disarm all tracks and arm this one.
I will make the modification after you decide with which preset we continue (and probably tomorrow, I have many tasks for today evening...).

Offline binbinhfr

  • Newbie
  • *
  • Posts: 45
Re: Try to configure Novation LaunchControl (small one)
« Reply #8 on: October 06, 2021, 04:20:37 PM »
Waaoooo ! 
you autoselect the factory preset !
I love the colors ! 
I must understand why you add these "monitor" lines that I have not in mine.

I will examine yours, learn, correct mine and post it here, so that you will have a very little work to do,
and it's a best way for me to learn.

Because infact I changed a little bit the buttons, you will see the new features.
I added the JOG in absolute and relative modes that are enough for me.
And as i'm recording on a loop in/out, I added a "set loop" and a "loop/on/off" and a "rewind to landmark"
I also added a volume/pan/gain for the selected track. Useful if while recording I see that my gain is bad.

BTW, great job, your plugin is very complete. (but that's a fact that the interface is not obvious at first sight  ;) )
« Last Edit: October 06, 2021, 04:31:13 PM by binbinhfr »

Offline binbinhfr

  • Newbie
  • *
  • Posts: 45
Re: Try to configure Novation LaunchControl (small one)
« Reply #9 on: October 06, 2021, 07:03:01 PM »
So I studied your preset, and tried to modify mine, but it's too complex, with these functions, states, etc...
I must have forgotten something to complete my preset...

So I edited yours. And we'll continue on yours, if you're ok, and I'll try to learn anyway.

What I changed (you can check if I did some horrors) :
- added all other knobs in hardware, and set the good values.
- added "rewind button" on but1 -> stop/play/arm/record button are move 1 step right
- added "save" on but6
- added a "set loop" on but7 and "loop on/off" on but8
- added a JOG/measure on knob A1
- added a JOG/beat on knob A2
- added volume of selected trk on B1 with instant/convex (did not really understand "timeout touch")
- added pan on B2 and gain on B3 (nice to tweak gain while recording my sax, if I see a peak)
- tied to detect the pause state : when in pause, i'd like the PLAY but being low green and the STOP button low yellow. Note: if I press PLAY again, colors are ok (off/green), but if I press STOP after PAUSE, the buttons stay low yellow/low green and do not switch to yellow/black, I do not understand what's wrong...

what I would like (but maybe not possible):
- use arrow up/down to change the mode : I would like a second mode with the classic mixing device = volume on A, pan on B, mute on buttons, and WAI left/right on left right arrows
- could the button 7 (set loop) be conditionnal ? set loop only if from/thru selection is not empty, otherwise keep the loop as it is.
- buttons 7 and 8 should be green if the loop is on, off otherwise (EDIT: done)
- button 1 should be low green if the time is on the "Loop in" marker (= I am on the good position to record)
- button 6 should be light red if the file has been changed and should be saved.

problem that i cannot figure out :
- since I inserted "rewind" on but1, it stays yellow.... despite the fact that I tried to reset the factory map 1 in _Init with midi B8 00 00 (but I cannot set it to "initial"...)
- BTW what says that the _Init function is called on start ? Its name ?
- I do not understand the use of timer on some buttons.
- why do you trigger the _Init feedback ? what's the use of WAI track(1) bus(0) master(0) ? why do you not put it in the main part of _Init ?
- where do you initailize Template ? Why don't you use Template in the initial Sysex that change the template to factory 1 ?

new file in attach

PS: sorry for my english, I'm french... ;-)
« Last Edit: October 06, 2021, 07:34:02 PM by binbinhfr »

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1679
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #10 on: October 06, 2021, 07:27:42 PM »
I will update tomorrow, so just some comments.

Important question: we continue with "Factory 1" or you for some reason want some other?

_Init is not special, it just has SysEx with "init" flag, so this SysEx is sent when preset is loaded.

Monitoring is most complicated concept in AZ Controller... It re-use "Logic" Actions (ignoring some) + Feedback, but it is executed not on MIDI receive. Hard to explain is one sentence, many tutorials overview that concept.
"Timer once" on some buttons is just placeholder (so Feedback list is somehow organized...), they do nothing at the moment.

I don't have time comparison functionality, so no way to change light inside from/thru, nor make some dependency from it. But I will think, may be I can add that.

PS. I have no problems with your english, I am russian in Germany ;)

Offline binbinhfr

  • Newbie
  • *
  • Posts: 45
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #11 on: October 06, 2021, 07:40:15 PM »
No rush, I'm working on it, and who knows, maybe I can find out some solutions ;-)
I already did the loop test for loop buttons green.

Factory 1 is OK.

I added this (but maybe it's impossible too)
- button 6 should be light red if the file has been changed and should be saved.

I'll try to understand monitoring.

I still do not understand what triggers _Init . It is supposed to be called only at loading, yes ? Just because the sysex has the init flag ? Why this flag is not on the logical control it self ? Why cant'I put it on the simple MIDI send ? And why is there a feedback related to it ? Can't we put the WAI call in the main _Init ? (I did it, it works...)

The time comparison could be nice. :-)

Thx again for your help.
« Last Edit: October 06, 2021, 09:11:10 PM by binbinhfr »

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1679
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #12 on: October 06, 2021, 09:05:39 PM »
I don't think Cakewalk expose "project not saved"... Cakewalk does not expose many things  :(

"_Init" has no special meaning. It is never called. MIDI / SysEx is easy to execute during preset loading. But the whole Action list not: the preset is a program (a kind of...), some part of it can't be executed before it is completely loaded. It is possible to organize, using monitors, so execute something one time AFTER the preset is loaded.

Monitor in _Init track "current" Track, so Feedback actions (WAI in this case) are executed every time current track is changed (also by mouse, so independent from surface).
In general, everything in Logic is executed as a reaction on MIDI control. Feedback as a reaction on something else (monitored parameter or timer).
Well, "functions" are defined as Logical controls but can be called from Feedback (many Actions will not work in this case or will work differently, in AZ Controller execution is context dependent).
The concept avoid "double declaration", f.e. to switch Mute you need to select the parameter first (which strip, which parameter, can be quite complicated logic which depends on mode, transport, etc) and then toggle it. To make LED follow Mute you need to select the very same parameter and do something when it is changed (independent from the button). So, the parameter is selected before Monitor Action and toggle is in the same list. When you press button, "Monitor" is ignored. During monitoring toggle is ignored (even in case it is before Monitor Action in the list). Harder to understand then explicit "we will toggle" / "we will monitor", I know ;)

Offline binbinhfr

  • Newbie
  • *
  • Posts: 45
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #13 on: October 06, 2021, 09:26:08 PM »
For "saved", I just tried, who knows ;-)

For _Init :
Why cant'I put "initial flag" on a simple MIDI send, but only on sysex ?  Because I would need to send a B8 00 00 once at loading to clear all colors.
And why is there a feedback related to _Init ?
Can't we put the WAI track1bus0master0  in the main _Init ? (I did it, it works...)
Still not very clear to me... :-(

For arm/desarm  track :
I tried to find a way to detect the condition "armed track", but I did not find it in the action condition list. So I tried to define and update an _Armed state, but failed... You can look at what I did...
BTW, if you set "Rude record" to 0 with no track armed at all, then all tracks become armed !!!  That's why we need a "armed track" check on the current track...

Last:
is it possible to send some midi when unloading cakewalk ?  the same B8 00 00 to clear all lights on the device... because otherwise they stay lighted after my cakewalk session.

I do not find in the manual where you speak about short/long/double press...
I do not find any precisions about using different modes... (my eyes are old...)

here is my last version.

« Last Edit: October 07, 2021, 08:15:36 AM by binbinhfr »

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1679
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #14 on: October 07, 2021, 03:56:42 PM »
I attach preset which implements what I could find in the text.

Note: it is a mod of my original 0 preset, not your 7. I have asked you to not modify anything after assignments, except may be colors. Things got quite changed in 7 (I have warned that is easy). So I had to repeat all assignments in my preset following yours. Future versions will be mods of this (8) preset.

Modes: Record (default) and Mix.
Mode switch: "Up" pressed for more then 1 second (Long press)

Mode Record:
  Buttons: RTZ (no LED), STOP (LED, diff on Pause), PLAY(LED, diff on Pause), Exclusive record arm(LED for current track), REC(LED), File/Save (no LED), Set Loop times (no LED), Loop on/off (LED)
  Knobs A: Jog measures, Jog beats (Ribbon mode, not really good for knobs since fixed to +-64 units)
  Knobs B: Volume, Pan, Inp. gain for current track
  Arrows: Undo, Redo, previous and next track

Mode Mix:
  Buttons: Mute (LED)
  Knobs A: Volume
  Knobs B: Pan
  Arrows: Undo, Redo, previous and next blocks

  Block is auto-aligned to 8, so it can start from 1, 8, 17 only. Block is independent from current strip, switching to mix mode recall last WAI.
 
Preset should recall "Factory 1" on loading. LEDs should go off on project closing (may be on Cakewalk closing as well).

-------------------

Now answers on some of your question:

* There is MIDI with initial flag, as a separate Action type. "SysEx like" MIDI events was introduced to construct simple MIDI events "on the fly", the same way it was possible with SysEx. Complex construction is not possible on preset loading.

* Any value on Rude parameters toggle (ignoring the value). That is a bug (not sure where), probably overseen since never used. But there is better method to disarm everything, which I have used now.

* modes / long pressed / etc. have no dedicated Actions. They can be implemented using Action Conditions and Timers, as you can see in current preset (f.e. Long for "Up"). There are Tutorials which explain some of ideas behind. Sure, all that significantly complicates Action lists. Hardware producers are very proud about "2-16 configurable hardware presets", write many pages of documentation about the feature and give special utilities for setup. We do the same in software, that can't be done completely without effort.

In general, anything above Startup preset with AZ Controller is complicated. Especially any feedback to controllers. That is the reason why "deep controller integrations" (for any DAW and controller) is normally a job for dedicated professionals. Users normally just "assign MIDI".
While AZ Controller allows construction of "smart" presets without huge programming skills, it can't hide the complexity of the topic.

Just some examples:
- not everything in a DAW happens "instantly", f.e. after you set Mute it takes some time (till the next audio buffer processing) before the channel is really muted.
- not everything in a DAW is buffered.  Which commands are buffered and which not is DAW and command dependent.
- good design of controller preset foresee "external" changes, f.e. current track, transport, WAI, etc. can be changed by mouse. Controller should not go "out of sync" in this case (some controllers in fact ignore that idea on hardware/firmware level, f.e. by switching transport LEDs on corresponding buttons operations only).
- something can be "not there", f.e. if your button control strip 8 mute it can happened there are less strips in the current project. Feedback should not be confused by that
- as a kind of consequence of all previous topics, it is rather bad idea to organize feedback as direct reaction on controller operations. The feedback should follow current real situation inside the DAW.