Author |
Topic: NI 4control midi controller (Read 3002 times) |
|
DaF
New Member

 MIDI-OX Rules!

Posts: 1
|
 |
NI 4control midi controller
« on: Sep 9th, 2002, 1:19am » |
Quote Modify
|
Hello, I own a Native Instruments 4control midi controller...the output of the controller is always 64...when I turn my endless knobs it changes that value to 63 (-1) if clockwise and 64 if CCW (+1) Is it possible with midi-ox 2 convert these these parameters? As far as I understand these values are put in nrpn 98 and 99? anyway, I'm still a newbie :p Thanks in advance for ne help !
|
|
IP Logged |
|
|
|
Jamie OConnell
Administrator
    


Gender: 
Posts: 2027
|
 |
Re: NI 4control midi controller
« Reply #1 on: Sep 9th, 2002, 6:52pm » |
Quote Modify
|
I am not familiar with the 4Control, but the thing to do is to connect the device to MIDI-OX and then wiggle the knobs, to see what data is sent. Once you're familiar with what it's putting out, it should be fairly straightforward to map that to something else.
|
|
IP Logged |
--Jamie Music is its own reward.
|
|
|
abhunkin
Member
 
 MIDI-OX Rules!

Posts: 35
|
 |
Same Kind of Problem w/ Studiomix
« Reply #2 on: Sep 20th, 2005, 10:53pm » |
Quote Modify
|
The Studiomix rotary pots work similarly. Take the NRPN pot at 1500; turn it left a notch and it puts out 16383 (another notch, the same again); turn it right and it puts out 1 (again, the same per new notch). I'd like to map this, say, to CC 40 within a range of 0-127, incrementing/decrementing 1 per notch. Is this possible somehow (with "Map NRPN Data Increments" checked)? I don't understand the "Map NRPN Data Increments" actually. Is it involved here? Art Hunkins abhunkin@uncg.edu
|
|
IP Logged |
Art Hunkins abhunkin@uncg.edu http://www.arthunkins.com
|
|
|
abhunkin
Member
 
 MIDI-OX Rules!

Posts: 35
|
 |
Re: NI 4control midi controller
« Reply #3 on: Nov 15th, 2005, 8:49pm » |
Quote Modify
|
Here is a VBScript that does just what you want. Incidentally, turning control knobs faster can generate increments and decrements larger than +/-1. Also, an increment is represented by *65* or more, a decrement by 63 or less. This example illustrates how, via scripting, you can turn relative into absolute values in MIDIOx with VBScript. --- ' 4Control rotary encoder conversion script - ' endless rotary encoder relative values [incl. multiples] to normal CC's option explicit dim mox, num(4), ctrl const BANK = 8 '# of 1st CC in 4Control rotary encoder bank const NUMBER = 4 '# of CC's in 4Control encoder bank (max = 4) const STEPS = 48 '# of steps to comprise 0-127 range '48 steps = one complete dial rotation Set mox = WScript.CreateObject("Midiox.MoxScript.1", "Sink_") mox.DivertMidiInput = 1 mox.FireMidiInput = 1 Do while mox.ShouldExitScript = 0 Loop mox.FireMidiInput = 0 mox.DivertMidiInput = 0 ' Exit Point '------------------------------------------ Sub Sink_MidiInput( ts, port, stat, dat1, dat2) If stat <> 176 Then mox.OutputMidiMsg -1, stat, dat1, dat2 Exit Sub End If If (dat1 < BANK) Or (dat1 > (BANK + (NUMBER -1))) Then mox.OutputMidiMsg -1, stat, dat1, dat2 Exit Sub End If For ctrl = 0 to NUMBER - 1 If dat1 = BANK + ctrl Then num(ctrl) = num(ctrl) + ((dat2 - 64) * (127 / STEPS)) If num(ctrl) < 0 Then num(ctrl) = 0 End If If num(ctrl) > 127 Then num(ctrl) = 127 End If mox.OutputMidiMsg -1, 176, BANK + ctrl, num(ctrl) Exit Sub End If Next End Sub
|
|
IP Logged |
Art Hunkins abhunkin@uncg.edu http://www.arthunkins.com
|
|
|
|