MIDI-OX User Forum (http://www.midiox.com/cgi-bin/yabb/YaBB.pl)
MIDI-OX >> Mapping Questions >> Complicated mapping required
(Message started by: Thijsie on Feb 15th, 2007, 11:30am)

Title: Complicated mapping required
Post by Thijsie on Feb 15th, 2007, 11:30am
Hi,
I have been looking for a program that could help me achieve this for a long time, and maybe you could tell me how I could get MIDI-OX to do what I need.
Here is what I need it to do:
I have a 4 channel midi file, which plays synchronised with a video file. I also have two Yamaha UX16 MIDI-USB connector cables. I need the first two channels of the midi file to go through one of them, and they need to be transmitted as channels 1 and 2.
Channel 3 and 4 of the original midi file need to be sent to the other cable, and they again also need to be seen as channels 1 and 2 at the end of that cable.
I know this appears very complicated, but if anyone knows how I could achieve this, I would gladly hear it!
Thanks in advance,
Thijs Haenen

Title: Re: Complicated mapping required
Post by Peter L Jones on Feb 16th, 2007, 2:43pm
You'll have some software application playing the MIDI File.

This needs to output to a MIDI Yoke virtual MIDI connector.

On the other end of MIDI Yoke will be MIDI OX.

MIDI OX will copy the MIDI events to both MIDI ports.

For the first port, you will filter out channels 3 and 4.

For the second port, you will filter out channels 1 and 2.

I'm not running Windows/MIDI OX right now so I can't check exactly how to set that up but it should be pretty easy.

Title: Re: Complicated mapping required
Post by Thijsie on Feb 16th, 2007, 3:01pm
I'm a little confused by this...
Also, the instruments connected both only respond to channels 1 and 2. I have seen that I can filter the channels, but I also need to then map those filtered channels (3 and 4 to 1 and 2 respectively). It seems to be possible, but I just keep on messing up.
Thanks for the help so far anyway!

Title: Re: Complicated mapping required
Post by Peter L Jones on Feb 18th, 2007, 2:26pm
Yes, you can use a MIDI OX data mapping to translate Channel 3 to Channel 1 and Channel 4 to Channel 2, if you want.

Title: Re: Complicated mapping required
Post by Thijsie on Feb 23rd, 2007, 6:46am
But how? So far I've only succeeded in converting channels 3 and 4 to 1 and 2, and then have all 4 channels end up at the same port.
I have so far created the following:

http://www.rba-verhuur.nl/routing.jpg
Midi Yoke 1 is where 4 channels enter.
From this, channels 1 and 2 are set to go to Midi Yoke 2
Also, channels 3 and 4 from Midi Yoke 1 go to Midi Yoke 3
From Midi Yoke 3, channels 3 and 4 go to Midi Yoke 4, where the "Midi-OX Events" are applied (http://www.rba-verhuur.nl/transmap.jpg)

Does anyone know what I am doing wrong?

Title: Re: Complicated mapping required
Post by Peter L Jones on Feb 23rd, 2007, 4:23pm
(I'm running Ubuntu, so I'm doing this from memory - you might best off reading through the manual..!  I know it's not the most exciting thing in the world... ;) )

The Data Mapping isn't where you filter out the channels.  There's a display with all the connections shown.  In there, I think you can get to another window that lets you select which channels are passed across a connection.

Title: Re: Complicated mapping required
Post by Thijsie on Feb 23rd, 2007, 5:35pm
I have already done that (see here (http://www.rba-verhuur.nl/alreadydone.jpg)). Midi Yoke NT 2 only outputs channels 1 and 2 as I already said. The only problem is that once I have separated channels 3 and 4 from the pack, I also need to change the channel numbers on those to 1 and 2 respectively.
What I have right now does what I set in "Data Mapping" as soon as the data comes in at Midi Yoke 1, resulting in me having all 4 channels merged into 2 channels at Midi Yoke 2. I only want the data mapping to occur on a separate port that only has channels 3 and 4 on it.
I hope I'm still making sense, and am within the realm of things that are possible here.

Title: Re: Complicated mapping required
Post by Peter L Jones on Feb 24th, 2007, 3:55am
I think (again, still in Ubuntu) you can apply a data mapping to a connection.

Title: Re: Complicated mapping required
Post by Thijsie on Feb 24th, 2007, 3:58am
I have now seen that I can also place the file for mapping in the "Map File" section in "Connection Properties". However, when I do this and disable the mapping in Data Mapping, channels 3 and 4 remain unchanged. Do I need to enable something somewhere?

Title: Re: Complicated mapping required
Post by Peter L Jones on Feb 24th, 2007, 10:52am
Right, I've booted into Windows (not just for you...).

You create the data mapping in "Options->Data Mapping" by clicking the "Save" button once you've got the map set up.  (It's a good idea to save your mappings once they're working, so you can get back to them another time.)

Thinking about it, you should just have (1) a filter on the first connection to strip off Ch 3 and Ch 4 and (2) a .OXM mapping on the second connection to map Ch 3->Ch 1 and Ch 4->Ch 2.  You shouldn't need anything else.

Title: Re: Complicated mapping required
Post by Thijsie on Feb 24th, 2007, 11:11am
I now have the following: http://www.rba-verhuur.nl/map24feb.jpg with mapping from http://www.rba-verhuur.nl/VicLocoVideo%202.oxm applied where the green dot is, though channels 3 and 4 are staying the same once separated. No mapping is taking place. Am I still missing the point somewhere?

Title: Re: Complicated mapping required
Post by Peter L Jones on Feb 24th, 2007, 6:40pm
You should have different settings for the two green dots.  Can you do screen shots of the Connection Properties for both?

(It might be necessary to make the same properties apply to the MIDI OX Events connections, too.)

Also (to save me remembering when I'm in Windows), can you do a shot of the Data Mapping window with the .OXM loaded, too.

Title: Re: Complicated mapping required
Post by Thijsie on Feb 25th, 2007, 4:16am
There is only one green dot, between Midi Yoke NT 1 and 3.
http://www.rba-verhuur.nl/connprop.jpg
http://www.rba-verhuur.nl/mapscreen.jpg

Title: Re: Complicated mapping required
Post by Peter L Jones on Feb 25th, 2007, 3:54pm
Okay...

All four channels are arriving on MIDI Yoke 1.

You want Ch 1, Ch 2 to go to MIDI Yoke 2 unchanged but you don't want Ch 3, Ch 4 to go to MIDI Yoke 2.  So you need to set a filter on the connection between MIDI Yoke 1 and MIDI Yoke 2, using the connection properties, to discard Ch 3 and Ch 4.  Leave everything else enabled.

You want Ch 3 and Ch 4 to go to MIDI Yoke 3, with Ch 3->Ch 1 and Ch 4->Ch 2.  You need a data mapping with four entries set in the connection properties (but no filter - leave everything enabled).
1) Incoming Ch 1 -> Event type discard.
2) Incoming Ch 2 -> Event type discard.
3) Incoming Ch 3 -> Outgoing Ch 1.
4) Incoming Ch 4 -> Outgoing Ch 2.

Title: Re: Complicated mapping required
Post by Thijsie on Feb 26th, 2007, 9:41am
I have done exactly as you said, channel properties for midi yoke 1-2 only leave in channels 1 and 2. For Midi Yoke 1-3, in connection properties, I selected all. Next, I applied a new mapping file which has event type discard for channels 1 and 2 at the top. It also has the mapping for channels 3 and 4 -> 1 and 2. However, at Midi Yoke 3, I just end up with all 4 channels the same way I started. Am I overlooking a big "ON" toggle somewhere maybe?

Title: Re: Complicated mapping required
Post by Peter L Jones on Feb 26th, 2007, 2:51pm
Mmm, maybe.  There's a "Global Data Mapping" toggle somewhere.  Maybe that needs to be off to make the connection-specific data mapping work.

Title: Re: Complicated mapping required
Post by Thijsie on Feb 26th, 2007, 2:54pm
You mean in Options->Data Mapping (Turn map on after OK)?
That's off.
For the rest, perhaps this is handy:
http://www.rba-verhuur.nl/deviceinfo.jpg

Title: Re: Complicated mapping required
Post by Peter L Jones on Feb 26th, 2007, 5:57pm

on 02/26/07 at 14:54:51, Thijsie wrote:
You mean in Options->Data Mapping (Turn map on after OK)?
That's off.

Turn that on but it's not what I was refering to.  When MIDI OX is iconised to the tray, right-clicking it's icon brings up a menu with "Global Data Map" on.  I can't find it on any other menu...

Title: Re: Complicated mapping required
Post by Thijsie on Feb 27th, 2007, 9:38am
I can't turn the one in Data Mapping on without placing a map in there, but if I place a map in there then the channels won't be split correctly, as they'll be mapped as soon as they come in. I also can't turn on "Global Data Map" at the tray icon, as that apparently refers to the same thing.

Title: Re: Complicated mapping required
Post by Peter L Jones on Feb 27th, 2007, 6:03pm
Okay... I'm stumped!

Title: Re: Complicated mapping required
Post by Thijsie on Feb 28th, 2007, 9:40am
How handy... :(

Title: Re: Complicated mapping required
Post by Jamie OConnell on Mar 2nd, 2007, 1:36pm
Global mapping does NOT need to be on to achieve per-connection mapping.  If something is not working, review the map attached to that connection.

I see that in your first connection (Yoke 1 in to Yoke 2 Out) you are only allowing channels 1 and 2 to pass, and there is no specific map in effect.

Your second connection (Yoke 1 In to Yoke 3 Out) allows all channels, but there is also a mapping in effect (ViclocoVideo af).  Any MIDI-OX generated events are also affected by this map and are output to Yoke 3 as well.

So...  What does the map look like?


Title: Re: Complicated mapping required
Post by Thijsie on Mar 2nd, 2007, 2:04pm
First of all, thanks for the reply.
Second, see below:
http://www.rba-verhuur.nl/VicLocoVideo af.jpg

Title: Re: Complicated mapping required
Post by Peter L Jones on Mar 2nd, 2007, 2:49pm
I thought you'd checked "Turn Map On (after OK)"?

Title: Re: Complicated mapping required
Post by Thijsie on Mar 2nd, 2007, 3:02pm
I can only do that once there is something in the box. If there isn't, the option gets greyed out.

Title: Re: Complicated mapping required
Post by Jamie OConnell on Mar 2nd, 2007, 7:40pm
So, this is the file that is saved as "ViclocoVideo af.oxm"?

BTW it's fine that you do not have mapping turned on globally: if you did, it would affect ALL MIDI data passing through on ALL ports (in addition to the custom maps).  So, leave it turned off - at least for now.

If this map is attached to the Yoke 1 - Yoke 3 connection, it should ignore all original events on channels 1 and 2, and convert all events arriving on channel 3 to channel 1, and convert events arriving on channel 4 to channel 2, and then output the data on MIDI Yoke 3.
 

Title: Re: Complicated mapping required
Post by Jamie OConnell on Mar 2nd, 2007, 8:29pm
Since you said it doesn't work, I went to see if I could reproduce what you are seeing.  It turns out that the channel boxes seem to be a bit flaky in the connection dialog.  

To work around this, I recommend using two different maps and enable all channels on each connection.  The map you created (above) is fine for the chan 3 & 4 to chan 1 & 2 mapping.  Create another map for the first connection that simply discards channel 3 and channel 4.  I tried this and is seems to work fine.  

Input Monitor:

TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT    
00059B6A   Y1 --     90    3C    62    1  C  3 Note On  
00059B6B   Y1 --     91    3C    62    2  C  3 Note On  
00059B6D   Y1 --     92    3C    62    3  C  3 Note On  
00059B6E   Y1 --     93    3C    62    4  C  3 Note On  
00059BDA   Y1 --     80    3C    7F    1  C  3 Note Off
00059BDD   Y1 --     81    3C    7F    2  C  3 Note Off
00059BDF   Y1 --     82    3C    7F    3  C  3 Note Off
00059BE2   Y1 --     83    3C    7F    4  C  3 Note Off


Output Monitor:

TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT  
00059B6A   Y1  Y2    90    3C    62    1  C  3 Note On
00059B6B   Y1  Y2    91    3C    62    2  C  3 Note On
00059B6D   Y1  Y3    90    3C    62    1  C  3 Note On
00059B6E   Y1  Y3    91    3C    62    2  C  3 Note On
00059BDA   Y1  Y2    80    3C    7F    1  C  3 Note Off
00059BDD   Y1  Y2    81    3C    7F    2  C  3 Note Off
00059BDF   Y1  Y3    80    3C    7F    1  C  3 Note Off
00059BE2   Y1  Y3    81    3C    7F    2  C  3 Note Off


Here's a .txm map you can use for the 1st connection:

---snip---
MOXMAP Version 5

[Map]
3,*,*,*,*,*,N,0,*,Discard,*,*,*,*
4,*,*,*,*,*,N,0,*,Discard,*,*,*,*

---snip---

Title: Re: Complicated mapping required
Post by Thijsie on Mar 3rd, 2007, 4:30am
I tried that, but again, no mapping takes place for me.
I allowed all channels to pass through all ports, and applied mapping files to all of the connections, but I just kept on receiving all of the channels at all of the ports.

Title: Re: Complicated mapping required
Post by Jamie OConnell on Mar 3rd, 2007, 1:57pm
All I can say is that it's working on my end, so you'll have to figure out how your setup is different.  I used 4 instances of MIDI-OX running to make sure that I was getting the correct output.


[hwd input]->[MIDI-OX 1]->[MY1]->[MIDI-OX 2]->[MY2]->[MIDI-OX 3]
                                          +->[MY3]->[MIDI-OX 4]


The mapping was done in the MIDI-OX 2 instance and I verified it in the MIDI-OX 3 & 4 instances.  I had all channels enabled and 2 different maps (1 for each connection).  Map 1 discarded channels 3 & 4.  Map 2 discarded channels 1 & 2 and then mapped 3 & 4 to 1 & 2.


Title: Re: Complicated mapping required
Post by Thijsie on Mar 3rd, 2007, 2:01pm
Strange, but I'll see if I can try on a different PC soon then.

Title: Re: Complicated mapping required
Post by Jamie OConnell on Mar 3rd, 2007, 2:08pm
Try hooking up 2 more MIDI-OX instances at the end of MIDI Yoke 3 and 4, to see if you get the same result as me (MIDI Yoke is multi-client so you can keep your other attachments intact).

Title: Re: Complicated mapping required
Post by Thijsie on May 1st, 2007, 12:39pm
Hi,
I have now tried this on two different computers, but both had not different outcomes.
I had the following setup:

Code:
Maple Midi 1->MIDI OX 1->Maple Midi 2->MIDI OX 2->Yamaha UX16-1
                                                           +->Yamaha UX16-2

Note: The second UX16 comes in at the same place as the first one.



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