Page 1 of 1

CopperLan and networking

PostPosted: 08 Sep 2013, 15:44
by systex
What does the networking portion in CopperLan do? Sending plaintext midi data?

I wonder is it possible for CopperLan to transmit plaintext midi data sent by keyboard controller to a nodeJS server?

Re: CopperLan and networking

PostPosted: 08 Sep 2013, 16:22
by CopperPhil
Hi,

Well, CopperLan is a networking solution with far more capabilities than MIDI.

However CopperLan is full compatible MIDI. MIDI messages are translated in CopperLan messages in order to allow CopperLan gear controlling from standard MIDI keyboard for example. In the other hand CopperLan messages can be translated to MIDI if needed. MIDI<->CopperLan bridging is automatically done when you are using VMIDI ports, or when you setup CopperLan to take control of MIDI devices.

So yes you can inject MIDI at one side, and get it at another side anywhere on the network.

I just see that some MIDI modules exist for nodeJS. Since the CopperLan<->MIDI ports are provided through the operating system, I guess it should work. So you should be able to:
- connect a MIDI keyboard on a computer,
- configure CopperLan to take control of this keyboard,
- connect the keyboard's CopperLan port to a VMIDI port in the computer hosting nodeJS (which can be different than the computer hosting the keyboard)
- use this VMIDI port in a nodeJS application just like any other MIDI port.

/Phil

Re: CopperLan and networking

PostPosted: 09 Sep 2013, 14:54
by systex
So yes you can inject MIDI at one side, and get it at another side anywhere on the network.


I'm a little lost on this. Could you explain more?

I would still prefer to use CopperLan <--> Server receiver without the NodeJS 3rd party midi method, making it available for different types of server e.g. Apache, Java webserver, .Net, etc. Is it possible?

Re: CopperLan and networking

PostPosted: 09 Sep 2013, 15:33
by CopperPhil
Well.... I mean that with CopperLan you can bind any available MIDI ports on the network. The "MIDI source" can be for example:
- a USB MIDI in interface: in this case you have to use the CopperLan Manager (Edit tab, MIDI, MIDI to CP interface) to activate port managing by CopperLan, so the port related to your controller appears on the network
- a VMIDI port: useful if you want to send MIDI from a sequencer or a MIDI software controller
And the "MIDI target" can be for example:
- a USB MIDI out interface: in this case you have to use the CopperLan Manager (Edit tab, MIDI, CP to MIDI interface) to activate port managing by CopperLan, so the port related to your interface appears on the network
- a VMIDI port: useful if you want to send MIDI to a MIDI software
"MIDI source" and "MIDI target" can be located on different computers on the same LAN network! CopperLan is a LAN technology, not world wide web.

Finally CopperLan is able to manage any MIDI port present on the system, and offers virtual MIDI ports to allow existing MIDI software to send/receive MIDI data to/from any other port on the network.

So I don't know NodeJS, we have no experience in managing MIDI from such web technology. But if NodeJS is able to talk with standard MIDI ports (i.e. USB MIDI Controller or synth), it should be able to use the CopperLan's VMIDI ports too.

Re: CopperLan and networking

PostPosted: 09 Sep 2013, 19:09
by systex
That quite clear to me now. Thanks!