Qtractor mapping MIDI controller

Support & discussion regarding DAWs and MIDI sequencers.

Moderators: MattKingUSA, khz

User avatar
maghoxfr
Established Member
Posts: 103
Joined: Mon May 10, 2010 7:37 pm
Location: Uruguay

Qtractor mapping MIDI controller

Post by maghoxfr »

I can't find any documentation on how to map a MIDI keyboard controller on Qtractor. If it had simple MIDI learn like LMMS I could handle it with no problem but the "controllers..." option in Qtractor I just can't understand it. Does anyone knows how to ahieve this?

Thank you very much
User avatar
Louigi Verona
Established Member
Posts: 402
Joined: Mon Aug 24, 2009 8:56 am
Been thanked: 1 time

Re: Qtractor mapping MIDI controller

Post by Louigi Verona »

Hey!
Please go to Qtractor forum (http://www.rncbc.org/drupal/forum/9) and search there. There was a topic covering this and I actually managed to do it. But it is tricky and hopefully this is just a temporary thing.
User avatar
maghoxfr
Established Member
Posts: 103
Joined: Mon May 10, 2010 7:37 pm
Location: Uruguay

Re: Qtractor mapping MIDI controller

Post by maghoxfr »

Thanks Louigi, I went to Qtractor forums, I even posted the question there because I overlooked the message where they talk about it. I hate when that happens! I'll give it a try on the weekend, I'll let you know.

Thanks very much
matías

PD: I've seen your Qtractor vid on youtube, great stuff!
User avatar
autostatic
Established Member
Posts: 1994
Joined: Wed Dec 09, 2009 5:26 pm
Location: Beverwijk, The Netherlands
Has thanked: 32 times
Been thanked: 104 times
Contact:

Re: Qtractor mapping MIDI controller

Post by autostatic »

Hi Matiás,

The Controllers (View - Controllers) window explained:
  • The top part is to load/import Qtractor controller files (.qtc files)
  • The bottom part is to map CC messages to the functions within Qtractor that can be controlled via MIDI (gain/volume, pan, record, solo, mute and monitor)
  • Channel is the MIDI channel Qtractor should listen to
  • Controller is the CC message you want Qtractor to react to
  • Command is the command you want Qtractor to execute after receiving a CC message
  • Parameter is the track number you want to control, starts with 0 (so track 1 is Parameter 0)
  • Feedback, if you want Qtractor to feedback MIDI to the MIDI device, only works if your device supports feedback
Now if you select a CC Controller message and a command you want to assign to it the 'Map' button should get activated. Click it and a new line gets added to the field below. Do this for all the mappings you'd like to make and when you're finished export your mappings. This will create a new .qtc file.
After you've done this open the MIDI tab in the Options window (View - Options) and in the third paragraph tick the 'Dedicated MIDI control input/output' option. This will create an extra MIDI input for Qtractor in the ALSA tab of QjackCtl to which you can connect your MIDI controller. When you've made the necessary connections in QjackCtl Qtractor should react to incoming MIDI messages of your MIDI controller.
Last edited by autostatic on Sat Jul 24, 2010 4:14 pm, edited 2 times in total.
User avatar
maghoxfr
Established Member
Posts: 103
Joined: Mon May 10, 2010 7:37 pm
Location: Uruguay

Re: Qtractor mapping MIDI controller

Post by maghoxfr »

Thanks Jeremy, you're the man!

I can see that the transport control and master volume can't be assigned yet, right? I am kind of strugling with my keyboard (oxygen 61) because I really don't fully understand Midi CC, MMC, sysex etc. I have the manual and have read it but I can't fully understand.

For example, in Qtractor, I could only assign the wheel selectively, I mean: when I assigned the pan it assigned it to a random knob automaticallly, I assume that I have to map which knob/fader/button do what on my keyboard and then map it to Qtractor (?)

I also couldn't manage to map things for individual tracks; I mapped volume, pan etc but it only works for track #1.

I post this because I can't do further tests on this weekend...just to report my results so far. I'll read a bit more and try what I learn on 2 days.

I was so happy when I saw the fader moving!!! Thanks again.
User avatar
maghoxfr
Established Member
Posts: 103
Joined: Mon May 10, 2010 7:37 pm
Location: Uruguay

Re: Qtractor mapping MIDI controller

Post by maghoxfr »

I've just seen a reply of Rui to my post in rncbc forums, I'm still trying to map things though. Just a pointer about the parameter, Jeremy, I've found this line on the thread Louigi suggested:
The mapping works simple as follows: you map a MIDI Channel (1-16) and/or a MIDI Controller (CC# 0-127) to a particular Command action. Currently there are only track actions for you to assign (Gain/Volume, Pan, Monitor, Record, Mute or Solo). The target track is given by the Parameter value as a zero-based index, so that 0 will refer to 1st track, 1 to 2nd track, and so on.

There are special wildcard values ( * ), meaning that any Channel or Controller number matches the rule. In these cases, the target track index is given by difference against the Parameter value. When

Channel is "*", then track# = channel - parameter
Controller is "*", then track# = controller - parameter
Any changes you do with Map and Unmap takes effect immediately, but remember that you should save the changed mapset to a file (Export...) and then include it in the top list (Import...) so that the new mappings get retrieved next time you run Qtractor.

Most importantly, the controller maps are NOT stored in session/project files. This is application configuration, much like user preferences stuff (as in View/Options...) so don't expect it to vary per session/project."
I'll keep trying things out for the next couple of hours, then I have to leave (but I know this will haunt me until it's solved!)
User avatar
autostatic
Established Member
Posts: 1994
Joined: Wed Dec 09, 2009 5:26 pm
Location: Beverwijk, The Netherlands
Has thanked: 32 times
Been thanked: 104 times
Contact:

Re: Qtractor mapping MIDI controller

Post by autostatic »

maghoxfr wrote:Thanks Jeremy, you're the man!

I can see that the transport control and master volume can't be assigned yet, right?
Transport control is controlled by either MMC, SPP or keyboard shortcuts. The easiest way to set this up is by using MMC messages.
I am kind of strugling with my keyboard (oxygen 61) because I really don't fully understand Midi CC, MMC, sysex etc. I have the manual and have read it but I can't fully understand.
MIDI CC = MIDI Control Change. Any knob, fader or slider outputs CC messages.
MIDI note = any key on your keyboard.
MIDI MMC = MIDI Machine Control. These are the transport buttons on your MIDI device with which you can control recording equipment or software.
SysEx = System Exclusive messages. This is like the internal 'language' or 'code' of your MIDI keyboard. It can differ per MIDI device. It is possible to send and receive/dump SysEx messages.
For example, in Qtractor, I could only assign the wheel selectively, I mean: when I assigned the pan it assigned it to a random knob automaticallly, I assume that I have to map which knob/fader/button do what on my keyboard and then map it to Qtractor (?)
Your MIDI keyboard comes with at least 10 pre-programmed 'maps', those are called Programs. Program 1 should be a General MIDI program/map. So set your keyboard to Program 1 and then start mapping in Qtractor.
I also couldn't manage to map things for individual tracks; I mapped volume, pan etc but it only works for track #1.
My fault, as soon as I read this I remembered what the 'Parameter' setting was for again. See my initial post.
User avatar
autostatic
Established Member
Posts: 1994
Joined: Wed Dec 09, 2009 5:26 pm
Location: Beverwijk, The Netherlands
Has thanked: 32 times
Been thanked: 104 times
Contact:

Re: Qtractor mapping MIDI controller

Post by autostatic »

Ah, so the wildcard option is wayyyy different. Thanks for posting!
User avatar
maghoxfr
Established Member
Posts: 103
Joined: Mon May 10, 2010 7:37 pm
Location: Uruguay

Re: Qtractor mapping MIDI controller

Post by maghoxfr »

Thanks for the helpful and simple explanation.

I can't make it work, so frustrating! I've went through my keyboard manual ( Oxygen 61). I know how to assign Midi CC, MMC to knobs/faders/buttons. I selected program 1. What really confuses me is this:

How do I select a specific knob/fader in the Controllers... dialog in Qtractor? Because what I do is this; I select the CC, I select the Command, I select the Parameter (track), then I press "Map". it appears a new line as you said. So far so good. The wildcard thing I don't really get it but I tried with the asterisc or choosing a number channel. Then I repeat but choosing a different parameter number. For example if I want the pan to be controlled for track 1 and track 2 by two different knobs I should do:
CC: 10, Command: Pan, Parameter: 0
CC: 10, Command: Pan, Parameter: 1
Export, restart, import, set the connections? But the "Map" button doesn't light up when I try to map the second option. I also configured the MMC for the "play" button but it don't work straight away and how should I map it if it's not a cc?

With the following example I'd try to make my doubt clearer (I'm lacking a lot of practise to express myself in english):

