extends Control @onready var settings_panel: Panel = %SettingsPanel @onready var stop_after_current_button: CheckButton = %StopAfterCurrentCheckButton @onready var hide_next_track_button: CheckButton = %HideNextTrackCheckButton @onready var add_to_database_button: CheckButton = %AddToDatabaseCheckButton @onready var low_played_button: CheckButton = %LowPlayedCheckButton @onready var score_label: Label = %ScoreLabel @onready var lower_winning_score_button: Button = %LowerButton @onready var increase_winning_score_button: Button = %IncreaseButton @onready var cache_label: Label = %CacheLabel @onready var lower_cache_button: Button = %LowerCacheButton @onready var increase_cache_button: Button = %IncreaseCacheButton @onready var inspiration_speed_label: Label = %InspirationListSpeedLabel @onready var lower_inspiration_speed_button: Button = %LowerInspirationSpeedButton @onready var increase_inspiration_speed_button: Button = %IncreaseInspirationSpeedButton @onready var select_server_button: OptionButton = %SelectServerButton @onready var fullscreen_button: CheckButton = %FullscreenButton @onready var local_button: CheckButton = %LocalButton signal server_changed # Called when the node enters the scene tree for the first time. func _ready() -> void: fullscreen_button.button_pressed = Settings.fullscreen select_server_button.selected = Settings.selected_server stop_after_current_button.pressed.connect(stop_after_current) hide_next_track_button.pressed.connect(hide_next_track) add_to_database_button.pressed.connect(add_to_database) low_played_button.pressed.connect(low_played) lower_winning_score_button.pressed.connect(lower_winning_score) increase_winning_score_button.pressed.connect(increase_winning_score) lower_cache_button.pressed.connect(lower_cache) increase_cache_button.pressed.connect(increase_cache) lower_inspiration_speed_button.pressed.connect(lower_inspiration_speed) increase_inspiration_speed_button.pressed.connect(increase_inspiration_speed) fullscreen_button.pressed.connect(fullscreen) local_button.pressed.connect(local_play) stop_after_current_button.button_pressed = Settings.stop_after_current hide_next_track_button.button_pressed = Settings.hide_next_track add_to_database_button.button_pressed = Settings.add_to_stats low_played_button.button_pressed = Settings.use_low_played_mode score_label.text = str(Settings.winning_score) cache_label.text = str(Playlist.number_of_tracks_to_preload) inspiration_speed_label.text = str(Settings.inspiration_list_speed) fullscreen_button.button_pressed = Settings.fullscreen select_server_button.select(Settings.selected_server) select_server_button.item_selected.connect(select_server) func _input(event: InputEvent) -> void: if self.visible == true: if event is InputEventMouseButton && event.is_pressed(): var evLocal: InputEvent = make_input_local(event) if !Rect2(Vector2(0, 0), settings_panel.size).has_point(evLocal.position): self.visible = false func fullscreen() -> void: Settings.fullscreen = !Settings.fullscreen if Settings.fullscreen == true: DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN) if Settings.fullscreen == false: DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) func local_play() -> void: Settings.play_local = !Settings.play_local func stop_after_current() -> void: Settings.stop_after_current = !Settings.stop_after_current func hide_next_track() -> void: Settings.hide_next_track = !Settings.hide_next_track func add_to_database() -> void: Settings.add_to_stats = !Settings.add_to_stats func low_played() -> void: Settings.use_low_played_mode = !Settings.use_low_played_mode func lower_winning_score() -> void: Settings.winning_score -= 1 score_label.text = str(Settings.winning_score) func increase_winning_score() -> void: Settings.winning_score += 1 score_label.text = str(Settings.winning_score) func set_winning_score(new_score: int) -> void: Settings.winning_score = new_score score_label.text = str(Settings.winning_score) func lower_cache() -> void: Playlist.number_of_tracks_to_preload -= 1 if Playlist.number_of_tracks_to_preload < 1: Playlist.number_of_tracks_to_preload = 1 cache_label.text = str(Playlist.number_of_tracks_to_preload) func increase_cache() -> void: Playlist.number_of_tracks_to_preload += 1 cache_label.text = str(Playlist.number_of_tracks_to_preload) func lower_inspiration_speed() -> void: Settings.inspiration_list_speed -= 1 if Settings.inspiration_list_speed < 1: Settings.inspiration_list_speed = 1 inspiration_speed_label.text = str(Settings.inspiration_list_speed) func increase_inspiration_speed() -> void: Settings.inspiration_list_speed += 1 inspiration_speed_label.text = str(Settings.inspiration_list_speed ) func select_server(new_server: int) -> void: print("select_server") Settings.default_path = select_server_button.get_item_text(new_server) Settings.selected_server = new_server print("Settings.default_path: " + Settings.default_path) print("Settings.selected_server: " + str(Settings.selected_server)) print("new_server: " + str(new_server)) print("select_server_button.get_item_text(new_server): " + select_server_button.get_item_text(new_server)) server_changed.emit() func set_selected_server(new_server: int) -> void: print("set_selected_server") select_server_button.select(new_server) Settings.default_path = select_server_button.get_item_text(new_server) Settings.selected_server = new_server print("Settings.default_path: " + Settings.default_path) print("Settings.selected_server: " + str(Settings.selected_server)) print("new_server: " + str(new_server)) print("select_server_button.get_item_text(new_server): " + select_server_button.get_item_text(new_server)) server_changed.emit()