Author |
Topic: map cc using value of another (Read 2119 times) |
|
TabSel
Member
 


Posts: 13
|
 |
map cc using value of another
« on: Jan 10th, 2002, 7:32am » |
Quote Modify
|
Hello, is it possible to map a cc#1 to any NRPN and use the current status of cc#2 as value within the NRPN message? If yes, how the hell? If not, add it to the wish list
|
|
IP Logged |
|
|
|
Jamie OConnell
Administrator
    


Gender: 
Posts: 2027
|
 |
Re: map cc using value of another
« Reply #1 on: Jan 10th, 2002, 1:04pm » |
Quote Modify
|
I'm not sure I understand what you're asking? Why would you need to use two controllers for a single NRPN? Why can't you just map CC:1 to a NRPN #? You'd choose which NRPN# CC:1 maps to and then the CC:1 values get mapped into the NRPN range. If I'm missing something please elaborate on your question -- what are you trying to accomplish?
|
|
IP Logged |
--Jamie Music is its own reward.
|
|
|
TabSel
Member
 


Posts: 13
|
 |
Re: map cc using value of another
« Reply #2 on: Jan 10th, 2002, 2:27pm » |
Quote Modify
|
I need a way to send way more than 128 different controllers (don't ask why or I will explain...) on one channel. I want to have access to _all_ these controllers by a 16Knob Doepfer PocketDial. The PocketDial Data could be mapped by MidiOx, the mapped data will be received and recorded in cubase. Now, how may I use 16 different cc# to control a range of 128x16 cc# easily? Well, the pocket Dial can send program change messages if I push a special button and move a dedicated knob. In MidiOx, the program number could be stored "somewhere". Whenever a knobs normal cc#0-15 is received, I could build up NRPN message with the controller number being (program number*16)+knob cc#... Got it?
|
|
IP Logged |
|
|
|
Jamie OConnell
Administrator
    


Gender: 
Posts: 2027
|
 |
Re: map cc using value of another
« Reply #3 on: Jan 11th, 2002, 10:32am » |
Quote Modify
|
Well you could choose the NRPN number by the CC:1 by choosing "use input value 2" and mapping it into a range of 0 - 16383 and a fixed value of 0, and then map CC:2 to into the Data Entry controller. Once a NRPN value is set, the data entry values apply to it until the NRPN number changes. Ex: * Ctrl 1 1 * * | * NRPN 0 16383 0 0 * Ctrl 2 2 * * | * Ctrl 6 6 * * Or you could build your own NRPN's by mapping controllers values into CC:98 andf CC:99. Just pick: "use input value 2". You'd also want to clone the original controller and have it issue a hardcoded MSB value in CC:99, and then map data entry MSB as above.
|
|
IP Logged |
--Jamie Music is its own reward.
|
|
|
TabSel
Member
 


Posts: 13
|
 |
Re: map cc using value of another
« Reply #4 on: Jan 11th, 2002, 2:19pm » |
Quote Modify
|
Thanks Jamie, I'm unsure wether I didn't get _you_ or you didn't get _me_... Maybe I should go a little deeper? Assume I have 16 dials that each send cc values to cc#0-15. I want to use dial#16, i.e. cc#15 to choose a "bank", i.e. specifiy a MSB of a NRPN#, each other dial's cc# should specify the LSB of the NRPN# and the cc value should be send to set the NRPN value... Question: if a cc#99 is send specifiying the MSB of the NRPN, followed by a cc#98 to specifiy the LSB, followed by cc#6 to specifiy the NRPN's value and you then send _only_ a cc#98 and specifiy a different LSB. Would this still be a valid NRPN? Guess it depends on the receiver, isn't it? What's the standard saying? Thanks TabSel
|
|
IP Logged |
|
|
|
Jamie OConnell
Administrator
    


Gender: 
Posts: 2027
|
 |
Re: map cc using value of another
« Reply #5 on: Jan 11th, 2002, 10:36pm » |
Quote Modify
|
on Jan 11th, 2002, 2:19pm, TabSel wrote: Assume I have 16 dials that each send cc values to cc#0-15. I want to use dial#16, i.e. cc#15 to choose a "bank", i.e. specifiy a MSB of a NRPN#, each other dial's cc# should specify the LSB of the NRPN# and the cc value should be send to set the NRPN value... |
| Well I think I get it now, and with careful mapping, I think MIDI-OX might too so... To map NRPN# 4236 * Ctrl 1 1 * * | * Ctrl 99 99 * * // MSB dial up (33) * Ctrl 2 2 * * x | * Ctrl 98 98 12 12 // LSB hard code 12 and clone * Ctrl 2 2 * * | * Ctrl 6 6 * * // CC:2 value maps to CC:6 value Is that closer? Quote: Question: if a cc#99 is send specifiying the MSB of the NRPN, followed by a cc#98 to specifiy the LSB, followed by cc#6 to specifiy the NRPN's value and you then send _only_ a cc#98 and specifiy a different LSB. Would this still be a valid NRPN? Guess it depends on the receiver, isn't it? What's the standard saying? |
| You're right about the receiver, and it also matters when the receiver was turned on (if it missed any data). A significant amount of gear would switch NRPN numbers upon receiving a 2nd different LSB. Most would cancel the NRPN number on receiving an MSB, and then wait for a new LSB. A recommended practice when you don't want the above behavior is to close the NRPN after sending it a full NRPN with data entry, by sending CC:99 127, CC:98 127
|
|
IP Logged |
--Jamie Music is its own reward.
|
|
|
|