GNOME Bugzilla – Bug 336766
BseWaveOsc doesn't restart when the user presses play again
Last modified: 2007-11-15 21:51:00 UTC
Please describe the problem: When BseWaveOsc is used in a synthesis (standalone) network and the user presses play while the network is already playing, the wave oscillator doesn't restart. Steps to reproduce: Actual results: Expected results: Does this happen every time? Yes. Other information:
Created attachment 98937 [details] Testcase My initial assumption that only BseWaveOsc needs to be fixed was wrong. I am attaching a test case showing that the ADSR doesn't get a retrigger either if the user hits play again, after doing so once. Neither the ADSR code nor the BseWaveOsc code seem to be responsible. Something about the way BseProject is handling re-play seems to be wrong.
Created attachment 98987 [details] [review] Patch which fixes BseWaveOsc retriggering Tried and tested (also passes make report) patch which fixes the problem.
(In reply to comment #2) > Created an attachment (id=98987) [edit] > Patch which fixes BseWaveOsc retriggering > > Tried and tested (also passes make report) patch which fixes the problem. thanks, looks good, please apply.
Applied. Mon Nov 12 21:00:10 2007 Stefan Westerfeld <stefan@space.twc.de> Fix module reset when user presses play again, bug #336766. * bseproject.c (bse_project_stop_playback): When this method is called, we need to dismiss the contexts of the BseSuper classes we previously created in bse_project_start_playback.