[Sc-devel] Rethinking MIDI

Stefan Kersten sk at k-hornz.de
Mon Nov 12 11:54:57 PST 2007


On 09.11.2007, at 15:59, nescivi wrote:
> In the past, there have been some (justified) complaints, that  
> currently it is
> not possible to send MIDI to the second (or third, fourth, etc...)  
> output
> port of SuperCollider, without having connected this port to another
> application. (connections can be made later outside of the app,  
> e.g. with a
> patchbay in QJackCtl)
> While on OSX this problem maybe does not occur (I assume that a  
> port has to be
> connected before it can be used?), but on Linux it is a problem.
>
> On Linux creating a port in the ALSA interface and connecting it  
> are two
> different actions, and they should be treated as such within SC.
>
> Question is how to appropriately change this behaviour, without  
> breaking
> current code, and keeping things crossplatform compatible...
>
> I could imagine creating some intermediate classes on Linux:
> MIDIClientInput and MIDIClientOutput, which are sclangs own inputs and
> outputs. These can then be connected to a MIDIEndPoint.
> MIDIOut should then also be able to send to a MIDIClientOutput, as  
> well as to
> a MIDIEndPoint.

i'm not sure if that's what you're after, but fwiw on linux the  
output port has (should have) the (undocumented?) property that when  
the destination uid is zero, events get sent to all ports connected  
to sclang's out port (i.e. you don't have to specify an explicit  
destination).

> I think adding primitives _ConnectMIDIOut and _DisconnectMIDIOut  
> could be
> useful in this regard.

would these be for connecting alsa apps to sc's out ports without the  
use of an external patchbay? this could be really useful ...

<sk>



More information about the Sc-devel mailing list