MIDI-OX User Forum (http://www.midiox.com/cgi-bin/yabb/YaBB.pl)
MIDI-OX >> Mapping Questions >> .oxm as Port map objects / separating ports-out
(Message started by: zurek on Sep 30th, 2002, 6:16am)

Title: .oxm as Port map objects / separating ports-out
Post by zurek on Sep 30th, 2002, 6:16am
Midi ox is a great program but somtetimes is tricky. I cannot figure out how the .oxm files function as Port map objects.

My problem:
I have one MIDI IN  port with two channels sending data in.
I have two MIDI OUT ports (MIDI Yoke 1 and MIDI Yoke 2).

I want the data from the first channel-in to be multiplied/cloned to ALL the 16 ports of the MIDI Yoke 1 OUT port (but NOT to the Yoke 2 Out port). Similarly, I want the data comming from the second in-channel to be multiplied/cloned to ALL the 16 channels of the Yoke 2 OUT port (but NOT to the Yoke 1 Out port).

To multiply one channel in to many channels out is very simple using the mapping. But it seems to me that this particular case cannot be solved by the usual translation map (data mapping), since it always affects all the ports OUT, not just a specific one. Here I always end up with cloning the data from both in-channels to the all ports of BOTH Midi out ports... This is not desiderabe.
I think the solution might be to attach two different .oxm files to the two ports-out separately via Port map objects in MIDI devices dialog box - but when I have tried this, it did not work.
Can you help?

Title: Re: .oxm as Port map objects / separating ports-ou
Post by Jamie OConnell on Sep 30th, 2002, 11:03am
When you associate maps (.oxm) with ports using Port Map Objects, the map is associated with the specified Input port.  

For your example lets names the maps CloneChan1ToAll.oxm and CloneChan2ToAll.oxm.  In the MIDI Devices dialog, expand the MIDI Yoke 1 output port and then drag the CloneChan1ToAll.oxm map onto the MIDI In port under it.  Next, expand the MIDI Yoke 2 output port and then drag the CloneChan2ToAll.oxm map onto the MIDI In port under it.  Press OK to invoke the settings, and your maps should be in effect.  Now turn off any Global Map -- maps associated with Input ports are always On.

Title: Re: .oxm as Port map objects / separating ports-ou
Post by zurek on Oct 1st, 2002, 8:16am
Yes, this is precisely, why I call MIDI-OX tricky. Your suggestion is the very same as what I have been doing constantly - dragging the Clone1toAll.oxm and Clone2toall.oxm to the input port under the desired output ports in MIDI devices. The "common sense" suggests this. But it does not work - it has NO EFFECT on the output. I think these associated maps are somehow disabled or so. I wonder if it can have something in common with WIN XP I am using - but I doubt that.
When I invoke the "Show the currently selected MIDI devices" icon - the device information in monitor output SHOWS the port data map correctly - but without the real effect.
The second strange thing is, that when I save this port mapping to a preset and then I call it back, the oxm maps DO NOT appear under the ports where they were. (It means the information about associated maps are not stored in the preset.)
There is this slight malfunction in MIDI-OX. Or, I do not know where to tell MIDI-OX that it has to look to the maps assotiated with input ports. Please, help.

Title: Re: .oxm as Port map objects / separating ports-ou
Post by Jamie OConnell on Oct 1st, 2002, 11:25am
So the maps do attach, but they don't seem to have effect?

I checked, and it works for me: I created 2 maps

---CloneChan1ToAll.oxm---
MOXMAP Version 4

[Map]
1,*,*,*,*,*,Y,1,*,*,*,*,*
1,*,*,*,*,*,Y,2,*,*,*,*,*
1,*,*,*,*,*,Y,3,*,*,*,*,*
1,*,*,*,*,*,Y,4,*,*,*,*,*
1,*,*,*,*,*,Y,5,*,*,*,*,*
1,*,*,*,*,*,Y,6,*,*,*,*,*
1,*,*,*,*,*,Y,7,*,*,*,*,*
1,*,*,*,*,*,Y,8,*,*,*,*,*
1,*,*,*,*,*,Y,9,*,*,*,*,*
1,*,*,*,*,*,Y,10,*,*,*,*,*
1,*,*,*,*,*,Y,11,*,*,*,*,*
1,*,*,*,*,*,Y,12,*,*,*,*,*
1,*,*,*,*,*,Y,13,*,*,*,*,*
1,*,*,*,*,*,Y,14,*,*,*,*,*
1,*,*,*,*,*,Y,15,*,*,*,*,*
1,*,*,*,*,*,N,16,*,*,*,*,*

---CloneChan2ToAll.oxm---
MOXMAP Version 4

[Map]
2,*,*,*,*,*,Y,1,*,*,*,*,*
2,*,*,*,*,*,Y,2,*,*,*,*,*
2,*,*,*,*,*,Y,3,*,*,*,*,*
2,*,*,*,*,*,Y,4,*,*,*,*,*
2,*,*,*,*,*,Y,5,*,*,*,*,*
2,*,*,*,*,*,Y,6,*,*,*,*,*
2,*,*,*,*,*,Y,7,*,*,*,*,*
2,*,*,*,*,*,Y,8,*,*,*,*,*
2,*,*,*,*,*,Y,9,*,*,*,*,*
2,*,*,*,*,*,Y,10,*,*,*,*,*
2,*,*,*,*,*,Y,11,*,*,*,*,*
2,*,*,*,*,*,Y,12,*,*,*,*,*
2,*,*,*,*,*,Y,13,*,*,*,*,*
2,*,*,*,*,*,Y,14,*,*,*,*,*
2,*,*,*,*,*,Y,15,*,*,*,*,*
2,*,*,*,*,*,N,16,*,*,*,*,*
---------------------------

I am using Win XP Professional.  I hooked up 2 MIDI Yoke ports and then ran 2 more instances of MIDI-OX to see what came down each wire.  Here's the device routing:

DEVICE INFORMATION

OUT:  2) MY1 [MIDI Yoke NT:  1]
 In:11) A90 - In 3 [1:EDIROL UM-880 MIDI 3]
   Details/Chan: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,RT,Sx
   Port Data Map: "Clone1toAll.oxm"
 In: MIDI-OX Events
   Details/Chan: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,RT,Sx
OUT:  3) MY2 [MIDI Yoke NT:  2]
 In:11) A90 - In 3 [1:EDIROL UM-880 MIDI 3]
   Details/Chan: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,RT,Sx
   Port Data Map: "Clone2toAll.oxm"
 In: MIDI-OX Events
   Details/Chan: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,RT,Sx
-------------------------------------------

When I play a note on channel 1 it is cloned and sent to all 16 channels of MIDI Yoke 1, and the original note is also sent to channel 1 of MIDI Yoke 2 (expected).  When I play a note on channel 2 it is routed to all 16 channels on MIDI Yoke 2 and the original note is also output on channel 2 of MIDI Yoke 1 (again, this is expected).

I created a Preset for the above routing.  Every time I select it it places the maps beneath the MIDI Yoke ports.  If you edit a routing, you have to make sure you update the preset (resave it).  MIDI-OX always looks in the Map folder for the maps displayed in the MIDI Devices dialog.  

Title: Re: .oxm as Port map objects / separating ports-ou
Post by zurek on Oct 3rd, 2002, 10:54am
Still not working. I have been doing the very same things as you did. Might it be because of the Service pack 1 I have on my Win XP Prof?
Well, even if I had solved this problem - let us suppose that - I would have to deal with other one: how to get rid of the first channel of the second port out to which is send a note from Channel 1? The same applying also to the channel 2 of the second port. To those ports has to be cloned the message from the channel in (among the 16 channels) but nothing else - even if you write it is "expected". I do not "expect" that.

Other thing:
It seems to me that MIDI-OX is not looking to the MAP directory, but to MIDI-OX root directory. Where is the mistake?

