[Clam-devel] SMSSynthesis
Pau Arumi
parumi at iua.upf.edu
Tue Aug 7 07:43:01 PDT 2007
Answering both Greg and Xavier:
En/na Greg Kellum ha escrit:
> My reasons for thinking so are:
> One, I think one should program with the users in mind that don't know
> very much about how the application works, and such users won't know to
> look into the configuration dialog to disable two unused ports. And
> these two ports can make a significant difference in an application's
> performance. My own application runs 10% with those two unneeded IFFTs
> disabled.
I think we can safely require clam users (or NE users to be
precise) to know how to use ports, controls and configurations.
I mean, when a user want to use an algorithm he/she have to be
aware of its configuration parameters.
> Two, we have to keep in mind that CLAM is first and foremost a C++
> library for audio and music, and it's unlikely that a programmer looking
> at the API for SMSSynthesis would know to navigate through
> SMSSynthesis's nested configuration elements to set the right flags to
> disable those two out ports.
The same goes for the C++ developer/user. The processing's config
is something the developer must have in mind. However, I think
nested configurations are evil (at least in cases where root
parameters have to be synchronized with embedded parameters). In
this case, the "Disable Residual IFFT" should clearly be a root
parameter. Why shouldn't it?
Summing up I'm slightly more inclined towards the
configurable-ports solution because I'm more concerned about
consistency than ease of use. Given a processing, a user should
know whether it's possible to disable part of it and, if so, how to
do it. In other words, to be consistent, the
optimize-unconnected-ports should be in every processing with
multiple out-ports. Though it was easy to do for SMSSynthesis it's
overkill for a general solution.
In a way, it reminds me the current spectrum refactoring: by doing
spectrum conversions explicit, processings are now much simpler,
and the user is aware of what non-functional issues are going on.
Now we'd like to hear David's opinion :)
pau
More information about the clam-devel
mailing list