How to communicate between internal programs

How to communicate between internal programs

Postby bronswerk » 07 Dec 2013, 15:16

First time visitor. I have a little trouble how to set up VMIdi between Cubase 7 en Max/Msp on Windows 7 64. It seems that Cubase doesn't see midi data if Max was started first. Is the Copperlan manager not multi-client?
bronswerk
 
Posts: 11
Joined: 07 Dec 2013, 15:10

Re: How to communicate between internal programs

Postby bronswerk » 07 Dec 2013, 16:10

Reading some other posts there's a mention of "auto-port handling"? I can't find that anywhere.
bronswerk
 
Posts: 11
Joined: 07 Dec 2013, 15:10

Re: How to communicate between internal programs

Postby CopperPhil » 07 Dec 2013, 19:01

Hi,

The "Auto-port handling" has been removed, especially due to the conflict between MIDI apps and CopperLan trying to open the same MIDI port.

CopperLan is able to handle any MIDI port related to a physical device, and creates a set of virtual MIDI ports (VMIDI x) to allow legacy MIDI application to communicate through the CopperLan network.

Finally in order to send MIDI from Cubase to Max, you have to:
- configure Cubase to use VMIDI1 (for example) as the outgoing port
- configure Max to use VMIDI2 as an ingoing port
- create a VIrtual MIDI Cable between VMIDI1 and VMIDI2 (use the CopperLan Manager's "Connect" tab)

A MIDI to CopperLan bridge is by definition a split point, and a CopperLan to MIDI a merge point.So there is no more need for a MIDI port to be multi-client. It's very easy to split incoming MIDI from a not-multi-client physical MIDI port to several endpoints, and merge MIDI in the opposite way.

/Phil
CopperPhil
 
Posts: 480
Joined: 30 Mar 2011, 15:02
Location: Brussels

Re: How to communicate between internal programs

Postby bronswerk » 07 Dec 2013, 19:27

I'm running circles here. What ever application was started first (Cubase 7 or Max 6) it will receive midi signals coming from VMidi, the latter application doesn't. In the case of Max 6 started last, I'll even get error message from Max saying: "midi_mme: error 1 opening midi input device VMidi 1", and this for every other VMidi port I created. When Cubase was started last, I don't even get error messages at all, it simply doesn't show any midi signal receiving. Am I something missing here?
bronswerk
 
Posts: 11
Joined: 07 Dec 2013, 15:10

Re: How to communicate between internal programs

Postby CopperPhil » 07 Dec 2013, 20:07

Ha ok, so Cubase and Max are both receivers, right?

So they must use two different VMIDI ports... Set-up Cubase to listen VMIDI1 and Max to listen VMIDI2, then add VMIDI1 and VMIDI2 to the destination set of the port related to the MIDI stream source (circles?)

/Phil
CopperPhil
 
Posts: 480
Joined: 30 Mar 2011, 15:02
Location: Brussels

Re: How to communicate between internal programs

Postby bronswerk » 07 Dec 2013, 20:18

Forget about routing from one program to another: if both programs listen to VMidi 1 then both programs should indicate receiving midi signals, right? If only one program is running, it's not a problem, it works. Either Cubase or Max receives midi, but as soon as another program is started, that other program (the last one) doesn't get any midi signal.
bronswerk
 
Posts: 11
Joined: 07 Dec 2013, 15:10

Re: How to communicate between internal programs

Postby bronswerk » 07 Dec 2013, 20:19

Didn't saw your last message. One moment...
bronswerk
 
Posts: 11
Joined: 07 Dec 2013, 15:10

Re: How to communicate between internal programs

Postby CopperPhil » 07 Dec 2013, 20:26

bronswerk wrote:Forget about routing from one program to another: if both programs listen to VMidi 1 then both programs should indicate receiving midi signals, right? If only one program is running, it's not a problem, it works. Either Cubase or Max receives midi, but as soon as another program is started, that other program (the last one) doesn't get any midi signal.


Yes indeed, it's normal because our VMIDI driver is not multi-client... ;) We already spent a lot of time to get this driver stable and working fine on any version of Windows, then we decided to not try making it multi-client because it's not necessary. If you're using several MIDI software, a good practice would be to assign VMIDI1 to Cubase, VMIDI2 to Max, VMIDI3 to... and so on. Then you can wire virtual MIDI cables or set-up enhanced channel basis patching through CopperLan.
CopperPhil
 
Posts: 480
Joined: 30 Mar 2011, 15:02
Location: Brussels

Re: How to communicate between internal programs

Postby bronswerk » 07 Dec 2013, 20:29

ok, here's my routing:

keyboard midi out > AL-88 port 1 in
AL-88 Midi In 1 > Midi/VMidi 1 (for Cubase) and
AL-88 Midi In 1 > Midi/VMidi 2 (for Max)

That's all, right? Still no luck, what ever program was first will receive midi, the last one not.
bronswerk
 
Posts: 11
Joined: 07 Dec 2013, 15:10

Re: How to communicate between internal programs

Postby CopperPhil » 07 Dec 2013, 20:46

Your CopperLan set-up is correct and should work...

This is very strange, it seems like Cubase and/or Max is systematically opening all MIDI ports...

You can use MIDI-Ox to check this assumption. We are sure that Midi-OX is just opening the selected MIDI ports, nothing else. So:

- Open MIDI-Ox, make it listening VMIDI1 only, check if it receives messages, open Max, make it listening VMIDI2 and check what's going on.
- close all applications then,
- Open MIDI-Ox, make it listening VMIDI2 only, check if it receives messages, open Cubase, make it listening VMIDI1 and check what's going on.

Then if Cubase and Max are receiving message in both cases, it means that one of them is opening all MIDI ports.
CopperPhil
 
Posts: 480
Joined: 30 Mar 2011, 15:02
Location: Brussels

Next

Return to General

cron