mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-18 14:34:04 +09:00
audio filters moved to its own files
This commit is contained in:
29
src/net/torvald/terrarum/audio/dsp/XYtoMS.kt
Normal file
29
src/net/torvald/terrarum/audio/dsp/XYtoMS.kt
Normal file
@@ -0,0 +1,29 @@
|
||||
package net.torvald.terrarum.audio.dsp
|
||||
|
||||
import net.torvald.terrarum.audio.TerrarumAudioMixerTrack
|
||||
|
||||
object XYtoMS: TerrarumAudioFilter() {
|
||||
override fun thru(inbuf: List<FloatArray>, outbuf: List<FloatArray>) {
|
||||
for (i in 0 until TerrarumAudioMixerTrack.BUFFER_SIZE / 4) {
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
object MStoXY: TerrarumAudioFilter() {
|
||||
override fun thru(inbuf: List<FloatArray>, outbuf: List<FloatArray>) {
|
||||
for (i in 0 until TerrarumAudioMixerTrack.BUFFER_SIZE / 4) {
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user