User Forum    :: Powered by YaBB
  « MIDI-OX User Forum - midiShift alternative? »
Welcome, Guest. Please Login or Register.
Oct 21st, 2024, 6:41pm


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


   MIDI-OX User Forum
   MIDI-OX
   Mapping Questions
(Moderator: Jamie OConnell)
   midiShift alternative?
« Previous topic | Next topic »
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   Author  Topic: midiShift alternative?  (Read 274 times)
vj_Rat
New Member
*



MIDI-OX Rules!

   


Posts: 2
midiShift alternative?
« on: Aug 23rd, 2023, 8:21am »
Quote Quote Modify Modify

Dear All,
 
I tried to figureing out if its possible with midiOX do a hack what midiShift program does: for one specific midi signal a channel changing data mapping activates. (for me it doesnt matter if its toggle, or i have to hold for the change)
 
I found answers to toggle a button, or change banks, but i think its not the same. Maybe its too basic, and easy to done, and thats why i haven't found, but i appreciate every help.
 
I have an AKAI apc key25 and before i bought i tought that the shift button is a modifyer, and its change the midi signals in the device, but unfortunately its not, i think it programmed somehow in ableton, but the device sends the same signals, regardless of the shift button.
 
Thanks again if you can help me.
IP Logged
Breath
Administrator
*****





   
WWW

Gender: male
Posts: 1014
Re: midiShift alternative?
« Reply #1 on: Aug 23rd, 2023, 11:32pm »
Quote Quote Modify Modify

A bit of advanced MidiOx for you - stick with it. It will show you how powerful MidiOx can be.
First, MidiOx normally doesn't "remember" what Midi messages come to it.
That is, if you send a Note On  message to MidiOx, it can change it to a CC  message with the type being the key and the value being the velocity for example.
That is called 'data mapping' (Options / Data Mapping...).
 
You cannot ask MidiOx 'If Note 64 is on then send CC7 25'
So you can't toggle a Midi parameter as MidiOx would need to remember its previous change.  
To do this, you need to program it using the script function (see the help menu to search for this).
 
Data Map = Midi filters and message conversions
Create at least 2 data maps and save them. Let's call them GlobMap1.oxm and GlobMap2.oxm.
Create at least 2 mores data maps and save them. Let's call them ConMap1.oxm and ConMap2.oxm.
There are two places that you can use data maps...
  Global: effects all connections on the Midi Port Routing window
  Connection: If you click on the square box in the middle of a connection line it opens up a box that lets you filter Midi messagews but also you can load a Data Map file (*.oxm)
If there isn't a connection map selected then the global one will be used (if there is one and it is activated)
 
If you want to change a data map remotely then you can use Options/Patch Map.
In the Patch map there are 3 columns in the table.
The first column is the Patch number you are going to send to MidiOx to load the setup (0 to 127).
  A setup can be a Data map and/or a Mid port setup.
 
The second column is the oxm data map file - this loads he Global Data Map.  
 
The third is the Port setup -  
   what Midi ins and outs (ports) are open  
   how they are connected  
   any Connection Data Map on those connections .
 
Click 'Assign' and on the dialog that pops up ..
   search for the map (data map to be used as the global data map) file that will be loaded...
   use the drop down list box that has all your Port mappings (see below) and select the one to be loaded ...
 when MidiOx receives this PC message
 
Port Setup
In the Options/Devices dialog, the left side lists are where you select Midi devices to open (everything else gets closed).
The right list are the connections and any attached connection data maps.  
These are usually formed by dragging connections on the Port Routing window and clicking on the square box in the middle of the connection,
 but can also be made here.
You save the port setting Presets at the top of the dialog.
 
I usually  
1) goto Options/Devices and load the devices I need to be open
2) goto the Port Routing window and drag the connections I need  
3) add any connection maps the the particular connection
4) go back to Options/Devices and check that all is correct and rename and save the Port setup
 
So you can send a PC message to MidiOx and it can
  swap in a new data map (filters and message conversions)
or  swap in a new Midi port setup (different devices and / or Midi connections )  
or both.
 
So you can have 128 setups (PC 0 to PC127) switched in MidiOx by just sending a PC message.
 
I think that is what you are asking.
 
If you need some more help (or if I have misunderstood what you are wanting) feel free to post again.
 
All the best
Royce
 
IP Logged
vj_Rat
New Member
*



MIDI-OX Rules!

   


Posts: 2
Re: midiShift alternative?
« Reply #2 on: Aug 29th, 2023, 5:07pm »
Quote Quote Modify Modify

Dear Royce,
 
Thank you very much for your detailed answer! It helped me understand a lot. However i still have a few question: can i create a program change message without changing a program? How?
 
My goal would be to use the same device in the same program but with different functions. (Resolume arena - one data map is triggering a clip, other data map is just preview it)
 
Thanks again!
IP Logged
Breath
Administrator
*****





   
WWW

Gender: male
Posts: 1014
Re: midiShift alternative?
« Reply #3 on: Aug 31st, 2023, 8:06pm »
Quote Quote Modify Modify

You can use a datamap to change most messages to a Preset message.
Go to Options/Data Mapping...
Now on this dialog there is an Insert... button
Use this to add, say a NoteOn message to a preset
 
Input  
Channel 1 Note On 24 24 (this is C1) -1 -1 (any velocity) for the input  
Output
Preset Channel ProgChg  x  x (x is you Preset number) -1 -1 (Preset messages only have one data byte so MidiOx will ignore this last value)
 
You can add as many (I think - I've never run out of them) map lines as you like to the one datamap
 
If you want to use the one input message to output multiple messages you have 'Clone' ticked so the next line also gets the original input message  
 
So if you also wanted the Bank to change first and then the Preset in that bank... but fir 14 bit Midi number which you may or may not need - sorry
Most Significant Byte = MSB
Least Significant Byte = LSB
 
Bank select  is two Continuous Controller (CC) messages
CC 32 MSB
CC 00 LSB
 
So you need 2 lines just for Bank change (usually )
Line A MSB - the original note message comes in...
  Input =  Channel 1 (what ever your switching kb is on) Note On 24 24 (this is C1) -1 -1 (any velocity)   - clone selected
Output = Bank Channel Ctrl  32  32 MSB MSB  
 
Line B LSB - the clone is passed to this line
  Input =  Channel 1 (what ever your switching kb is on) Note On 24 24 (this is C1) -1 -1 (any velocity)   - clone selected
Output = Bank Channel Ctrl  32  32 LSB LSB  
 
Line C Preset  - the clone is passed to this line - but it doesn't need to be cloned any more
  Input = Channel 1 (what ever your switching kb is on) Note On 24 24 (this is C1) -1 -1 (any velocity)  
Output = Preset Channel ProgChg  x  x (x is you Preset number) -1 -1 (Preset messages only have one data byte so MidiOx will ignore this last value)
 
Because you are cloning messages, the line order is important that is why there are up and down buttons to move the highlighted line to rearrange the order on the first page of the DataMap.
 
Lines A, B and C should be grouped together even if you have other messages being used change other stuff in the one data map.
Hope this helps
 
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.