You are here

Add new comment

rncbc's picture

Today I've made the final stab on this new MIDI controller mapping infrastructure. Check qjackctl-0.4.1.1323+ (CVS of course). Global configuration is file based, managed under View/Controllers... menu. This Controllers dialog is not the best example of intuitiveness, (far from it :) but I hope you'll get it easily.

Things to note are that MIDI controller configuration is stored/retrieved in an ordered list of files (*.qtc) which are XML descriptions of a particular controller mapping. I tend to separate these files according to each (external) MIDI controller device or preset. You can have several mappings and they can overlap. The latest takes precedence, though.

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.

Cheers.