control.tscn 14 KB

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