Let's say i want my knob c10 to control pan on track 1 and knob c11 to control pan on track 2. Both knobs send the same cc message (CC 10 -pan; because I assigned them manually in the keyboard) but each to a different track. Right? If so, I must be soing something wrong.

i really don't want to bother man, you've been very helpful. I apretiate you taking the time to reply. I'll keep trying and reading in the meantime.

Thank you
User avatar
autostatic
Established Member
Posts: 1994
Joined: Wed Dec 09, 2009 5:26 pm
Location: Beverwijk, The Netherlands
Has thanked: 32 times
Been thanked: 104 times
Contact:

Re: Qtractor mapping MIDI controller

Post by autostatic »

maghoxfr wrote:Thanks for the helpful and simple explanation.

I can't make it work, so frustrating! I've went through my keyboard manual ( Oxygen 61). I know how to assign Midi CC, MMC to knobs/faders/buttons. I selected program 1.
The problem with that manual (it's the same one as for my Oxygen 8 v2) is that it doesn't list the different programs, those are on a separate sheet that should be included with the keyboard. And you don't have to assign anything on your keyboard itself, just set it to Program 1 and leave it as it is.
What really confuses me is this:

How do I select a specific knob/fader in the Controllers... dialog in Qtractor?
Therefore you need to know which knob sends out which CC message. For each program this is different but it should be listed on the aforementioned separate sheet. Another option is to run aseqdump in a terminal and connect your keyboard to it in the ALSA tab of QjackCtl. Now if you twist a knob you will see the MIDI messages that the keyboard outputs in the terminal. A third option is to twist a knob on your keyboard and check the display, it should show the CC number of the last control you used.
Because what I do is this; I select the CC, I select the Command, I select the Parameter (track), then I press "Map". it appears a new line as you said. So far so good. The wildcard thing I don't really get it but I tried with the asterisc or choosing a number channel. Then I repeat but choosing a different parameter number. For example if I want the pan to be controlled for track 1 and track 2 by two different knobs I should do:

Code: Select all

CC: 10, Command: Pan, Parameter: 0
CC: 10, Command: Pan, Parameter: 1
That's correct, but don't forget to set a Channel number. Program 1 of the Oxygen 61 outputs everything on Channel 1.
Export, restart, import, set the connections? But the "Map" button doesn't light up when I try to map the second option.
Hmmm, it should as soon as you try to enter a different value for any of the options. Maybe if you try creating a completely new entry and modify it afterwards?
I also configured the MMC for the "play" button but it don't work straight away and how should I map it if it's not a cc?
You don't need to map it in Qtractor, the MMC 'mappings' are built in.
With the following example I'd try to make my doubt clearer (I'm lacking a lot of practise to express myself in english):

