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

Offline Bassman

  • Full Member
  • ***
  • Posts: 158
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #15 on: October 07, 2021, 05:10:42 PM »
Hi:)

>>>>But Bassman has PMed me almost ready to use preset for your case (I hope he uploads it here).

I have not even started writing a preset, but attached this preset for 10 buttons on the right, 48 "normal" buttons and 32 Encoders, all buttons with normal, double- and long press.
Working on a basic preset with modes on long press on these 10 buttons on the right, it needs sliders too for those who needs it....as soon as I have time to....

Using perhaps 5 of the buttons on the right for WAI +-(WAI on Bus), Start Stop Play Rec, Track+-(8+-), Ctrl and Shift!
On the normal buttons Solo, Mute, Rec_Arm and A.Write, on the Encoders Vol, Pan, Sends 1-4(Pan), Vol on the Sliders.
Long Press switching modes on 8 normal buttons too for those who don't have much buttons on the right(or left).

Then you just have to assign the midi CCs on the right buttons, sliders or encoders and the rest of double, normal or long presses for making by their own.
Forgot Feedback, I think midi Ctrl back is already in there.

Is this OK Alexey?

Bassman.

Offline binbinhfr

  • Newbie
  • *
  • Posts: 45
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #16 on: October 07, 2021, 05:49:19 PM »
hello both of you !

> I attach preset which implements what I could find in the text.

Thx a lot !
It's wonderful.
I will now use this little device that was sleeping in my room.

> I have asked you to not modify anything after assignments, except may be colors.

Ha ha, sure, but I need to learn and practise, and I also wanted to help you because we do not want to make your wife upset  :o .  But no problem. I'll start to tweak your new version for my own training.  ;)

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

great !!!

EDIT : I just red Bassman post up here, and his idea is great : long press on but 1-8 to switch between modes (you'll see that I suggest a third mode below)


> Mode Record:  Buttons: STOP (LED, diff on Pause),

Is it possible that but2 be low amber when on pause ? (not green)

> Knobs A: Jog measures, Jog beats (Ribbon mode, not really good for knobs since fixed to +-64 units)
 
That's fine for me : I use A1 for coarse position and A2 to fine tune. Anyway, it's just to naviguate in my current take/loop to listen if I made a wrong note somewhere  ;)
 
Possible but7 is low amber when loop off, and black when loop on ? (and still but8 full yellow when loop on) . So I know that both buttons are for loop, and the loop status

About loop, you did not answer, but I suppose it's not possible to test if the FROM time is really lower than THRU before selecting a possibly empty loop ? ( in cakewalk, you can have sometimes a very small unwanted selection)

Possible but6 colors in red for 2 sec to show that file is saving ? (in case I misstype the button)

> Mode Mix:
When mixing, I do not need undo/redo, cuz I'm in front of the PC, (so I have ctrl Z and Y)

So is it possible "previous and next WAI blocks" on left-right (more logical when mixing in console view)

And could we add a third mode : a mixing mode with solos ?
With a color code on right arrow to know the current mode :
- mode 1 (long but1 to switch) = record,        right arrow is red
- mode 2 (long but2 to switch) = mix+solos,   right arrow is green
- mode 3 (long but3 to switch) = mix+mutes,   right arrow is yellow.

In record mode, I do not really need up/down to navigate tracks.
Instead, it would be more useful to have :
"up" = solo/unsolo current track (with a green color if soloed)
"down" = mute/unmute current track (with a yellow color if muted)

In both mix modes,
- up arrow =  solo/mute all (now that I saw function/all/tracks mute.....)
- down arrow = unsolo/unmute all

>  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.

great !
 
> Preset should recall "Factory 1" on loading. LEDs should go off on project closing (may be on Cakewalk closing as well).

yes it works on closing project. Nice.

