control.tscn 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470
  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 = 344.0
  171. [node name="ConsoleOutput" type="RichTextLabel" parent="Console"]
  172. offset_left = 12.0
  173. offset_top = 8.0
  174. offset_right = 588.0
  175. offset_bottom = 344.0
  176. [node name="ConsoleOpenFolder" type="Button" parent="Console"]
  177. offset_left = 308.0
  178. offset_top = 352.0
  179. offset_right = 588.0
  180. offset_bottom = 393.0
  181. text = "Open Output Folder"
  182. [node name="KillProcess" type="Button" parent="Console"]
  183. offset_left = 12.0
  184. offset_top = 352.0
  185. offset_right = 292.0
  186. offset_bottom = 393.0
  187. text = "Stop Running Thread"
  188. [node name="ColorRect" type="ColorRect" parent="."]
  189. layout_mode = 1
  190. anchors_preset = 10
  191. anchor_right = 1.0
  192. offset_bottom = 35.0
  193. grow_horizontal = 2
  194. color = Color(0.0646965, 0.0646965, 0.0646965, 1)
  195. [node name="MenuBar" type="MenuBar" parent="."]
  196. layout_mode = 1
  197. anchors_preset = 10
  198. anchor_right = 1.0
  199. offset_left = 8.0
  200. offset_top = 4.0
  201. offset_right = -8.0
  202. offset_bottom = 35.0
  203. grow_horizontal = 2
  204. flat = true
  205. prefer_global_menu = false
  206. [node name="FileButton" type="PopupMenu" parent="MenuBar"]
  207. title = "File"
  208. item_count = 4
  209. item_0/text = "New Thread"
  210. item_0/id = 2
  211. item_1/text = "Save Thread"
  212. item_1/id = 3
  213. item_2/text = "Save Thread As"
  214. item_2/id = 0
  215. item_3/text = "Load Thread"
  216. item_3/id = 1
  217. [node name="SettingsButton" type="PopupMenu" parent="MenuBar"]
  218. title = "Settings"
  219. item_count = 3
  220. item_0/text = "SoundThread Settings"
  221. item_0/id = 0
  222. item_1/text = "Audio Settings"
  223. item_1/id = 1
  224. item_2/text = "Open the Console"
  225. item_2/id = 2
  226. [node name="HelpButton" type="PopupMenu" parent="MenuBar"]
  227. auto_translate_mode = 1
  228. title = "Help"
  229. item_count = 13
  230. item_0/text = "Tutorials"
  231. item_0/id = 0
  232. item_0/separator = true
  233. item_1/text = "Getting Started"
  234. item_1/id = 1
  235. item_2/text = "Navigating SoundThread"
  236. item_2/id = 2
  237. item_3/text = "Building a Thread"
  238. item_3/id = 3
  239. item_4/text = "Frequency Domain"
  240. item_4/id = 4
  241. item_5/text = "Automation"
  242. item_5/id = 5
  243. item_6/text = "Trimming Input Files"
  244. item_6/id = 6
  245. item_7/text = "Tips"
  246. item_7/id = 7
  247. item_7/separator = true
  248. item_8/text = "Wet/Dry Mix"
  249. item_8/id = 8
  250. item_9/text = "Resonant Filters"
  251. item_9/id = 12
  252. item_10/text = "Other Help"
  253. item_10/id = 9
  254. item_10/separator = true
  255. item_11/text = "CDP Documentation"
  256. item_11/id = 10
  257. item_12/text = "Report a Bug"
  258. item_12/id = 11
  259. [node name="About" type="PopupMenu" parent="MenuBar"]
  260. item_count = 1
  261. item_0/id = 0
  262. item_0/disabled = true
  263. [node name="SaveDialog" type="FileDialog" parent="."]
  264. use_native_dialog = true
  265. [node name="LoadDialog" type="FileDialog" parent="."]
  266. auto_translate_mode = 1
  267. use_native_dialog = true
  268. [node name="SaveChangesPopup" type="Window" parent="." groups=["popup_windows"]]
  269. auto_translate_mode = 1
  270. title = "No Input Selected"
  271. initial_position = 2
  272. size = Vector2i(350, 100)
  273. visible = false
  274. transient = true
  275. exclusive = true
  276. unresizable = true
  277. borderless = true
  278. popup_window = true
  279. [node name="Label" type="Label" parent="SaveChangesPopup"]
  280. offset_left = -1.0
  281. offset_top = 21.0
  282. offset_right = 348.0
  283. offset_bottom = 52.0
  284. text = "Save changes to this thread?"
  285. horizontal_alignment = 1
  286. vertical_alignment = 1
  287. autowrap_mode = 2
  288. [node name="SaveChanges" type="Button" parent="SaveChangesPopup"]
  289. offset_left = -1.0
  290. offset_top = 70.0
  291. offset_right = 175.0
  292. offset_bottom = 101.0
  293. text = "Save"
  294. [node name="DontSaveChanges" type="Button" parent="SaveChangesPopup"]
  295. offset_left = 175.0
  296. offset_top = 70.0
  297. offset_right = 351.0
  298. offset_bottom = 101.0
  299. text = "Don't Save"
  300. [node name="AudioSettings" parent="." groups=["popup_windows"] instance=ExtResource("5_dtf4o")]
  301. visible = false
  302. [node name="SearchMenu" type="PopupPanel" parent="." groups=["popup_windows"]]
  303. auto_translate_mode = 1
  304. position = Vector2i(100, 100)
  305. size = Vector2i(600, 49)
  306. script = ExtResource("6_fyarh")
  307. [node name="VBoxContainer" type="VBoxContainer" parent="SearchMenu"]
  308. offset_left = 4.0
  309. offset_top = 4.0
  310. offset_right = 596.0
  311. offset_bottom = 45.0
  312. [node name="SearchBar" type="LineEdit" parent="SearchMenu/VBoxContainer"]
  313. layout_mode = 2
  314. placeholder_text = "Type to search"
  315. [node name="ScrollContainer" type="ScrollContainer" parent="SearchMenu/VBoxContainer"]
  316. custom_minimum_size = Vector2(0, 10)
  317. layout_mode = 2
  318. size_flags_vertical = 3
  319. horizontal_scroll_mode = 0
  320. [node name="ItemContainer" type="VBoxContainer" parent="SearchMenu/VBoxContainer/ScrollContainer"]
  321. layout_mode = 2
  322. size_flags_horizontal = 3
  323. [node name="CheckForUpdates" type="HTTPRequest" parent="."]
  324. script = ExtResource("7_1kc3g")
  325. [node name="UpdatePopup" type="Window" parent="CheckForUpdates" groups=["popup_windows"]]
  326. auto_translate_mode = 1
  327. title = "New Update Available"
  328. initial_position = 2
  329. size = Vector2i(379, 100)
  330. visible = false
  331. transient = true
  332. exclusive = true
  333. unresizable = true
  334. popup_window = true
  335. [node name="Label" type="Label" parent="CheckForUpdates/UpdatePopup"]
  336. offset_left = 14.0
  337. offset_top = 6.0
  338. offset_right = 366.0
  339. offset_bottom = 63.0
  340. text = "A new version of SoundThread (0.0.0) is available to download."
  341. horizontal_alignment = 1
  342. vertical_alignment = 1
  343. autowrap_mode = 2
  344. [node name="OpenAudioSettings" type="Button" parent="CheckForUpdates/UpdatePopup"]
  345. offset_left = -2.0
  346. offset_top = 69.0
  347. offset_right = 382.0
  348. offset_bottom = 100.0
  349. text = "Get the update"
  350. [node name="Settings" parent="." groups=["popup_windows"] instance=ExtResource("8_16l5g")]
  351. visible = false
  352. [node name="ProgressWindow" type="Window" parent="." groups=["popup_windows"]]
  353. initial_position = 2
  354. size = Vector2i(600, 110)
  355. visible = false
  356. transient = true
  357. exclusive = true
  358. borderless = true
  359. [node name="ProgressBar" type="ProgressBar" parent="ProgressWindow"]
  360. offset_left = 10.0
  361. offset_top = 11.0
  362. offset_right = 590.0
  363. offset_bottom = 51.0
  364. show_percentage = false
  365. [node name="ProgressLabel" type="Label" parent="ProgressWindow"]
  366. offset_left = 10.0
  367. offset_top = 11.0
  368. offset_right = 590.0
  369. offset_bottom = 51.0
  370. horizontal_alignment = 1
  371. vertical_alignment = 1
  372. clip_text = true
  373. text_overrun_behavior = 3
  374. [node name="KillProcess2" type="Button" parent="ProgressWindow"]
  375. offset_left = 8.0
  376. offset_top = 59.0
  377. offset_right = 592.0
  378. offset_bottom = 100.0
  379. text = "Stop Running Thread"
  380. [connection signal="connection_request" from="GraphEdit" to="." method="_on_graph_edit_connection_request"]
  381. [connection signal="delete_nodes_request" from="GraphEdit" to="." method="_on_graph_edit_delete_nodes_request"]
  382. [connection signal="disconnection_request" from="GraphEdit" to="." method="_on_graph_edit_disconnection_request"]
  383. [connection signal="focus_entered" from="GraphEdit" to="." method="_on_graph_edit_focus_entered"]
  384. [connection signal="node_deselected" from="GraphEdit" to="." method="_on_graph_edit_node_deselected"]
  385. [connection signal="node_selected" from="GraphEdit" to="." method="_on_graph_edit_node_selected"]
  386. [connection signal="popup_request" from="GraphEdit" to="." method="_on_graph_edit_popup_request"]
  387. [connection signal="dir_selected" from="FileDialog" to="." method="_on_file_dialog_dir_selected"]
  388. [connection signal="close_requested" from="mainmenu" to="." method="_on_mainmenu_close_requested"]
  389. [connection signal="meta_clicked" from="NoLocationPopup/RichTextLabel" to="." method="_on_rich_text_label_meta_clicked"]
  390. [connection signal="button_down" from="NoLocationPopup/OkButton" to="." method="_on_ok_button_button_down"]
  391. [connection signal="button_down" from="NoInputPopup/OkButton2" to="." method="_on_ok_button_2_button_down"]
  392. [connection signal="close_requested" from="AudioDevicePopup" to="." method="_on_audio_device_popup_close_requested"]
  393. [connection signal="button_down" from="AudioDevicePopup/OpenAudioSettings" to="." method="_on_open_audio_settings_button_down"]
  394. [connection signal="button_down" from="MultipleConnectionsPopup/OkButton3" to="." method="_on_ok_button_3_button_down"]
  395. [connection signal="canceled" from="CdpLocationDialog" to="." method="_on_cdp_location_dialog_canceled"]
  396. [connection signal="dir_selected" from="CdpLocationDialog" to="." method="_on_cdp_location_dialog_dir_selected"]
  397. [connection signal="close_requested" from="Console" to="." method="_on_console_close_requested"]
  398. [connection signal="button_down" from="Console/ConsoleOpenFolder" to="." method="_on_console_open_folder_button_down"]
  399. [connection signal="button_down" from="Console/KillProcess" to="." method="_on_kill_process_button_down"]
  400. [connection signal="index_pressed" from="MenuBar/FileButton" to="." method="_on_file_button_index_pressed"]
  401. [connection signal="index_pressed" from="MenuBar/SettingsButton" to="." method="_on_settings_button_index_pressed"]
  402. [connection signal="index_pressed" from="MenuBar/HelpButton" to="." method="_on_help_button_index_pressed"]
  403. [connection signal="file_selected" from="SaveDialog" to="." method="_on_save_dialog_file_selected"]
  404. [connection signal="file_selected" from="LoadDialog" to="." method="_on_load_dialog_file_selected"]
  405. [connection signal="button_down" from="SaveChangesPopup/SaveChanges" to="." method="_on_save_changes_button_down"]
  406. [connection signal="button_down" from="SaveChangesPopup/DontSaveChanges" to="." method="_on_dont_save_changes_button_down"]
  407. [connection signal="close_requested" from="AudioSettings" to="." method="_on_audio_settings_close_requested"]
  408. [connection signal="about_to_popup" from="SearchMenu" to="SearchMenu" method="_on_about_to_popup"]
  409. [connection signal="text_changed" from="SearchMenu/VBoxContainer/SearchBar" to="SearchMenu" method="_on_search_bar_text_changed"]
  410. [connection signal="close_requested" from="CheckForUpdates/UpdatePopup" to="CheckForUpdates" method="_on_update_popup_close_requested"]
  411. [connection signal="button_down" from="CheckForUpdates/UpdatePopup/OpenAudioSettings" to="CheckForUpdates" method="_on_open_audio_settings_button_down"]
  412. [connection signal="button_down" from="ProgressWindow/KillProcess2" to="." method="_on_kill_process_button_down"]