Hi Patrick,
From your email, you showed me the knob you want to use is Controller 11 (0E) on MIDI channel 1. When you turn left you want to generate a down arrow keystroke and when you turn right you want to generate an up arrow keystroke.
Your knob puts out a value of 0 when all of the way left and 127 (7F Hex) when all the way right.
To do this we have to first convert absolute to relative value to determine if you moved the knob left or right. I had to use some global variables to determine movement direction and amount of movement
I use the global variable ga to determine the target location (new location of the knob)
I use global variable gb to suppress movement (so we can calibrate the knob at mid point).
I use global variable gc to determine the direction the knob moved (by subtracting target location from last known location of the knob)
I set up a timer to generate a series of keystrokes (either up or down) depending on the amount and direction the knob moves.
You will need to use a button (or keystroke) to calibrate the knob. Basically when the button is pushed you can move the knob to center to determine the mid point without the arrow keys being generated. I have this set up as Controller 31 with a value of 127 (7F).
The attached file should get you close to want you want.
Translator 0 initializes global variables (mostly for documentation purposes only)
Translator 1 monitor the knob movement and determines direction and amount and fires off a timer to generate the output. If gb =1 then it doesn’t fire the timer so you can calibrate the knob
Translators 2 and 3 generate down arrow and up arrow keys respectively depending on the direction you want to move. Using a timer, allows us to determine how many keystrokes to generate (how far you moved the knob)
Translator 4 is for calibration of the encoder. All it does when activated is set gb to 1 which disables the generation of the timer.
There are bascially 2 things you will need to set up
- When the project file opens, it will prompt you which MIDI port to use for the Alias “Maschine”. Just select the input port you Maschine uses.
- You will need to modify the incoming message you want to use to calibrate the controller for your knob (Translator 4)
Hopefully this will set you on the right path.
Let me know if you have any further questions. If unrelated, please open a new question instead of using this one.
Steve
bome@sniz.biz
Independent Bome Programming Specialist
Bome Q&A moderator