stop audio frequency instances when "stop all" is executed

pull/89/head
jmoenig 2019-04-29 19:09:56 +02:00
rodzic 303fa6bf82
commit 72843f8ee3
3 zmienionych plików z 11 dodań i 4 usunięć

Wyświetl plik

@ -75,6 +75,7 @@
### 2019-04-29
* optimized animation library
* Threads: stop audio frequency instances when "stop all" is executed
### 2019-04-28
* more helpscreens and bignum library update, thanks, Brian!

Wyświetl plik

@ -7,7 +7,7 @@
<script type="text/javascript" src="src/morphic.js?version=2019-02-07"></script>
<script type="text/javascript" src="src/widgets.js?version=2019-04-05"></script>
<script type="text/javascript" src="src/blocks.js?version=2019-04-11"></script>
<script type="text/javascript" src="src/threads.js?version=2019-04-27"></script>
<script type="text/javascript" src="src/threads.js?version=2019-04-29"></script>
<script type="text/javascript" src="src/objects.js?version=2019-04-28"></script>
<script type="text/javascript" src="src/gui.js?version=2019-04-27"></script>
<script type="text/javascript" src="src/paint.js?version=2019-02-22"></script>

Wyświetl plik

@ -62,7 +62,7 @@ StageMorph, SpriteMorph, StagePrompterMorph, Note, modules, isString, copy,
isNil, WatcherMorph, List, ListWatcherMorph, alert, console, TableMorph, Color,
TableFrameMorph, ColorSlotMorph, isSnapObject, Map, newCanvas, Symbol*/
modules.threads = '2019-April-27';
modules.threads = '2019-April-29';
var ThreadManager;
var Process;
@ -1903,11 +1903,11 @@ Process.prototype.doStopAll = function () {
if (this.homeContext.receiver) {
stage = this.homeContext.receiver.parentThatIsA(StageMorph);
if (stage) {
stage.stopAllActiveSounds();
stage.threads.resumeAll(stage);
stage.keysPressed = {};
stage.runStopScripts();
stage.threads.stopAll();
stage.stopAllActiveSounds();
stage.children.forEach(function (morph) {
if (morph.stopTalking) {
morph.stopTalking();
@ -1916,7 +1916,13 @@ Process.prototype.doStopAll = function () {
stage.removeAllClones();
}
ide = stage.parentThatIsA(IDE_Morph);
if (ide) {ide.controlBar.pauseButton.refresh(); }
if (ide) {
ide.controlBar.pauseButton.refresh();
ide.nextSteps([ // catch forever loops
nop,
function () {stage.stopAllActiveSounds(); }
]);
}
}
};