User Forum    :: Powered by YaBB
  « MIDI-OX User Forum - how to map 2 events to other events »
Welcome, Guest. Please Login or Register.
May 3rd, 2025, 4:18pm


Home Home Help Help Search Search Members Members Login Login Register Register


   MIDI-OX User Forum
   MIDI-OX
   Mapping Questions
(Moderator: Jamie OConnell)
   how to map 2 events to other events
« Previous topic | Next topic »
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   Author  Topic: how to map 2 events to other events  (Read 2050 times)
bibmidi
New Member
*



MIDI-OX Rules!

   


Posts: 2
how to map 2 events to other events
« on: Sep 14th, 2018, 4:57pm »
Quote Quote Modify Modify

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)
IP Logged
Breath
Administrator
*****





   
WWW

Gender: male
Posts: 1030
Re: how to map 2 events to other events
« Reply #1 on: Sep 14th, 2018, 10:11pm »
Quote Quote Modify Modify

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  
« Last Edit: Sep 14th, 2018, 10:23pm by Breath » IP Logged
bibmidi
New Member
*



MIDI-OX Rules!

   


Posts: 2
Re: how to map 2 events to other events
« Reply #2 on: Sep 15th, 2018, 5:33am »
Quote Quote Modify Modify

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)
IP Logged
Breath
Administrator
*****





   
WWW

Gender: male
Posts: 1030
Re: how to map 2 events to other events
« Reply #3 on: Sep 15th, 2018, 8:22pm »
Quote Quote Modify Modify

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
IP Logged
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print

« Previous topic | Next topic »


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