MIDI-OX User Forum (http://www.midiox.com/cgi-bin/yabb/YaBB.pl)
MIDI-OX >> Mapping Questions >> Multiple control mapping
(Message started by: isw on Sep 24th, 2008, 10:42am)

Title: Multiple control mapping
Post by isw on Sep 24th, 2008, 10:42am
Hi,
 I am in the process of mapping the output of a Hammond XK3 to drive the Native Instruments B4 II program. My current configuration is an IBM laptop (Win XP Pro SP2,1.6GHZ, 256m Ram) with Midiox 7 and Midi Yoke installed along with NI B4-II version 2.04. I use an M-audio  device to convert MIDI to USB and an M-Audio Fast Track to convert the digital audio to analog.

Basically I have successfully remapped the XK3 controls to behave like a real B3 ( I currently have two B3s to compare my results against). For the time being I disabled the patch changing on the preset keys with the exception of the B, Bb keys so that I could use both sets of drawbars (without a split).

Question: I want to map the Tone selector and tone knob to use the bass and treble controls in the NI B4. Basically what that would mean is that when I send a midi signal that indicates that I have selected bass, I would then send the information from a second (rotary) control to increment\decrement the bass.

Basically it is a two step process if "A" is selected then use knob to increment A value. If "B" is selected use knob to increment B value. It would seem that I need to store the selected type and then when a rotary control is affected, read the stored type and increment\decrement the proper control.

beyond writing a VB script is there some other functionality that I could employ to render this two step logic ?
If anyone is interested I could post the XK3 to NI B4 maps that I have to date.

Thanks,
Chris





Title: Re: Multiple control mapping
Post by Peter L Jones on Sep 24th, 2008, 1:27pm
Beside scripting, there's the rather complex method of bouncing between patch maps.  This requires a patch change message to be received by MIDI OX -- but that message can be generated by MIDI OX in response to some other message.

There's a few messages about the technique already but if you get stuck, I'll dig them out.

Title: Re: Multiple control mapping
Post by isw on Sep 24th, 2008, 3:07pm
Hi Peter,
Thanks for the reply. So if I understand what you are suggesting:

a) I would intercept the control message (used to select bass or treble) using midiox and
b) use the control ID to select a patch map (?)
c) the patch map would then reroute the following rotary knob ctrl signal to the proper control map in B4, i.e. treble to treble control, bass to bass control.

Assuming my above understanding is correct, can these patch maps hold state such that once a patch map is selected it then
only performs the final routing when the signal comes in from the rotary knob ?

A typical scenario would be that the user selects the "tone" he's trying to modify and some time later actually makes the modification to the preselected tone control. There could be other control messages that occur in between the time when a tone control was selected and the actual value of the tone was input (via the rotary knob).

Chris


Title: Re: Multiple control mapping
Post by Peter L Jones on Sep 25th, 2008, 1:09pm
No.

Patch mapping uses patch messages (program change messages) to switch between different data mappings.

Every data map would need to have a data mapping from your chosen message to a program change message to select an alternative data mapping.

E.G.
Data Mapping 1:
Note On C1 -> PrgChg 1
Note Off C1 -> PrgChg 2
Note On C2-C4 -> Note On C3-C5
Note Off C2-C4 -> Note Off C3-C5

Data Mapping 2:
Note On C1 -> PrgChg 1
Note Off C1 -> PrgChg 2
Note On C2-C4 -> Note On C4-C6
Note Off C2-C4 -> Note Off C4-C6

Then you have a Patch Map that says:
PrgChg 1: Data Mapping 1
PrgChg 2: Data Mapping 2

When you press C1 down, MIDI OX responds immediately by selecting Data Mapping 1.  When you play notes between C2 and C4, they'll transpose up to C3-C5.  When you release C1, MIDI selects Data Mapping 2; play notes between C2 and C4 and they'll transpose up to C4-C6.

You need to make sure you route the program change messages back into MIDI OX for this to work and take care not to cause any feedback loops.  Or run two copies of MIDI OX, one handling the mapping to program change messages, the other processing them and doing the transposition.

That is, of course, just an example.

Title: Re: Multiple control mapping
Post by ersteller on Oct 15th, 2008, 8:47am
I have a similar problem too, and I tried something similar.

When you say:

"You need to make sure you route the program change messages back into MIDI OX for this to work"

the sentence is clear, but HOW TO?

Thank you for an answer
er


Title: Re: Multiple control mapping
Post by Peter L Jones on Oct 15th, 2008, 2:49pm
By whatever means you like -- most easily MIDI Yoke.

Title: Re: Multiple control mapping
Post by ersteller on Oct 19th, 2008, 9:28am
Thanks, now I've done it  :D!



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