[linux-audio-dev] DSSI (Disposable Soft Synth Interface) 0.4
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