Let's say i want my knob c10 to control pan on track 1 and knob c11 to control pan on track 2. Both knobs send the same cc message (CC 10 -pan; because I assigned them manually in the keyboard) but each to a different track. Right? If so, I must be soing something wrong.
That's right. But I don't know the layout of your Oxygen 61 but on my Oxygen 8 v2 c10 is the Modulation wheel and c11 is the loop button.
User avatar
maghoxfr
Established Member
Posts: 103
Joined: Mon May 10, 2010 7:37 pm
Location: Uruguay

Re: Qtractor mapping MIDI controller

Post by maghoxfr »

YES!!! THANKS SO MUCH!

I run "aseqdump" found out the cc's of the knobs and I mapped it successfuly, I'm so happy! The MMC works, the only thing is that I'll have to reconfigure the buttons because "play" triggers the play action but it doesn't stop it, that's pretty easy I think (warning: I can be posting here again LOL)

Thanks a lot Jeremy! I could have been months trying to figure this out by myself.
Matías
User avatar
autostatic
Established Member
Posts: 1994
Joined: Wed Dec 09, 2009 5:26 pm
Location: Beverwijk, The Netherlands
Has thanked: 32 times
Been thanked: 104 times
Contact:

Re: Qtractor mapping MIDI controller

Post by autostatic »

You're welcome, glad I could help! :D
samtuke
Established Member
Posts: 6
Joined: Mon Dec 16, 2013 10:09 pm

Re: Qtractor mapping MIDI controller

Post by samtuke »

Hi, resurrecting an old thread here...
AutoStatic wrote: Transport control is controlled by either MMC, SPP or keyboard shortcuts. The easiest way to set this up is by using MMC messages.
Are you saying that transport controls are in fact mappable to midi commands? Because looking at my exported .qtc files' XML, the View->Controllers window, and the source of qtractorMidiControl.cpp, I can't see how to do it, or how it would work. How do you set up MMC messages as you suggest?

I'd like to map both transport controls (play, stop etc.) and also Track->Navigate->Next to Midi controls from my Oxygen 61 keyboard.

Thanks!
User avatar
rncbc
Established Member
Posts: 1060
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 256 times
Contact:

Re: Qtractor mapping MIDI controller

Post by rncbc »

samtuke wrote:I'd like to map both transport controls (play, stop etc.) and also Track->Navigate->Next to Midi controls from my Oxygen 61 keyboard.
whether supported, make your Oxygen 61 keyboard send MMC messages instead of MIDI CC.

byee
samtuke
Established Member
Posts: 6
Joined: Mon Dec 16, 2013 10:09 pm

Re: Qtractor mapping MIDI controller

Post by samtuke »

whether supported, make your Oxygen 61 keyboard send MMC messages instead of MIDI CC
I can make the keyboard send MMC, but how then do I determine how qtractor will react to them? if the midi commands that qtractor accepts are hardcoded, where are they listed? or if I can choose how qtractor reacts to the commands, where can I set them?

thanks!
Post Reply