Only little flaw, but I don't know if you can correct it  : when loading, the color buttons does not update to inital states of the selected track :
- but2 should be yellow ("stop" at load time ?)
- but4 should reflect current armed status (possible to read at load time ?),
- but 7 & 8 should reflect the loop status (possible to read at load time ?),
- "up" and "down" arrows should reflect solo and mute status (possible to read at load time ?),
- "right" arrow should reflect current mode ("record"/red at load time ?)

PLEASE note that these are only suggestions : if you think it's not doable, or too much work, no problem  ;)
You already did a tremendous job, and it will great fun to use !!!  ;D

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

> Now answers on some of your question:
> * There is MIDI with initial flag, as a separate Action type.

Yes I see it know in your code.

> * Any value on Rude parameters toggle (ignoring the value).

ok.

> But there is better method to disarm everything, which I have used now.

I see : function/all/track disarm !

> * modes / long pressed / etc. have no dedicated Actions. They can be implemented using Action Conditions and Timers,

I looked at long press implentation, but still did not get it. I will look tonight, when my wife is asleep   :-X ;)

> In general, anything above Startup preset with AZ Controller is complicated.

Yes it is, you interface and the logic behind is very complex, but it's the price to pay for such a flexibility !...

I read about REACTION / OBSERVATION / FEEDBACK phases, but it's not classical way of programming :
actions have different effects according to the phase you're in... Coming from classical langages (C++, etc...), it's not an obvious way to think. But powerful I guess.

BTW, how did Bassman to translate the preset into TXT ?

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

Anyway thanks again for your great help.

If you want to ear why I need such a remote device, you can listen here :
https://soundcloud.com/hbsk/sets/covers
I play and sing all parts at home, often stand up, so a lot of hours of recording.... Note that it's just a hobby , so be forgiving   ;D
« Last Edit: October 08, 2021, 08:15:00 AM by binbinhfr »

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1499
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #17 on: October 07, 2021, 09:02:31 PM »
I can try to implement your suggestions, but there are 2 points we have to clarify first...

As you can see in my Color and original documentation, there is no "low yellow". In addition my color perception is non standard... So, can you write which explicit color (from available) you prefer on that place?

Are you sure arrow buttons have LEDs? I have not seen a single picture of that controller with lights from these buttons (and pictures from the internet is the only imagination I have about most controllers I have programmed).

Since you have mentioned programming languages... Content dependent execution in AZ Controller engine (and some other features) was inspired by FORTH concepts. I guess overloaded methods in C++ had the same motivation. But executing exactly the same sequence of Actions in different contexts (there are 3), and so with different results, is AZ Controller specific  ;)
Internally AZ Controller engine is byte code interpreter. Presets are mostly a list of byte code functions, in binary form.
Answering on your other question: you can get text representation of preset by exporting it as text in the Options tab, but there is no text import. So, for an overview and debugging only.

Offline binbinhfr

  • Newbie
  • *
  • Posts: 45
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #18 on: October 07, 2021, 10:49:50 PM »
> I can try to implement your suggestions, but there are 2 points we have to clarify first...

For sure

> As you can see in my Color and original documentation, there is no "low yellow". In addition my color perception is non standard... So, can you write which explicit color (from available) you prefer on that place?

oh yes, in fact, when the yellow is lighter, they call it "amber". So it's "amber low". (page 4)

Do you have the MIDI documention ? I add it in attach, in case...

"Launch Control is a class-compliant USB device that boasts 8 pads and 4 buttons. Every pad
contains a bi-coloured LED with a red element and a green element; the light from these elements
can be mixed to form amber."

> Are you sure arrow buttons have LEDs? I have not seen a single picture of that controller with lights from these buttons (and pictures from the internet is the only imagination I have about most controllers I have programmed).

I just checked the doc, but yes, it seems that you can light them (They are looking like the user and factory buttons that can light up).
Everywhere they say "pads/buttons" : "pad" is for but1-8 and buttons are for the 4 arrows.
See bottom of page 6.  0-7 for pads, 8-b for buttons/arrows.

