control.tscn 13 KB

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