The MidiShare LAN Driver provides low latency
real-time network communication to MidiShare client applications.
This communication is restricted to a local array network. Optimized
transmission assumes that the network is mainly dedicated to musical
transmission.
The MidiShare LAN Driver is sleeping as long as no other MidiShare client application is running. While in sleeping state, the station won't be visible by other stations on the network. The driver wakes up when the first MidiShare client application starts.
At wake up time, the driver automatically recognizes remote hosts on the network (provided that their drivers are not in sleeping state). These hosts will appear as MidiShare slots.
Real-time transmission of the MidiShare events stream relies on 2 mechanisms :
- a grouping period : the period during which events are accumulated before being transmitted on the network. It is intended to optimize network transmissions.This parameter controls the transmission behavior.
- a maximum latency : represents the maximum transmission time (from sender to receiver) allowed to ensure a correct time rendering of the transmitted events. It is intended to compensate for the network latency and the transmission time variations. This parameter controls the receiver behavior.
The total delay introduced by the network transmission is equal to the grouping period + the maximum transmission delay.
These parameters can be adjusted using the msLANDriver.ini file.
The Net Params section :
- UDP port : represents the udp port number. Default value is 4950
- Grouping time : represents the grouping period (see above). Default value is 10 mls.
- Maximum latency allowed : (see above). Default value is 10 mls.
The 'Hosts input connections' section :
written by the driver, this section contains IP numbers followed by a list of ports numbers representing input ports connections. When the corresponding host appears, these connections are restored by the driver. Uses the msDriver application to modify the connections state.The 'Hosts output connections' section :
written by the driver, this section contains IP numbers followed by a list of ports numbers representing output ports connections (see Hosts input connections).
The MidiShare LAN Drivers is part of the MidiShare project. It has been developped by the Grame's Computer Music Research Laboratory, in collaboration with the company Mil-Productions.