control.tscn 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430
  1. [gd_scene load_steps=9 format=3 uid="uid://bcs87y7ptx3ke"]
  2. [ext_resource type="Script" uid="uid://bdlfvuljckmu1" path="res://scenes/main/control.gd" id="1_2f0aq"]
  3. [ext_resource type="Script" uid="uid://l2yejnjysupr" path="res://scenes/main/graph_edit.gd" id="2_3ioqo"]
  4. [ext_resource type="PackedScene" uid="uid://b0wdj8v6o0wq0" path="res://scenes/menu/menu.tscn" id="3_dtf4o"]
  5. [ext_resource type="Texture2D" uid="uid://cdwux1smquvpi" path="res://theme/images/logo.png" id="4_3ioqo"]
  6. [ext_resource type="PackedScene" uid="uid://dta7rfalv4uvd" path="res://scenes/main/audio_settings.tscn" id="5_dtf4o"]
  7. [ext_resource type="Script" uid="uid://dlcbmyu3s2phc" path="res://scenes/menu/search_menu.gd" id="6_fyarh"]
  8. [ext_resource type="Script" uid="uid://b6r7k326k3vif" path="res://scenes/Nodes/check_for_updates.gd" id="7_1kc3g"]
  9. [ext_resource type="PackedScene" uid="uid://c1a6elrpk4eks" path="res://scenes/main/settings.tscn" id="8_16l5g"]
  10. [node name="Control" type="Control"]
  11. layout_mode = 3
  12. anchors_preset = 15
  13. anchor_right = 1.0
  14. anchor_bottom = 1.0
  15. grow_horizontal = 2
  16. grow_vertical = 2
  17. script = ExtResource("1_2f0aq")
  18. [node name="GraphEdit" type="GraphEdit" parent="."]
  19. layout_mode = 1
  20. anchors_preset = -1
  21. anchor_right = 1.0
  22. anchor_bottom = 1.0
  23. offset_top = 32.0
  24. right_disconnects = true
  25. script = ExtResource("2_3ioqo")
  26. [node name="FileDialog" type="FileDialog" parent="."]
  27. title = "Open a Directory"
  28. ok_button_text = "Select Current Folder"
  29. file_mode = 2
  30. access = 2
  31. use_native_dialog = true
  32. [node name="mainmenu" parent="." groups=["popup_windows"] instance=ExtResource("3_dtf4o")]
  33. visible = false
  34. [node name="NoLocationPopup" type="Window" parent="." groups=["popup_windows"]]
  35. auto_translate_mode = 1
  36. title = "Wrong File Type"
  37. initial_position = 2
  38. size = Vector2i(450, 500)
  39. visible = false
  40. transient = true
  41. exclusive = true
  42. unresizable = true
  43. borderless = true
  44. popup_window = true
  45. [node name="TextureRect" type="TextureRect" parent="NoLocationPopup"]
  46. offset_left = -6.0
  47. offset_top = 16.0
  48. offset_right = 378.0
  49. offset_bottom = 64.0
  50. texture = ExtResource("4_3ioqo")
  51. expand_mode = 2
  52. stretch_mode = 4
  53. [node name="RichTextLabel" type="RichTextLabel" parent="NoLocationPopup"]
  54. offset_left = 16.0
  55. offset_top = 73.0
  56. offset_right = 435.0
  57. offset_bottom = 457.0
  58. bbcode_enabled = true
  59. text = "Welcome to SoundThread!
  60. SoundThread is an interface for the Composers Desktop Project (CDP) audio processing tools. As such it requires you to have CDP installed to work correctly. If you don't already have CDP installed you can [url=\"https://www.unstablesound.net/cdp.html\"]download it here.[/url]
  61. When you close this window you will be prompted for the location of your _cdprogs folder. The default location for this folder is:
  62. Windows: C:\\cdpr8\\_cdp\\_cdprogs
  63. Mac: ~/cdpr8/_cdp/_cdprogs
  64. SoundThread will remember this but you can always change it later in Settings.
  65. If this is your first time using SoundThread you can find some getting started tutorials in the Help tab in the top menu."
  66. scroll_active = false
  67. [node name="OkButton" type="Button" parent="NoLocationPopup"]
  68. offset_left = -7.0
  69. offset_top = 469.0
  70. offset_right = 457.0
  71. offset_bottom = 500.0
  72. text = "Click to locate _cdprogs"
  73. [node name="NoInputPopup" type="Window" parent="." groups=["popup_windows"]]
  74. auto_translate_mode = 1
  75. title = "No Input Selected"
  76. initial_position = 2
  77. size = Vector2i(380, 140)
  78. visible = false
  79. transient = true
  80. exclusive = true
  81. unresizable = true
  82. borderless = true
  83. popup_window = true
  84. [node name="Label" type="Label" parent="NoInputPopup"]
  85. offset_left = 14.0
  86. offset_top = 7.0
  87. offset_right = 363.0
  88. offset_bottom = 100.0
  89. text = "No input file selected
  90. Please load a sound file into Input File node
  91. Supported file type: .wav, mono or stereo"
  92. horizontal_alignment = 1
  93. vertical_alignment = 1
  94. autowrap_mode = 2
  95. [node name="OkButton2" type="Button" parent="NoInputPopup"]
  96. offset_left = -10.0
  97. offset_top = 110.0
  98. offset_right = 390.0
  99. offset_bottom = 141.0
  100. text = "Ok"
  101. [node name="AudioDevicePopup" type="Window" parent="." groups=["popup_windows"]]
  102. auto_translate_mode = 1
  103. title = "Audio Device Not Available"
  104. initial_position = 2
  105. size = Vector2i(380, 140)
  106. visible = false
  107. transient = true
  108. exclusive = true
  109. unresizable = true
  110. popup_window = true
  111. [node name="Label" type="Label" parent="AudioDevicePopup"]
  112. offset_left = 14.0
  113. offset_top = 7.0
  114. offset_right = 363.0
  115. offset_bottom = 100.0
  116. text = "The last selected audio output device is not available. SoundThread is using the system default."
  117. horizontal_alignment = 1
  118. vertical_alignment = 1
  119. autowrap_mode = 2
  120. [node name="OpenAudioSettings" type="Button" parent="AudioDevicePopup"]
  121. offset_left = -2.0
  122. offset_top = 110.0
  123. offset_right = 382.0
  124. offset_bottom = 141.0
  125. text = "Open Audio Settings"
  126. [node name="MultipleConnectionsPopup" type="Window" parent="." groups=["popup_windows"]]
  127. auto_translate_mode = 1
  128. title = "No Input Selected"
  129. initial_position = 2
  130. size = Vector2i(380, 160)
  131. visible = false
  132. transient = true
  133. exclusive = true
  134. unresizable = true
  135. borderless = true
  136. popup_window = true
  137. [node name="Label" type="Label" parent="MultipleConnectionsPopup"]
  138. offset_left = 14.0
  139. offset_top = 10.0
  140. offset_right = 363.0
  141. offset_bottom = 117.0
  142. text = "PVOC Nodes can only have one input.
  143. To mix sounds created in the frequency domain convert them to the time domain using PVOC: Resynthesise first."
  144. horizontal_alignment = 1
  145. vertical_alignment = 1
  146. autowrap_mode = 2
  147. [node name="OkButton3" type="Button" parent="MultipleConnectionsPopup"]
  148. offset_left = -10.0
  149. offset_top = 128.0
  150. offset_right = 389.0
  151. offset_bottom = 159.0
  152. text = "Ok"
  153. [node name="CdpLocationDialog" type="FileDialog" parent="."]
  154. title = "Open a Directory"
  155. ok_button_text = "Select Current Folder"
  156. file_mode = 2
  157. access = 2
  158. use_native_dialog = true
  159. [node name="Console" type="Window" parent="." groups=["popup_windows"]]
  160. title = "Generating Output"
  161. initial_position = 5
  162. size = Vector2i(600, 400)
  163. visible = false
  164. unresizable = true
  165. always_on_top = true
  166. [node name="Panel" type="Panel" parent="Console"]
  167. offset_left = 10.0
  168. offset_top = 8.0
  169. offset_right = 590.0
  170. offset_bottom = 352.0
  171. [node name="ConsoleOutput" type="RichTextLabel" parent="Console"]
  172. offset_left = 10.0
  173. offset_top = 12.0
  174. offset_right = 590.0
  175. offset_bottom = 351.0
  176. bbcode_enabled = true
  177. [node name="ConsoleOpenFolder" type="Button" parent="Console"]
  178. offset_left = -4.0
  179. offset_top = 360.0
  180. offset_right = 604.0
  181. offset_bottom = 401.0
  182. text = "Open Output Folder"
  183. [node name="ColorRect" type="ColorRect" parent="."]
  184. layout_mode = 1
  185. anchors_preset = 10
  186. anchor_right = 1.0
  187. offset_bottom = 35.0
  188. grow_horizontal = 2
  189. color = Color(0.0646965, 0.0646965, 0.0646965, 1)
  190. [node name="MenuBar" type="MenuBar" parent="."]
  191. layout_mode = 1
  192. anchors_preset = 10
  193. anchor_right = 1.0
  194. offset_left = 8.0
  195. offset_top = 4.0
  196. offset_right = -8.0
  197. offset_bottom = 35.0
  198. grow_horizontal = 2
  199. flat = true
  200. prefer_global_menu = false
  201. [node name="FileButton" type="PopupMenu" parent="MenuBar"]
  202. title = "File"
  203. item_count = 4
  204. item_0/text = "New Thread"
  205. item_0/id = 2
  206. item_1/text = "Save Thread"
  207. item_1/id = 3
  208. item_2/text = "Save Thread As"
  209. item_2/id = 0
  210. item_3/text = "Load Thread"
  211. item_3/id = 1
  212. [node name="SettingsButton" type="PopupMenu" parent="MenuBar"]
  213. title = "Settings"
  214. item_count = 3
  215. item_0/text = "SoundThread Settings"
  216. item_0/id = 0
  217. item_1/text = "Audio Settings"
  218. item_1/id = 1
  219. item_2/text = "Open the Console"
  220. item_2/id = 2
  221. [node name="HelpButton" type="PopupMenu" parent="MenuBar"]
  222. auto_translate_mode = 1
  223. title = "Help"
  224. item_count = 13
  225. item_0/text = "Tutorials"
  226. item_0/id = 0
  227. item_0/separator = true
  228. item_1/text = "Getting Started"
  229. item_1/id = 1
  230. item_2/text = "Navigating SoundThread"
  231. item_2/id = 2
  232. item_3/text = "Building a Thread"
  233. item_3/id = 3
  234. item_4/text = "Frequency Domain"
  235. item_4/id = 4
  236. item_5/text = "Automation"
  237. item_5/id = 5
  238. item_6/text = "Trimming Input Files"
  239. item_6/id = 6
  240. item_7/text = "Tips"
  241. item_7/id = 7
  242. item_7/separator = true
  243. item_8/text = "Wet/Dry Mix"
  244. item_8/id = 8
  245. item_9/text = "Resonant Filters"
  246. item_9/id = 12
  247. item_10/text = "Other Help"
  248. item_10/id = 9
  249. item_10/separator = true
  250. item_11/text = "CDP Documentation"
  251. item_11/id = 10
  252. item_12/text = "Report a Bug"
  253. item_12/id = 11
  254. [node name="About" type="PopupMenu" parent="MenuBar"]
  255. item_count = 1
  256. item_0/id = 0
  257. item_0/disabled = true
  258. [node name="SaveDialog" type="FileDialog" parent="."]
  259. use_native_dialog = true
  260. [node name="LoadDialog" type="FileDialog" parent="."]
  261. auto_translate_mode = 1
  262. use_native_dialog = true
  263. [node name="SaveChangesPopup" type="Window" parent="." groups=["popup_windows"]]
  264. auto_translate_mode = 1
  265. title = "No Input Selected"
  266. initial_position = 2
  267. size = Vector2i(350, 100)
  268. visible = false
  269. transient = true
  270. exclusive = true
  271. unresizable = true
  272. borderless = true
  273. popup_window = true
  274. [node name="Label" type="Label" parent="SaveChangesPopup"]
  275. offset_left = -1.0
  276. offset_top = 21.0
  277. offset_right = 348.0
  278. offset_bottom = 52.0
  279. text = "Save changes to this thread?"
  280. horizontal_alignment = 1
  281. vertical_alignment = 1
  282. autowrap_mode = 2
  283. [node name="SaveChanges" type="Button" parent="SaveChangesPopup"]
  284. offset_left = -1.0
  285. offset_top = 70.0
  286. offset_right = 175.0
  287. offset_bottom = 101.0
  288. text = "Save"
  289. [node name="DontSaveChanges" type="Button" parent="SaveChangesPopup"]
  290. offset_left = 175.0
  291. offset_top = 70.0
  292. offset_right = 351.0
  293. offset_bottom = 101.0
  294. text = "Don't Save"
  295. [node name="AudioSettings" parent="." groups=["popup_windows"] instance=ExtResource("5_dtf4o")]
  296. visible = false
  297. [node name="SearchMenu" type="PopupPanel" parent="." groups=["popup_windows"]]
  298. auto_translate_mode = 1
  299. position = Vector2i(100, 100)
  300. size = Vector2i(600, 49)
  301. script = ExtResource("6_fyarh")
  302. [node name="VBoxContainer" type="VBoxContainer" parent="SearchMenu"]
  303. offset_left = 4.0
  304. offset_top = 4.0
  305. offset_right = 596.0
  306. offset_bottom = 45.0
  307. [node name="SearchBar" type="LineEdit" parent="SearchMenu/VBoxContainer"]
  308. layout_mode = 2
  309. placeholder_text = "Type to search"
  310. [node name="ScrollContainer" type="ScrollContainer" parent="SearchMenu/VBoxContainer"]
  311. custom_minimum_size = Vector2(0, 10)
  312. layout_mode = 2
  313. size_flags_vertical = 3
  314. horizontal_scroll_mode = 0
  315. [node name="ItemContainer" type="VBoxContainer" parent="SearchMenu/VBoxContainer/ScrollContainer"]
  316. layout_mode = 2
  317. size_flags_horizontal = 3
  318. [node name="CheckForUpdates" type="HTTPRequest" parent="."]
  319. script = ExtResource("7_1kc3g")
  320. [node name="UpdatePopup" type="Window" parent="CheckForUpdates" groups=["popup_windows"]]
  321. auto_translate_mode = 1
  322. title = "New Update Available"
  323. initial_position = 2
  324. size = Vector2i(379, 100)
  325. visible = false
  326. transient = true
  327. exclusive = true
  328. unresizable = true
  329. popup_window = true
  330. [node name="Label" type="Label" parent="CheckForUpdates/UpdatePopup"]
  331. offset_left = 14.0
  332. offset_top = 6.0
  333. offset_right = 366.0
  334. offset_bottom = 63.0
  335. text = "A new version of SoundThread (0.0.0) is available to download."
  336. horizontal_alignment = 1
  337. vertical_alignment = 1
  338. autowrap_mode = 2
  339. [node name="OpenAudioSettings" type="Button" parent="CheckForUpdates/UpdatePopup"]
  340. offset_left = -2.0
  341. offset_top = 69.0
  342. offset_right = 382.0
  343. offset_bottom = 100.0
  344. text = "Get the update"
  345. [node name="Settings" parent="." instance=ExtResource("8_16l5g")]
  346. visible = false
  347. [connection signal="connection_request" from="GraphEdit" to="." method="_on_graph_edit_connection_request"]
  348. [connection signal="delete_nodes_request" from="GraphEdit" to="." method="_on_graph_edit_delete_nodes_request"]
  349. [connection signal="disconnection_request" from="GraphEdit" to="." method="_on_graph_edit_disconnection_request"]
  350. [connection signal="focus_entered" from="GraphEdit" to="." method="_on_graph_edit_focus_entered"]
  351. [connection signal="node_deselected" from="GraphEdit" to="." method="_on_graph_edit_node_deselected"]
  352. [connection signal="node_selected" from="GraphEdit" to="." method="_on_graph_edit_node_selected"]
  353. [connection signal="popup_request" from="GraphEdit" to="." method="_on_graph_edit_popup_request"]
  354. [connection signal="dir_selected" from="FileDialog" to="." method="_on_file_dialog_dir_selected"]
  355. [connection signal="close_requested" from="mainmenu" to="." method="_on_mainmenu_close_requested"]
  356. [connection signal="meta_clicked" from="NoLocationPopup/RichTextLabel" to="." method="_on_rich_text_label_meta_clicked"]
  357. [connection signal="button_down" from="NoLocationPopup/OkButton" to="." method="_on_ok_button_button_down"]
  358. [connection signal="button_down" from="NoInputPopup/OkButton2" to="." method="_on_ok_button_2_button_down"]
  359. [connection signal="close_requested" from="AudioDevicePopup" to="." method="_on_audio_device_popup_close_requested"]
  360. [connection signal="button_down" from="AudioDevicePopup/OpenAudioSettings" to="." method="_on_open_audio_settings_button_down"]
  361. [connection signal="button_down" from="MultipleConnectionsPopup/OkButton3" to="." method="_on_ok_button_3_button_down"]
  362. [connection signal="canceled" from="CdpLocationDialog" to="." method="_on_cdp_location_dialog_canceled"]
  363. [connection signal="dir_selected" from="CdpLocationDialog" to="." method="_on_cdp_location_dialog_dir_selected"]
  364. [connection signal="close_requested" from="Console" to="." method="_on_console_close_requested"]
  365. [connection signal="button_down" from="Console/ConsoleOpenFolder" to="." method="_on_console_open_folder_button_down"]
  366. [connection signal="index_pressed" from="MenuBar/FileButton" to="." method="_on_file_button_index_pressed"]
  367. [connection signal="index_pressed" from="MenuBar/SettingsButton" to="." method="_on_settings_button_index_pressed"]
  368. [connection signal="index_pressed" from="MenuBar/HelpButton" to="." method="_on_help_button_index_pressed"]
  369. [connection signal="file_selected" from="SaveDialog" to="." method="_on_save_dialog_file_selected"]
  370. [connection signal="file_selected" from="LoadDialog" to="." method="_on_load_dialog_file_selected"]
  371. [connection signal="button_down" from="SaveChangesPopup/SaveChanges" to="." method="_on_save_changes_button_down"]
  372. [connection signal="button_down" from="SaveChangesPopup/DontSaveChanges" to="." method="_on_dont_save_changes_button_down"]
  373. [connection signal="close_requested" from="AudioSettings" to="." method="_on_audio_settings_close_requested"]
  374. [connection signal="about_to_popup" from="SearchMenu" to="SearchMenu" method="_on_about_to_popup"]
  375. [connection signal="text_changed" from="SearchMenu/VBoxContainer/SearchBar" to="SearchMenu" method="_on_search_bar_text_changed"]
  376. [connection signal="close_requested" from="CheckForUpdates/UpdatePopup" to="CheckForUpdates" method="_on_update_popup_close_requested"]
  377. [connection signal="button_down" from="CheckForUpdates/UpdatePopup/OpenAudioSettings" to="CheckForUpdates" method="_on_open_audio_settings_button_down"]