|
||
Title: NI 4control midi controller Post by DaF on Sep 9th, 2002, 1:19am 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 ! |
||
Title: Re: NI 4control midi controller Post by Jamie OConnell on Sep 9th, 2002, 6:52pm 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. |
||
Title: Same Kind of Problem w/ Studiomix Post by abhunkin on Sep 20th, 2005, 10:53pm 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 |
||
Title: Re: NI 4control midi controller Post by abhunkin on Nov 15th, 2005, 8:49pm 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 |
||
MIDI-OX User Forum » Powered by YaBB 1 Gold - SP 1.3.1! YaBB © 2000-2003. All Rights Reserved. |