Novation Nocturn-lower button row

TomViolenz

2014-06-11 15:08:11

Hello everyone :-)

I'm new to Bomes and am using the trial version for now, but plan to up-date to the full version as soon as I see that the controller set-up I have in mind is possible by using Bomes MT.

BTW: I'm on OSX Mavericks and use Ableton Live 9 together with a bunch of controllers that I would like to merge into one big control surface with partialy redundant features (So that I can access them on either of my controllers as far as possible for maximum flexibility). I also plan to route them through Clyphx where necessary to achieve additional functionality.

Here to my first question:

I have a Novation Nocturn on which I would like to repurpose all buttons to Midi control. ATM the lower row of the buttons is dedicated to control Automap (Learn, View, Page+/-, User, FX, Instr and Mixer).

After having installed the trial of Bomes MT and having set up the Midi-in to Automap Midi and the Midi-Out to Bomes Midi Translator and Routing the Midi Router directly from Automap Midi to Bomes Midi translator 1 Virtual Out, I looked at the Event Monitor and see the Midi-In and Router-out ports light up only for the 8 encoders the crossfader and the upper row of buttons. But I don't for the lower row of buttons or the speed dial encoder in the center.

I thought with Bomes MT there was a possibility to intercept these messages and translate them to proper Midi as well. Was that assumption wrong? And if not, how can I go about achieving my goal?
Thanks everyone for your input!
Cheers Tom

DvlsAdvct

2014-06-11 17:10:27

Hi TomViolenz

There is a core issue that is going to cause you problems, and that's Automap. Automap is a powerful translation tool for direct integration between hardware and software. MIDI Translator is a powerful translation tool to allow better integration between hardware and software. Due to the way that Automap communicates with Ableton it is not really recommended to combine them into one setup. You're much better off putting the Nocturn in default MIDI mode without Automap and running it into MT. To do this you will lose some of the direct functionality afforded by Automap, but you will be able to recreate a lot of it.

The ideas you want to experiment with are definitely doable. If you can hot swap between Automap Mode and MIDI Mode on the Nocturn you might be better off to take advantage of both tools.

Does that make sense?
Jared

TomViolenz

2014-06-11 19:00:55

I actually want to forego using Automap, so I would be fine doing what you said, but just connecting the Nocturn without Automap open doesn't give me a Midi In port to select. It's like the Nocturn is not there.
What am I missing?!

DvlsAdvct

2014-06-11 20:34:02

Hi Tom

I'm trying to figure out how to route the Nocturn around Automap but I'm not having a lot of luck, unfortunately. But, in the Automap server you should be able to set the MIDI ports that are being used. If you go to Software Setup, select Advanced and set the MIDI Out Port to MT Virtual Port 1, and the MIDI In Port to MT Virtual Port 2. Then, you want MT listening for MT Virtual Port 1 to receive messages from the controller, and then anything that needs to be sent back to the controller, say for visual feedback, needs to be sent on MT Virtual Port 2. Does that make sense?

Also, make sure to select a MIDI channel that is not going to conflict with your other controllers, even though that won't be a huge deal as long as you designate which ports are being used correctly.

J

TomViolenz

2014-06-11 22:25:57

