|
||
Title: program change turn ports on and off? Post by tturner on Nov 8th, 2004, 12:59am I'm trying to get a program change to turn ports on and off, so that I can send a program change from my master keyboard controller and it will automatically reassign (open and/or close) ports based on the program number being sent. For instance, I want prog 1-16 to transmit data ONLY on port 1, progs 17-32 to transmit ONLY on port 2, etc. I have the ports mapped to the program changes in the patch mapper, but per the midi output port monitor, data is going out on ALL open ports regardless of what program change is sent. Is it possible for program changes to turn the ports on and off? Per the manual: ___________________________________________________ After a Program Change message triggers a port-map change, no MIDI devices are opened or closed. Instead, the new port-map is applied to the currently open MIDI devices. cut----- If you need to drastically change the topology of the MIDI connections, you can do so by initially opening many input and output devices, but then carefully specifying the port maps, so that only the devices desired are attached together in each port-map. cut--------------- The connections of Ports not listed or described in the preset being applied remain unmodified (they retain the current connections and attributes). ________________________________________________ Based on the above, I'm confused as to whether or not I can either: 1. open ports that are not currently open via program change 2. close (or filter) ports already open via program change Thanks Troy Turner |
||
Title: Re: program change turn ports on and off? Post by Jamie OConnell on Nov 9th, 2004, 7:17pm Quote:
The answer is NO: you cannot open or close devices except in the Options | MIDI Devices... dialog. However, you can change the routings of currently open devices. |
||
Title: Re: program change turn ports on and off? Post by tturner on Nov 10th, 2004, 2:29am I guess I don't understand what "changing the routings" of currently open devices means. If I have 4 virtual output ports (say 1,2 3, and 4) opened in the midi device window AND I send program change #1 from my midi controller AND the port map preset selected for program #1 in the patch map window is mapped only to virtual port #2: Does this mean at this point I should be able to send midi data only on port 2, or should the data still spill out on all the ports 1,2,3 and 4 because they were all open already? If all 4 ports are open, in order to apply the port map preset for port 2 so that data only goes out on port 2, do I have to go to from the MIDI Devices window? Is that the only way to apply the port map preset? If so I don't understand the advantage of being able to define a port map preset in the patch map if it doesn't actually impact the port configurations. If it doesn't open or close a port, and it doesn't allow you to send information on only 1 or more of several open ports, what does it do? |
||
Title: Re: program change turn ports on and off? Post by Jamie OConnell on Nov 10th, 2004, 3:03pm Routings (i.e. how the ports are interconnected) are graphically displayed in View | Port Routings... By adjusting the connections, you can change the routing 'topology' of all the open ports. Quote:
The data should only go out port 2. You can verify the routings before and after the patch change by looking at the Port Routings view described above. Make sure that whatever Port Map Preset you wish use in a Patch Map has been recently saved or resaved with the current set of MIDI drivers installed on the system. |
||
Title: Re: program change turn ports on and off? Post by tturner on Nov 10th, 2004, 7:14pm It's only going out on whichever ports that are manually selected selected in the presets/OK dropdown in the midi device window. After program change, the midi output monitor is saying that the port routing preset has been loaded. But the port routings window and the settings and data being passed in the midi port activity are always exactly as they were before the program change; it's like there's nothing being changed or routed even though the output monitor says the port preset has been applied. I can manually select the port preset and hit OK in the midi devices window and it does exactly what it's supposed to. I also tried to include a .oxm map in the patch map/map location boxes thinking that maybe that field needed something in it. No luck. Am I missing something? |
||
Title: Re: program change turn ports on and off? Post by Jamie OConnell on Nov 11th, 2004, 6:17pm I just retested with some simple examples and it is working fine on my machines. The only thing I can add is to make sure that ALL of the ports targeted by all of the Presets you want to use are open before you start sending patch changes. You might try keeping all of your MIDI ports open to ensure this. |
||
Title: Re: program change turn ports on and off? Post by ecmjazz on Mar 15th, 2006, 9:21am OK, so how does one exactly change the routings of the ports on program change? Could you please explain it in detail? Please, excuse me for my stupidity but I can not seem to find the right way. What I want to do is: similar to the one described above - when I send program change with a program number the device with the same number to be opened or routed through. I want to do this because I have several softsynths and I want to switch between them dynamically during the song, because my keyboard is only 5 octaves and keyboard splits are not enough to put all the notes from the different synths in one layout. I want to use MIDI OX together with MIDI Yoke - every softsynth will listen to one of the MIDI Yoke ports and with MIDI OX I want to change to which of the MIDI Yoke ports to send the data from the input device by sending program change messages. I have tried everything in Cubase and Live but finally gave up. Hope that here will find the answer before I sit and write my own application. |
||
Title: Re: program change turn ports on and off? Post by ecmjazz on Mar 15th, 2006, 9:38am just want to add that I want to use program change on a toggle principle. For example: when I send program change 1 if MIDI Yoke port 1 was inactive to become active and vice versa. If I send program change 2, MIDI Youke port 2 to become active if it was previously inactive and vice versa and so on. This will give me the ability to still have mappings with several synths playing at once and make keyboard splits between them. In general it will be the simillar behaviour if for example in Cubase one goes and record enables a track or record disables it, except that it can be done only by clicking with mouse.. |
||
Title: Re: program change turn ports on and off? Post by Jamie OConnell on Mar 15th, 2006, 11:30am 1) Open all devices that will be used in Options | MIDI Devices... 2) Set up a routing in View | Port Routings... 3) Reopen Options | MIDI Devices... and save the Routing in the Presets box. 4) Set up another routing in View | Port Routings... 5) Reopen Options | MIDI Devices... and save the Routing in the Presets box with a different name. 6) Open Options | Patch Mapping... and assign each of the above routing presets to a different patch change. |
||
Title: Re: program change turn ports on and off? Post by ecmjazz on Mar 16th, 2006, 6:58am Thanks! It worked:) Although I found a way to manage this way, I am just curious is there a way for this thing to work in a toggle manner as described in my previous post? Thanks again! |
||
MIDI-OX User Forum » Powered by YaBB 1 Gold - SP 1.3.1! YaBB © 2000-2003. All Rights Reserved. |