Re: [linux-audio-dev] MVC - multiple CV

From: Chris Cannam <cannam@email-addr-hidden-day-breakfast.com>
Date: Sun Oct 09 2005 - 19:42:08 EEST

[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
Received on Sun Oct 9 20:15:09 2005

This archive was generated by hypermail 2.1.8 : Sun Oct 09 2005 - 20:15:09 EEST