1dbaa781dc
- finally fixed the save system so it saves new users files - added better bgs - reorganized files so its less of a clusterfuck
196 lines
8.0 KiB
GDScript
196 lines
8.0 KiB
GDScript
class_name Settings
|
|
extends Control
|
|
@onready var exit: Button = $Exit
|
|
|
|
# do NOT think i dont hate this codebase, it sucks man 😭
|
|
|
|
@onready var discord_rich_presence_button: CheckBox = $ScrollContainer/VBoxContainer/DiscordRichPresenceButton
|
|
|
|
@onready var pitch_slider: HSlider = $ScrollContainer/VBoxContainer/PitchAdjustSettings/PitchSlider
|
|
@onready var pitch_value: Label = $ScrollContainer/VBoxContainer/PitchAdjustSettings/PitchAdjustSettings/PitchValue
|
|
|
|
@onready var reverb_check: CheckBox = $ScrollContainer/VBoxContainer/ReverbCheck
|
|
@onready var room_size_slider: HSlider = $ScrollContainer/VBoxContainer/ReverbSettings/SizeAdjustSettings/RoomSizeSlider
|
|
@onready var room_size_value: Label = $ScrollContainer/VBoxContainer/ReverbSettings/SizeAdjustSettings/PitchAdjustSettings/RoomSizeValue
|
|
@onready var dampening_size_slider: HSlider = $ScrollContainer/VBoxContainer/ReverbSettings/DampeningAdjustSettings/DampeningSizeSlider
|
|
@onready var dampening_value: Label = $ScrollContainer/VBoxContainer/ReverbSettings/DampeningAdjustSettings/DampaningAdjustSettings/DampeningValue
|
|
@onready var spread_size_slider: HSlider = $ScrollContainer/VBoxContainer/ReverbSettings/SpreadAdjustSettings2/SpreadSizeSlider
|
|
@onready var spread_value: Label = $ScrollContainer/VBoxContainer/ReverbSettings/SpreadAdjustSettings2/SpreadAdjustSettings/SpreadValue
|
|
|
|
@onready var compression_check: CheckBox = $ScrollContainer/VBoxContainer/CompressionCheck
|
|
@onready var threshold_slider: HSlider = $ScrollContainer/VBoxContainer/CompressionContainer/ThresholdSettings/ThresholdSlider
|
|
@onready var threshold_value: Label = $ScrollContainer/VBoxContainer/CompressionContainer/ThresholdSettings/ThresholdSettings/ThresholdValue
|
|
@onready var ratio_slider: HSlider = $ScrollContainer/VBoxContainer/CompressionContainer/RatioSettings/RatioSlider
|
|
@onready var ratio_value: Label = $ScrollContainer/VBoxContainer/CompressionContainer/RatioSettings/RatioSettings/RatioValue
|
|
@onready var gain_slider: HSlider = $ScrollContainer/VBoxContainer/CompressionContainer/GainSettings/GainSlider
|
|
@onready var gain_value: Label = $ScrollContainer/VBoxContainer/CompressionContainer/GainSettings/GainSettings/GainValue
|
|
|
|
@onready var eq_settings: VBoxContainer = $ScrollContainer/VBoxContainer/EQSettings
|
|
|
|
|
|
@onready var Parent:MainScene = get_parent().owner
|
|
|
|
|
|
@onready var reverb_settings: VBoxContainer = $ScrollContainer/VBoxContainer/ReverbSettings
|
|
@onready var compression_container: VBoxContainer = $ScrollContainer/VBoxContainer/CompressionContainer
|
|
|
|
@onready var time_listening_label: Label = $ScrollContainer/VBoxContainer/TimeListening
|
|
@onready var scroll_container: ScrollContainer = $ScrollContainer
|
|
|
|
@onready var select_bg_dialog: FileDialog = $ScrollContainer/VBoxContainer/SelectBGDialog
|
|
@onready var backround_dir_label: Label = $ScrollContainer/VBoxContainer/VBoxContainer/HBoxContainer2/BackroundDirLabel
|
|
@onready var select_bg: Button = $ScrollContainer/VBoxContainer/VBoxContainer/HBoxContainer/SelectBG
|
|
@onready var reset_bg: Button = $ScrollContainer/VBoxContainer/VBoxContainer/HBoxContainer/ResetBG
|
|
|
|
@onready var now_playing_window_button: CheckBox = $ScrollContainer/VBoxContainer/NowPlayingWindowButton
|
|
|
|
|
|
var CurrentBGImagePath:String
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
func _ready() -> void:
|
|
now_playing_window_button.button_pressed = Parent.UsingPlayingNow
|
|
|
|
|
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
func _process(delta: float) -> void:
|
|
pitch_value.text = str(pitch_slider.value)
|
|
room_size_value.text = str(room_size_slider.value)
|
|
dampening_value.text = str(dampening_size_slider.value)
|
|
spread_value.text = str(spread_size_slider.value)
|
|
ratio_value.text ="1:" + str(ratio_slider.value)
|
|
gain_value.text = str(gain_slider.value)
|
|
threshold_value.text = str(threshold_slider.value)
|
|
if reverb_check.button_pressed:
|
|
reverb_settings.show()
|
|
else:
|
|
reverb_settings.hide()
|
|
if compression_check.button_pressed:
|
|
compression_container.show()
|
|
else:
|
|
compression_container.hide()
|
|
time_listening_label.text = tr("LISTENING_TIME") + " %s!" % str(str(int(Parent.TimeSpentListening/60)/60 )
|
|
+ "h : " + str((int(Parent.TimeSpentListening) / 60) % 60) + "m : " +
|
|
str(int(Parent.TimeSpentListening) % 60) + "s")
|
|
|
|
# VOLUME
|
|
func _on_h_slider_drag_ended(value_changed: bool) -> void:
|
|
get_parent().owner.music_player.pitch_scale = pitch_slider.value
|
|
Parent.SaveEverything()
|
|
|
|
func _on_exit_pressed() -> void:
|
|
Parent.find_child("SettingsButton").button_pressed = false
|
|
Parent.SaveEverything()
|
|
|
|
#region Reverb
|
|
|
|
func _on_reverb_check_toggled(toggled_on: bool) -> void:
|
|
if toggled_on:
|
|
AudioServer.set_bus_effect_enabled(AudioServer.get_bus_index("Music"),0,true)
|
|
else:
|
|
AudioServer.set_bus_effect_enabled(AudioServer.get_bus_index("Music"),0,false)
|
|
Parent.SaveEverything()
|
|
|
|
|
|
func _on_room_size_slider_drag_ended(value_changed: bool) -> void:
|
|
var Reverb:AudioEffectReverb = AudioServer.get_bus_effect(AudioServer.get_bus_index("Music"),0)
|
|
Reverb.room_size = room_size_slider.value
|
|
Parent.SaveEverything()
|
|
|
|
|
|
func _on_dampening_size_slider_drag_ended(value_changed: bool) -> void:
|
|
var Reverb:AudioEffectReverb = AudioServer.get_bus_effect(AudioServer.get_bus_index("Music"),0)
|
|
Reverb.damping = room_size_slider.value
|
|
Parent.SaveEverything()
|
|
|
|
|
|
func _on_spread_size_slider_drag_ended(value_changed: bool) -> void:
|
|
var Reverb:AudioEffectReverb = AudioServer.get_bus_effect(AudioServer.get_bus_index("Music"),0)
|
|
Reverb.spread = room_size_slider.value
|
|
Parent.SaveEverything()
|
|
#endregion
|
|
|
|
#region Compression
|
|
func _on_compression_check_toggled(toggled_on: bool) -> void:
|
|
if toggled_on:
|
|
AudioServer.set_bus_effect_enabled(AudioServer.get_bus_index("Music"),2,true)
|
|
else:
|
|
AudioServer.set_bus_effect_enabled(AudioServer.get_bus_index("Music"),2,false)
|
|
Parent.SaveEverything()
|
|
|
|
func _on_gain_slider_drag_ended(value_changed: bool) -> void:
|
|
var Compression:AudioEffectCompressor = AudioServer.get_bus_effect(AudioServer.get_bus_index("Music"),2)
|
|
Compression.gain = gain_slider.value
|
|
Parent.SaveEverything()
|
|
|
|
|
|
func _on_ratio_slider_drag_ended(value_changed: bool) -> void:
|
|
var Compression:AudioEffectCompressor = AudioServer.get_bus_effect(AudioServer.get_bus_index("Music"),2)
|
|
Compression.ratio = ratio_slider.value
|
|
Parent.SaveEverything()
|
|
|
|
|
|
func _on_threshold_slider_drag_ended(value_changed: bool) -> void:
|
|
var Compression:AudioEffectCompressor = AudioServer.get_bus_effect(AudioServer.get_bus_index("Music"),2)
|
|
Compression.threshold = threshold_slider.value
|
|
Parent.SaveEverything()
|
|
#endregion
|
|
|
|
func _on_eq_check_box_toggled(toggled_on: bool) -> void:
|
|
eq_settings.visible = toggled_on
|
|
AudioServer.set_bus_effect_enabled(AudioServer.get_bus_index("Music"),1,toggled_on)
|
|
|
|
|
|
|
|
|
|
func _on_discord_rich_presence_button_toggled(toggled_on: bool) -> void:
|
|
if toggled_on:
|
|
Parent.DiscordRichPresenceEnabled = true
|
|
else:
|
|
Parent.DiscordRichPresenceEnabled = false
|
|
Parent.setUpDiscord()
|
|
Parent.SaveEverything()
|
|
|
|
|
|
func _on_reset_pressed() -> void:
|
|
gain_slider.value = 0
|
|
reverb_check.button_pressed = false
|
|
room_size_slider.value = 0.8
|
|
dampening_size_slider.value = 0.8
|
|
spread_size_slider.value = 0.8
|
|
compression_check.button_pressed = false
|
|
threshold_slider.value = -9.15
|
|
ratio_slider.value = 4
|
|
gain_slider.value = 0
|
|
pitch_slider.value = 1
|
|
get_parent().owner.music_player.pitch_scale = 1
|
|
|
|
|
|
func _on_select_bg_pressed() -> void:
|
|
select_bg_dialog.show()
|
|
Parent.SaveEverything()
|
|
|
|
|
|
func _on_select_bg_dialog_file_selected(path: String) -> void:
|
|
CurrentBGImagePath = path
|
|
Parent.CurrentCustomBackroundImageDirectory = path
|
|
backround_dir_label.text = path
|
|
#print(path)
|
|
if !path.ends_with(".gif"):
|
|
Parent.user_bg.texture = ImageTexture.create_from_image(Image.load_from_file(CurrentBGImagePath))
|
|
else:
|
|
Parent.user_bg.texture = GifManager.animated_texture_from_file(path)
|
|
Parent.SaveEverything()
|
|
|
|
func _on_reset_bg_pressed() -> void:
|
|
backround_dir_label.text = ""
|
|
Parent.user_bg.texture = null
|
|
Parent.CurrentCustomBackroundImageDirectory = ""
|
|
Parent.SaveEverything()
|
|
|
|
|
|
func _on_now_playing_window_button_toggled(toggled_on: bool) -> void:
|
|
Parent.UsingPlayingNow = toggled_on
|
|
Parent.SaveEverything()
|
|
|