[linux-audio-dev] DSSI (Disposable Soft Synth Interface) 0.4

Alfons Adriaensen fons.adriaensen at alcatel.be
Fri Jul 16 08:11:45 EDT 2004

On Fri, Jul 16, 2004 at 12:52:28PM +0100, Chris Cannam wrote:
> I'd like to announce a new version (numbered 0.4) of the DSSI synth 
> plugin API proposal.

>From the RFC:

> The host does not send updates to the UI for port changes that the
> UI itself initiated; likewise the UI must not send port changes back
> to the host that the host itself initiated.

While the second part of this surely makes sense, I'm not so sure 
about the first. In MCV terms, the UI is both a C and a V. With the
definition above, the host assumes that both parts 'know each other'.
This may be the case for a UI, but in general this will not always
be true. Even in the case where it is, the following should be

- The design of the UI is probably simplified by separating the C and V

- In some cases, the host may refuse to do what the UI asks for, so the
  UI should not simply assume that it knows the new state after a command.

- If the UI has its own internal path to update V from the actions taken
  by C, events may arrive at V out of order, for example:

  1. the host sets parameter P to value X, and sends a message that
     it has done so.
  2. the UI sets P to Y, and displays Y.
  3. the message from 1. arrives, the UI now displays X while the
     actual value is Y.

More generally, not reporting the results of external commands makes
any extension to multiple C or V impossible.


More information about the linux-audio-dev mailing list