MIDI-OX User Forum (http://www.midiox.com/cgi-bin/yabb/YaBB.pl)
MIDI-OX >> Mapping Questions >> how to map 2 events to other events
(Message started by: bibmidi on Sep 14th, 2018, 4:57pm)

Title: how to map 2 events to other events
Post by bibmidi on Sep 14th, 2018, 4:57pm
I want to map GM2 patch list to selected patches of my Synth, but only GM2 patches with LSB=0.

how to make folowing:
If
LSB=0 And PC=0
Then
MSB=87 And LSB=64 And PC=0
====================

and so 128 times for PC=(0.....127)

Title: Re: how to map 2 events to other events
Post by Breath on Sep 14th, 2018, 10:11pm
Hi

You only want a altered bank change message when CC32 = 0
Using CC32 = 0 (LSB) as the trigger to change the bank...

Create a Data Map with 2 lines

The first line causes CC0 87 to be output - select "Clone"
Channel x: Event=Ctrl : Ctrl# = 32, 32 : Amount= 0, 0
Channel= Match input : Event=Ctrl : Ctrl# = 0, 0 :Amount= 87, 87

The second line causes CC32 64 to be output - NO Clone
Channel x: Event=Ctrl : Ctrl# = 32, 32 : Amount= 0, 0
Channel= Match input : Event=Ctrl : Ctrl# = 32, 32 :Amount= 64, 64

The "Clone" directive in the first line passes the CC32 0 message to the next line and this line then finally discards it.

The PC messages are passed though.
Note: No bank change occurs until the PC message is received.

Of course if you send a CC0 = x and CC32 = 0 you will get
CC0 x
CC0 87
CC32 64
The extra CC0 should not be a problem as the synth should just ignore it.

Of course once you have sent a Bank Change (CC0 CC32) the synth remains in that bank and only the PC messages need to be sent.

Hope that helps
Royce  

Title: Re: how to map 2 events to other events
Post by bibmidi on Sep 15th, 2018, 5:33am
does not work because BOTH conditions are not met (cc32 AND PC)
i want change MSB, LSB, PC only if (LSB=0 AND PC=0)

this change CC0, CC32 and PC

*,Ctrl,32,32,0,0,Y,0,*,*,0,0,87,87       (CC0)
*,Ctrl,32,32,0,0,N,0,*,*,32,32,64,64   (CC32)
*,ProgChg,0,0,0,0,N,0,*,*,9,9,*,*       (PC)

BUT also change every PC=0
  0   121    2  ---  CC: Bank MSB    
  0    87    2  ---  CC: Bank MSB     (it is OK, we have change because cc32=0)
 32    64    2  ---  CC: Bank LSB    
  9   ---    2  ---  PC: Glockenspiel    (change 0 to 9)

  0   121    2  ---  CC: Bank MSB    
 32     1    2  ---  CC: Bank LSB      (it is OK, no change if cc32 is diferent from 0)
  9   ---    2  ---  PC: Glockenspiel   (but pc is changing always)

Title: Re: how to map 2 events to other events
Post by Breath on Sep 15th, 2018, 8:22pm
Sorry, you can't have a trigger condition with more than one message using the Data Map.

You could write a script to do it.
Check out the Script in Help and have a look at the couple of examples in the MidiOx program directory.

Bome's Midi Translator might be of use.
Check out his free 'Classic' edition
https://www.bome.com/products/mtclassic
It is a very cut down version, but it might be enough.

Otherwise you will have to pay for the commercial version.
https://www.bome.com/products/miditranslator


All the best
Royce



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