Midi routing / virtual ports question

califauna

2011-05-23 02:52:55

Hi,

I am trying to set up a midi device (novation launchpad) with a DJ program called Virtual DJ.

My set up is Launchpad sends midi messages to 'Bomes Midi translator' program, which process the midi messages (repeating them a

number of times, etc) , which then sends the outputed messages to the Midi yoke input. THe midi messages then pass to the midi

yoke output which sends it to the Virtual DJ program.

At this point I would like midi messages sent to the launchpad to activate its LEDs, sometimes reset all the LEDs etc.

The problem I am having is that virtual dj can only configured to send the 'note on' messages to light the LEDs of the device which

sends the 'note on' message. Thus virtual dj tries to send the note on message to light the LED to the Midi yoke port, not the launchpad. I'd like to somehow be able to redirect the midi output from Virtual dj to the Launchpad.

Does the Bome's midi translator virtual port function just like Midi Yoke? Quoting the website: "Midi yoke is a like a MIDI Patch Cable: it takes any data that shows up at its MIDI Yoke Output port and spits it out of its MIDI Yoke Input port!" Does the Bome's Virtual Midi port function like that?

Thanks very much for any ideas / possible solutions.

synthmusic

2011-05-23 03:53:33

There's a couple issues here. You can use midi Yoke or the Bome's virtual ports the same way. I have all of my control surfaces set up to route virtually in and out to my program, and everything is then routed to the device with the midi router in MT. Then you can grab and alter messages in either direction.

The difference is that MT only gives you access to "one side" of the port outside of the application because it assumes you'll use MT to map it. This can be confusing, so let's have an example:

In the MT midi router using yoke:

device in -> midi yoke 1
midi yoke 2 -> device out

then in your app, you would map the "in" from midi yoke 1, and the "out" to midi yoke 2. Now you can look for "note on" messages from midi yoke 2, and alter them to send what you want to your device.

The same is true with the Bome's ports:

device in -> Bome's midi translator 1 virtual out
Bome's midi translator 1 virtual in -> device out

Then in your app, it should see them as mapping the "in" from Bome's midi translator 1T and the "out" to Bome's midi translator 1.

califauna

2011-05-24 22:33:39

Thanks for the response.

Im confused about the connections though.

When you configure the midi devices that VDJ recognises, you just enter the name of the port as it appears in the midi tracing tool. NOt separate in and out ports - just one device. Thats OK with the laubnchpad, becvasue I know what to enter, its just called 'launchpad' in the midi tracer tool, but for the MT virtual port I dont know, becasue there are different names for the input and output ports.

COuld you explain one other thing? How does the MT virtual port work? Is it like the Midi Yoke port? From what I understand you canot 'separate'the in and out side of the port. Ie. Whatever is received at the Out port, is then sent out of it in port. Is the MT port like this too?

If it is like this, then if I configure virtual dj to recognise this port, then I think there will be a problem.
When virtual dj tries to send a note on message to activate an LED, it sends it to the device which sent the note on message to VDJ, to indicate that a button was pressed. Thus I guess VDJ will try to send the message to the MT virtual port, which will then be sent back to VDJ again. :?

synthmusic

2011-05-25 18:23:49

I have zero experience with virtual DJ, sorry. You might have better luck in a VDJ oriented community for that question. What I will say is every app I have experience with let's me identify separate ins and outs. Reason for instance looks like it won't give you the option for control surfaces, but once you're in the details page, there it is, in and out. So hopefully it's something you don't know yet as opposed to an app limitation. Happy hunting on that one. :)

It is very important that you do _not_ enable midi for the device (launchpad) in your app (VDJ) if you want to use the virtual ports instead, as it may cause conflicts.

Let's try a different tack on ports.

Let's call them virtual *cables* instead. MidiYoke gives you 8 virtual cables with access to both ends of those cables from any app:

in ---- cable ---- out

any app ---- mY1 ---- any app
any app ---- mY2 ---- any app
...
any app ---- mY8 ---- any app

That's why everything may explode (figuratively) if you plug an app into itself via one cable, potentially creating an endless loop:
app out ---- mY1 ---- app in, not good

Now Bome's MT, gives you up to 10 cables, but only one end is available to any app, the other end is only exposed inside the MT application

MT app ---- BMT 1 virtual out ---- any app
...
MT app ---- BMT 5 virtual out ---- any app
any app ---- BMT 1 virtual in ---- MT app
...
any app ---- BMT 5 virtual in ---- MT app

Using MT routing, you create links so you can interrupt and change them on the way through, or just virtually route messages. to make sure, you access via menus "MIDI" -> Routing (MIDI through)...

This goes to what I was saying before, you wire a cable in this screen from your device in (launchpad) across to Bome's MIDI Translator 1 virtual out. Now the data coming in to your computer from the Launchpad is getting captured by MT, and then resent down your virtual cable at BMT 1 virtual out. You can pick this up in your app.

Since BMT 1 virtual in is actually a different "cable", you can use it to go the other way. Wire a cable in this screen from Bome's MIDI Translator 1 virtual in to the device out (launchpad). Now the data coming out of some application via virtual 1 is getting captured by MT, and then resent down your virtual cable to the launchpad. You make this your out in your app (if you can!).

Thanks

califauna

2011-06-01 01:56:31

Synthmusic, thanks for the above responses. The problem I had is more or less solved. Im sure Ill be back though. :D

Turns out Virtual DJ can be configured to receive and send on different ports.

Thanks again,
Dale.