add force stereo option to avoid audio getting lost in misconfigured surround setup
This commit is contained in:
parent
f0a8bc9437
commit
b7258e858b
|
|
@ -0,0 +1,11 @@
|
||||||
|
class_name StereoSwitch extends AudioStreamPlayer
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
State.settings_changed.connect(update_mix_target)
|
||||||
|
update_mix_target()
|
||||||
|
|
||||||
|
func update_mix_target():
|
||||||
|
if State.force_stereo:
|
||||||
|
mix_target = AudioStreamPlayer.MIX_TARGET_STEREO
|
||||||
|
else:
|
||||||
|
mix_target = AudioStreamPlayer.MIX_TARGET_CENTER
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://c1oub0cs7cph6
|
||||||
|
|
@ -22,6 +22,7 @@ var current_music_decay:float = 0
|
||||||
@onready var sum_slider: Range = %SumSlider
|
@onready var sum_slider: Range = %SumSlider
|
||||||
@onready var text_lang_selector: OptionButton = %InterfaceSelector
|
@onready var text_lang_selector: OptionButton = %InterfaceSelector
|
||||||
@onready var speech_lang_selector: OptionButton = %SpeechSelector
|
@onready var speech_lang_selector: OptionButton = %SpeechSelector
|
||||||
|
@onready var force_stereo_switch: CheckBox = %ForceStereoCheck
|
||||||
|
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
if current_music_decay > 0:
|
if current_music_decay > 0:
|
||||||
|
|
@ -54,6 +55,8 @@ func _ready() -> void:
|
||||||
|
|
||||||
%ResetButton.pressed.connect(_on_reset_button_pressed)
|
%ResetButton.pressed.connect(_on_reset_button_pressed)
|
||||||
%SaveButton.pressed.connect(_on_exit_button_pressed)
|
%SaveButton.pressed.connect(_on_exit_button_pressed)
|
||||||
|
|
||||||
|
force_stereo_switch.pressed.connect(func(value): State.force_stereo = value)
|
||||||
|
|
||||||
|
|
||||||
func _on_reset_button_pressed():
|
func _on_reset_button_pressed():
|
||||||
|
|
@ -73,6 +76,7 @@ func update_ui_from_state():
|
||||||
sum_slider.value = State.main_volume
|
sum_slider.value = State.main_volume
|
||||||
text_lang_selector.select(State.text_language)
|
text_lang_selector.select(State.text_language)
|
||||||
speech_lang_selector.select(State.speech_language)
|
speech_lang_selector.select(State.speech_language)
|
||||||
|
force_stereo_switch.button_pressed = State.force_stereo
|
||||||
|
|
||||||
func _on_exit_button_pressed() -> void:
|
func _on_exit_button_pressed() -> void:
|
||||||
leave_stage.emit()
|
leave_stage.emit()
|
||||||
|
|
|
||||||
|
|
@ -161,6 +161,12 @@ max_value = 1.0
|
||||||
step = 0.05
|
step = 0.05
|
||||||
value = 0.5
|
value = 0.5
|
||||||
|
|
||||||
|
[node name="ForceStereoCheck" type="CheckBox" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
tooltip_text = "This setting disables the surround center channel. May resolve you not hearing speech when your Operating Sustem has a misconfigured surround setup."
|
||||||
|
text = "Headphone-Mode (may fix missing speech)"
|
||||||
|
|
||||||
[node name="I18nLabel" type="Label" parent="."]
|
[node name="I18nLabel" type="Label" parent="."]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_type_variation = &"HeaderMedium"
|
theme_type_variation = &"HeaderMedium"
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,15 @@ var current_main_theme:Theme = preload("res://logic-scenes/themes/handwriting.th
|
||||||
set(volume):
|
set(volume):
|
||||||
speech_volume = volume
|
speech_volume = volume
|
||||||
AudioServer.set_bus_volume_db(AudioServer.get_bus_index("text"), linear_to_db(volume))
|
AudioServer.set_bus_volume_db(AudioServer.get_bus_index("text"), linear_to_db(volume))
|
||||||
|
@export var force_stereo: bool = false:
|
||||||
|
set(stereo):
|
||||||
|
if stereo != force_stereo:
|
||||||
|
force_stereo = stereo
|
||||||
|
settings_changed.emit()
|
||||||
|
@export var disconnect_steam:bool = false
|
||||||
|
@export var obscure_logs:bool = true
|
||||||
|
|
||||||
|
|
||||||
@export_enum("system_locale", "english", "german") var text_language: int = -1:
|
@export_enum("system_locale", "english", "german") var text_language: int = -1:
|
||||||
set(value):
|
set(value):
|
||||||
text_language = value
|
text_language = value
|
||||||
|
|
@ -172,7 +181,8 @@ func save_settings():
|
||||||
"sfx_volume": sfx_volume,
|
"sfx_volume": sfx_volume,
|
||||||
"music_muted": music_muted,
|
"music_muted": music_muted,
|
||||||
"music_volume": music_volume,
|
"music_volume": music_volume,
|
||||||
"speech_volume": speech_volume
|
"speech_volume": speech_volume,
|
||||||
|
"force_stereo": force_stereo
|
||||||
},
|
},
|
||||||
"gameplay": {
|
"gameplay": {
|
||||||
"input_sensitivity": input_sensitivity,
|
"input_sensitivity": input_sensitivity,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue