[linux-audio-dev] MVC - multiple CV

Chris Cannam cannam at all-day-breakfast.com
Sun Oct 9 16:42:08 UTC 2005


[I replied to this at the time, but I think my reply ended up in the 
moderation black hole for some reason I don't quite understand]

On Tuesday 04 Oct 2005 00:59, Paul Davis wrote:
> > It has been stated that the model should send updates to
> > all clients except the one that originated a parameter change.
>
> never seen that stated.

DSSI explicitly requires this behaviour for the host sending updates to 
plugin UIs.  That requirement was the subject of some discussion at the 
time (see http://lalists.stanford.edu/lad/2004/07/0263.html in which 
Fons takes the same side of the debate as at present and Steve Harris 
argues for the other side).

Dave Robillard wrote:
> Generally when
> given the choice I'll choose complexity in the client over complexity 
> in the engine any day.

This is exactly the opposite of what DSSI aims for.  The principle 
(which may or may not be correct) is that the host only has to be 
written once, and a bit of pain in the implementation won't prevent 
people from doing it, whereas the plugin UIs have to be written many 
times by lots of people and should therefore be made simpler at the 
cost of extra complexity in the host.

FWIW I think the arguments on both sides have quite a bit of merit.

One irony is that at the time of the above discussion, it would actually 
have been impossible for any DSSI host that used liblo to properly 
implement the requirement because liblo had no way to commnuicate the 
origin of an incoming message.  We didn't notice that until a couple of 
months later when we discovered the reference host didn't work right.  
It's fixed now.

> but, as i said, i am trying to phase this out in favor of a model
> where there are no changes to the View until the Model sends a
> notification. this is not easy to do

and impossible where the view is a hardware fader, presumably -- as a 
DSSI UI could be.


Chris



More information about the Linux-audio-dev mailing list