musicplayer: fix: playlist not advancing on intermittent mode

This commit is contained in:
minjaesong
2024-02-11 19:07:26 +09:00
parent 273e56cb35
commit 9c29cbb409
4 changed files with 9 additions and 5 deletions

View File

@@ -10,6 +10,7 @@ import com.badlogic.gdx.utils.JsonValue
import com.jme3.math.FastMath
import net.torvald.reflection.extortField
import net.torvald.terrarum.*
import net.torvald.terrarum.App.printdbg
import net.torvald.terrarum.audio.*
import net.torvald.terrarum.gameworld.fmod
import net.torvald.terrarum.modulebasegame.TerrarumIngame
@@ -493,7 +494,8 @@ class MusicPlayer(private val ingame: TerrarumIngame) : UICanvas() {
}
else if (ingame.musicGovernor.playCaller is PlaysMusic && !jukeboxStopMonitorAlert && !App.audioMixer.musicTrack.isPlaying) {
jukeboxStopMonitorAlert = true
ingame.musicGovernor.stopMusic(this, false, ingame.musicGovernor.getRandomMusicInterval())
val interval = ingame.musicGovernor.getRandomMusicInterval()
ingame.musicGovernor.stopMusic(this, false, interval)
}
else if (App.audioMixer.musicTrack.isPlaying) {
jukeboxStopMonitorAlert = false

View File

@@ -6,5 +6,5 @@ entrypoint=net.torvald.terrarum.musicplayer.EntryPoint
releasedate=2024-02-10
version=1.0.0
jar=MusicPlayer.jar
jarhash=3b8db936a76ffbd3fb4909de9582254e2ffc6eab7c4587ced0a738b21d05202a
jarhash=bd958d6d17b599a88fa34948a2d93ef47256d79f4556f558b2a3330c3c6cccff
dependency=basegame 0.4.0

View File

@@ -3,6 +3,7 @@ package net.torvald.terrarum.audio
import com.badlogic.gdx.Gdx
import com.jme3.math.FastMath
import net.torvald.reflection.forceInvoke
import net.torvald.terrarum.App.printdbg
import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.ModMgr
import net.torvald.terrarum.serialise.toUint
@@ -40,7 +41,7 @@ object AudioHelper {
val sampleCount = (ir.length().toInt() / 8)//.coerceAtMost(65536)
val fftLen = FastMath.nextPowerOfTwo(sampleCount)
println("IR '${ir.path}' Sample Count = $sampleCount; FFT Length = $fftLen")
printdbg(this, "IR '${ir.path}' Sample Count = $sampleCount; FFT Length = $fftLen")
val conv = Array(2) { FloatArray(fftLen) }

View File

@@ -53,8 +53,9 @@ class TerrarumMusicGovernor : MusicGovernor() {
printdbg(this, "MusicTitle: ${muscon.name}")
muscon.songFinishedHook = {
if (it == App.audioMixer.musicTrack.currentTrack?.gdxMusic)
stopMusic(this)
if (it == App.audioMixer.musicTrack.currentTrack?.gdxMusic) {
stopMusic(this, true, getRandomMusicInterval())
}
}
}
}