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

Natanael Olaiz nolaiz at gmail.com
Wed Jul 16 01:58:05 PDT 2008


 * 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.

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??.


Regards,
Natanael.

[1]
typedef struct
{
   QString command;
   QStringList arguments;
   QString workingDir;
} CommandAndEnvironment;

typedef QList<CommandAndEnvironment> CommandsAndEnvironmentsList;



El 07/15/2008 12:54 PM, Natanael Olaiz escribió:
> El 07/15/2008 07:22 AM, Pau Arumí escribió:
>> On dt, 2008-07-15 at 05:42 -0300, Natanael Olaiz wrote:
>>  
>>> And a new one, using setWidget instead addWidget for TaskRunner.
>>>
>>> BTW, I realize that there is a bad name on MainWindow: the general 
>>> named "runQueuedCommands", when the process finish calls the 
>>> particular named "compilationFinished(bool)".  I'll correct later. 
>>> Do we will need the general runQueuedCommands? or I can just rename 
>>> to a specific runCompileCommands?
>>>     
>>
>> I like the functionality, now only the first compilation takes time. :-)
>>   
> That is if you use 'make', if not is the same. So... we can require to 
> have Faust installed?
>
>> Commit it of course.
>>
>> Is the wiki page updated (with the install faust step)?
>>   
> Oops... here is my answer :-)
>
> No, the wiki is not updated.
>
> Now I'm going to the university. When I return I'll change and rename 
> the 'particular' slot to be a general one, commit and update the wiki.
>
>
>> P
>>
>>
>>
>>   
>
>





More information about the clam-devel mailing list