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

Reply via email to