MIDI-OX User Forum (http://www.midiox.com/cgi-bin/yabb/YaBB.pl)
MIDI-OX >> Mapping Questions >> datmapping
(Message started by: Menno on Aug 30th, 2001, 8:34am)

Title: datmapping
Post by Menno on Aug 30th, 2001, 8:34am
Hello list,

great program, but  the datamapping is not that clear to me, so I need some help!
I've build a midicontroller (Midibox plus from Thorsten Klose). This box depends on some datamapping from Midiox. Still I am not able to get the desired output from Midiox. I have a soundcard (terratec EWS64XL) which has some NRPN's I would like to tweak, using this box and the datamapping from Midiox.
For instance: to modify the attack of a midi-sound, the NRPN's = MSB,1 + LSB,99 + DataEntry6,var.
So
Input is for instance CTRL 20,xx
Output needs to be CTRL 99,1 + CTRL 98,99 then CTRL 6,xx.
Is there someone who had the same problem but has been succesful in this kind of datamapping?

Bye

Title: Re: data mapping
Post by JamieOConnell on Aug 31st, 2001, 8:05am
Welcome to the Forum  ;D

Your best bet is to use the NRPN type as the target in a mapping.  The NRPN type uses the entire 14 bit value (combined MSB, LSB) to represent the NRPN number and Data Entry Value (even when only using the Data Entry MSB).  You can use the MIDI-OX built-in NRPN calculator to combine or separate 14 bit values (the formula is: value = MSB * 128 + LSB).  

In your case, the NRPN number is:

    MSB: 1, LSB: 99 = 227 (NRPN number)

You set up a mapping from CC 20 to NRPN 227.  For the range you could map the CC default (0 - 127) into the full NRPN range (0 - 16383).  Your Map would look like:

    * Ctrl 20 20 * * | * NRPN 227 227  0 16383


Now, if you don't check "[ ] Send Full NRPN", then the Data Entry will send only an MSB of 0 -127.  If you do check it, both MSB and LSB Data Entry will be sent yielding a value of 0 -16383.  I hope this makes sense -- there's also some additional info about NRPN's available from the FAQ on the website.


Title: Re: data mapping
Post by Menno on Sep 3rd, 2001, 1:12pm
Great, it worked right away...it's pretty complicated stuff though. But the FAQ-explaination about the NRPN's is very clear.
I am afraid to ask you another thing in the same genre, but here I go: I also want to change two RPN's of my soundcard. They have the same structure as the NRPN's, but they are CTRL 101 + 100 + DataEntry 6. (101,0 + 100,1 + 6,xx)
I do not find the possibility to map to this parameters. Isn't it implemented (yet) ?
But thank you very much so far...


Title: Re: datmapping
Post by Jamie OConnell on Sep 4th, 2001, 8:22am
There are only 2 defined RPNs in MIDI (so far): Pitch Bend Range and Master Tuning.  It wasn't felt that a whole special type needed to be developed to handle these.

You can map RPNs but you'll need to use an older, more convoluted method.  This used to be the only way to map NRPN's as well. :P

To map an RPN you'll need to use the clone mapping feature so that the incoming event is serially supplied to each mapping step.  The mapping is performed in order of the dialog box list from top to bottom.  

For example, say that you want to map CC 20 into a RPN Pitch Bend Range of 2 semitones to 2 octaves (24 semitones).  Bend Range has an RPN value of MSB: 0, LSB: 0.

The first step is to map CC 20 into CC 101 and then clone CC 20 for another step:

   * Ctrl 20 20 * * x | * * 101 101  0  0

As you can see, we're not using the actual value of CC 20 (yet), but hardcoding the value 0.  
Now do a similar mapping for CC 100 and clone it:

   * Ctrl 20 20 * * x | * * 100 100  0  0

Finally we map the Data Entry MSB and use the CC 20 value in the mapping.  We map the CC 20 values 0 - 127 into Data Entry 2 - 24.  There's no need to clone this step, as we're done:

   * Ctrl 20 20 * *   | * * 6 6  2  24

Give it a try...  ;D






MIDI-OX User Forum » Powered by YaBB 1 Gold - SP 1.3.1!
YaBB © 2000-2003. All Rights Reserved.