mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-11 02:54:04 +09:00
audiomanager: will gracefully not play if there is nothing to play
This commit is contained in:
@@ -97,7 +97,7 @@ object AudioMixer: Disposable {
|
|||||||
init {
|
init {
|
||||||
masterTrack.filters[0] = SoftLim
|
masterTrack.filters[0] = SoftLim
|
||||||
masterTrack.filters[1] = Buffer
|
masterTrack.filters[1] = Buffer
|
||||||
masterTrack.filters[2] = Scope
|
masterTrack.filters[2] = Scope()
|
||||||
|
|
||||||
fadeBus.addSidechainInput(musicTrack, 1.0)
|
fadeBus.addSidechainInput(musicTrack, 1.0)
|
||||||
fadeBus.addSidechainInput(ambientTrack, 1.0)
|
fadeBus.addSidechainInput(ambientTrack, 1.0)
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ object SoftLim : TerrarumAudioFilter() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
object Scope : TerrarumAudioFilter() {
|
class Scope : TerrarumAudioFilter() {
|
||||||
val backbufL = Array(BUFFER_SIZE / 16) { FloatArray(BUFFER_SIZE / 4) }
|
val backbufL = Array(BUFFER_SIZE / 16) { FloatArray(BUFFER_SIZE / 4) }
|
||||||
val backbufR = Array(BUFFER_SIZE / 16) { FloatArray(BUFFER_SIZE / 4) }
|
val backbufR = Array(BUFFER_SIZE / 16) { FloatArray(BUFFER_SIZE / 4) }
|
||||||
|
|
||||||
|
|||||||
@@ -66,6 +66,9 @@ class TerrarumMusicGovernor : MusicGovernor() {
|
|||||||
songs.forEach {
|
songs.forEach {
|
||||||
App.disposables.add(it.gdxMusic)
|
App.disposables.add(it.gdxMusic)
|
||||||
}
|
}
|
||||||
|
ambients.forEach {
|
||||||
|
App.disposables.add(it.gdxMusic)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -113,17 +116,9 @@ class TerrarumMusicGovernor : MusicGovernor() {
|
|||||||
|
|
||||||
|
|
||||||
override fun update(ingame: IngameInstance, delta: Float) {
|
override fun update(ingame: IngameInstance, delta: Float) {
|
||||||
if (songs.isEmpty()) {
|
// start the song queueing if there is one to play
|
||||||
if (!warningPrinted) {
|
if (songs.isNotEmpty() && musicState == 0) musicState = STATE_INTERMISSION
|
||||||
warningPrinted = true
|
if (ambients.isNotEmpty() && ambState == 0) ambState = STATE_INTERMISSION
|
||||||
printdbg(this, "Warning: songs list is empty")
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// val ingame = ingame as TerrarumIngame
|
|
||||||
if (musicState == 0) musicState = STATE_INTERMISSION
|
|
||||||
if (ambState == 0) ambState = STATE_INTERMISSION
|
|
||||||
|
|
||||||
|
|
||||||
when (musicState) {
|
when (musicState) {
|
||||||
|
|||||||
Reference in New Issue
Block a user