Ok, in the Automap Server Advanced tab I assigned Midi out to Bomes Midi Translator 1 (a port named "MT Virtual Port 1" didn't exist) for IN I set again "Bomes Midi Translator 1" because neither "MT Virtual Port 1", "MT Virtual Port 2" or even "Bomes Midi Translator 2" existed.

In Bomes MT I set Midi Input to "Midi, Bomes Midi Translator 1 Virtual In" and Midi output to "Midi, Bomes Midi Translator 1 Virtual Out" again a port named "Midi, Bomes Midi Translator 2 Virtual Out" did not show up.

Under the Midi Router section I connected "Midi, Bomes Midi Translator 1 Virtual In" to "Midi, Bomes Midi Translator 1 Virtual Out".

The result was the same as before, the lower row of buttons opens Automap features and does not trigger any reaction in the Event Monitor.

Did I do it right?!

DvlsAdvct

2014-06-11 22:30:14

Do you have your DAW open as well?

TomViolenz

2014-06-11 22:55:28

yeah?! Shouldn't I?!

TomViolenz

2014-06-11 23:49:14

Ok, shutting Live down and repeating the steps from above didn't change anything. So that wasn't it...

TomViolenz

2014-06-12 17:38:37

Bump
Does anyone else have an idea how to do this?!

DvlsAdvct

2014-06-12 18:03:21

We need to make sure that MT is receiving MIDI correctly before we worry about connecting it to your DAW.

What you need to do is activate more than 1 Virtual MIDI Port. You will need at least 4 for this project to work. I can't find a way to have the Nocturn communicate via just MIDI, unfortunately. So, you will need two virtual MIDI ports to communicate between the Nocturn -> Automap -> MT and then another one from MT -> Automap -> Nocturn. Let's focus on this exclusively and keep the DAW out of the picture for now.

Now I have this set up with my Launchpad. In MT you want to make sure you have all the Virtual MIDI Ports activated (should be 5). The names do not matter as long as the ports we select are the same. In Automap make sure your Out Port is MT 1 and your In Port is MT 2, it doesn't matter how it is labeled. Also make sure at least one MIDI Channel 1 selected.

in MT go to your MIDI Ports for the Project and make sure all of your vitual ports are activated, both input and output. When you press a button on your Nocturn you should see the MIDI Input light up on the Event Monitor. Do you do anything with the MIDI Router. Make sure all connections are deleted. Select your Project Default Port to MT Virtual Port 1 (or however it is labeled).

Does that work?
Jared

TomViolenz

2014-06-12 21:51:01

DvlsAdvct wrote:We need to make sure that MT is receiving MIDI correctly before we worry about connecting it to your DAW.
Ok DAW is off, I also shut down MT Player that is used for PXT Live Plus usually.
What you need to do is activate more than 1 Virtual MIDI Port. You will need at least 4 for this project to work.
Ok, I did.
I have now in Midi Input section of MT Bomes Midi Translator Virtual In 1-4 and all ar ticked and say open
I also have Automap Midi ticked and open.
It also lists two more Automap ports (Propellerhead and Logic Mixer) these I did not tick and they say "closed"

In the Midi Output Section of MT
I have the exact same situation as for the Input ports above (just that the ports are called "out" instead of course)

In Automap I chose
Bomes Midi Translator 1 as the out-port and Bomes Midi Translator 2 as the in-port
Now I have this set up with my Launchpad. In MT you want to make sure you have all the Virtual MIDI Ports activated (should be 5).
5? Are you counting the Automap one too?
Because you said to activate 4 Virtual ports not 5, so that's what MT shows
Do you do anything with the MIDI Router. Make sure all connections are deleted. Select your Project Default Port to MT Virtual Port 1 (or however it is labeled).
I deleted all connections but am unclear what you mean by Project Default Port.
It lists all the ports mentioned above as ins and outs,
So which one(s) should be connected?
in MT go to your MIDI Ports for the Project and make sure all of your vitual ports are activated, both input and output. When you press a button on your Nocturn you should see the MIDI Input light up on the Event Monitor.
I tried several connections in the router and the Midi lights did not go on with either. (Which is worse than before :-( )

Sorry for being a difficult noob :(
And thanks for trying to help :-)

I'm out for the soccer match now, but will be right back after

Cheers Tom

DvlsAdvct

2014-06-13 02:03:20

I think that was just a mis-type. However many ports you activate will be however many ports there are. Activate 4 and there will be more 4. My bad :)

You shouldn't need any connections in the MIDI Router. The MIDI Router is used to just pass data through, so if you want all data from your controller to pass directly to another virtual MIDI port, or an application, etc., you can use that. We don't want to worry about that right now so MT can receive data from your Nocturn and translate it.

In Automap, make sure you select an appropriate channel. MT will not receive any data if a channel is not selected.

Project Default Port is a setting in which you select an Input and Output channel for MT to listen to by default, unless otherwise selected in a Preset or a Translator. It shouldn't matter, since MT should be listening to all active ports anyway.

That's all I've needed to do to get it to work on my end. Are you on the most current version of Automap?

TomViolenz

2014-06-13 12:58:41

I did everything as you wrote: 4 virtual ports all of them ticked and open in the In and Out panels, the ports named Automap Midi also show up in both panels and are open (I did try to tick them and not tick them - no change), no router connections activated, Automap updated from 4.2 to 4.8, Automap Out port is Bomes Midi Translator 1 and the In port is Bomes Midi Translator 2, the channel I selected is 6.
No other Midi capable software is open.

The event monitors Midi In light lights up when I move any of the encoders, the crossfader or press any of the upper row of buttons. (But no Midi Out light lights up!)
But still no lighting up when pressing the lower row of buttons (they still trigger Automap functions) or moving the center (dented) encoder called "speed dial"

:(

TomViolenz

2014-06-13 13:26:24

It gets worse.
Since you said you have a Launchpad I wanted to get onto the same page with you and connected my Launchpad MK1.
BUT Automap 4.8 (?) doesn't even see it and neither does Bomes MT. Even if I shut down Automap and just connect the Launchpad no ports show up to connect it to Bomes!

This is weird because I can usually use the Launchpad without Automap
What's going on here?! :(:(:(

DvlsAdvct

2014-06-13 17:03:09

Whoa this is really weird now. I guess the best place to start is the beginning, and confirm you have the correct drivers installed for your hardware. I can use my Launchpad with and without Automap, and Automap recognizes it once I plug it in. It seems like there is something deeper going on, or we are both missing something critical and when we find out what it is we will both feel stupid.

I'm trying to see if I can find a tech support contact at Novation through some of my channels, but it might be worth contacting them as well on your end. See if you can find the most current drivers of your gear in case something is missing.

Thanks
Jared

TomViolenz

2014-06-13 17:20:48

Ah sorry for the confusion, it was the drivers.

I had last used the Lauchpad on my old computer and the driver installation was soooo long ago, that I had totally forgotten that they were necessary. :oops:

Now back to trying to replicate what you described with the Launchpad and then see if the same can work for the Nocturn.

TomViolenz

2014-06-13 17:29:51

Ok I tried it, I set it up exactly the way you described it for the Nocturn and the result is the same for the Launchpad:
All the button presses do light up the Midi in light in the Event Monitor EXCEPT the upper row on the Launchpad that still triggers Automap functions like open the HUI or enter learn mode etc.

The Lauchpad btw shows up as a seperate (closed) port in Bomes MT, something the Nocturn never did.

DvlsAdvct

2014-06-13 17:37:03

Alright, I had that same interaction. But when I closed Automap and activated the Launchpad in MT all of the buttons worked as expected. I think this may be an issue with the Nocturn not working without Automap. Those buttons exist in a closed state, and if the controller doesn't have a flat MIDI mode we may be S.O.L. It's worth contacting Novation and seeing if there's anything we are missing.

TomViolenz

2014-06-13 18:05:41

I'm slowly comming to the same realization :-(
I found a document on Novations website that said if Automap is off then the Nocturn is off, so basically what you just said :x And it seems impossible to grab control over these buttons as long as Automap is running it.

Well that just means that the Nocturn will have a much smaller role in my future set-up then...maybe I should sell it...

Next I will focus on my Maschine MK1, that ones Controller Editor has been a joy to work with in the past and I assume it will be in tandem with Bomes and Clyphx as well :-)

Thanks for your help, much appreciated :-)
I will probably be back with further questions.

