Commit 11609: TaskRunner on NE for Faust compilation (Was: Re: [Clam-devel] Re: faust status)

Pau Arumí parumi at
Wed Jul 16 06:52:06 PDT 2008

On dc, 2008-07-16 at 05:58 -0300, Natanael Olaiz wrote:
> * TaskRunner: added to the project. Improvement of Annotator/TaskRunner 
> with queue commands support.
>  * MainWindow:
>         - included TaskRunner
>         - added private method runQueuedCommands to create a TaskRunner 
> instance for run processes
>         - added public slot endCompilationFaust (connected to 
> TaskRunner::taskDone signal on on_action_Compile_Faust_Modules_Triggered 
> TaskRunner instance)
>         - on_action_Compile_Faust_Modules_Triggered now execute 'make' 
> in 'examples' dir for compile plugins, instead individually (needs faust 
> installed)
>         - on_action_Compile_Faust_Modules_Triggered now use TaskRunner 
> to run the processes
>         - Commented the code for individual .dsp compilation on 
> on_action_Compile_Faust_Modules_Triggered
>  * RunTimeFaustLibraryLoader: commented GetCompilePluginCommands (used 
> on individual faust compilation)
> Sorry for the late commit. I was trying to merge both faust plugins 
> compilation methods (to allow use with, or without faust installed), but 
> it complicates very much the code, so I commented the individual 
> compilation (and related code previously added on 
> RunTimeFaustLibraryLoader). If you agree to just use 'make' (with Faust 
> installed, and still needing the 'examples' directory with write 
> permissions and makefiles on '~/.faust' or '$FAUST_PATH'), I'll delete it.

I think that using the provided "make" and the installed binary is the
right thing to do. Go ahead and delete.

> Now MainWindow have runQueuedCommands(), which can be used to call any 
> other commands.
> Parameters (the names could be better...):
>     - TaskRunner::CommandsAndEnvironmentsList & commandsQList  (QList 
> with commands, arguments, and dirs -see [1]-)
>     - const char * slotName (the name of the slot to connect with the 
> taskDone signal)
>     - bool stopOnError=true (stop the queue with an error)
> The added TaskRunner is compatible with the Annotator actual one 
> ('TaskRunner::run()' is overloaded to use for just one command, or the 
> 'CommandsAndEnvironmentsList'). Can be used links on svn??.

This is nice! I'm sure it will be useful for the forthcoming
network->compiled-plugin features.
About the reuse problem. If both Annotator and NE uses a class, this
should live in CLAM/. 
David have more experience in the structure of UI classes in CLAM/. So
how would you do it, David?


More information about the clam-devel mailing list