Compare commits
31 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5da51b2999 | |||
| 3a8ec2e6de | |||
| d87a69fc9f | |||
| 3747eb6f8c | |||
| a602821d7b | |||
| b4b1dcdc4a | |||
| 03663d8698 | |||
| 4b05dd21e3 | |||
| 9999f23629 | |||
| 1503329864 | |||
| dedebf013c | |||
| 9745cceb12 | |||
| 1de3ced558 | |||
| aea4b42da6 | |||
| b06f15a2cd | |||
| 8e3c158911 | |||
| 3151974621 | |||
| a0d2e7827e | |||
| 7d0882856b | |||
| 340a29f8e8 | |||
| 02e8c3545a | |||
| 3a698b1181 | |||
| faa1d62c2a | |||
| ba54b7b195 | |||
| 82c4ff4cf3 | |||
| 73d0bf7c5a | |||
| 4fd83f4891 | |||
| 796920a8dc | |||
| f56c40ce7f | |||
| be75e251a2 | |||
| a9f5aeda81 |
Binary file not shown.
|
After Width: | Height: | Size: 769 B |
@@ -2,16 +2,16 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bdpat2sfflaxq"
|
||||
path="res://.godot/imported/Youtube_logo.png-22e44a6c4c4bd7a2da4492032ea62686.ctex"
|
||||
uid="uid://bmbxyma4ra46p"
|
||||
path="res://.godot/imported/Download.png-3a4ebaeb081d510c32ff24ab28484d7b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Youtube_logo.png"
|
||||
dest_files=["res://.godot/imported/Youtube_logo.png-22e44a6c4c4bd7a2da4492032ea62686.ctex"]
|
||||
source_file="res://Download.png"
|
||||
dest_files=["res://.godot/imported/Download.png-3a4ebaeb081d510c32ff24ab28484d7b.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=66 format=3 uid="uid://b2sygl55s6fng"]
|
||||
[gd_scene load_steps=67 format=3 uid="uid://b2sygl55s6fng"]
|
||||
|
||||
[ext_resource type="Script" path="res://main.gd" id="1_ubs1p"]
|
||||
[ext_resource type="Texture2D" uid="uid://b8on1case224h" path="res://LoopPressed.png" id="2_iolk5"]
|
||||
@@ -18,7 +18,6 @@
|
||||
[ext_resource type="Script" path="res://cover.gd" id="12_3v50a"]
|
||||
[ext_resource type="Script" path="res://playlists_panel.gd" id="12_8ie8y"]
|
||||
[ext_resource type="Script" path="res://settings_button.gd" id="12_073mb"]
|
||||
[ext_resource type="Texture2D" uid="uid://bdpat2sfflaxq" path="res://Youtube_logo.png" id="12_bc5ym"]
|
||||
[ext_resource type="Texture2D" uid="uid://myq6n4bshduj" path="res://search.png" id="12_cv2gm"]
|
||||
[ext_resource type="Script" path="res://search_bar.gd" id="12_mr42x"]
|
||||
[ext_resource type="Script" path="res://select_playlist.gd" id="12_of5fe"]
|
||||
@@ -30,6 +29,8 @@
|
||||
[ext_resource type="Texture2D" uid="uid://1rstn6r2wisy" path="res://X.png" id="14_mioc4"]
|
||||
[ext_resource type="Script" path="res://Spinning.gd" id="14_rhw4k"]
|
||||
[ext_resource type="Script" path="res://yt_tab_button.gd" id="16_2t15p"]
|
||||
[ext_resource type="Script" path="res://help_button.gd" id="17_4b8oh"]
|
||||
[ext_resource type="Texture2D" uid="uid://bmbxyma4ra46p" path="res://Download.png" id="29_v44vi"]
|
||||
[ext_resource type="Script" path="res://update_checker.gd" id="30_byc5i"]
|
||||
[ext_resource type="Script" path="res://patch_notes_button.gd" id="31_hjsj1"]
|
||||
[ext_resource type="Script" path="res://CustomButtonColor.gd" id="32_pwgec"]
|
||||
@@ -91,14 +92,6 @@ keycode = 82
|
||||
[sub_resource type="Shortcut" id="Shortcut_axi6u"]
|
||||
events = [SubResource("InputEventKey_0jlka")]
|
||||
|
||||
[sub_resource type="InputEventKey" id="InputEventKey_117g0"]
|
||||
device = -1
|
||||
ctrl_pressed = true
|
||||
keycode = 83
|
||||
|
||||
[sub_resource type="Shortcut" id="Shortcut_8p5o4"]
|
||||
events = [SubResource("InputEventKey_117g0")]
|
||||
|
||||
[sub_resource type="InputEventKey" id="InputEventKey_5af16"]
|
||||
device = -1
|
||||
keycode = 32
|
||||
@@ -152,6 +145,14 @@ keycode = 81
|
||||
[sub_resource type="Shortcut" id="Shortcut_g3fcr"]
|
||||
events = [SubResource("InputEventKey_puhgg")]
|
||||
|
||||
[sub_resource type="InputEventKey" id="InputEventKey_117g0"]
|
||||
device = -1
|
||||
ctrl_pressed = true
|
||||
keycode = 83
|
||||
|
||||
[sub_resource type="Shortcut" id="Shortcut_8p5o4"]
|
||||
events = [SubResource("InputEventKey_117g0")]
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_b1152"]
|
||||
font_size = 31
|
||||
|
||||
@@ -169,6 +170,11 @@ script = ExtResource("1_ubs1p")
|
||||
LoopPressed = ExtResource("2_iolk5")
|
||||
LoopNotPressed = ExtResource("5_c2g63")
|
||||
|
||||
[node name="OSMediaIntigration" type="Control" parent="."]
|
||||
anchors_preset = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
|
||||
[node name="WallpaperManager" type="Node2D" parent="." node_paths=PackedStringArray("Daytime", "Evening", "Nighttime")]
|
||||
script = ExtResource("4_y372l")
|
||||
Daytime = NodePath("../Daytime")
|
||||
@@ -271,7 +277,7 @@ script = ExtResource("12_3v50a")
|
||||
layout_mode = 0
|
||||
offset_left = 20.0
|
||||
offset_top = 24.0
|
||||
offset_right = 257.0
|
||||
offset_right = 256.0
|
||||
offset_bottom = 80.0
|
||||
focus_mode = 0
|
||||
toggle_mode = true
|
||||
@@ -279,20 +285,30 @@ shortcut = SubResource("Shortcut_vp2fh")
|
||||
text = "Playlists"
|
||||
script = ExtResource("12_of5fe")
|
||||
|
||||
[node name="PlaylistsPanel" type="Control" parent="."]
|
||||
visible = false
|
||||
[node name="PlaylistPanelHolder" type="Control" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 9
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -30.0
|
||||
offset_right = -30.0
|
||||
offset_bottom = -190.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="PlaylistsPanel" type="Control" parent="PlaylistPanelHolder"]
|
||||
layout_mode = 2
|
||||
anchors_preset = 0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 19.0
|
||||
offset_top = 88.0
|
||||
offset_right = 393.0
|
||||
offset_bottom = -132.0
|
||||
offset_bottom = 48.0
|
||||
grow_vertical = 2
|
||||
script = ExtResource("12_8ie8y")
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="PlaylistsPanel"]
|
||||
[node name="ColorRect" type="ColorRect" parent="PlaylistPanelHolder/PlaylistsPanel"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
@@ -301,7 +317,7 @@ grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||
|
||||
[node name="PlaylistsContainer" type="ScrollContainer" parent="PlaylistsPanel"]
|
||||
[node name="PlaylistsContainer" type="ScrollContainer" parent="PlaylistPanelHolder/PlaylistsPanel"]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 0.0174419
|
||||
@@ -313,48 +329,66 @@ grow_vertical = 2
|
||||
follow_focus = true
|
||||
horizontal_scroll_mode = 0
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PlaylistsPanel/PlaylistsContainer"]
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PlaylistPanelHolder/PlaylistsPanel/PlaylistsContainer"]
|
||||
custom_minimum_size = Vector2(365.295, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
size_flags_vertical = 0
|
||||
|
||||
[node name="Label" type="Label" parent="PlaylistsPanel/PlaylistsContainer/VBoxContainer"]
|
||||
[node name="Label" type="Label" parent="PlaylistPanelHolder/PlaylistsPanel/PlaylistsContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 0
|
||||
text = "PLAYLISTS"
|
||||
label_settings = SubResource("LabelSettings_0fjy0")
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="PlaylistsPanel/PlaylistsContainer/VBoxContainer"]
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="PlaylistPanelHolder/PlaylistsPanel/PlaylistsContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
size_flags_stretch_ratio = 0.0
|
||||
alignment = 1
|
||||
|
||||
[node name="CreatePlaylist" type="Button" parent="PlaylistsPanel/PlaylistsContainer/VBoxContainer/HBoxContainer"]
|
||||
[node name="CreatePlaylist" type="Button" parent="PlaylistPanelHolder/PlaylistsPanel/PlaylistsContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(155, 42.335)
|
||||
layout_mode = 2
|
||||
focus_mode = 0
|
||||
text = "Create
|
||||
Playlist"
|
||||
|
||||
[node name="Control" type="Control" parent="PlaylistsPanel/PlaylistsContainer/VBoxContainer/HBoxContainer"]
|
||||
[node name="Control" type="Control" parent="PlaylistPanelHolder/PlaylistsPanel/PlaylistsContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(7.55, 0)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="PlayAll" type="Button" parent="PlaylistsPanel/PlaylistsContainer/VBoxContainer/HBoxContainer"]
|
||||
[node name="PlayAll" type="Button" parent="PlaylistPanelHolder/PlaylistsPanel/PlaylistsContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(155, 42.335)
|
||||
layout_mode = 2
|
||||
focus_mode = 0
|
||||
toggle_mode = true
|
||||
text = "Play all"
|
||||
|
||||
[node name="PlaylistsHolder" type="VBoxContainer" parent="PlaylistsPanel/PlaylistsContainer/VBoxContainer"]
|
||||
[node name="PlaylistsHolder" type="VBoxContainer" parent="PlaylistPanelHolder/PlaylistsPanel/PlaylistsContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
alignment = 1
|
||||
|
||||
[node name="YtTabButton" type="Button" parent="."]
|
||||
texture_filter = 1
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
offset_left = -77.0
|
||||
offset_top = 131.0
|
||||
offset_right = -5.0
|
||||
offset_bottom = 203.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 2
|
||||
scale = Vector2(0.79, 0.79)
|
||||
focus_mode = 0
|
||||
toggle_mode = true
|
||||
icon = ExtResource("29_v44vi")
|
||||
script = ExtResource("16_2t15p")
|
||||
|
||||
[node name="YoutubeMenuHolder" type="Control" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 1
|
||||
@@ -380,7 +414,7 @@ anchor_bottom = 1.0
|
||||
offset_left = -7.0
|
||||
offset_top = -5.0
|
||||
offset_right = 7.0
|
||||
offset_bottom = 5.0
|
||||
offset_bottom = 4.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||
@@ -389,7 +423,7 @@ color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||
layout_mode = 1
|
||||
offset_right = 229.0
|
||||
offset_bottom = 47.0
|
||||
placeholder_text = "Youtube link(can be playlist)"
|
||||
placeholder_text = "Link to download"
|
||||
|
||||
[node name="YTDownload" type="Button" parent="YoutubeMenuHolder/Youtube menu"]
|
||||
layout_mode = 1
|
||||
@@ -416,6 +450,24 @@ offset_bottom = 72.0
|
||||
text = "NOTE: speeds depend on your internet"
|
||||
label_settings = SubResource("LabelSettings_fiiw4")
|
||||
|
||||
[node name="HelpButton" type="Button" parent="YoutubeMenuHolder/Youtube menu"]
|
||||
custom_minimum_size = Vector2(32, 32)
|
||||
layout_mode = 1
|
||||
anchors_preset = 3
|
||||
anchor_left = 1.0
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -38.83
|
||||
offset_top = -40.0
|
||||
offset_right = 1.17004
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
focus_mode = 0
|
||||
text = "?"
|
||||
script = ExtResource("17_4b8oh")
|
||||
Open = "https://notdraimdev.github.io/SimplSite/GettingStarted.html"
|
||||
|
||||
[node name="CreatePlaylistsMenu" type="Control" parent="."]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
@@ -529,31 +581,6 @@ focus_mode = 0
|
||||
shortcut = SubResource("Shortcut_axi6u")
|
||||
text = "Randomize"
|
||||
|
||||
[node name="SettingsButton" type="Button" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 1
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
offset_left = -77.0
|
||||
offset_top = 23.0
|
||||
offset_right = -5.0
|
||||
offset_bottom = 95.0
|
||||
grow_horizontal = 0
|
||||
scale = Vector2(0.79, 0.79)
|
||||
focus_mode = 0
|
||||
shortcut = SubResource("Shortcut_8p5o4")
|
||||
icon = ExtResource("11_esjel")
|
||||
script = ExtResource("12_073mb")
|
||||
|
||||
[node name="SettingsPopup" type="Popup" parent="."]
|
||||
position = Vector2i(319, 85)
|
||||
size = Vector2i(591, 501)
|
||||
|
||||
[node name="SettingsMenuChild" parent="SettingsPopup" instance=ExtResource("13_7atry")]
|
||||
offset_left = -272.0
|
||||
offset_top = 8.0
|
||||
offset_bottom = 458.0
|
||||
|
||||
[node name="FileDialog" type="FileDialog" parent="."]
|
||||
title = "Open a Directory"
|
||||
position = Vector2i(28, 115)
|
||||
@@ -658,12 +685,12 @@ anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 67.0
|
||||
offset_top = -120.0
|
||||
offset_top = -132.0
|
||||
offset_right = -200.0
|
||||
offset_bottom = -89.0
|
||||
offset_bottom = -95.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
text = "Please select a directory"
|
||||
text = "Please make a Playlist "
|
||||
label_settings = SubResource("LabelSettings_6prit")
|
||||
clip_text = true
|
||||
text_overrun_behavior = 2
|
||||
@@ -675,7 +702,7 @@ anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 68.0
|
||||
offset_top = -99.0
|
||||
offset_top = -106.0
|
||||
offset_right = -199.0
|
||||
offset_bottom = -68.0
|
||||
grow_horizontal = 2
|
||||
@@ -813,24 +840,6 @@ offset_top = 174.0
|
||||
offset_right = 1082.0
|
||||
offset_bottom = 214.0
|
||||
|
||||
[node name="YtTabButton" type="Button" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
offset_left = -97.0
|
||||
offset_top = 109.0
|
||||
offset_right = 551.0
|
||||
offset_bottom = 560.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 2
|
||||
scale = Vector2(0.105, 0.105)
|
||||
focus_mode = 0
|
||||
toggle_mode = true
|
||||
icon = ExtResource("12_bc5ym")
|
||||
flat = true
|
||||
script = ExtResource("16_2t15p")
|
||||
|
||||
[node name="Version" type="Label" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 3
|
||||
@@ -842,9 +851,66 @@ offset_left = -64.0
|
||||
offset_top = -23.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
text = "v1.4.1"
|
||||
text = "v1.4.6"
|
||||
horizontal_alignment = 2
|
||||
|
||||
[node name="SettingsButton" type="Button" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 1
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
offset_left = -77.0
|
||||
offset_top = 23.0
|
||||
offset_right = -5.0
|
||||
offset_bottom = 95.0
|
||||
grow_horizontal = 0
|
||||
scale = Vector2(0.79, 0.79)
|
||||
focus_mode = 0
|
||||
toggle_mode = true
|
||||
shortcut = SubResource("Shortcut_8p5o4")
|
||||
icon = ExtResource("11_esjel")
|
||||
script = ExtResource("12_073mb")
|
||||
|
||||
[node name="SettingsHolder" type="Control" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_top = -294.0
|
||||
offset_bottom = -294.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="SettingsPopup" type="Control" parent="SettingsHolder"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -295.5
|
||||
offset_right = 295.5
|
||||
offset_bottom = 501.0
|
||||
grow_horizontal = 2
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="SettingsHolder/SettingsPopup"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="SettingsMenuChild" parent="SettingsHolder/SettingsPopup" instance=ExtResource("13_7atry")]
|
||||
layout_mode = 1
|
||||
offset_left = -280.0
|
||||
offset_top = 8.0
|
||||
offset_right = 296.0
|
||||
offset_bottom = 501.0
|
||||
|
||||
[node name="WavDisclaimer" type="AcceptDialog" parent="."]
|
||||
transparent_bg = true
|
||||
title = "WAV disclaimer"
|
||||
@@ -1056,19 +1122,19 @@ label_settings = SubResource("LabelSettings_ivhc6")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[connection signal="toggled" from="SelectPlaylist" to="SelectPlaylist" method="_on_toggled"]
|
||||
[connection signal="pressed" from="PlaylistsPanel/PlaylistsContainer/VBoxContainer/HBoxContainer/CreatePlaylist" to="PlaylistsPanel" method="_on_create_playlist_pressed"]
|
||||
[connection signal="toggled" from="PlaylistsPanel/PlaylistsContainer/VBoxContainer/HBoxContainer/PlayAll" to="PlaylistsPanel" method="_on_play_all_toggled"]
|
||||
[connection signal="pressed" from="PlaylistPanelHolder/PlaylistsPanel/PlaylistsContainer/VBoxContainer/HBoxContainer/CreatePlaylist" to="PlaylistPanelHolder/PlaylistsPanel" method="_on_create_playlist_pressed"]
|
||||
[connection signal="toggled" from="PlaylistPanelHolder/PlaylistsPanel/PlaylistsContainer/VBoxContainer/HBoxContainer/PlayAll" to="PlaylistPanelHolder/PlaylistsPanel" method="_on_play_all_toggled"]
|
||||
[connection signal="toggled" from="YtTabButton" to="YtTabButton" method="_on_toggled"]
|
||||
[connection signal="dir_selected" from="CreatePlaylistsMenu/FileDialog" to="CreatePlaylistsMenu" method="_on_file_dialog_dir_selected"]
|
||||
[connection signal="text_changed" from="CreatePlaylistsMenu/ScrollContainer/VBoxContainer/PlaylistName" to="CreatePlaylistsMenu" method="_on_playlist_name_text_changed"]
|
||||
[connection signal="pressed" from="CreatePlaylistsMenu/ScrollContainer/VBoxContainer/SelectDirButton" to="CreatePlaylistsMenu" method="_on_select_dir_button_pressed"]
|
||||
[connection signal="pressed" from="CreatePlaylistsMenu/ScrollContainer/VBoxContainer/CreatePlaylistButton" to="CreatePlaylistsMenu" method="_on_create_playlist_button_pressed"]
|
||||
[connection signal="pressed" from="CreatePlaylistsMenu/CloseButton" to="CreatePlaylistsMenu" method="_on_close_button_pressed"]
|
||||
[connection signal="pressed" from="SettingsButton" to="SettingsButton" method="_on_pressed"]
|
||||
[connection signal="toggled" from="SearchToggle" to="SearchToggle" method="_on_toggled"]
|
||||
[connection signal="text_submitted" from="SearchBar" to="SearchBar" method="_on_text_submitted"]
|
||||
[connection signal="index_pressed" from="SearchResults" to="SearchBar" method="_on_search_results_index_pressed"]
|
||||
[connection signal="toggled" from="VolumeButton" to="VolumeButton" method="_on_toggled"]
|
||||
[connection signal="toggled" from="YtTabButton" to="YtTabButton" method="_on_toggled"]
|
||||
[connection signal="toggled" from="SettingsButton" to="SettingsButton" method="_on_toggled"]
|
||||
[connection signal="request_completed" from="UpdateChecker/HTTPRequest" to="UpdateChecker" method="_on_http_request_completed"]
|
||||
[connection signal="request_completed" from="UpdateChecker/DownloadRequest" to="UpdateChecker" method="_on_download_request_completed"]
|
||||
[connection signal="pressed" from="UpdateChecker/ColorRect/LinkButton" to="UpdateChecker" method="_on_link_button_pressed"]
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.4 KiB |
@@ -9,7 +9,7 @@ Button/styles/focus = SubResource("StyleBoxEmpty_1t7mm")
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_5vqdt"]
|
||||
|
||||
[sub_resource type="Image" id="Image_cdrfa"]
|
||||
[sub_resource type="Image" id="Image_qsij4"]
|
||||
data = {
|
||||
"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 227, 227, 227, 36, 224, 224, 224, 168, 224, 224, 224, 233, 224, 224, 224, 236, 224, 224, 224, 170, 231, 231, 231, 31, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 227, 227, 227, 36, 224, 224, 224, 234, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 239, 230, 230, 230, 30, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 168, 224, 224, 224, 255, 224, 224, 224, 186, 224, 224, 224, 32, 224, 224, 224, 33, 224, 224, 224, 187, 224, 224, 224, 255, 225, 225, 225, 167, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 237, 224, 224, 224, 255, 224, 224, 224, 33, 255, 255, 255, 0, 255, 255, 255, 0, 227, 227, 227, 36, 224, 224, 224, 255, 224, 224, 224, 234, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 237, 224, 224, 224, 255, 224, 224, 224, 33, 255, 255, 255, 0, 255, 255, 255, 0, 229, 229, 229, 38, 224, 224, 224, 255, 224, 224, 224, 229, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 164, 224, 224, 224, 255, 224, 224, 224, 187, 225, 225, 225, 34, 227, 227, 227, 36, 224, 224, 224, 192, 224, 224, 224, 255, 224, 224, 224, 162, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 24, 225, 225, 225, 215, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 229, 224, 224, 224, 32, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 24, 224, 224, 224, 216, 224, 224, 224, 255, 224, 224, 224, 210, 224, 224, 224, 161, 224, 224, 224, 232, 224, 224, 224, 231, 225, 225, 225, 159, 230, 230, 230, 30, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 107, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 105, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 221, 224, 224, 224, 130, 255, 255, 255, 1, 255, 255, 255, 1, 225, 225, 225, 134, 224, 224, 224, 224, 225, 225, 225, 223, 224, 224, 224, 132, 255, 255, 255, 1, 255, 255, 255, 6, 224, 224, 224, 137, 224, 224, 224, 231, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 130, 225, 225, 225, 133, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 129, 224, 224, 224, 137, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 65, 224, 224, 224, 255, 224, 224, 224, 220, 225, 225, 225, 223, 224, 224, 224, 255, 226, 226, 226, 61, 224, 224, 224, 65, 224, 224, 224, 255, 224, 224, 224, 222, 224, 224, 224, 231, 224, 224, 224, 255, 227, 227, 227, 62, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 67, 224, 224, 224, 255, 224, 224, 224, 219, 224, 224, 224, 222, 224, 224, 224, 255, 227, 227, 227, 63, 225, 225, 225, 67, 224, 224, 224, 255, 224, 224, 224, 219, 224, 224, 224, 230, 224, 224, 224, 255, 227, 227, 227, 63, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 127, 224, 224, 224, 129, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 126, 225, 225, 225, 135, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 221, 225, 225, 225, 127, 255, 255, 255, 0, 255, 255, 255, 1, 224, 224, 224, 128, 224, 224, 224, 220, 224, 224, 224, 219, 225, 225, 225, 127, 255, 255, 255, 0, 255, 255, 255, 5, 225, 225, 225, 134, 224, 224, 224, 229, 224, 224, 224, 255, 255, 255, 255, 0),
|
||||
"format": "RGBA8",
|
||||
@@ -19,7 +19,7 @@ data = {
|
||||
}
|
||||
|
||||
[sub_resource type="ImageTexture" id="ImageTexture_gdtpn"]
|
||||
image = SubResource("Image_cdrfa")
|
||||
image = SubResource("Image_qsij4")
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_7v0rg"]
|
||||
|
||||
|
||||
@@ -36,13 +36,22 @@ func download(url: String) -> Download:
|
||||
func FilesMissing() -> bool:
|
||||
var executable_name: String = "yt-dlp.exe" if OS.get_name() == "Windows" else "yt-dlp"
|
||||
|
||||
if OS.get_name() == "Windows":
|
||||
if not FileAccess.file_exists("user://%s" % executable_name):
|
||||
return true
|
||||
if not FileAccess.file_exists("user://ffmpeg.exe"):
|
||||
return true
|
||||
if not FileAccess.file_exists("user://ffprobe.exe"):
|
||||
return true
|
||||
|
||||
elif OS.get_name() == "Linux":
|
||||
var stuff = OS.execute("bash",PackedStringArray(["-c","ffprobe"]))
|
||||
print(stuff)
|
||||
if stuff != 1:
|
||||
return true
|
||||
var stuff2 = OS.execute("bash",PackedStringArray(["-c","ffmpeg"]))
|
||||
print(stuff2)
|
||||
if stuff2 != 1:
|
||||
return true
|
||||
return false
|
||||
|
||||
func setup() -> void:
|
||||
@@ -59,9 +68,8 @@ func setup() -> void:
|
||||
await (Engine.get_main_loop() as SceneTree).process_frame
|
||||
_thread.wait_to_finish()
|
||||
|
||||
if OS.get_name() == "Windows":
|
||||
await _setup_ffmpeg()
|
||||
else:
|
||||
if OS.get_name() == "Linux":
|
||||
OS.execute("chmod", PackedStringArray(["+x", OS.get_user_data_dir() + "/yt-dlp"]))
|
||||
|
||||
_is_setup = true
|
||||
@@ -70,12 +78,33 @@ func setup() -> void:
|
||||
|
||||
func _setup_ffmpeg() -> void:
|
||||
if not FileAccess.file_exists("user://ffmpeg.exe"):
|
||||
if OS.get_name() == "Windows":
|
||||
_downloader.download(ffmpeg_sources["ffmpeg"], "user://ffmpeg.exe")
|
||||
await _downloader.download_completed
|
||||
print(OS.get_distribution_name())
|
||||
elif OS.get_distribution_name() in ["Ubuntu","Linux Mint","Debian"]:
|
||||
var stuff = OS.execute("bash",PackedStringArray(["-c","ffmpeg"]))
|
||||
print(stuff)
|
||||
if stuff !=1:
|
||||
push_error("FFMPEG NOT INSTALLED")
|
||||
print(OS.get_distribution_name())
|
||||
else:
|
||||
print(OS.get_distribution_name())
|
||||
|
||||
if not FileAccess.file_exists("user://ffprobe.exe"):
|
||||
if OS.get_name() == "Windows":
|
||||
_downloader.download(ffmpeg_sources["ffprobe"], "user://ffprobe.exe")
|
||||
print(OS.get_distribution_name())
|
||||
await _downloader.download_completed
|
||||
elif OS.get_name() == "Linux":
|
||||
var stuff = OS.execute("bash",PackedStringArray(["-c","ffprobe"]))
|
||||
print(stuff)
|
||||
if stuff != 1:
|
||||
push_error("FFPROBE NOT INSTALLED")
|
||||
print(OS.get_distribution_name())
|
||||
else:
|
||||
print(OS.get_distribution_name())
|
||||
|
||||
|
||||
|
||||
func _update_yt_dlp(filename: String) -> void:
|
||||
@@ -109,7 +138,7 @@ class Download extends RefCounted:
|
||||
var _renameAudioToDiffName:bool = false
|
||||
var _video_format: Video = Video.WEBM
|
||||
var _audio_format: Audio = Audio.MP3
|
||||
|
||||
var _download_playlist:bool
|
||||
|
||||
func _init(url: String):
|
||||
_url = url
|
||||
@@ -183,13 +212,17 @@ class Download extends RefCounted:
|
||||
"destination": _destination
|
||||
})
|
||||
|
||||
options_and_arguments.append_array(["--yes-playlist","--embed-metadata","--embed-thumbnail",str("-o" + "%(title)s.%(ext)s")])
|
||||
options_and_arguments.append_array(["--embed-metadata","--embed-thumbnail",str("-o" + "%(title)s.%(ext)s")])
|
||||
options_and_arguments.append_array(["--no-continue", "-P", file_path, _url])
|
||||
|
||||
var output: Array = []
|
||||
OS.execute(executable, PackedStringArray(options_and_arguments), output)
|
||||
if _download_playlist:
|
||||
options_and_arguments.append("--yes-playlist")
|
||||
else:
|
||||
options_and_arguments.append("--no-playlist")
|
||||
|
||||
print(options_and_arguments)
|
||||
var output: Array = []
|
||||
OS.execute(executable, PackedStringArray(options_and_arguments), output)
|
||||
self._thread_finished.call_deferred()
|
||||
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ extends Control
|
||||
@onready var file_dialog: FileDialog = $FileDialog
|
||||
@onready var current_directory: Label = $ScrollContainer/VBoxContainer/CurrentDirectory
|
||||
@onready var playlist_name: LineEdit = $ScrollContainer/VBoxContainer/PlaylistName
|
||||
@onready var playlists_holder: VBoxContainer = $"../PlaylistsPanel/PlaylistsContainer/VBoxContainer/PlaylistsHolder"
|
||||
@onready var playlists_holder: VBoxContainer = $"../PlaylistPanelHolder/PlaylistsPanel/PlaylistsContainer/VBoxContainer/PlaylistsHolder"
|
||||
|
||||
const PLAYLIST_DISPLAY = preload("res://PlaylistDisplay.tscn")
|
||||
|
||||
|
||||
+13
-223
@@ -9,7 +9,7 @@ custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../MusicPlayerExports/MusicPlayer.exe"
|
||||
export_path="../Exports/Windows/Simplaudio.exe"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
@@ -68,8 +68,8 @@ dotnet/embed_build_outputs=false
|
||||
|
||||
[preset.1]
|
||||
|
||||
name="macOS"
|
||||
platform="macOS"
|
||||
name="Linux"
|
||||
platform="Linux"
|
||||
runnable=true
|
||||
advanced_options=false
|
||||
dedicated_server=false
|
||||
@@ -77,7 +77,7 @@ custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../MusicPlayerMACExports/MusicPlayer.zip"
|
||||
export_path="../Exports/Linux/Simplaudio.x86_64"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
@@ -86,235 +86,25 @@ script_export_mode=2
|
||||
|
||||
[preset.1.options]
|
||||
|
||||
export/distribution_type=1
|
||||
binary_format/architecture="universal"
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_wrapper=2
|
||||
application/icon=""
|
||||
application/icon_interpolation=4
|
||||
application/bundle_identifier="com.bucket.simplaudio"
|
||||
application/signature=""
|
||||
application/app_category="Music"
|
||||
application/short_version=""
|
||||
application/version=""
|
||||
application/copyright=""
|
||||
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"
|
||||
xcode/sdk_name="macosx13.1"
|
||||
xcode/xcode_version="1420"
|
||||
xcode/xcode_build="14C18"
|
||||
codesign/codesign=1
|
||||
codesign/installer_identity=""
|
||||
codesign/apple_team_id=""
|
||||
codesign/identity=""
|
||||
codesign/entitlements/custom_file=""
|
||||
codesign/entitlements/allow_jit_code_execution=false
|
||||
codesign/entitlements/allow_unsigned_executable_memory=false
|
||||
codesign/entitlements/allow_dyld_environment_variables=false
|
||||
codesign/entitlements/disable_library_validation=false
|
||||
codesign/entitlements/audio_input=false
|
||||
codesign/entitlements/camera=false
|
||||
codesign/entitlements/location=false
|
||||
codesign/entitlements/address_book=false
|
||||
codesign/entitlements/calendars=false
|
||||
codesign/entitlements/photos_library=false
|
||||
codesign/entitlements/apple_events=false
|
||||
codesign/entitlements/debugging=false
|
||||
codesign/entitlements/app_sandbox/enabled=false
|
||||
codesign/entitlements/app_sandbox/network_server=false
|
||||
codesign/entitlements/app_sandbox/network_client=false
|
||||
codesign/entitlements/app_sandbox/device_usb=false
|
||||
codesign/entitlements/app_sandbox/device_bluetooth=false
|
||||
codesign/entitlements/app_sandbox/files_downloads=0
|
||||
codesign/entitlements/app_sandbox/files_pictures=0
|
||||
codesign/entitlements/app_sandbox/files_music=0
|
||||
codesign/entitlements/app_sandbox/files_movies=0
|
||||
codesign/entitlements/app_sandbox/files_user_selected=0
|
||||
codesign/entitlements/app_sandbox/helper_executables=[]
|
||||
codesign/custom_options=PackedStringArray()
|
||||
notarization/notarization=0
|
||||
privacy/microphone_usage_description=""
|
||||
privacy/microphone_usage_description_localized={}
|
||||
privacy/camera_usage_description=""
|
||||
privacy/camera_usage_description_localized={}
|
||||
privacy/location_usage_description=""
|
||||
privacy/location_usage_description_localized={}
|
||||
privacy/address_book_usage_description=""
|
||||
privacy/address_book_usage_description_localized={}
|
||||
privacy/calendar_usage_description=""
|
||||
privacy/calendar_usage_description_localized={}
|
||||
privacy/photos_library_usage_description=""
|
||||
privacy/photos_library_usage_description_localized={}
|
||||
privacy/desktop_folder_usage_description=""
|
||||
privacy/desktop_folder_usage_description_localized={}
|
||||
privacy/documents_folder_usage_description=""
|
||||
privacy/documents_folder_usage_description_localized={}
|
||||
privacy/downloads_folder_usage_description=""
|
||||
privacy/downloads_folder_usage_description_localized={}
|
||||
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
|
||||
debug/export_console_wrapper=1
|
||||
binary_format/embed_pck=false
|
||||
texture_format/s3tc_bptc=true
|
||||
texture_format/etc2_astc=false
|
||||
binary_format/architecture="x86_64"
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
||||
export DISPLAY=:0
|
||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||
open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}"
|
||||
\"{temp_dir}/{exe_name}\" {cmd_args}"
|
||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
|
||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
|
||||
rm -rf \"{temp_dir}\""
|
||||
dotnet/include_scripts_content=false
|
||||
dotnet/include_debug_symbols=false
|
||||
dotnet/include_debug_symbols=true
|
||||
dotnet/embed_build_outputs=false
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
extends Button
|
||||
|
||||
|
||||
@export var Open:String
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
func _pressed() -> void:
|
||||
OS.shell_open(Open)
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
@@ -21,13 +21,11 @@ extends Control
|
||||
@onready var songs_menu: MenuButton = $SongsMenu
|
||||
@onready var version: Label = $Version
|
||||
@onready var paused_indicator: TextureRect = $PausedIndicator
|
||||
@onready var settings_popup: Popup = $SettingsPopup
|
||||
@onready var settings_menu_child: Settings = $SettingsPopup/SettingsMenuChild
|
||||
@onready var settings_menu_child: Settings = $SettingsHolder/SettingsPopup/SettingsMenuChild
|
||||
@onready var artist_name: Label = $ArtistName
|
||||
@onready var user_bg: TextureRect = $UserBG
|
||||
@onready var playlists_panel: Control = $PlaylistsPanel
|
||||
@onready var playlists_holder: VBoxContainer = $PlaylistsPanel/PlaylistsContainer/VBoxContainer/PlaylistsHolder
|
||||
@onready var play_all: Button = $PlaylistsPanel/PlaylistsContainer/VBoxContainer/HBoxContainer/PlayAll
|
||||
@onready var playlists_holder: VBoxContainer = $PlaylistPanelHolder/PlaylistsPanel/PlaylistsContainer/VBoxContainer/PlaylistsHolder
|
||||
@onready var play_all: Button = $PlaylistPanelHolder/PlaylistsPanel/PlaylistsContainer/VBoxContainer/HBoxContainer/PlayAll
|
||||
@onready var album_name: Label = $Album
|
||||
@onready var playlist_or_song: ConfirmationDialog = $PlaylistOrSong
|
||||
|
||||
@@ -67,6 +65,7 @@ var PlayAllLists:bool
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
get_tree().root.min_size = Vector2(850,492)
|
||||
current_progress.drag_ended.connect(SongDragStopped)
|
||||
current_progress.drag_started.connect(SongDragStarted)
|
||||
loop.pressed.connect(LoopSong)
|
||||
@@ -414,39 +413,23 @@ func _process(_delta: float) -> void:
|
||||
SaveEverything()
|
||||
print("yoo")
|
||||
@warning_ignore("integer_division")
|
||||
SplashStrings = ["Total listening time: %s!" % str(str(int(TimeSpentListening/60)/60 )
|
||||
+ "h : " + str((int(TimeSpentListening) / 60) % 60) + "m : " +
|
||||
str(int(TimeSpentListening) % 60) + "s"),
|
||||
"Version: %s" % version.text,"🤷♂️","This Changes every ~11 seconds",
|
||||
"hello everybody my name is %s" % DiscordRPC.get_current_user()["username"],
|
||||
"wash your dishes, i know you got some","Running on %s" % OS.get_distribution_name(),
|
||||
"%s is cooking" % DiscordRPC.get_current_user()["username"], "debugging" if OS.has_feature("editor") else "Release build",
|
||||
"this user chose to show you all this info","Playing a Banger",
|
||||
":steamhappy:","This is a sign that crocodiles live in water",
|
||||
"Space? SPACE?! SPAAAAAAAAAAAAACE!!!",
|
||||
"i love gd colonge",
|
||||
"listening with reverb" if settings_menu_child.reverb_check.button_pressed else
|
||||
"not listening with reverb","the cake is edible",
|
||||
"what a great song!","this message is useless",
|
||||
"stop reading these","why are you reading these",
|
||||
"hello from mars", "hello to mars","there is a fly in my room",
|
||||
"yippee!","What, are they allergic to bathtubs or something"]
|
||||
UpdateSplashes()
|
||||
if DiscordRPC.get_is_discord_working():
|
||||
print(DiscordRPC.get_current_user()["username"])
|
||||
print(TimeSpentListening)
|
||||
var LText = SplashStrings.pick_random()
|
||||
DiscordRPC.large_image_text = LText
|
||||
if DiscordRPC.get_is_discord_working():
|
||||
DiscordRPC.refresh()
|
||||
# "59:59 remaining" timestamp for the activity
|
||||
if music_player.playing:
|
||||
TimeSpentListening += _delta
|
||||
if DiscordRPC.get_current_user().get("username") == "_bucketofchicken":
|
||||
DiscordRPC.state = "i made the music player btw"
|
||||
else:
|
||||
DiscordRPC.state = "Listening To Music"
|
||||
CurrentPausedIndicatorShaderIntensity = lerp(CurrentPausedIndicatorShaderIntensity,0.0,0.1)
|
||||
else:
|
||||
DiscordRPC.start_timestamp = int(0)
|
||||
DiscordRPC.state = "Paused"
|
||||
if DiscordRPC.get_is_discord_working():
|
||||
DiscordRPC.refresh()
|
||||
CurrentPausedIndicatorShaderIntensity = lerp(CurrentPausedIndicatorShaderIntensity,1.0,0.1)
|
||||
if DiscordRichPresenceEnabled:
|
||||
@@ -486,7 +469,31 @@ func _process(_delta: float) -> void:
|
||||
DiscordRPC.refresh()
|
||||
|
||||
|
||||
|
||||
func UpdateSplashes():
|
||||
if DiscordRPC.get_is_discord_working():
|
||||
SplashStrings = ["Total listening time: %s!" % str(str(int(TimeSpentListening/60)/60 )
|
||||
+ "h : " + str((int(TimeSpentListening) / 60) % 60) + "m : " +
|
||||
str(int(TimeSpentListening) % 60) + "s"),
|
||||
"Version: %s" % version.text,"🤷♂️","This Changes every ~11 seconds",
|
||||
"hello everybody my name is %s" % DiscordRPC.get_current_user()["username"],
|
||||
"wash your dishes, i know you got some","Running on %s" % OS.get_distribution_name(),
|
||||
"%s is cooking" % DiscordRPC.get_current_user()["username"], "debugging" if OS.has_feature("editor") else "Release build",
|
||||
"this user chose to show you all this info","Playing a Banger",
|
||||
":steamhappy:","This is a sign that crocodiles live in water",
|
||||
"Space? SPACE?! SPAAAAAAAAAAAAACE!!!",
|
||||
"i love gd colonge",
|
||||
"listening with reverb" if settings_menu_child.reverb_check.button_pressed else
|
||||
"not listening with reverb","the cake is edible",
|
||||
"what a great song!","this message is useless",
|
||||
"stop reading these","why are you reading these",
|
||||
"hello from mars", "hello to mars","there is a fly in my room",
|
||||
"yippee!","What, are they allergic to bathtubs or something",
|
||||
"Did you know, a 737 can land with up to 33knots of wind!",
|
||||
"Welcome to todays JahresSchau",
|
||||
"ram is very useful","your cpu is tasty","main course: Nvidia GPU",
|
||||
"SCHOTTLAND FUER IMMER","i eat airborne vehicles","linus trovalds",
|
||||
"™","\(〇_o)/","Nuh Uh!","Yuh Huh","Breaching.",
|
||||
"I get a narcissistic injury when the wall ignores me","totally not using %s" % version.text]
|
||||
|
||||
|
||||
func SaveEverything():
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
extends Control
|
||||
@onready var create_playlist: Button = $PlaylistsContainer/VBoxContainer/HBoxContainer/CreatePlaylist
|
||||
@onready var create_playlists_menu: Control = $"../CreatePlaylistsMenu"
|
||||
@onready var create_playlists_menu: Control = $"../../CreatePlaylistsMenu"
|
||||
@onready var play_all: Button = $PlaylistsContainer/VBoxContainer/HBoxContainer/PlayAll
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -16,6 +16,7 @@ config/features=PackedStringArray("4.3", "Forward Plus")
|
||||
run/low_processor_mode=true
|
||||
boot_splash/bg_color=Color(0, 0, 0, 1)
|
||||
boot_splash/image="res://BigLogo.png"
|
||||
boot_splash/use_filter=false
|
||||
config/icon="res://Logo2.png"
|
||||
config/windows_native_icon="res://addons/godot-yt-dlp/src/favicon2.ico"
|
||||
|
||||
@@ -29,7 +30,6 @@ MusicMetadataAutoload="*res://MusicMeta-f98d7384de3e2e658dcba3f5b06fb5b57ac2c73c
|
||||
window/size/initial_position_type=3
|
||||
window/size/extend_to_title=true
|
||||
window/energy_saving/keep_screen_on=false
|
||||
window/stretch/mode="viewport"
|
||||
window/stretch/aspect="expand"
|
||||
|
||||
[dotnet]
|
||||
|
||||
+18
-5
@@ -1,10 +1,23 @@
|
||||
extends Button
|
||||
@onready var playlists_panel: Control = $"../PlaylistsPanel"
|
||||
@onready var playlists_panel: Control = $"../PlaylistPanelHolder/PlaylistsPanel"
|
||||
var currentlyExtending:bool
|
||||
var Target:float = 50
|
||||
|
||||
|
||||
|
||||
func _on_toggled(toggled_on: bool) -> void:
|
||||
if toggled_on:
|
||||
func _process(delta: float) -> void:
|
||||
if currentlyExtending:
|
||||
playlists_panel.position.x = clamp(lerp(playlists_panel.position.x,Target,0.25),0,100)
|
||||
else:
|
||||
playlists_panel.position.x -=1
|
||||
playlists_panel.position.x = clamp(lerp(Target,playlists_panel.position.x,1.25),0,100)
|
||||
playlists_panel.modulate.a = playlists_panel.position.x / Target
|
||||
if playlists_panel.position.x > 1:
|
||||
playlists_panel.show()
|
||||
else:
|
||||
playlists_panel.hide()
|
||||
|
||||
func _on_toggled(toggled_on: bool) -> void:
|
||||
if toggled_on:
|
||||
currentlyExtending = true
|
||||
playlists_panel.position.x = 1
|
||||
else:
|
||||
currentlyExtending = false
|
||||
|
||||
+1
-1
@@ -74,7 +74,7 @@ func _on_h_slider_drag_ended(value_changed: bool) -> void:
|
||||
Parent.SaveEverything()
|
||||
|
||||
func _on_exit_pressed() -> void:
|
||||
get_parent().hide()
|
||||
Parent.find_child("SettingsButton").button_pressed = false
|
||||
Parent.SaveEverything()
|
||||
|
||||
#region Reverb
|
||||
|
||||
+20
-11
@@ -1,16 +1,25 @@
|
||||
extends Button
|
||||
|
||||
@onready var settings_popup: Popup = $"../SettingsPopup"
|
||||
@onready var settings_popup: Control = $"../SettingsHolder/SettingsPopup"
|
||||
var currentlyExtending:bool
|
||||
var Target:float = 50
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
|
||||
|
||||
func _on_pressed() -> void:
|
||||
if currentlyExtending:
|
||||
settings_popup.position.y = clamp(lerp(settings_popup.position.y,Target,0.25),0,100)
|
||||
else:
|
||||
settings_popup.position.y -=1
|
||||
settings_popup.position.y = clamp(lerp(Target,settings_popup.position.y,1.25),0,100)
|
||||
settings_popup.modulate.a = settings_popup.position.y / Target
|
||||
if settings_popup.position.y > 1:
|
||||
settings_popup.show()
|
||||
else:
|
||||
settings_popup.hide()
|
||||
|
||||
func _on_toggled(toggled_on: bool) -> void:
|
||||
print("@@")
|
||||
if toggled_on:
|
||||
currentlyExtending = true
|
||||
settings_popup.position.y = 1
|
||||
else:
|
||||
currentlyExtending = false
|
||||
|
||||
+9
-3
@@ -46,6 +46,7 @@ func _on_http_request_completed(result: int, _response_code: int, _headers: Pack
|
||||
var json = JSON.new()
|
||||
var result2 = json.parse_string(str(body.get_string_from_utf8()))
|
||||
print("! AHHH " + str(result2))
|
||||
if result2.has("tag_name"):
|
||||
if result2["tag_name"] != version.text:
|
||||
update_available_text.text = result2["tag_name"] + " Is Out!"
|
||||
show()
|
||||
@@ -65,10 +66,15 @@ func _on_link_button_pressed() -> void:
|
||||
var path:String = GetLocalPath()
|
||||
print(OS.get_executable_path())
|
||||
if !OS.has_feature("editor"):
|
||||
if OS.get_name() == "Windows":
|
||||
download_request.download_file = path + "download.zip"
|
||||
var DownloadLink:String
|
||||
if OS.get_name() == "Windows":
|
||||
DownloadLink = "https://github.com/notdraimdev/Simplaudio/releases/latest/download/Windows.zip"
|
||||
elif OS.get_name() == "Linux":
|
||||
DownloadLink = "https://github.com/notdraimdev/Simplaudio/releases/latest/download/Linux.zip"
|
||||
if DownloadLink.is_empty() != true:
|
||||
var error = download_request.request(
|
||||
"https://github.com/notdraimdev/Simplaudio/releases/latest/download/Windows.zip"
|
||||
DownloadLink
|
||||
)
|
||||
if error != OK:
|
||||
print("! DOWNLOAD ERROR: " + str(error))
|
||||
@@ -77,6 +83,7 @@ func _on_link_button_pressed() -> void:
|
||||
else:
|
||||
errorLabel.text = "downloading..."
|
||||
else:
|
||||
push_error("OS NOT SUPPORTED, you should not get this error but you did, congrat!")
|
||||
OS.shell_open(updateLink)
|
||||
|
||||
func _on_download_request_completed(result: int, response_code: int, headers: PackedStringArray, body: PackedByteArray) -> void:
|
||||
@@ -89,7 +96,6 @@ func _on_download_request_completed(result: int, response_code: int, headers: Pa
|
||||
errorLabel.text = "unzipping..."
|
||||
print("works as expected brotha")
|
||||
var unzipper:ZIPReader = ZIPReader.new() # sus
|
||||
|
||||
unzipper.open(GetLocalPath()+"download.zip")
|
||||
var files:PackedStringArray = unzipper.get_files()
|
||||
for file in files:
|
||||
|
||||
+5
-5
@@ -5,9 +5,10 @@ extends Button
|
||||
@onready var yt_link: LineEdit = $"../YoutubeMenuHolder/Youtube menu/YTLink"
|
||||
@onready var yt_download: Button = $"../YoutubeMenuHolder/Youtube menu/YTDownload"
|
||||
@onready var loading_img: Sprite2D = $"../YoutubeMenuHolder/Youtube menu/LoadingIMG"
|
||||
|
||||
var currentlyExtending:bool
|
||||
var Target:float = 50
|
||||
|
||||
var downloadList:bool = false
|
||||
signal ContinueProcess
|
||||
|
||||
@onready var Parent:MainScene = get_tree().root.get_child(2)
|
||||
@@ -17,7 +18,6 @@ func _ready() -> void:
|
||||
YtDlp.setup_completed.connect(YTSetupCompleted)
|
||||
yt_download.pressed.connect(DownloadYTVidFromLink)
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
if currentlyExtending:
|
||||
@@ -38,18 +38,17 @@ func YTSetupCompleted():
|
||||
yt_download.disabled = false
|
||||
|
||||
func DownloadPlaylistConf():
|
||||
downloadList = true
|
||||
ContinueProcess.emit()
|
||||
|
||||
func DownloadSingleSongConf():
|
||||
var idx:int = yt_link.text.find("&list=")
|
||||
yt_link.text = yt_link.text.erase(idx,500)
|
||||
ContinueProcess.emit()
|
||||
|
||||
func DownloadYTVidFromLink():
|
||||
if yt_link.text.is_empty():
|
||||
OS.alert("please gimme a link")
|
||||
return
|
||||
if "&list=" in yt_link.text:
|
||||
if "list=" in yt_link.text:
|
||||
Parent.playlist_or_song.show()
|
||||
Parent.playlist_or_song.confirmed.connect(DownloadPlaylistConf)
|
||||
Parent.playlist_or_song.canceled.connect(DownloadSingleSongConf)
|
||||
@@ -64,6 +63,7 @@ func DownloadYTVidFromLink():
|
||||
download.set_destination(owner.PlaylistsLocation[owner.CurrentPlaylist])
|
||||
print(owner.PlaylistsLocation[owner.CurrentPlaylist])
|
||||
download.convert_to_audio(YtDlp.Audio.MP3)
|
||||
download._download_playlist = downloadList
|
||||
download.start()
|
||||
yt_download.disabled = true
|
||||
download.completely_finished.connect(DownloadCompleted)
|
||||
|
||||
Reference in New Issue
Block a user