As you all know, we've been improving the MIDI Learr thing under the hood, and it's all for the best. It just lacks a decent editor and representation on the user interface, which makes using it a bit tricky.
Now, with right-click and "MIDI Learn" you can just teach pretty much any knob to react to a MIDI Control Change. Like earlier days, this is global for the plug-in and saved in a text file, such as com.u-he.Diva.midiassign.txt
Unfortunately this is where most of the documentation stops, unless you read the manual and find the drop down on the edit display that lets you choose various assignment modes and what not. There's talk about pages, controller types and various ways of interpreting a controller. That's all mostly out of focus.
What people often ask is, how to use different MIDI Channels in order to assign more than 120+ controllers. And this is where I want to start here first:
#---
If you assign a few knobs in the very default setting and you close your host/DAW, any modern day u-he plug-in writes that com.u-he.xxx.midiassign.txt into the Support directory, or ~/Library/App Support/u-he folder. Opening it in Textpad or Textedit reveals lines like this:
1:21=VCF1:Freq, normal, 0, Continuous7bit, No //VCF1:Frequency
This means, Controller 21 on MIDI Channel 1 is assigned to the Cutoff Frequency Parameter of VCF1. The interpretation mode is "normal", so twisting the knob from left to right runs once through the range of the cutoff parameter. It sits on Page 0 (no page at all). It's a normal 7 bit continuous MIDI controller, and it doesn't respond to any page selection (quite logically, as it isn't related to any).
The scheme is as follows:
Channel:CC=Parameter, Mode, Page, Type, onPageOnly // remark
Channel is the MIDI Channel, 0 = All, 1-16 = channel 1-16
CC is the MIDI CC number
Parameters are specified by a module name and a parameter name separated by a colon, such as
VCF1:Cutoff (or similar, same as in .h2p preset files)
Mode is normal/integer/fine/octaves etc. as described in the manual (superficially, see recent betas)
Page is usually 0. Pages can so far only be be enabled in ACE and are used to reuse the same controllers for different parts of the synth. We'll do a lot of this in the future, but it takes a bit to explain it in depth.
Type refers to Continuous7bit, Encoder127 etc.
onPageOnly is usually set to No. If it's set to "Yes" then a parameter can only be controlled in conjunction with pages (onPageOnly doesn't do anything if Page is 0)
#---
Now, to change MIDI channels all you need to do is to go through that midiassign file and swap the first number on each line for the channel you want. Don't forget to do so with your DAW closed, otherwise our plugs may overwrite your changes once you do close any open instance.
I'll try to get more info out if need be, I hope this one is a bit of a starting point (also for myself, because that comfortable editor is long due)
- Urs
