25 lines
636 B
GDScript
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)
|