The Procedures
Rules and procedures are complementary to the protocol definition.
The role and benefits of procedures are:
Kids Clothes
The role and benefits of procedures are:
- Realize full plug & play self-configuration
- Create a de-facto interoperability
- Hide the complexity and the abstraction
- Automate the processes wherever possible
- Offer validated routines for typical tasks
- Call everything by names not numbers
- User feedback - Warning messaging system (missing peripherals, battery low, overheating, etc.)
- Display sharing
- Unified storage system
- Remote editing (establishing links, modifying named parameters and triggering actions)
- Data querying (local use/display of remote information)
Procedures as turnkey code
Usually, implementing procedures is part of the application coder job; this is not the case with CopperLan where these are available ready to use.Procedures are implemented as code routines:
- The network handling resides in the VNM.
- In every application (software or embedded), the CopperLan procedure code resides in the CHAI.
MIDI compatibility
Knowing that many users will want to combine MIDI and CopperLan, the need for a smooth integration was part of the initial requirements.
CopperLan has been carefully crafted to be technically compliant with MIDI.
- CopperLan accepts any MIDI message - all MIDI messages are converted into CopperLan messages to travel the CopperLan network.
- CopperLan can emulate any MIDI message - despite CopperLan being a more precise and richer messaging system, there is a simple mechanism to convert CopperLan to MIDI: the extraneous part of the CopperLan information is rounded or dropped if there is no direct equivalent MIDI messages that have no meaning or use in CopperLan are nevertheless converted so that they can be carried through the network to a MIDI destination. Within CopperLan, MIDI SYSEX messages become addressed and packetized ; this allows having several SYSEX flows to be active simultaneously in one setup and simultaneously feed different or multiple destinations and output ports (where they will be reassembled into plain MIDI sysex). Incoming MIDI clocks are converted to CopperLan clocks - as they become labeled, several clocks can coexist in one setup and simultaneously feed different destinations and output ports (where they will become MIDI clocks). When they are sent to a MIDI output, high precision CopperLan clocks are phase-adjustable (in both time directions) as they become MIDI clocks. This could prove useful to counteract delays in old MIDI equipment.