We've mostly completed the first stage of the GMPI Prototype plugin.
The aim being to design the low level of the GMPI API. i.e. how the dll
loads, how the host calls functions in the plugin. Also to ensure this
mechanism works on at least Windows, Linux, and Mac.
It's worth mentioning that the GMPI prototype is only one possible
way to write a plugin. The implementation details are not as important
as the interfaces, the API between host and plugin. The API is the
*real* GMPI.
From that point of view we have so far designed only three things. A
binary interface, The factory, and the basis of the Plugin (the plugin
has no real functionality, only two placeholder functions). COM stuff
omitted for clarity...
struct IGMPI_FactoryVtable
{
GMPI_RESULT (*CreateInstance) ( struct IGMPI_Factory *, const
GMPI_GUID *, void **);
};
struct IGMPI_PluginVtable { GMPI_RESULT (*Placeholder1) ( struct IGMPI_Plugin *, int32_t); GMPI_RESULT (*Placeholder2) ( struct IGMPI_Plugin *, int32_t *); };
Why did we "just start coding" without a design?
So what is the best order, broadly speaking, to proceed?
MIDI, Audio, Parameters, Events, GUI etc being your building blocks..
Opinions?
Jeff McClintock
---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission.
Archive: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe