transition anim for gapless play

This commit is contained in:
minjaesong
2023-12-28 21:37:17 +09:00
parent a4cb3f4d29
commit fe762e9396
3 changed files with 18 additions and 11 deletions

View File

@@ -179,8 +179,10 @@ object AudioMixer: Disposable {
masterTrack.filters[2] = Spectro()
masterTrack.filters[3] = Vecto(2f)
musicTrack.filters[1] = Spectro()
ambientTrack.filters[1] = Spectro()
musicTrack.filters[1] = Vecto()
musicTrack.filters[2] = Spectro()
ambientTrack.filters[1] = Vecto()
ambientTrack.filters[2] = Spectro()
listOf(sumBus, convolveBusOpen, convolveBusCave).forEach {
it.addSidechainInput(musicTrack, 1.0)

View File

@@ -277,12 +277,14 @@ class TerrarumMusicGovernor : MusicGovernor() {
}
// MixerTrackProcessor will call this function externally to make gapless playback work
fun pullNextMusicTrack(): MusicContainer {
fun pullNextMusicTrack(callNextMusicHook: Boolean = false): MusicContainer {
// prevent same song to play twice in row (for the most time)
if (musicBin.isEmpty()) {
restockMUsicBin()
}
return songs[musicBin.removeAt(0)]
return songs[musicBin.removeAt(0)].also { mus ->
if (musicStartHooks.isNotEmpty()) musicStartHooks.forEach { it(mus) }
}
}
// MixerTrackProcessor will call this function externally to make gapless playback work