mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-18 06:24:06 +09:00
40 lines
1.1 KiB
Kotlin
40 lines
1.1 KiB
Kotlin
package net.torvald.terrarum.audio.dsp
|
|
|
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
|
import net.torvald.terrarum.audio.TerrarumAudioMixerTrack
|
|
|
|
object XYtoMS: TerrarumAudioFilter() {
|
|
override fun thru(inbuf: List<FloatArray>, outbuf: List<FloatArray>) {
|
|
for (i in 0 until TerrarumAudioMixerTrack.AUDIO_BUFFER_SIZE) {
|
|
val X = inbuf[0][i]
|
|
val Y = inbuf[1][i]
|
|
val M = (X + Y) / 2f
|
|
val S = (X - Y) / 2f
|
|
outbuf[0][i] = M
|
|
outbuf[1][i] = S
|
|
}
|
|
}
|
|
|
|
override fun drawDebugView(batch: SpriteBatch, x: Int, y: Int) {
|
|
}
|
|
|
|
override val debugViewHeight = 0
|
|
}
|
|
|
|
object MStoXY: TerrarumAudioFilter() {
|
|
override fun thru(inbuf: List<FloatArray>, outbuf: List<FloatArray>) {
|
|
for (i in 0 until TerrarumAudioMixerTrack.AUDIO_BUFFER_SIZE) {
|
|
val M = inbuf[0][i]
|
|
val S = inbuf[1][i]
|
|
val X = M + S
|
|
val Y = M - S
|
|
outbuf[0][i] = X
|
|
outbuf[1][i] = Y
|
|
}
|
|
}
|
|
|
|
override fun drawDebugView(batch: SpriteBatch, x: Int, y: Int) {
|
|
}
|
|
|
|
override val debugViewHeight = 0
|
|
} |