frame-of-mind/src/dev-util/stereo-switch.gd

25 lines
636 B
GDScript

class_name StereoSwitch extends AudioStreamPlayer
@export var alternate_streams: Dictionary[String, AudioStream]
var default_stream: AudioStream
func _ready() -> void:
State.settings_changed.connect(update_mix_target)
update_mix_target()
default_stream = stream
func update_mix_target():
if State.force_stereo or true:
mix_target = AudioStreamPlayer.MIX_TARGET_STEREO
else:
mix_target = AudioStreamPlayer.MIX_TARGET_CENTER
func play(from:float = 0.0) -> void:
match State.speech_language:
1: stream = default_stream
2:
if alternate_streams.keys().has("de"):
stream = alternate_streams["de"]
super.play(from)