DvlsAdvct

2014-06-13 18:08:13

Feel free. I know from experience that Maschine works with Bome, and is super easy since you can just set it to one core layer and use all of the buttons to handle different presets and modes. :)

TomViolenz

2014-06-13 20:49:03

I don't even have such ambitious goals with it, just a few shift functions for the buttons, but maybe I get more ideas once I started on it :-)

DvlsAdvct

2014-06-15 18:37:49

And, as always, if you have any questions don't hesitate to stop by. :)

TomViolenz

2014-06-17 16:26:37

Hey, I'm back :-)

OK, so I've been playing a little more with Bomes and tried to wrap my head around things.
And though, I managed to achieve what I aimed for with my first simple project, I wonder if my solution is not very convoluted. And since I don't want to teach myself bad practices, I thought I'll ask here, if there are more straight forward ways to achieve what I wanted.

The goal:

Use the crossfader on the Nocturn to choose the track focus between one of 8 tracks. But in the end it's the very easy problem of how to translate a continuos encoder/fader and its range into several button presses.

So my fader sends on channel 6 (B5) with cc= 08 with the range rr between 0 and 127. B5 08 rr
For the range of rr between 0 and 16 I want it translate to button press: B5 11 F7
For the range of rr between 17 and 32 I want it translate to button press: B5 12 F7
For the range of rr between 33 and 48 I want it translate to button press: B5 13 F7
For the range of rr between 49 and 64 I want it translate to button press: B5 14 F7
For the range of rr between 65 and 80 I want it translate to button press: B5 15 F7
For the range of rr between 81 and 96 I want it translate to button press: B5 16 F7
For the range of rr between 97 and 112 I want it translate to button press: B5 17 F7
For the range of rr between 113 and 127 I want it translate to button press: B5 18 F7

I did this with one Translator first using If-Then statements. (I have to admit this is the first time I did any kind of programming, so If-Then statements were familiar as a concept, but I have never applied such a thing before)

The problem though was that there was no way to directly define ranges only greater than, equal to etc. so the first workaround started (Here I would be interested to know if defining ranges can be done with a more straight forward method. I was looking for something like: If rr between 17 and 32 Then ss = 18 )

Here is the first Translator:
Incoming: B5 08 rr
Outgoing: B5 ss F7

Rules:
if rr<=16 then ss=17
if ss==17 then Goto "End"
if rr<=32 then ss=18
if ss==18 then Goto "End"
if rr<=48 then ss=19
if ss==19 then Goto "End"
if rr<=64 then ss=20
if ss==20 then Goto "End"
if rr<=80 then ss=21
if ss==21 then Goto "End"
if rr<=96 then ss=22
if ss==22 then Goto "End"
if rr<=112 then ss=23
if ss==23 then Goto "End"
if rr<=127 then ss=24
if ss==24 then Goto "End"
Label "End"
exit rules, execute Outgoing Action