So I suppose that in your _Btn state, you can add 9 10 11 12
But I do not find the precise correspondance with left/right/up/down, so I made some tests :
up = 9 (or MIDI 8 in the sysex message)
down = 10 / MIDI 9
left =  11 / MIDI a
right = 12 / MIDI b

And I even see, that you can make pad flash. It would be nice to have a flashing low red when the selected track is armed (in mode record)   ::)

> Since you have mentioned programming languages... Content dependent execution in AZ Controller engine (and some other features) was inspired by FORTH concepts.

heard about this one...

> I guess overloaded methods in C++ had the same motivation.

well, in your case, some "lines" (not a whole method/function) of your code seems to trigger differently depending on the context...

> But executing exactly the same sequence of Actions in different contexts (there are 3), and so with different results, is AZ Controller specific  ;)

You are either a genius or a computer monster...   :o  ;D

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

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1499
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #19 on: October 08, 2021, 02:25:38 PM »
I have implemented what is possible (so, no time comparisons no project saving status).

Modes: Record (default), Mix+Solo, Mix+Mute.
Mode switch: one of the first 3 pads pressed for more then 1 second (Long press)
Mode indications: right arrow (red/green/yellow)

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, toggle solo for current track (LED), toggle mute for current track(LED)

Mix modes:
  Buttons: Mute (LED) or Solo (LED)
  Knobs A: Volume
  Knobs B: Pan
  Arrows: previous and next blocks, mute/solo all tracks (not only in the block9, unmute/unsolo all tracks

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

LEDs should work correctly on startup, please report if not.

Offline Bassman

  • Full Member
  • ***
  • Posts: 158
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #20 on: October 08, 2021, 10:38:23 PM »
Hi:)

>>> LEDs should go off on project closing (may be on Cakewalk closing as well).

Thanks for this idea Alexey, I use it in my preset now;)

OK, I have a starting point of this basic preset, don't know where to upload it, I post it here perhaps "binbinhfr" can use some od this buttons with double and long press:

"Basic_Preset_10-08-2021" (Just reassign Midi (Buttons 1-8))
All Buttons have normal, double and long press actions.

Buttons 1-8 with Long Press do switch Modes 1-8

In Mode 1 it calls fMode-1 (Solo)
In Mode 2 it calls fMode-2 (Mute)

For the Modes the toggle is in fBtn_Act_(1-8)

In fBtn_Act_(1-8) Double Presses are free for other actions

I do some more modes and the Encoders and Sliders with them. For now 2 Modes and just the buttons, more on sunday...

I think this will be a very good starting point for any controller, all actions from binbinhfr could be in a free Mode in this preset.

@Alexey
Or we do start a new thread with this basic preset, don't know...

More to come...

Greetz;)
Heinz.



Offline binbinhfr

  • Newbie
  • *
  • Posts: 45
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #21 on: October 09, 2021, 01:07:45 AM »
Hi Alexey,

Thanks for this update.
I reviewed it in detail, because I use it right now in my little studio !
I am more efficient with this remote : no need to go back at PC at each take,
very bad for my old back  :'(

> I have implemented what is possible (so, no time comparisons no project saving status).

ok, got it.

> Modes: Record (default), Mix+Solo, Mix+Mute.
> Mode switch: one of the first 3 pads pressed for more then 1 second (Long press)

Nice !  long press work

> Mode indications: right arrow (red/green/yellow)

but the left/right arrow does not light correctly :
- record mode 1 is ok with right arrow red.
- mix/solo mode 2 has no light (instead of right arrow green)
- mix/mute mode 3 has right arrow red (instead of yellow)

> Mode Record:
> toggle solo for current track (LED), toggle mute for current track(LED)

both do the toggle correctly, but the lights are not good :
- the left arrow (solo) stays black
- the right arrow (mute) toggles red (instead of yellow)

Did you have a look at possibility to flash the arm button in red if armed ?
It seems that there is a MIDI command for that.

> Mix modes:
>  Buttons: Mute (LED) or Solo (LED)

