Hi, Will! I,ve modificartons to multi instance windows. Now first window exits program. Others simply deregister synth, frees instance resorces and closed. 31 окт. 2014 г. 2:36 пользователь "Andrew Deryabin" < andrewderya...@gmail.com> написал:
> 31.10.2014 02:03, Will Godfrey пишет: > >> On Thu, 30 Oct 2014 23:47:01 +0400 >> Andrew Deryabin <andrewderya...@gmail.com> wrote: >> >> Found the problem! >>> >>> It seams, that there is a must have operation before every initstate_r >>> function: >>> >>> >>memset(random_state, 0, sizeof(random_state)); >>> >>memset(&random_buf, 0, sizeof(random_buf)); >>> if (initstate_r(synth->random(), random_state, >>> sizeof(random_state), &random_buf)) >>> >>> adding these 2 first operations solved the problem. How it worked >>> before? don't know what to say... :) >>> I've added those 2 memsets before every initstate_r call (in >>> SynthEngone.cpp and OscilGen.cpp) >>> >>> >>> Will, can you update and retest again? >>> >>> Regards, >>> Andrew >>> >> Well that was fun :) >> >> Played about with just one instance first with a quite complex Rosegarden >> file >> driving it, then opened a second instance reloaded recent parameter sets >> in >> each and ran another Rosegarden file, then while that lot was running >> opened a >> third instance and linked to a MIDI keyboard and played along to the >> other two. >> >> Started again from scratch bringing up a second instance *after* loading >> a big >> parameter set, and ran that lot from yet another Rosgarden file. This one >> pushes a 2 core AMD machine to over 70% on both cores. At this point GUI >> response got very slow, but that was not surprising. I was also opening >> and >> closing panel windows and enabling/disabling parts, and changing routing >> etc. >> >> Not a single xrun to be seen or heard! >> > That's very good! Thank you for testing. Now I can move on. The next plan > is to make yoshimi reuse note objects and not construct/destruct them (with > expensive memory allocation calls) on every note-on/note-off message. This > will make yoshimi much more RT-friendly. > >> >> The only point now, is about closing down instances. It seems we can't do >> it >> unless we close the 'master' one. Can this be done? >> > > Yes, of course. Not a problem. (frankly speaking I've made it as a > "feature", so it can be easily altered). > > >> I'd like a few other people to give this a run though for a while, then >> if no >> other problems turn up push this out (along with my bank GUI updates) as >> a minor >> point release 1.2.5. >> > > Ок, I like this idea :). > > I'd like to hold back on 1.3.0 until we have LV2 complete and tested. How >> does >> that sound to you? >> >> I think that it's right. Good lv2 support is practically impossible > without sample-accurate midi timing, but this requirement leads to > eliminating all memory allocating calls, various locking calls and disk io > calls from yoshimi dsp/synth functions used for sound generation. Now it's > implemented as a separate non realtime thread and optimized for live > performance, not for offline rendering. These future modifications must be > very carefully tested, so I will make modifications to one object per > commit. It'll not be easy, but it's worth to be done. Standalone app will > also benefit from this feature (as it can reduce cpu load). When this thing > is done there will be a straight way to 1.3.0, I think :) > > Regards, > Andrew > > > >
------------------------------------------------------------------------------
_______________________________________________ Yoshimi-devel mailing list Yoshimi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/yoshimi-devel