-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ignore release frames for single-streamed instruments #3900
Conversation
Getting there. The issue is still present for cutoff and resonance. |
7878331
to
f7af370
Compare
True. There was a mistake and now fixed. |
If m_instrumentTrack->instrument() is NULL, there's no reason to return non-zero value in InstrumentSoundShaping::releaseFrames(). And such situation shouldn't occur anymore.
@zonkmachine Now everything is done. Could you re-test it now? |
Now release doesn't seem to work. |
Yes. I put |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Testing: 👍
Just got a crash around where you're coding here but on my 'automation' branch (which doesn't touch anything there, so basically stable-1.2).
|
What were you doing when it crashed? |
I think I pressed either of the Open existing project and Open Recenty opened projects buttons while looping a track. |
I think it's a separate issue and very rare one. It is "dereferencing a deallocated pointer" problem. There are several approaches to fix it. I guess it could be fixed easily if needed. |
OK. Open a separate issue for it? |
I'll merge it after about 10 hours.
Well, I don't think that's a major bug. Anyway, you may do so if needed. |
No separate issue. If you search the site you get this discussion anyway so it's already documented. |
Where can I find that? |
I mean when you search for a part of the backtrace. Like this. |
Though I think the ctash is not really relevant to this PR, fixing that isn't harmful. I suggest fixing it later, but it can be done now if needed. |
You call the shots here. Fixing later is fine by me. |
Got another crash like the one in #3900 (comment) when poking the arpeggiator release time in #4355. I was just listening to a four beat groove when it took a dive. By judging from the backtrace it crashed when looping back to the beginning.
Full backtrace in gist here. |
@zonkmachine Do you remember which instrument was playing? Or do you know steps to reproduce? |
No steps to reproduce. It's just one kick and an arpeggiated lb302 running over 4 beats. I'll try and see if I can make it crash again. I'll leave it up and running until something happens. Just one instrument so there'll be no doubt on the matter. |
8 hours and not a glitch. I think I need a plan for testing this on a larger scale. |
Let InstrumentSoundShaping::releaseFrames() ignore release frames for single-streamed instruments. And make it return 0 if m_instrumentTrack->instrument() is NULL.
Fixes #3899 by letting
InstrumentSoundShaping::releaseFrames()
checkInstrument::IsSingleStreamed
flag.There is one further option, disabling volume envelope when a single-streamed instrument is dropped(or even loaded). However, this change seems enough.