florian
2007-08-24 09:37:19
many people are facing the problem that their control surface uses endless knobs (i.e. they don't have a start and end position), but MIDI software expects controllers with absolute values from 0 to 127.
It's easy in Bome's Midi Translator Pro (MT) to convert this (Midi Translator Classic does not have the Rules capability).
How to do it:
1) Set up MIDI
You need to set up MT Pro as a MIDI filter:
- in MT, select the control surface as MIDI IN and a virtual port as MIDI OUT
- in the target software, select the virtual port as MIDI IN and deselect the control surface.
2) Set up Translator Entries in MT
The principle is to take the MIDI message for "endless knob turn right", increase a global variable ga and send a MIDI message with the ga variable as parameter instead of the original one. Also, you need to make sure to not exceed MIDI controller's maximum value of 127:
Code: Select all
NAME: endless knob turn right to absolute MIDI Controller
INCOMING: MIDI <turn knob right>
RULES:
ga=ga+1
IF ga>127 THEN ga=127
OUTGOING: B0 10 ga
The second translator entry needed is straight forward for turning the knob left:
Code: Select all
NAME: endless knob turn left to absolute MIDI Controller
INCOMING: MIDI <turn knob left>
RULES:
ga=ga-1
IF ga<0 THEN ga=0
OUTGOING: B0 10 ga
You should always test a translator entry after creation to make sure it works.
4. Create pairs of translator entries for other knobs
You can create as many translator entries as you want. Though make sure that for every knob you use a different global variable. You can use ga...gz and g0...g9.
Hope that helps!
Florian