diff --git a/.gitignore b/.gitignore index 2943ff7..35d73f9 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ *.exe *.dmg .idea -.vscode \ No newline at end of file +.vscode +.DS_Store diff --git a/MainWindow.gd b/MainWindow.gd index d189ba5..e063342 100644 --- a/MainWindow.gd +++ b/MainWindow.gd @@ -120,6 +120,9 @@ var winner_popup: PopupPanel = $WinnerPopupPanel @onready var winner_label: Label = $WinnerPopupPanel/WinnerLabel +@onready +var auto_repeat_song_button: CheckButton = $RepeatSongCheckButton + @onready var music_player_container: PanelContainer = $MusicPlayer @@ -133,14 +136,17 @@ var current_player: Node # Called when the node enters the scene tree for the first time. func _ready() -> void: - var is_debug := OS.has_feature("debug") - var is_mac := OS.has_feature("macos") + var is_debug: bool = OS.has_feature("debug") + + #var is_mac := OS.has_feature("macos") if is_debug: print("is_debug") - Settings.default_path = "http://localhost:8080" - Settings.selected_server = 3 - if is_mac: - print("is_mac") + ##Settings.default_path = "http://localhost:8080" + ##Settings.selected_server = 3 + Settings.default_path = "http://localhost:8080" + Settings.selected_server = 3 + #if is_mac: + # print("is_mac") next_button.pressed.connect(next_track) show_answer_button.pressed.connect(show_answer_pressed) search_button.pressed.connect(show_search) @@ -160,6 +166,7 @@ func _ready() -> void: add_players_button.pressed.connect(add_players) add_player_button.pressed.connect(add_player) open_button.pressed.connect(open) + auto_repeat_song_button.pressed.connect(repeat_song) get_suggestion_list() fetch_full_music_list_at_start() @@ -172,15 +179,29 @@ func _input(event: InputEvent) -> void: if event.alt_pressed && event.keycode == KEY_DOWN: print("Alt + DOWN pressed") music_player_container.change_volume(-0.05) - if event.alt_pressed && event.keycode == KEY_LEFT: + if event.alt_pressed && event.ctrl_pressed && event.keycode == KEY_LEFT: + print("Ctrl + Alt + LEFT pressed") + music_player_container.restart() + elif event.alt_pressed && event.keycode == KEY_LEFT: print("Alt + LEFT pressed") music_player_container.seek(-5) if event.alt_pressed && event.keycode == KEY_RIGHT: print("Alt + RIGHT pressed") music_player_container.seek(5) - + if event.alt_pressed && event.keycode == KEY_ENTER: + print("Alt + Enter pressed") + 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 repeat_song() -> void: + Settings.auto_repeat_song = !Settings.auto_repeat_song + func next_track() -> void: next_button.disabled = true + music_player_container.pause() music_player_container.fetch_next_song() func reset_playlist() -> void: @@ -228,7 +249,10 @@ func sync_games() -> void: reset_playlist() get_suggestion_list() search_view.get_list_of_games() - Settings.make_request2("/sync", games_synced, false) + if Settings.quick_sync == true: + Settings.make_request2("/sync/quick", games_synced, false) + else: + Settings.make_request2("/sync", games_synced, false) func get_suggestion_list() -> void: print("get_suggestion_list") @@ -237,7 +261,7 @@ func get_suggestion_list() -> void: games = [] games.append_array(array) for game: String in games: - var inspiration_label: Label= Label.new() + var inspiration_label: Label = Label.new() inspiration_label.set_texture_filter(TextureFilter.TEXTURE_FILTER_NEAREST) inspiration_label.add_theme_font_size_override("font_size", 20) inspiration_label.text = game @@ -333,6 +357,7 @@ func fetch_full_music_list(event: InputEvent, song_no: int) -> void: var music_label: Label= Label.new() music_label.set_texture_filter(TextureFilter.TEXTURE_FILTER_NEAREST) music_label.add_theme_font_size_override("font_size", 20) + music_label.autowrap_mode = TextServer.AUTOWRAP_WORD game_label.text = song.Game song_label.text = song.Song var format_string: String = "%d. %s - %s" @@ -367,6 +392,7 @@ func fetched() -> void: var fetched_song_label: Label = Label.new() fetched_song_label.set_texture_filter(TextureFilter.TEXTURE_FILTER_NEAREST) fetched_song_label.add_theme_font_size_override("font_size", 20) + fetched_song_label.autowrap_mode = TextServer.AUTOWRAP_WORD var format_string: String = "%d. %s - %s" var actual_string: String = format_string % [(song.SongNo+1), song.Game, song.Song] fetched_song_label.text = actual_string @@ -402,6 +428,7 @@ func song_clicked(event: InputEvent, clicked_song_label: Label, song_no: int) -> func _on_player_removed(new_player: Node) -> void: print("_on_player_removed") + Settings.player_removed() players.remove_child(new_player) func _on_player_change_character_clicked(new_player: Node) -> void: diff --git a/MainWindow.tscn b/MainWindow.tscn index 9e5a3cb..bca8396 100644 --- a/MainWindow.tscn +++ b/MainWindow.tscn @@ -474,8 +474,8 @@ size = Vector2i(268, 233) [node name="SettingsWindow" parent="SettingsPopupPanel" instance=ExtResource("11_k62u5")] offset_left = 4.0 offset_top = 4.0 -offset_right = -4.0 -offset_bottom = 86.0 +offset_right = 264.0 +offset_bottom = 354.0 [node name="WinnerPopupPanel" type="PopupPanel" parent="."] initial_position = 2 @@ -491,4 +491,14 @@ text = "Sansan won!!" label_settings = SubResource("LabelSettings_hr75l") horizontal_alignment = 1 +[node name="RepeatSongCheckButton" type="CheckButton" parent="."] +layout_mode = 0 +offset_left = 64.0 +offset_top = 1032.0 +offset_right = 208.0 +offset_bottom = 1063.0 +focus_mode = 0 +action_mode = 0 +text = "Auto repeat" + [connection signal="dir_selected" from="FileDialog" to="." method="_on_file_dialog_dir_selected"] diff --git a/MusicPlayer.gd b/MusicPlayer.gd index a0a5f08..cbdd39d 100644 --- a/MusicPlayer.gd +++ b/MusicPlayer.gd @@ -77,9 +77,12 @@ func play_or_pause() -> void: progress_slider.max_value = round(stream.get_length()) progress_slider.tick_count = round(stream.get_length() / 60) else: - audio_player.stream_paused = true - playback_position = audio_player.get_playback_position() - play_button.texture_normal = play_icon + pause() + +func pause() -> void: + audio_player.stream_paused = true + playback_position = audio_player.get_playback_position() + play_button.texture_normal = play_icon func restart() -> void: audio_player.stop() @@ -94,6 +97,10 @@ func restart() -> void: func _on_finished() -> void: play_button.texture_normal = play_icon song_finished = true + if !Settings.stop_after_current: + fetch_next_song() + if Settings.auto_repeat_song: + restart() func _on_drag_started() -> void: is_changing = true @@ -103,8 +110,8 @@ func _on_drag_ended(_changed: bool) -> void: playback_position = progress_slider.value is_changing = false -func seek(position: float) -> void: - progress_slider.value += position +func seek(new_position: float) -> void: + progress_slider.value += new_position is_changing = true audio_player.seek(progress_slider.value) playback_position = progress_slider.value @@ -161,16 +168,12 @@ func song_fetched(body: PackedByteArray) -> void: stream = audio_player.stream progress_slider.max_value = round(stream.get_length()) progress_slider.tick_count = round(stream.get_length() / 60) - + add_to_queue.emit() if Settings.add_to_stats: print("add to stats") Settings.make_request3("/music/addPlayed") - if !Settings.stop_after_current: - audio_player.finished.connect(fetch_next_song) if !Settings.hide_next_track: show_answer.emit() - - add_to_queue.emit() func fetch_next_song() -> void: #if audio_player.is_playing(): diff --git a/PlayerObject.gd b/PlayerObject.gd new file mode 100644 index 0000000..403ab15 --- /dev/null +++ b/PlayerObject.gd @@ -0,0 +1,13 @@ +extends Node + + +@export +var id: int + +@export +var player_name: String + +@export +var player_score: String + +var character: Texture diff --git a/SearchWindow.gd b/SearchWindow.gd index 1b2f3b1..d216f5c 100644 --- a/SearchWindow.gd +++ b/SearchWindow.gd @@ -80,10 +80,10 @@ func add_game(game: String) -> void: label.text = game print("game: " + game) label.autowrap_mode = TextServer.AUTOWRAP_WORD - if !game_exists(game): + if !check_if_game_exists(game): search_list.add_child(label) -func game_exists(game: String) -> bool: +func check_if_game_exists(game: String) -> bool: var game_exists: bool = false for child: Label in search_list.get_children(): if child.text == game: @@ -95,7 +95,6 @@ func compile_regex(search_term: String) -> RegEx: var regText: String = ".*" for letter in search_term: regText += letter + ".*" - #print(regText) regex.compile(regText) return regex diff --git a/Settings.gd b/Settings.gd index 2ace87a..1f79b85 100644 --- a/Settings.gd +++ b/Settings.gd @@ -1,16 +1,20 @@ extends Node -var default_path: String = "https://tmusic.sanplex.tech" -var selected_server: int = 1 +var default_path: String = "https://music.sanplex.tech" +var selected_server: int = 0 +#var default_path: String = "https://tmusic.sanplex.tech" +#var selected_server: int = 1 var is_local: bool = false var stop_after_current: bool = true +var auto_repeat_song: bool = false var hide_next_track: bool = true var add_to_stats: bool = true var use_low_played_mode: bool = false var winning_score: int = 20 var fullscreen: bool = false +var quick_sync: bool = true var play_local: bool = false var number_of_players: int = 0 @@ -36,7 +40,8 @@ Alt + A = Add Players Alt + Z = Reset Alt + X = Play/Pause Alt + C = Next Song -Alt + V = Show Answer" +Alt + V = Show Answer +Alt + Enter = Fullscreen" #play = X #nästa = c @@ -46,6 +51,9 @@ Alt + V = Show Answer" func get_next_player_id() -> int: number_of_players += 1 return number_of_players + +func player_removed() -> void: + number_of_players -= 1 func make_request2(address: String, func_name: Callable, expect_data: bool) -> void: print("func_name: ", func_name.get_method()) diff --git a/SettingsWindow.gd b/SettingsWindow.gd index abaff9e..ceda87e 100644 --- a/SettingsWindow.gd +++ b/SettingsWindow.gd @@ -27,6 +27,9 @@ var select_server_button := $SelectServerButton @onready var fullscreen_button := $FullscreenButton +@onready +var quick_sync_button := $QuickSyncButton + @onready var local_button := $LocalButton @@ -40,6 +43,7 @@ func _ready(): increase_winning_score_button.pressed.connect(increase_winning_score) #select_server_button.pressed.connect(select_server) fullscreen_button.pressed.connect(fullscreen) + quick_sync_button.pressed.connect(quick_sync) local_button.pressed.connect(local_play) stop_after_current_button.button_pressed = Settings.stop_after_current @@ -49,19 +53,22 @@ func _ready(): select_server_button.select(Settings.selected_server) select_server_button.item_selected.connect(select_server) -func fullscreen(): +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 quick_sync() -> void: + Settings.quick_sync = !Settings.quick_sync + func local_play(): Settings.play_local = !Settings.play_local func stop_after_current(): Settings.stop_after_current = !Settings.stop_after_current - + func hide_next_track(): Settings.hide_next_track = !Settings.hide_next_track diff --git a/SettingsWindow.tscn b/SettingsWindow.tscn index ce10e5e..84e809c 100644 --- a/SettingsWindow.tscn +++ b/SettingsWindow.tscn @@ -76,12 +76,12 @@ text = "+1" [node name="SelectServerButton" type="OptionButton" parent="."] layout_mode = 2 -item_count = 4 selected = 0 +item_count = 4 popup/item_0/text = "https://music.sanplex.tech" popup/item_0/id = 1 popup/item_1/text = "https://tmusic.sanplex.tech" -popup/item_1/id = 0 +popup/item_1/id = 1 popup/item_2/text = "http://192.168.86.100:8085" popup/item_2/id = 2 popup/item_3/text = "http://localhost:8080" @@ -89,9 +89,18 @@ popup/item_3/id = 3 [node name="FullscreenButton" type="CheckButton" parent="."] layout_mode = 2 +size_flags_horizontal = 0 text = "Fullscreen" +[node name="QuickSyncButton" type="CheckButton" parent="."] +layout_mode = 2 +size_flags_horizontal = 0 +button_pressed = true +action_mode = 0 +text = "Quick sync" + [node name="LocalButton" type="CheckButton" parent="."] layout_mode = 2 +size_flags_horizontal = 0 disabled = true text = "Local" diff --git a/SongObject.gd b/SongObject.gd new file mode 100644 index 0000000..4d5d480 --- /dev/null +++ b/SongObject.gd @@ -0,0 +1,17 @@ +extends Node + +var song_number: int + +var song_title: String + +var game_title: String + +var players_given_point: Array[String] + +var is_answered: bool = false + +var has_played: bool = false + +var is_playing: bool = false + +var song: AudioStream diff --git a/export_presets.cfg b/export_presets.cfg index a972cc0..7d8516c 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -3,16 +3,18 @@ name="Windows Desktop" platform="Windows Desktop" runnable=true +advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" -export_path="../../ResilioSync/Sorterat/MusicPlayer_1.0.2.exe" +export_path="../../ResilioSync/Sorterat/MusicPlayer_1.3.0.exe" encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false encrypt_directory=false +script_export_mode=2 [preset.0.options] @@ -20,10 +22,8 @@ custom_template/debug="" custom_template/release="" debug/export_console_wrapper=0 binary_format/embed_pck=true -texture_format/bptc=true -texture_format/s3tc=true -texture_format/etc=false -texture_format/etc2=false +texture_format/s3tc_bptc=true +texture_format/etc2_astc=false binary_format/architecture="x86_64" codesign/enable=false codesign/timestamp=true @@ -43,6 +43,8 @@ application/file_description="" application/copyright="" application/trademarks="" application/export_angle=0 +application/export_d3d12=0 +application/d3d12_agility_sdk_multiarch=true ssh_remote_deploy/enabled=false ssh_remote_deploy/host="user@host_ip" ssh_remote_deploy/port="22" @@ -63,6 +65,10 @@ Remove-Item -Recurse -Force '{temp_dir}'" dotnet/include_scripts_content=false dotnet/include_debug_symbols=true dotnet/embed_build_outputs=false +texture_format/bptc=true +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false debug/export_console_script=1 [preset.1] @@ -70,6 +76,7 @@ debug/export_console_script=1 name="macOS" platform="macOS" runnable=true +advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" @@ -80,6 +87,7 @@ encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false encrypt_directory=false +script_export_mode=2 [preset.1.options] @@ -100,6 +108,7 @@ application/copyright_localized={} application/min_macos_version="10.12" application/export_angle=0 display/high_res=true +application/additional_plist_content="" xcode/platform_build="14C18" xcode/sdk_version="13.1" xcode/sdk_build="22C55" @@ -158,6 +167,148 @@ privacy/network_volumes_usage_description="" privacy/network_volumes_usage_description_localized={} privacy/removable_volumes_usage_description="" privacy/removable_volumes_usage_description_localized={} +privacy/tracking_enabled=false +privacy/tracking_domains=PackedStringArray() +privacy/collected_data/name/collected=false +privacy/collected_data/name/linked_to_user=false +privacy/collected_data/name/used_for_tracking=false +privacy/collected_data/name/collection_purposes=0 +privacy/collected_data/email_address/collected=false +privacy/collected_data/email_address/linked_to_user=false +privacy/collected_data/email_address/used_for_tracking=false +privacy/collected_data/email_address/collection_purposes=0 +privacy/collected_data/phone_number/collected=false +privacy/collected_data/phone_number/linked_to_user=false +privacy/collected_data/phone_number/used_for_tracking=false +privacy/collected_data/phone_number/collection_purposes=0 +privacy/collected_data/physical_address/collected=false +privacy/collected_data/physical_address/linked_to_user=false +privacy/collected_data/physical_address/used_for_tracking=false +privacy/collected_data/physical_address/collection_purposes=0 +privacy/collected_data/other_contact_info/collected=false +privacy/collected_data/other_contact_info/linked_to_user=false +privacy/collected_data/other_contact_info/used_for_tracking=false +privacy/collected_data/other_contact_info/collection_purposes=0 +privacy/collected_data/health/collected=false +privacy/collected_data/health/linked_to_user=false +privacy/collected_data/health/used_for_tracking=false +privacy/collected_data/health/collection_purposes=0 +privacy/collected_data/fitness/collected=false +privacy/collected_data/fitness/linked_to_user=false +privacy/collected_data/fitness/used_for_tracking=false +privacy/collected_data/fitness/collection_purposes=0 +privacy/collected_data/payment_info/collected=false +privacy/collected_data/payment_info/linked_to_user=false +privacy/collected_data/payment_info/used_for_tracking=false +privacy/collected_data/payment_info/collection_purposes=0 +privacy/collected_data/credit_info/collected=false +privacy/collected_data/credit_info/linked_to_user=false +privacy/collected_data/credit_info/used_for_tracking=false +privacy/collected_data/credit_info/collection_purposes=0 +privacy/collected_data/other_financial_info/collected=false +privacy/collected_data/other_financial_info/linked_to_user=false +privacy/collected_data/other_financial_info/used_for_tracking=false +privacy/collected_data/other_financial_info/collection_purposes=0 +privacy/collected_data/precise_location/collected=false +privacy/collected_data/precise_location/linked_to_user=false +privacy/collected_data/precise_location/used_for_tracking=false +privacy/collected_data/precise_location/collection_purposes=0 +privacy/collected_data/coarse_location/collected=false +privacy/collected_data/coarse_location/linked_to_user=false +privacy/collected_data/coarse_location/used_for_tracking=false +privacy/collected_data/coarse_location/collection_purposes=0 +privacy/collected_data/sensitive_info/collected=false +privacy/collected_data/sensitive_info/linked_to_user=false +privacy/collected_data/sensitive_info/used_for_tracking=false +privacy/collected_data/sensitive_info/collection_purposes=0 +privacy/collected_data/contacts/collected=false +privacy/collected_data/contacts/linked_to_user=false +privacy/collected_data/contacts/used_for_tracking=false +privacy/collected_data/contacts/collection_purposes=0 +privacy/collected_data/emails_or_text_messages/collected=false +privacy/collected_data/emails_or_text_messages/linked_to_user=false +privacy/collected_data/emails_or_text_messages/used_for_tracking=false +privacy/collected_data/emails_or_text_messages/collection_purposes=0 +privacy/collected_data/photos_or_videos/collected=false +privacy/collected_data/photos_or_videos/linked_to_user=false +privacy/collected_data/photos_or_videos/used_for_tracking=false +privacy/collected_data/photos_or_videos/collection_purposes=0 +privacy/collected_data/audio_data/collected=false +privacy/collected_data/audio_data/linked_to_user=false +privacy/collected_data/audio_data/used_for_tracking=false +privacy/collected_data/audio_data/collection_purposes=0 +privacy/collected_data/gameplay_content/collected=false +privacy/collected_data/gameplay_content/linked_to_user=false +privacy/collected_data/gameplay_content/used_for_tracking=false +privacy/collected_data/gameplay_content/collection_purposes=0 +privacy/collected_data/customer_support/collected=false +privacy/collected_data/customer_support/linked_to_user=false +privacy/collected_data/customer_support/used_for_tracking=false +privacy/collected_data/customer_support/collection_purposes=0 +privacy/collected_data/other_user_content/collected=false +privacy/collected_data/other_user_content/linked_to_user=false +privacy/collected_data/other_user_content/used_for_tracking=false +privacy/collected_data/other_user_content/collection_purposes=0 +privacy/collected_data/browsing_history/collected=false +privacy/collected_data/browsing_history/linked_to_user=false +privacy/collected_data/browsing_history/used_for_tracking=false +privacy/collected_data/browsing_history/collection_purposes=0 +privacy/collected_data/search_hhistory/collected=false +privacy/collected_data/search_hhistory/linked_to_user=false +privacy/collected_data/search_hhistory/used_for_tracking=false +privacy/collected_data/search_hhistory/collection_purposes=0 +privacy/collected_data/user_id/collected=false +privacy/collected_data/user_id/linked_to_user=false +privacy/collected_data/user_id/used_for_tracking=false +privacy/collected_data/user_id/collection_purposes=0 +privacy/collected_data/device_id/collected=false +privacy/collected_data/device_id/linked_to_user=false +privacy/collected_data/device_id/used_for_tracking=false +privacy/collected_data/device_id/collection_purposes=0 +privacy/collected_data/purchase_history/collected=false +privacy/collected_data/purchase_history/linked_to_user=false +privacy/collected_data/purchase_history/used_for_tracking=false +privacy/collected_data/purchase_history/collection_purposes=0 +privacy/collected_data/product_interaction/collected=false +privacy/collected_data/product_interaction/linked_to_user=false +privacy/collected_data/product_interaction/used_for_tracking=false +privacy/collected_data/product_interaction/collection_purposes=0 +privacy/collected_data/advertising_data/collected=false +privacy/collected_data/advertising_data/linked_to_user=false +privacy/collected_data/advertising_data/used_for_tracking=false +privacy/collected_data/advertising_data/collection_purposes=0 +privacy/collected_data/other_usage_data/collected=false +privacy/collected_data/other_usage_data/linked_to_user=false +privacy/collected_data/other_usage_data/used_for_tracking=false +privacy/collected_data/other_usage_data/collection_purposes=0 +privacy/collected_data/crash_data/collected=false +privacy/collected_data/crash_data/linked_to_user=false +privacy/collected_data/crash_data/used_for_tracking=false +privacy/collected_data/crash_data/collection_purposes=0 +privacy/collected_data/performance_data/collected=false +privacy/collected_data/performance_data/linked_to_user=false +privacy/collected_data/performance_data/used_for_tracking=false +privacy/collected_data/performance_data/collection_purposes=0 +privacy/collected_data/other_diagnostic_data/collected=false +privacy/collected_data/other_diagnostic_data/linked_to_user=false +privacy/collected_data/other_diagnostic_data/used_for_tracking=false +privacy/collected_data/other_diagnostic_data/collection_purposes=0 +privacy/collected_data/environment_scanning/collected=false +privacy/collected_data/environment_scanning/linked_to_user=false +privacy/collected_data/environment_scanning/used_for_tracking=false +privacy/collected_data/environment_scanning/collection_purposes=0 +privacy/collected_data/hands/collected=false +privacy/collected_data/hands/linked_to_user=false +privacy/collected_data/hands/used_for_tracking=false +privacy/collected_data/hands/collection_purposes=0 +privacy/collected_data/head/collected=false +privacy/collected_data/head/linked_to_user=false +privacy/collected_data/head/used_for_tracking=false +privacy/collected_data/head/collection_purposes=0 +privacy/collected_data/other_data_types/collected=false +privacy/collected_data/other_data_types/linked_to_user=false +privacy/collected_data/other_data_types/used_for_tracking=false +privacy/collected_data/other_data_types/collection_purposes=0 ssh_remote_deploy/enabled=false ssh_remote_deploy/host="user@host_ip" ssh_remote_deploy/port="22" @@ -180,6 +331,7 @@ notarization/apple_team_id="" name="Web" platform="Web" runnable=false +advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" @@ -190,12 +342,14 @@ encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false encrypt_directory=false +script_export_mode=2 [preset.2.options] custom_template/debug="" custom_template/release="" variant/extensions_support=false +variant/thread_support=false vram_texture_compression/for_desktop=true vram_texture_compression/for_mobile=false html/export_icon=true @@ -205,6 +359,7 @@ html/canvas_resize_policy=2 html/focus_canvas_on_start=true html/experimental_virtual_keyboard=false progressive_web_app/enabled=false +progressive_web_app/ensure_cross_origin_isolation_headers=true progressive_web_app/offline_page="" progressive_web_app/display=1 progressive_web_app/orientation=0 diff --git a/icons/pause_icon_dark.svg.import b/icons/pause_icon_dark.svg.import new file mode 100644 index 0000000..88cc784 --- /dev/null +++ b/icons/pause_icon_dark.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7cg1h7rmiclx" +path="res://.godot/imported/pause_icon_dark.svg-98d49724f33d33ed5239328ede02d5a2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/pause_icon_dark.svg" +dest_files=["res://.godot/imported/pause_icon_dark.svg-98d49724f33d33ed5239328ede02d5a2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/icons/pause_icon_light.png.import b/icons/pause_icon_light.png.import new file mode 100644 index 0000000..463aa1f --- /dev/null +++ b/icons/pause_icon_light.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bl2bxfgk316gl" +path="res://.godot/imported/pause_icon_light.png-314c2e88feb5eb30bccf80cbe51b0031.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/pause_icon_light.png" +dest_files=["res://.godot/imported/pause_icon_light.png-314c2e88feb5eb30bccf80cbe51b0031.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/icons/pause_icon_light.svg.import b/icons/pause_icon_light.svg.import new file mode 100644 index 0000000..3266d98 --- /dev/null +++ b/icons/pause_icon_light.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dmgng6l3ghnhu" +path="res://.godot/imported/pause_icon_light.svg-7be43594fcd7796d212e42302c91652b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/pause_icon_light.svg" +dest_files=["res://.godot/imported/pause_icon_light.svg-7be43594fcd7796d212e42302c91652b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/icons/person_add_dark.svg.import b/icons/person_add_dark.svg.import new file mode 100644 index 0000000..04f5855 --- /dev/null +++ b/icons/person_add_dark.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvwx7761s3vsl" +path="res://.godot/imported/person_add_dark.svg-fa5958cbd492c9763746d15a4bd2b4b7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/person_add_dark.svg" +dest_files=["res://.godot/imported/person_add_dark.svg-fa5958cbd492c9763746d15a4bd2b4b7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/icons/person_add_light.svg.import b/icons/person_add_light.svg.import new file mode 100644 index 0000000..34d6864 --- /dev/null +++ b/icons/person_add_light.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bcfmpd7h512ef" +path="res://.godot/imported/person_add_light.svg-7c9cac9c92cc3eda248789ddbb71074d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/person_add_light.svg" +dest_files=["res://.godot/imported/person_add_light.svg-7c9cac9c92cc3eda248789ddbb71074d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/icons/person_remove_dark.svg.import b/icons/person_remove_dark.svg.import new file mode 100644 index 0000000..e90f206 --- /dev/null +++ b/icons/person_remove_dark.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0j74osuavbl4" +path="res://.godot/imported/person_remove_dark.svg-c3cfe8468e6bd12731ae808bc4683774.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/person_remove_dark.svg" +dest_files=["res://.godot/imported/person_remove_dark.svg-c3cfe8468e6bd12731ae808bc4683774.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/icons/person_remove_light.svg.import b/icons/person_remove_light.svg.import new file mode 100644 index 0000000..2a5b7b2 --- /dev/null +++ b/icons/person_remove_light.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2kj6m8qpsgb1" +path="res://.godot/imported/person_remove_light.svg-f66f76b2044247abe95f91e24fc2af1f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/person_remove_light.svg" +dest_files=["res://.godot/imported/person_remove_light.svg-f66f76b2044247abe95f91e24fc2af1f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/icons/play_icon_dark.svg.import b/icons/play_icon_dark.svg.import new file mode 100644 index 0000000..7334f09 --- /dev/null +++ b/icons/play_icon_dark.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bhxuxyoa3dtod" +path="res://.godot/imported/play_icon_dark.svg-419dcda1c79f76564a2bc3d6d462ea65.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/play_icon_dark.svg" +dest_files=["res://.godot/imported/play_icon_dark.svg-419dcda1c79f76564a2bc3d6d462ea65.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/icons/play_icon_light.png.import b/icons/play_icon_light.png.import new file mode 100644 index 0000000..2bd3466 --- /dev/null +++ b/icons/play_icon_light.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6ha11jjqeor7" +path="res://.godot/imported/play_icon_light.png-142b6e450780d542143c90ca20fe2ec3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/play_icon_light.png" +dest_files=["res://.godot/imported/play_icon_light.png-142b6e450780d542143c90ca20fe2ec3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/icons/play_icon_light.svg.import b/icons/play_icon_light.svg.import new file mode 100644 index 0000000..57dec77 --- /dev/null +++ b/icons/play_icon_light.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://comxqfiykp54f" +path="res://.godot/imported/play_icon_light.svg-33163dc2761ca6834802d172d7abe6de.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/play_icon_light.svg" +dest_files=["res://.godot/imported/play_icon_light.svg-33163dc2761ca6834802d172d7abe6de.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/icons/reload_dark_icon.svg.import b/icons/reload_dark_icon.svg.import new file mode 100644 index 0000000..e35370e --- /dev/null +++ b/icons/reload_dark_icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cugsedyfrbhxe" +path="res://.godot/imported/reload_dark_icon.svg-cd02ac8e0fd4f1af4baad0f567299606.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/reload_dark_icon.svg" +dest_files=["res://.godot/imported/reload_dark_icon.svg-cd02ac8e0fd4f1af4baad0f567299606.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/icons/reload_light_icon.png.import b/icons/reload_light_icon.png.import new file mode 100644 index 0000000..91c3e5a --- /dev/null +++ b/icons/reload_light_icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfsr0wowt7pnt" +path="res://.godot/imported/reload_light_icon.png-4c6c6146370d9a98f9730b35cf32a7af.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/reload_light_icon.png" +dest_files=["res://.godot/imported/reload_light_icon.png-4c6c6146370d9a98f9730b35cf32a7af.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/icons/reload_light_icon.svg.import b/icons/reload_light_icon.svg.import new file mode 100644 index 0000000..74927dc --- /dev/null +++ b/icons/reload_light_icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccb6rvbldlgdg" +path="res://.godot/imported/reload_light_icon.svg-34193f54dfd701d2b8b52323306521b5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/reload_light_icon.svg" +dest_files=["res://.godot/imported/reload_light_icon.svg-34193f54dfd701d2b8b52323306521b5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/icons/reload_light_icon_bigger.svg.import b/icons/reload_light_icon_bigger.svg.import new file mode 100644 index 0000000..8039700 --- /dev/null +++ b/icons/reload_light_icon_bigger.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cubxh4fv4s6t0" +path="res://.godot/imported/reload_light_icon_bigger.svg-4075121715f2e748470d76df50055875.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/reload_light_icon_bigger.svg" +dest_files=["res://.godot/imported/reload_light_icon_bigger.svg-4075121715f2e748470d76df50055875.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/project.godot b/project.godot index 13e44a1..ef2d6a2 100644 --- a/project.godot +++ b/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="MusicPlayer" run/main_scene="res://MainWindow.tscn" -config/features=PackedStringArray("4.2", "Forward Plus") +config/features=PackedStringArray("4.3", "Forward Plus") config/icon="res://icon.svg" [autoload]