in mix/solo mode, could we use green color for solo buttons, to reflect cakewalk solo button color ?
(and keep yellow in mode/mute mode)

>  Arrows: mute/solo all tracks (not only in the block9, unmute/unsolo all tracks

actions do work.
I do not get the lights. Both up/down arrow become red as soon as at least 1 track is muted or soloed ?
Could be nice. But then can we use the corresponding colors (green for solo, yellow for mute) ?

> LEDs should work correctly on startup, please report if not.

at startup, arm and loop colors are updating, but not btn2 (stop should be light)
nor the right arrow that should be red on mode record.

Thanks again for your great work !   ;D

@bassman : I don't know what to do with your preset, because it seems to be dedicated to LaunchControl XL, no ?
And I do not want to ruin Alexei's work...  :-\
« Last Edit: October 09, 2021, 08:45:36 AM by binbinhfr »

Offline Bassman

  • Full Member
  • ***
  • Posts: 158
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #22 on: October 09, 2021, 02:44:01 PM »
HI:)

@binbinhfr

No, it will be a basic preset for all controllers, a startup point to write your own preset. Just ignore it at the moment and finalize yours ;)
When both are ready, perhaps I'm trying to combine the work of Alexey and mine to make the basic preset better....

Greetz;)
Bassman.

Offline binbinhfr

  • Newbie
  • *
  • Posts: 45
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #23 on: October 09, 2021, 02:50:47 PM »
Ok Bassman, I understand. So maybe (and I don't want ot be rude  :D), you should open a new thread on this "basic starting preset", that is a very good idea and deserves its how post, because some people could be interested in it, no ?   Please post new bass solos on youtube, man, I love that !   ;)
« Last Edit: October 09, 2021, 03:05:52 PM by binbinhfr »

Offline Bassman

  • Full Member
  • ***
  • Posts: 158
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #24 on: October 09, 2021, 04:09:07 PM »
HI:)

I have no concert before christmas, so I don't have to make a new solo, perhaps then. For Bass Players Solos are not often.....but I like it too, although it's a hard work to write one. Don't like to improvise, I have to write it down and study it ;D

Bassman.

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1499
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #25 on: October 11, 2021, 11:23:32 AM »
"Each button contains a single red LED"
So, no yellow/amber/green on arrows. I have updated to off/red low/red full.

Blinking is possible... But I don't think that is a good idea during recording. We can't sync blinking to tempo, I personally don't like blinking for any indication (except in a car...)

I have changed Btn2/7/right indication, hopefully work on start and exist this time.

Offline binbinhfr

  • Newbie
  • *
  • Posts: 45
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #26 on: October 11, 2021, 12:33:19 PM »
> "Each button contains a single red LED"

oh shit, I miss this one !  :-[
The test I made was with the red color, that's why I did not notice it...  ;D

> So, no yellow/amber/green on arrows. I have updated to off/red low/red full.

great !

> Blinking is possible... But I don't think that is a good idea during recording.

I was thinking about blinking low red on but4 when armed (like "waiting for record") but not while recording (keeping but4 off, but5 fixed full red). But it's a detail. Don't bother. You're right, it might be annoying.

> I have changed Btn2/7/right indication, hopefully work on start and exist this time.

I'll try this at home tonight and tell you how it works ! 

In record mode, on the lower knobs that serves transport (JOG), I tried to add some features, that you may want to code by yourself, to ensure it is ok :
- on knobA3 (close to 2nd JOG knob), I put horizontal zoom (ribbon slow)
- on knobA4, I wonder if it's possible to implement a track change up/down ?
- on knobA5, a vertical zoom (ribbon slow) ; I wonder if this zoom can only concern the selected track and not all the tracks proportionnaly ?

Thanks again, Alexei, and have a nice day !

PS : but tell me, you are doing all this without possibility to test it live ???  Reading the complexity of the action lists now, it's unbelievable !!!  :o
« Last Edit: October 11, 2021, 12:50:30 PM by binbinhfr »

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1499
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #27 on: October 11, 2021, 02:38:00 PM »
I have assigned A3 (HZoom), A4(track selection) and A5(VZoom selected track)

Note that Ribbon was introduced for real Ribbon controller element (touch sensitive strip, which sends signals like knob but you can initially place finger on any value...). Based you your preferences, Behringer X-Touch Mini will be better controller for you (it has less knobs, but they are encoders and it has more buttons).

PS. I have several indirect ways to debug... "Display" in the Options tab in fact shows colors your get from pads/buttons, "Inject ..." controls map some buttons from my controller into your controllers, there is "Play" button to execute a part or the whole control and with MIDI injection I can test complete reaction.
That is in fact way harder then with real controller, also staff like initial/exit feedback is impossible to check this way.
It is possible to create OSC panel (f.e. with TouchOSC) which mimics particular controller (and assign OSC in addition to MIDI to corresponding controls), but that takes too much extra time in practice (and so I have never used that).

Defined so far lists are not complex. Check Mackie or BCR2000 presets to see what are complex definitions  ;) After some complexity, I normally introduce "functions" for similar controls, to keep lists more or less short (and debug less).

