On Sat, 25 Oct 2014 22:37:54 +0400 Andrew Deryabin <andrewderya...@gmail.com> wrote:
> 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 Gave this a first test this evening. Timing, processor usage and actual sound seem OK so far but we have problems :( Launching from a terminal window (which I always do when testing) I see a segfault when Yoshi quits. This doesn't happen with any of the previous versions. What is worse, is when trying to load some patch sets Yoshi crashes out with a segfault :( When building up one particular sizeable patchset, 1 part at a time. If you then save it, you get a lot of xruns, and for me, this set can't be loaded (but still loads perfectly well in the earlier versions. The individual parts (in order) are: Another Choir Sweep Rushes Silver Bell Ghost Choir Solo Prophesy Voyager Rushes Clarinet (no number 10) Soft Organ Ethereal Far Reed Smooth Saw Wet Brass (no number 16) Damn, just found an even more serious one. Trying to load "Sweep Rushes" into part one, form a 'cold' start segfaults. "Sweep Synth" does it too - Hmm both use swept filters. Getting closer... Take "Sweep Rushes" out of that patchset (using an older version of Yoshi and it will load in the latest one! Now when I built up that patch set, the order I *actually* loaded the parts was such that "Sweep Rushes" was the 8th one I loaded, but into part 2. This is because I was working from the order that they are listed in Rosegarden. I can only guess there are some memory issues causing all of this. -- Will J Godfrey http://www.musically.me.uk Say you have a poem and I have a tune. Exchange them and we can both have a poem, a tune, and a song. ------------------------------------------------------------------------------ _______________________________________________ Yoshimi-devel mailing list Yoshimi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/yoshimi-devel