Hi everybody, I read a few emails on this mailing-list about adding other plugins to gregorio (a MIDI output plugin for instance) and I am pretty sure Elie can come up with many other plugin ideas :)
The thing is, I think the current plugin structure has two major flaws: - a plugin author must modify gregorio core to get one's plugin loaded - plugin handling is done in gregorio-utils.c instead of libgregorio which makes usage of gregorio engine in, let's say, a third-party GTK gui app impossible Here is a series of patch adding a brand new plugin sub-system to libgregorio and showing how plugin should be modified to comply with it. The main design principles are: - libgregorio provides plugin loading/unloading functions - a plugin is described by a structure containing a plugin_info structure and the actual LTDL handle. This plugin structure is totally opaque to the outside world. Only the plugin_info structure can be accessed through a call to gregrorio_plugin_get_info() - the plugin_info structure holds data such as plugin name, plugin author, plugin type (input or output) and pointers to the write or read functions I decided not to push it to the current trunk or a new branch since it involves quite heavy changes to the current codebase. I wanted to ask your opinion before getting any further. Please note that this is still a work in progress ; I am still working on gregorio-utils.c. Cheers, -- Jérémie _______________________________________________ Gregorio-devel mailing list [email protected] https://mail.gna.org/listinfo/gregorio-devel
