[Clam-devel] COMMIT 11822 - Re: Faust support - plugins dynamic reloading

David García Garzón dgarcia at iua.upf.edu
Sun Aug 10 04:50:50 PDT 2008


What do you mean by 'static automatic loading'? Why it doesn't work?

Plugins as the libraries are based on static objects that get registered on 
load automaticaly (Registrators). I see hard not to rely on that system. If 
you are talking about the loader that loads the libraries we could have some 
flexibility. Of course, i would prefer do all that as is done now. It depends 
on the concrete problem you are facing, so, i would like you to give me more 
details.

David.


On Diumenge 10 Agost 2008, Natanael Olaiz wrote:
> David: could I change the 'static' automatic loading of clam plugins to
> one like the faust-ladspa? The initialization of the static keeps opened
> the libraries on background a lot of time, making that your idea doesn't
> work.... Loading specifically on main.cxx (NE) seems to be working...
>
> Regards,
> Natanael.
>
> El 08/05/2008 02:45 PM, David García Garzón escribió:
> > El Tuesday 05 August 2008 09:31:44 Natanael Olaiz va escriure:
> >> El 08/04/2008 07:12 AM, David García Garzón escribió:
> >>> [...]
> >>> My suggestion:
> >>> * First move all dl_ calls to the base RunTimeLibraryLoader primitives
> >>> (see LoadLibraryError and FullyLoadLibrary) so that we can encapsulate
> >>> the platform dependant bits.
> >>> * Add in the same class some static structure that holds the list of
> >>> libraries.
> >>> * Add also a static state that holds the currently loading library and
> >>> set it and unset it when appropiate.
> >>> * When registering a factory entry check that state and if set,
> >>> populate the structure or just add some metadata.
> >>> * The factory registrator destructor should remove the processing type
> >>> from the factory (this should be TDD) in order to allow unloading the
> >>> library.
> >>>
> >>> I am not sure whether this should work. But, anyway, be carefull,
> >>> remember that we are in release!!! The plugin system cannot be broken!
> >>
> >> David: you was totally right. Trying to do just a "simple regenerating
> >> of all plugins", I understand your suggestions reasons.
> >>
> >> Do you think that is safer to keep that out of the release? For now I
> >> prefer to release as is (and maybe the same for the ladspa compiled
> >> networks), like a workaround... Is not totally safe, but the faust
> >> reloader works for the user, and I could continue this after the release
> >> and focus my work on subnetworks.
> >>
> >>
> >> BTW, I apologize for break up the loading of clam plugins on the SVN for
> >> a few hours. :-/
> >
> > Keep developing, but just be extra careful, i will send a pencils up for
> > the release before starting generating the packages. just, if you do a
> > commit you are not sure that is going to be valid, think twice and warn
> > us.
> >
> > David.



-- 
David García Garzón
(Work) dgarcia at iua dot upf anotherdot es
http://www.iua.upf.edu/~dgarcia
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20080810/0f77de03/attachment-0003.pgp>


More information about the clam-devel mailing list