MicRecord.tscn 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. [gd_scene load_steps=4 format=3 uid="uid://dvjlkpjvjxn0h"]
  2. [ext_resource type="Script" path="res://MicRecord.gd" id="1"]
  3. [ext_resource type="AudioStream" uid="uid://c2re52petqrvx" path="res://Intro.ogg" id="2"]
  4. [sub_resource type="AudioStreamMicrophone" id="1"]
  5. [node name="MicRecord" type="Control"]
  6. layout_mode = 3
  7. anchors_preset = 8
  8. anchor_left = 0.5
  9. anchor_top = 0.5
  10. anchor_right = 0.5
  11. anchor_bottom = 0.5
  12. offset_left = -278.0
  13. offset_top = -224.0
  14. offset_right = 296.0
  15. offset_bottom = 226.0
  16. grow_horizontal = 2
  17. grow_vertical = 2
  18. script = ExtResource("1")
  19. [node name="AudioStreamRecord" type="AudioStreamPlayer" parent="."]
  20. stream = SubResource("1")
  21. autoplay = true
  22. bus = &"Record"
  23. [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
  24. autoplay = true
  25. [node name="AudioStreamPlayer2" type="AudioStreamPlayer" parent="."]
  26. stream = ExtResource("2")
  27. volume_db = -6.0
  28. [node name="Status" type="Label" parent="."]
  29. layout_mode = 1
  30. anchors_preset = 10
  31. anchor_right = 1.0
  32. offset_bottom = 26.0
  33. grow_horizontal = 2
  34. text = "Status: "
  35. horizontal_alignment = 1
  36. [node name="RecordButton" type="Button" parent="."]
  37. layout_mode = 0
  38. offset_left = 29.0
  39. offset_top = 77.0
  40. offset_right = 159.0
  41. offset_bottom = 117.0
  42. text = "Record"
  43. [node name="PlayButton" type="Button" parent="."]
  44. layout_mode = 0
  45. offset_left = 209.0
  46. offset_top = 77.0
  47. offset_right = 339.0
  48. offset_bottom = 117.0
  49. disabled = true
  50. text = "Play"
  51. [node name="PlayMusic" type="Button" parent="."]
  52. layout_mode = 0
  53. offset_left = 30.0
  54. offset_top = 395.0
  55. offset_right = 160.0
  56. offset_bottom = 435.0
  57. text = "Play Music"
  58. [node name="FormatLabel" type="Label" parent="."]
  59. layout_mode = 0
  60. offset_left = 33.0
  61. offset_top = 153.0
  62. offset_right = 102.0
  63. offset_bottom = 179.0
  64. text = "Format:"
  65. [node name="FormatOptionButton" type="OptionButton" parent="."]
  66. layout_mode = 0
  67. offset_left = 131.0
  68. offset_top = 150.0
  69. offset_right = 315.0
  70. offset_bottom = 181.0
  71. item_count = 3
  72. selected = 1
  73. popup/item_0/text = "8-bit Uncompressed"
  74. popup/item_0/id = 0
  75. popup/item_1/text = "16-bit Uncompressed"
  76. popup/item_1/id = 1
  77. popup/item_2/text = "IMA ADPCM Compression"
  78. popup/item_2/id = 2
  79. [node name="MixRateLabel" type="Label" parent="."]
  80. layout_mode = 0
  81. offset_left = 33.0
  82. offset_top = 192.0
  83. offset_right = 102.0
  84. offset_bottom = 218.0
  85. text = "Mix rate:"
  86. [node name="MixRateOptionButton" type="OptionButton" parent="."]
  87. layout_mode = 0
  88. offset_left = 131.0
  89. offset_top = 189.0
  90. offset_right = 220.0
  91. offset_bottom = 220.0
  92. item_count = 6
  93. selected = 4
  94. popup/item_0/text = "11025 Hz"
  95. popup/item_0/id = 0
  96. popup/item_1/text = "16000 Hz"
  97. popup/item_1/id = 1
  98. popup/item_2/text = "22050 Hz"
  99. popup/item_2/id = 2
  100. popup/item_3/text = "32000 Hz"
  101. popup/item_3/id = 3
  102. popup/item_4/text = "44100 Hz"
  103. popup/item_4/id = 4
  104. popup/item_5/text = "48000 Hz"
  105. popup/item_5/id = 5
  106. [node name="StereoLabel" type="Label" parent="."]
  107. layout_mode = 0
  108. offset_left = 33.0
  109. offset_top = 233.0
  110. offset_right = 102.0
  111. offset_bottom = 259.0
  112. text = "Stereo:"
  113. [node name="StereoCheckButton" type="CheckButton" parent="."]
  114. layout_mode = 0
  115. offset_left = 126.0
  116. offset_top = 233.0
  117. offset_right = 170.0
  118. offset_bottom = 264.0
  119. button_pressed = true
  120. [node name="SaveButton" type="Button" parent="."]
  121. layout_mode = 0
  122. offset_left = 29.0
  123. offset_top = 284.0
  124. offset_right = 159.0
  125. offset_bottom = 324.0
  126. disabled = true
  127. text = "Save WAV To:"
  128. [node name="Filename" type="LineEdit" parent="SaveButton"]
  129. layout_mode = 0
  130. offset_left = 180.0
  131. offset_right = 507.0
  132. offset_bottom = 40.0
  133. text = "user://record.wav"
  134. caret_blink = true
  135. [node name="OpenUserFolderButton" type="Button" parent="."]
  136. layout_mode = 1
  137. offset_left = 209.0
  138. offset_top = 334.0
  139. offset_right = 372.0
  140. offset_bottom = 374.0
  141. text = "Open User Folder"
  142. [connection signal="pressed" from="RecordButton" to="." method="_on_record_button_pressed"]
  143. [connection signal="pressed" from="PlayButton" to="." method="_on_play_button_pressed"]
  144. [connection signal="pressed" from="PlayMusic" to="." method="_on_play_music_pressed"]
  145. [connection signal="item_selected" from="FormatOptionButton" to="." method="_on_format_option_button_item_selected"]
  146. [connection signal="item_selected" from="MixRateOptionButton" to="." method="_on_mix_rate_option_button_item_selected"]
  147. [connection signal="toggled" from="StereoCheckButton" to="." method="_on_stereo_check_button_toggled"]
  148. [connection signal="pressed" from="SaveButton" to="." method="_on_save_button_pressed"]
  149. [connection signal="pressed" from="OpenUserFolderButton" to="." method="_on_open_user_folder_button_pressed"]