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

25 lines
636 B
GDScript3
Raw Normal View History

class_name StereoSwitch extends AudioStreamPlayer
2025-07-21 12:33:04 +00:00
@export var alternate_streams: Dictionary[String, AudioStream]
var default_stream: AudioStream
func _ready() -> void:
State.settings_changed.connect(update_mix_target)
update_mix_target()
2025-07-21 12:33:04 +00:00
default_stream = stream
func update_mix_target():
2025-05-30 14:10:44 +00:00
if State.force_stereo or true:
mix_target = AudioStreamPlayer.MIX_TARGET_STEREO
else:
mix_target = AudioStreamPlayer.MIX_TARGET_CENTER
2025-07-21 12:33:04 +00:00
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)