mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-13 12:04:06 +09:00
audiomanager wip
This commit is contained in:
20
src/net/torvald/terrarum/AudioManager.kt
Normal file
20
src/net/torvald/terrarum/AudioManager.kt
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
package net.torvald.terrarum
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by minjaesong on 2023-11-07.
|
||||||
|
*/
|
||||||
|
object AudioManager {
|
||||||
|
|
||||||
|
/** Returns a companded master volume */
|
||||||
|
val masterVolume: Float
|
||||||
|
get() = App.getConfigDouble("mastervolume").toFloat()
|
||||||
|
|
||||||
|
/** Returns a (master volume * bgm volume) */
|
||||||
|
val musicVolume: Float
|
||||||
|
get() = (App.getConfigDouble("bgmvolume") * App.getConfigDouble("mastervolume")).toFloat()
|
||||||
|
|
||||||
|
/** Returns a (master volume * sfx volume */
|
||||||
|
val ambientVolume: Float
|
||||||
|
get() = (App.getConfigDouble("sfxvolume") * App.getConfigDouble("mastervolume")).toFloat()
|
||||||
|
|
||||||
|
}
|
||||||
@@ -43,12 +43,6 @@ class TerrarumMusicGovernor : MusicGovernor() {
|
|||||||
|
|
||||||
private var warningPrinted = false
|
private var warningPrinted = false
|
||||||
|
|
||||||
private val musicVolume: Float
|
|
||||||
get() = (App.getConfigDouble("bgmvolume") * App.getConfigDouble("mastervolume")).toFloat()
|
|
||||||
private val ambientVolume: Float
|
|
||||||
get() = (App.getConfigDouble("sfxvolume") * App.getConfigDouble("mastervolume")).toFloat()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private fun stopMusic() {
|
private fun stopMusic() {
|
||||||
@@ -63,7 +57,7 @@ class TerrarumMusicGovernor : MusicGovernor() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun startMusic(song: MusicContainer) {
|
private fun startMusic(song: MusicContainer) {
|
||||||
song.gdxMusic.volume = musicVolume
|
song.gdxMusic.volume = AudioManager.musicVolume
|
||||||
song.gdxMusic.play()
|
song.gdxMusic.play()
|
||||||
printdbg(this, "Now playing: $song")
|
printdbg(this, "Now playing: $song")
|
||||||
|
|
||||||
@@ -102,7 +96,7 @@ class TerrarumMusicGovernor : MusicGovernor() {
|
|||||||
// process fadeout request
|
// process fadeout request
|
||||||
if (fadeoutFired) {
|
if (fadeoutFired) {
|
||||||
fadeoutAkku += delta
|
fadeoutAkku += delta
|
||||||
currentMusic?.gdxMusic?.volume = 1f - musicVolume * (fadeoutAkku / fadeoutLength)
|
currentMusic?.gdxMusic?.volume = 1f - AudioManager.musicVolume * (fadeoutAkku / fadeoutLength)
|
||||||
|
|
||||||
if (fadeoutAkku >= fadeoutLength) {
|
if (fadeoutAkku >= fadeoutLength) {
|
||||||
currentMusic?.gdxMusic?.pause()
|
currentMusic?.gdxMusic?.pause()
|
||||||
@@ -114,7 +108,7 @@ class TerrarumMusicGovernor : MusicGovernor() {
|
|||||||
currentMusic?.gdxMusic?.play()
|
currentMusic?.gdxMusic?.play()
|
||||||
}
|
}
|
||||||
fadeoutAkku += delta
|
fadeoutAkku += delta
|
||||||
currentMusic?.gdxMusic?.volume = musicVolume * (fadeoutAkku / fadeoutLength)
|
currentMusic?.gdxMusic?.volume = AudioManager.musicVolume * (fadeoutAkku / fadeoutLength)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user