mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-12 19:44:05 +09:00
convolver gain adjustments
This commit is contained in:
@@ -5,14 +5,13 @@ import com.badlogic.gdx.Input
|
|||||||
import com.badlogic.gdx.backends.lwjgl3.audio.Lwjgl3Audio
|
import com.badlogic.gdx.backends.lwjgl3.audio.Lwjgl3Audio
|
||||||
import com.badlogic.gdx.utils.Disposable
|
import com.badlogic.gdx.utils.Disposable
|
||||||
import com.jme3.math.FastMath
|
import com.jme3.math.FastMath
|
||||||
import net.torvald.terrarum.App
|
import net.torvald.terrarum.*
|
||||||
import net.torvald.terrarum.ModMgr
|
|
||||||
import net.torvald.terrarum.audio.TerrarumAudioMixerTrack.Companion.SAMPLING_RATE
|
import net.torvald.terrarum.audio.TerrarumAudioMixerTrack.Companion.SAMPLING_RATE
|
||||||
import net.torvald.terrarum.audio.TerrarumAudioMixerTrack.Companion.SAMPLING_RATED
|
import net.torvald.terrarum.audio.TerrarumAudioMixerTrack.Companion.SAMPLING_RATED
|
||||||
import net.torvald.terrarum.audio.dsp.*
|
import net.torvald.terrarum.audio.dsp.*
|
||||||
import net.torvald.terrarum.concurrent.ThreadExecutor
|
import net.torvald.terrarum.concurrent.ThreadExecutor
|
||||||
|
import net.torvald.terrarum.modulebasegame.BuildingMaker
|
||||||
import net.torvald.terrarum.modulebasegame.MusicContainer
|
import net.torvald.terrarum.modulebasegame.MusicContainer
|
||||||
import net.torvald.terrarum.tryDispose
|
|
||||||
import java.lang.Thread.MAX_PRIORITY
|
import java.lang.Thread.MAX_PRIORITY
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import java.util.concurrent.Callable
|
import java.util.concurrent.Callable
|
||||||
@@ -163,14 +162,12 @@ object AudioMixer: Disposable {
|
|||||||
it.addSidechainInput(sfxMixTrack, 1.0)
|
it.addSidechainInput(sfxMixTrack, 1.0)
|
||||||
}
|
}
|
||||||
|
|
||||||
convolveBusOpen.filters[0] = Highpass(80f)
|
|
||||||
convolveBusOpen.filters[1] = Convolv(ModMgr.getFile("basegame", "audio/convolution/EchoThief - PurgatoryChasm.bin"))
|
convolveBusOpen.filters[1] = Convolv(ModMgr.getFile("basegame", "audio/convolution/EchoThief - PurgatoryChasm.bin"))
|
||||||
convolveBusOpen.filters[2] = Gain(decibelsToFullscale(16.5).toFloat()) // don't make it too loud; it'll sound like a shit
|
convolveBusOpen.filters[2] = Gain(decibelsToFullscale(17.0).toFloat()) // don't make it too loud; it'll sound like a shit
|
||||||
convolveBusOpen.volume = 0.5 // will be controlled by the other updater which surveys the world
|
convolveBusOpen.volume = 0.5 // will be controlled by the other updater which surveys the world
|
||||||
|
|
||||||
convolveBusCave.filters[0] = Highpass(80f)
|
|
||||||
convolveBusCave.filters[1] = Convolv(ModMgr.getFile("basegame", "audio/convolution/EchoThief - WaterplacePark-trimmed.bin"))
|
convolveBusCave.filters[1] = Convolv(ModMgr.getFile("basegame", "audio/convolution/EchoThief - WaterplacePark-trimmed.bin"))
|
||||||
convolveBusCave.filters[2] = Gain(decibelsToFullscale(16.5).toFloat())
|
convolveBusCave.filters[2] = Gain(decibelsToFullscale(16.0).toFloat())
|
||||||
convolveBusCave.volume = 0.5 // will be controlled by the other updater which surveys the world
|
convolveBusCave.volume = 0.5 // will be controlled by the other updater which surveys the world
|
||||||
|
|
||||||
fadeBus.addSidechainInput(sumBus, 1.0 / 3.0)
|
fadeBus.addSidechainInput(sumBus, 1.0 / 3.0)
|
||||||
@@ -220,6 +217,8 @@ object AudioMixer: Disposable {
|
|||||||
private var lpStart = SAMPLING_RATED / 2.0
|
private var lpStart = SAMPLING_RATED / 2.0
|
||||||
private var lpTarget = SAMPLING_RATED / 2.0
|
private var lpTarget = SAMPLING_RATED / 2.0
|
||||||
|
|
||||||
|
private var testAudioMixRatio = 0.0
|
||||||
|
|
||||||
fun update(delta: Float) {
|
fun update(delta: Float) {
|
||||||
// test the panning
|
// test the panning
|
||||||
/*musicTrack.getFilter<BinoPan>().let {
|
/*musicTrack.getFilter<BinoPan>().let {
|
||||||
@@ -230,14 +229,33 @@ object AudioMixer: Disposable {
|
|||||||
it.pan = (it.pan - 0.001f).coerceIn(-1f, 1f)
|
it.pan = (it.pan - 0.001f).coerceIn(-1f, 1f)
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
/*if (Gdx.input.isKeyPressed(Input.Keys.UP)) {
|
if (Terrarum.ingame is BuildingMaker) {
|
||||||
convolveBusOpen.volume = (convolveBusOpen.volume + 0.001).coerceIn(0.0, 1.0)
|
val mixDelta = if (testAudioMixRatio >= 0.0) 0.001 else (0.001 * MaterialCodex["AIIR"].sondrefl).absoluteValue
|
||||||
convolveBusCave.volume = 1.0 - convolveBusOpen.volume
|
|
||||||
|
if (Gdx.input.isKeyPressed(Input.Keys.UP))
|
||||||
|
testAudioMixRatio += mixDelta
|
||||||
|
else if (Gdx.input.isKeyPressed(Input.Keys.DOWN))
|
||||||
|
testAudioMixRatio -= mixDelta
|
||||||
|
else if (Gdx.input.isKeyPressed(Input.Keys.NUM_1))
|
||||||
|
testAudioMixRatio = -1.0
|
||||||
|
else if (Gdx.input.isKeyPressed(Input.Keys.NUM_2))
|
||||||
|
testAudioMixRatio = 0.0
|
||||||
|
else if (Gdx.input.isKeyPressed(Input.Keys.NUM_3))
|
||||||
|
testAudioMixRatio = 1.0
|
||||||
|
|
||||||
|
testAudioMixRatio = testAudioMixRatio.coerceIn(MaterialCodex["AIIR"].sondrefl.absoluteValue * -1.0, 1.0)
|
||||||
|
|
||||||
|
if (testAudioMixRatio >= 0.0) {
|
||||||
|
val ratio1 = testAudioMixRatio.coerceIn(0.0, 1.0)
|
||||||
|
AudioMixer.convolveBusCave.volume = ratio1
|
||||||
|
AudioMixer.convolveBusOpen.volume = 1.0 - ratio1
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
val ratio1 = (testAudioMixRatio / MaterialCodex["AIIR"].sondrefl).absoluteValue.coerceIn(0.0, 1.0)
|
||||||
|
AudioMixer.convolveBusOpen.volume = (1.0 - ratio1).pow(0.75)
|
||||||
|
AudioMixer.convolveBusCave.volume = 0.0
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (Gdx.input.isKeyPressed(Input.Keys.DOWN)) {
|
|
||||||
convolveBusOpen.volume = (convolveBusOpen.volume - 0.001).coerceIn(0.0, 1.0)
|
|
||||||
convolveBusCave.volume = 1.0 - convolveBusOpen.volume
|
|
||||||
}*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user