When I then tried to use this, it turned out that it only works for when I move the fader down, while moving it up did nothing. This is something I don't understand, I would have thought that I had already defined all possible conditions... :?

But alas the second workaround was applied. I added another translator in which I did everything from the other side:

Like this:
Incoming: B5 08 rr
Outgoing: B5 ss 7F

Rules:

if rr>=112 then ss=24
if ss==24 then Goto "End"
if rr>=96 then ss=23
if ss==23 then Goto "End"
if rr>=80 then ss=22
if ss==22 then Goto "End"
if rr>=64 then ss=21
if ss==21 then Goto "End"
if rr>=48 then ss=20
if ss==20 then Goto "End"
if rr>=32 then ss=19
if ss==19 then Goto "End"
if rr>=16 then ss=18
if ss==18 then Goto "End"
if rr>=0 then ss=17
if ss==17 then Goto "End"
Label "End"
exit rules, execute Outgoing Action


So while I have it working as desired, I'm wondering what would be cleaner ways to program that, and what problems could arise by doing it as I did.

Thanks, and cheers :-)

DvlsAdvct

2014-06-17 16:54:29

Hi Tom

Your structure isn't that bad. There are a few ways to handle this, and unfortunately these kinds of ranges are not handled very well by MIDI Translator. But there is an easier mathematical solution, pending we can move around your ranges just a little. Since you have 8 values, which divides equally into 128 steps, we can do a little basic math and get a simpler solution. It would look something like:

Code: Select all

Translator 1: Crossfader
Incoming Message: B5 08 rr
Rules: ss=rr*10
tt=ss/160
uu=tt+17
Outgoing Message: B5 tt 7F
So I shifted your ranges slightly, so instead of 0-16 it will be 0-15. This divides all of the ranges equally into groups of 16, and should allow you to divide everything out evenly in both directions. Let me know if it works.

TomViolenz

2014-06-17 20:08:21

DvlsAdvct wrote:Hi Tom

Your structure isn't that bad. There are a few ways to handle this, and unfortunately these kinds of ranges are not handled very well by MIDI Translator. But there is an easier mathematical solution, pending we can move around your ranges just a little. Since you have 8 values, which divides equally into 128 steps, we can do a little basic math and get a simpler solution. It would look something like:

Code: Select all

Translator 1: Crossfader
Incoming Message: B5 08 rr
Rules: ss=rr*10
tt=ss/160
uu=tt+17
Outgoing Message: B5 tt 7F
So I shifted your ranges slightly, so instead of 0-16 it will be 0-15. This divides all of the ranges equally into groups of 16, and should allow you to divide everything out evenly in both directions. Let me know if it works.
It works nicely, except that you probably meant to write
Outgoing Message: B5 uu 7F

This is also much closer to an elegant solution :-)

Just a few questions regarding the math:

Is something like: ss=((rr*10)/160) +17
not possible?! And that's why you had to use three steps to do it?
And secondly what are the rounding rules in MT. Is anything after the decimal point just ignored?
(The way you applied it looks like it)

Anyways thanks for showing me how to think about these kind of problems :-)

DvlsAdvct

2014-06-17 20:33:03

Yeah, I meant uu, sorry. It went through a couple of different permutations before I got the math right.

MIDI Translator rounds down to the integer, so 1.9 becomes 1, 0.9 becomes 0, etc.

And you can't create nested formulas, nor algebraic formulas, so we have to break it out into its individual lines, in the correct order.

Hope it helps
Thanks
Jared

TomViolenz

2014-06-17 21:02:30

DvlsAdvct wrote:Yeah, I meant uu, sorry. It went through a couple of different permutations before I got the math right.

MIDI Translator rounds down to the integer, so 1.9 becomes 1, 0.9 becomes 0, etc.

And you can't create nested formulas, nor algebraic formulas, so we have to break it out into its individual lines, in the correct order.

Hope it helps
Thanks
Jared
Yeah this def. helps, much appreciated :-)

Mummis Modifier

2015-12-01 12:01:06

maybe this can solve the problem with the lower button row:

there is a Max for Live patch that integrates a Novation Nocturn into Live. without Automap.
i would post the link but its not allowed for me to do. (by the way: why its not allowed for me ???)
but you will find it in the patch library of the Max for live webside by searching for nocturn.

i cant check it before because it unfortunately not available for Mac. and i use mac. but please tell me if it works.
(if you dont use mac, too)

TomViolenz

2015-12-06 12:56:42

Thanks, for trying to help :-)

But I try to avoid M4L like the plague, and use Bomes MT in a combination with Clyphx precisely because this combination is everything M4L isn't: Stable and light weight.

Besides I'm on a Mac too :)