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 text_lang_selector: OptionButton = %InterfaceSelector
|
||||
@onready var speech_lang_selector: OptionButton = %SpeechSelector
|
||||
@onready var force_stereo_switch: CheckBox = %ForceStereoCheck
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if current_music_decay > 0:
|
||||
|
|
@ -55,6 +56,8 @@ func _ready() -> void:
|
|||
%ResetButton.pressed.connect(_on_reset_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():
|
||||
music_mute_switch.button_pressed = false
|
||||
|
|
@ -73,6 +76,7 @@ func update_ui_from_state():
|
|||
sum_slider.value = State.main_volume
|
||||
text_lang_selector.select(State.text_language)
|
||||
speech_lang_selector.select(State.speech_language)
|
||||
force_stereo_switch.button_pressed = State.force_stereo
|
||||
|
||||
func _on_exit_button_pressed() -> void:
|
||||
leave_stage.emit()
|
||||
|
|
|
|||
|
|
@ -161,6 +161,12 @@ max_value = 1.0
|
|||
step = 0.05
|
||||
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="."]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderMedium"
|
||||
|
|
|
|||
|
|
@ -99,6 +99,15 @@ var current_main_theme:Theme = preload("res://logic-scenes/themes/handwriting.th
|
|||
set(volume):
|
||||
speech_volume = 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:
|
||||
set(value):
|
||||
text_language = value
|
||||
|
|
@ -172,7 +181,8 @@ func save_settings():
|
|||
"sfx_volume": sfx_volume,
|
||||
"music_muted": music_muted,
|
||||
"music_volume": music_volume,
|
||||
"speech_volume": speech_volume
|
||||
"speech_volume": speech_volume,
|
||||
"force_stereo": force_stereo
|
||||
},
|
||||
"gameplay": {
|
||||
"input_sensitivity": input_sensitivity,
|
||||
|
|
|
|||
Loading…
Reference in New Issue