[Ardour-Dev] Questions & "All plugin on/off button" feature
paul at linuxaudiosystems.com
Wed Dec 5 09:30:25 PST 2012
On Wed, Dec 5, 2012 at 12:13 PM, Lecoq Maxime <maxime.lecoq.a at wanadoo.fr>wrote:
> Hi everyone,
> First, congratulations for your work on Ardour. We are two computer
> science french student at the University of Caen. In the course of our
> studies (year project) we are working on the Ardour development. For now,
> we are trying to implement the "All plugin on/off button" feature.
> We had some questions to ask you:
> - First, can we be intrusive in the code structure ? For example, in the
> case of the "All plugin on/off button" feature, we need to make the link
> between MixerStrip and ProcessorBox classes: we have to add an attribute in
> the class MixerStrip which points to its own ProcessorBox. Can we do that?
> Another solution is also possible but it's less smart: we could add a
> multimap to link a MixerStrip with its own "plugins". The first solution
> constrains us to change code in much parts of the code structure, so...
intrusive changes are the rule, not the exception. just do it. in this
particular case, i'm confused though, since MixerStrip::processor_box is
already a member.
> - Otherwise, it seems like Ardour is an c/c++ hybrid because some parts
> looks like writen in C/GTK+ coding style (void pointer, gui componants have
> a parent pointer, REGISTER?...)
void pointers are a part of C++ too. they do break type-safety, and we try
to avoid them except where the pointer is never "typed" (i.e. its value is
all that matters)
GUI components with parents is typical of most GUI toolkits.
REGISTER... is preprocessor stuff used to do things that are stupidly
cumbersome any other way.
> - Why the controller is in the view?
in most GUI programming, the controller and the view get combined. apple
have done some work that partially separates them, but its a bit of a wierd
hybrid. when the onscreen represenation of model state is the same thing
that the user interacts with in order to change the model state, there is a
fairly natural tendency to combine the controller and the view. its not
necessarily a good tendency, but its what we do (for now).
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Ardour-Dev