Title: Re: .oxm as Port map objects / separating ports-ou
Post by Jamie OConnell on Oct 3rd, 2002, 1:06pm
I'm not sure why it is not working for you?  I don't think that XP SP1 should have an effect, but I haven't taken the plunge yet on that.

The fact that the original event is supplied to both output ports is expected because the input is routed to both output ports, regardless of any mapping.

Let me offer another approach to work around this problem:
You could run 2 instances of MIDI-OX. Each instance opens the same input port, but outputs to a different MIDI Yoke port.  One instance would use the CloneChan1ToAll.oxm as it's main map (not port map) and output to MIDI Yoke 1.  The 2nd instance would use the CloneChan2ToAll.oxm as it's main map (not port map) and output to MIDI Yoke 2.  In the 1st instance you would Filter (Options | Filter...) data from channel 2, and the 2nd instance would filter data from channel 1.

Regarding the Map folder: That is chosen in Options | Folders...

Title: Re: .oxm as Port map objects / separating ports-ou
Post by zurek on Oct 4th, 2002, 11:06am
Thank you. Yes, I have already tried the second approach - running more than one instance of MIDI-OX. It works perfectly. It seems to me that I shall use this way - I have just thought that using port mapping might be simpler and above all "cleaner" way to do it.

Title: Re: .oxm as Port map objects / separating ports-ou
Post by zurek on Oct 7th, 2002, 5:15am
Well, I have solved the problem. The input maps did not work because I have not filled the Folder information. The fields in Options | Folders are empty after installing (they could have been pre-filed by setup ... in future versions), there is no default folder information. After filling this in, the behavior is as expected - input mapping working.
The routing to the one channel of the second port-out can be solved in that map as well - as discarding the Midi input of that particular channel in the second port-out. So the MidiOx is very nice again.
I am eager to know one more thing: do you think it is possible to adjust the tuning to some non standard/old one - but I put this in other topic.

Title: Re: .oxm as Port map objects / separating ports-ou
Post by mais on Oct 9th, 2003, 4:35pm
Hi :)

This thread is right on the spot for what I've tried to do now for many hours. Finally after reading this, _and_ a lot of trial and failure it's working.

THOUGH:

1. it didn't work for me too, because i hadn't specified the midi channel in the translation map. i though "any" was good enough, but apparently not, cause it only worked when i choose a channel! Bug?

2. channel folder doesn't matter with my setup, its set to some bogus directory, but still it works. Comment?

3. how can i output the map-files as txt, like you did above?

Big Thanx for this software! Now i can have a map file for every vsti i have, and use the same external midi source, without manually editing midi-ox. i just assign a mapfile to each of the 8 yoke ports, and from cubase sx, i can just point each vsti to that spesific port.

hope my curiosity can still be satisfied by some answers from you Jamie, thanks! :)

light
-mais-

Title: Re: .oxm as Port map objects / separating ports-ou
Post by Jamie OConnell on Oct 10th, 2003, 1:47am
1) In general, a specific channel is not required, but it really depends on what data you are referring to?  Any means that data which is channel oriented will satisfy the filter.

2)  The folder referred to in a previous post is used to populate the Port Map objects (and the new Routing View properties in the Beta).  It has nothing to do with whether a map is actually effective or not.

3) In the Mapping dialog you choose Save....  In the Save dialog you choose:  Save as Type: MIDI-OX ASCII Map ( *.txm).  Equivalently, you can Load maps saved in ASCII text.

Title: Re: .oxm as Port map objects / separating ports-ou
Post by mais on Oct 10th, 2003, 5:23pm
Hi again, big thanks for active respons!

1. I'm talking about CC values. But I tried this out once again, now from scratch, and this time it worked without setting the channel. Strange that it didn't yesterday, but thats how computers works..

2. Thanks, actually i understood this later on yesterday, when still fooling around.

3. That worked fine, goody!

..only "restriction" now is midi-yoke's "only" 8 ports, but i think thats not gonna be a problem ;)

-mais-



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