From adca548b639a893c4679a68346a8cb1dbdd330e5 Mon Sep 17 00:00:00 2001 From: StageGuard <1355416608@qq.com> Date: Sat, 5 Sep 2020 10:48:52 +0800 Subject: [PATCH] Update version 13 --- source/SkyAutoplayer.js | 26 ++++++++++++++------------ update_log.txt | 6 ++++++ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/source/SkyAutoplayer.js b/source/SkyAutoplayer.js index bb48d7b..d58eeb5 100644 --- a/source/SkyAutoplayer.js +++ b/source/SkyAutoplayer.js @@ -244,17 +244,11 @@ sheetplayer = { play: function(listener) { if(this.playing == true) return; this.playing = true; + this.thread = threads.start(function() { - while( - sheetplayer.playing && sheetplayer.currentNote < sheetplayer.noteCount - ) { - - if((sheetplayer.currentNote + 1) == sheetplayer.noteCount) { - sheetplayer.nextInterval = sheetplayer.notes[sheetplayer.currentNote].time - sheetplayer.notes[sheetplayer.currentNote - 1].time; - } else { - sheetplayer.nextInterval = sheetplayer.notes[sheetplayer.currentNote + 1].time - sheetplayer.notes[sheetplayer.currentNote].time; - } - threads.start(function() { + var executor = java.util.concurrent.Executors.newCachedThreadPool(); + var tragetRunnable = new java.lang.Runnable({ + run: function() { var gestureMap = []; sheetplayer.notes[sheetplayer.currentNote].keys.map(function(e, i) { gestureMap.push([ @@ -265,7 +259,15 @@ sheetplayer = { }); gestureMap = sheetplayer.toSource(gestureMap); eval("gestures(" + gestureMap.slice(1, gestureMap.length - 1) + ");"); - }); + } + }); + while(sheetplayer.playing && sheetplayer.currentNote < sheetplayer.noteCount) { + if((sheetplayer.currentNote + 1) == sheetplayer.noteCount) { + sheetplayer.nextInterval = sheetplayer.notes[sheetplayer.currentNote].time - sheetplayer.notes[sheetplayer.currentNote - 1].time; + } else { + sheetplayer.nextInterval = sheetplayer.notes[sheetplayer.currentNote + 1].time - sheetplayer.notes[sheetplayer.currentNote].time; + } + executor.execute(tragetRunnable); if(listener != null) listener(); java.lang.Thread.sleep(sheetplayer.nextInterval = Math.round(sheetplayer.nextInterval * sheetplayer.speed)); sheetplayer.currentNote ++; @@ -341,7 +343,7 @@ config = { skipImportLocalSheetTip: false, showFailedSheets: true, tipOnAndroidR: true, - currentVersion: 12, + currentVersion: 13, gitVersion: "", }, diff --git a/update_log.txt b/update_log.txt index f48a8f7..a36e2e6 100644 --- a/update_log.txt +++ b/update_log.txt @@ -1,3 +1,9 @@ +版本: 13 +更新时间: 2020.09.05 10:46 +更新内容: + * 改善:使用ThreadPool实现线程循环而不是持续创建新的线程 + * 改善:在Idle和Paused状态时也能显示当前倍速 + 版本: 12 更新时间: 2020.09.01 23:12 更新内容: