Hi LADs
This is an invitation for all those who are interested in the Control Chain system, the
MOD approach to external hardware controllers.
The Control Chain interface was conceived with the LV2 control ports properties in mind.
It tries to dis-abstract the LV2 Control structure in tangible (and material) form.
The first purpose of the Control Chain was to connect the MOD and its external
peripherals. The MIDI system is very generalistic and we didn’t want to design a “MIDI
Clone”. As the LV2 standard enables the developers to add important metadata to describe
the Control Ports, the MOD platform makes use of all this info to offer a good user
experience to the musicians.
A good example is the footswitch. The Control Chain footswitch has built in its firmware
different behaviours depending on port properties. It alternates the state of toggles
controls, it can trigger an event, it can run the items of an enumeration list and it can
also measure time and offer TapTempo for time based units.
All this is accomplished with the same physical actuation - the pressing of the button -
but according to the control that has been addressed to it. The GUI decides which actuator
it offers the user for each of the Controls.
The physical interface of the Control Chain devices is an RS-485 full-duplex serial line
running at 1Mbit/sec. Currently up to eight devices can be daisy chained and by use of
the RJ-45 cable we also power the devices ( 1 pair for input,1 for output and 1 for power
supply).
After some development we came to the conclusion that such a protocol could be extended
for virtual devices in the GUI as well and this would make the development of plugins
interfaces much easier.
The reason for sharing this with the Linux Audio community is to involve as much people as
possible in electing the needed features for the plugins.
At this current state, the Control Chain supports only Input ControlPorts. People have
been asking about the Tuner and other plugins that have Control Outputs.
So we’re opening up the discussion to set the requirements and possibilities that shall be
implemented.
The discussion is to happen on our mailing list:
http://portalmod.com/cgi-bin/mailman/listinfo/developers
<http://portalmod.com/cgi-bin/mailman/listinfo/developers>
and at the #portalmod IRC channel @ freenode.
Hope to see you all there
Kind regards
Gianfranco
The MOD Team