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

Reply via email to