Offline binbinhfr

  • Newbie
  • *
  • Posts: 45
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #28 on: October 11, 2021, 03:42:48 PM »
> I have assigned A3 (HZoom), A4(track selection) and A5(VZoom selected track)

thanks

> Based you your preferences, Behringer X-Touch Mini will be better controller for you (it has less knobs, but they are encoders and it has more buttons).

So do you want me to change this param and see if it works better for me ? I'll tell you.

> Defined so far lists are not complex. Check Mackie or BCR2000 presets to see what are complex definitions  ;)

Ok, I'll have a look at that. That's the first time I read such a "langage". But, for our subject, it's very efficient anyway ! (even if it's not easy to read if you are not the author of the code, and you have to dive into it from scratch... ;D )

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1499
Re: Try to configure Novation LaunchControl (small one, not XL)
« Reply #29 on: October 11, 2021, 05:26:58 PM »
Ok, I'll have a look at that. That's the first time I read such a "langage". But, for our subject, it's very efficient anyway ! (even if it's not easy to read if you are not the author of the code, and you have to dive into it from scratch... ;D )
It had to be:
  • interactive, so any change could be checked instantly without reloading anything. That rules out any compiler based solution.
  • modification in the program itself, so not "test in console, implement in program". That rules out standard interpreter, but more or less object oriented solutions (python, lua, etc.)
  • be sufficiently flexible to test things. I in fact had no idea which functionality I want from my surface.
  • be efficient, small and not crashing. It works during DAW operations which are real time. And my computers was rather slow (centrino, celeron, atom)
"Configuring" way like in VSTs or MIDI assign is almost ok. But obviously not extremely flexible. Node like logic (which I guess roots in LabVIEW) needs good graphics representation. Also "in/out" paradigm there is hard to map into Controller logic.
FORTH like system sounds interesting for the case. Some fancy properties of it (Wikipedia does not outline them explicitly):
* one program for everything. You just save its current "state" as "the result". The editor, compiler, interpreter and in extreme cases BIOS and OS are parts of that program. You can modify anything (or a part of it). Normally "final program" is the state right after your remove not needed components (f.e. editor)
* interactive, but when you define a function it is strait compiled into the (binary, a kind of byte code) program. You can run it immediately, modify, delete or save into result.
* context based execution. Obviously if an editor, compiler and interpreter are just a part of the program you are writing, some statements should be able to do fancy staff. So, compile something and then run it. Far from "contexts" used by me, but general idea is still the same: one "thing" can do something different when used in different contexts.
* typical FORTH "interpreter" is less then 30 bytes (not a typo!). Logically program can be very efficient in size and speed (but not on i386... its cache hardware was unable follow references efficiently...).

After decades all these ideas still fascinate me. Unfortunately no-one has followed them and there was no evolution. In original form the language is outdated...