Hi, All!

     I've recently merged my changes to master branch after a day of 
testing. Now yoshimi code is free of global variables and supports 
multiple instance creation. This feature is needed not only for proper 
lv2 plugin instantiation support, but makes code more c++'able :)

I've commented all modifications in changelog under yoshimi-2.4.x 
section. Here is a copy:

- Moved all global variables to per-instance ones.
- Implemented multi-instance support:
   Updated all constructors to take SynthEngine * as last argument and 
store it
   in synth member variable. "Runtime" global var (of type Config*) and 
"guiMaster"
   (of type MasterUI *) are moved to SynthEngine and accessible via 
SynthEngine::getRuntime()
   (which returns reference to per-instance Config class) and 
SynthEngine::getGuiMaster()
   (which creates, if not already created, and returns per-instance 
MasterUI class).
   PresetsUI class instance is moved from global var to MasterUI class 
member var
   and accessible via synth->getGuimaster()->getPresetsUi() method from 
UI classes.
- Jack client instances will be named on per-instance basis.
   Default one is "yoshimi" + "->optional tag" (as before),
   next is "yosmimi-<optionoal tag>-<instance number>" starting at "1".
   This may never be used (but who knows? Anyway, this is the more 
proper way),
   because the default behavior for the yoshimi app is to create one global
   SynthEngine instance to go on with it till exit. From the user point 
of view
   nothing changed.
- Gui class destructors made virtual to make recent compilers happy
- Started initial LV2 plugin interface implementation


Regards,
Andrew

------------------------------------------------------------------------------
_______________________________________________
Yoshimi-devel mailing list
Yoshimi-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/yoshimi-devel

Reply via email to