diff --git a/src/default_bus_layout.tres b/src/default_bus_layout.tres index 53bf279..827fe22 100644 --- a/src/default_bus_layout.tres +++ b/src/default_bus_layout.tres @@ -1,4 +1,9 @@ -[gd_resource type="AudioBusLayout" load_steps=2 format=3 uid="uid://djkwd76o033io"] +[gd_resource type="AudioBusLayout" load_steps=3 format=3 uid="uid://djkwd76o033io"] + +[sub_resource type="AudioEffectEQ" id="AudioEffectEQ_e1rh3"] +resource_name = "EQ" +band_db/3200_hz = -30.0 +band_db/10000_hz = -60.0 [sub_resource type="AudioEffectLowPassFilter" id="AudioEffectLowPassFilter_5p17k"] resource_name = "LowPassFilter" @@ -6,6 +11,8 @@ resonance = 0.52 [resource] bus/0/volume_db = 0.0672607 +bus/0/effect/0/effect = SubResource("AudioEffectEQ_e1rh3") +bus/0/effect/0/enabled = false bus/1/name = &"text" bus/1/solo = false bus/1/mute = false diff --git a/src/logic-scenes/main menu/acessability_settings.gd b/src/logic-scenes/main menu/acessability_settings.gd index 01dc293..fe7c007 100644 --- a/src/logic-scenes/main menu/acessability_settings.gd +++ b/src/logic-scenes/main menu/acessability_settings.gd @@ -15,6 +15,7 @@ var has_stage:bool = false: @onready var screenreader_check: CheckBox = %Screenreader @onready var disable_rendering_check: CheckBox = %DisableRendering @onready var simplify_controls_check: CheckBox = %SimplyifyControls +@onready var hyperacoustics_check: CheckBox = %HyperacusticsFilter @onready var font_picker: OptionButton = %FontSeettings @onready var subtitle_picker: OptionButton = %SubtitleSettings @onready var scale_slider: HSlider = %UIScaleSlider @@ -33,6 +34,7 @@ func _ready() -> void: screenreader_check.pressed.connect(func(value): State.screen_reader_enabled = value) disable_rendering_check.pressed.connect(func(value): State.rendering_disabled = value) simplify_controls_check.pressed.connect(func(value): State.use_simplified_navigation = value) + hyperacoustics_check.pressed.connect(func(value): State.enable_hyperacoustic_filter = value) font_picker.item_selected.connect(func(value): State.font_style = value) subtitle_picker.item_selected.connect(func(value): State.subtitles = value) scale_slider.drag_ended.connect(_on_scale_slider_dragged) @@ -47,6 +49,7 @@ func update_ui_from_state(): screenreader_check.button_pressed = State.screen_reader_enabled disable_rendering_check.button_pressed = State.rendering_disabled simplify_controls_check.button_pressed = State.use_simplified_navigation + hyperacoustics_check.button_pressed = State.enable_hyperacoustic_filter font_picker.selected = State.font_style subtitle_picker.selected = State.subtitles scale_slider.value = State.ui_scaling diff --git a/src/logic-scenes/main menu/acessability_settings.tscn b/src/logic-scenes/main menu/acessability_settings.tscn index 108581a..72eaeaa 100644 --- a/src/logic-scenes/main menu/acessability_settings.tscn +++ b/src/logic-scenes/main menu/acessability_settings.tscn @@ -52,6 +52,11 @@ layout_mode = 2 disabled = true text = "simplified Controls" +[node name="HyperacusticsFilter" type="CheckBox" parent="Container2"] +unique_name_in_owner = true +layout_mode = 2 +text = "Hyperacoustics Filter" + [node name="margin" type="MarginContainer" parent="Container2"] visible = false layout_mode = 2 diff --git a/src/singletons/global_state.gd b/src/singletons/global_state.gd index e1bd239..1c5dfab 100644 --- a/src/singletons/global_state.gd +++ b/src/singletons/global_state.gd @@ -1,4 +1,4 @@ - @tool +@tool extends Node #region configuration @@ -10,6 +10,11 @@ extends Node @export var screen_reader_enabled:bool = false @export var rendering_disabled: bool = false @export var use_simplified_navigation:bool = false +@export var enable_hyperacoustic_filter: bool = false: + set(value): + enable_hyperacoustic_filter = value + if enable_hyperacoustic_filter: + AudioServer.set_bus_effect_enabled(0, 0, enable_hyperacoustic_filter) @export var show_navigation_buttons: bool = false @export_enum("handwriting", "serif", "legible", "system") var font_style: int = 0 @export_enum("disabled", "text", "cc") var subtitles: int = false @@ -52,7 +57,7 @@ var current_main_theme:Theme = preload("res://logic-scenes/themes/handwriting.th @export_enum("system_locale", "english", "german") var text_language: int = -1: set(value): text_language = value - match text_language: + match text_language: 0: TranslationServer.set_locale("en") 1: TranslationServer.set_locale("de") _: TranslationServer.set_locale(OS.get_locale())