class_audioserver.rst 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the AudioServer.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_AudioServer:
  6. AudioServer
  7. ===========
  8. **Inherits:** :ref:`Object<class_Object>`
  9. Server interface for low-level audio access.
  10. Description
  11. -----------
  12. ``AudioServer`` is a low-level server interface for audio access. It is in charge of creating sample data (playable audio) as well as its playback via a voice interface.
  13. Tutorials
  14. ---------
  15. - :doc:`Audio buses <../tutorials/audio/audio_buses>`
  16. - `Audio Device Changer Demo <https://godotengine.org/asset-library/asset/525>`__
  17. - `Audio Mic Record Demo <https://godotengine.org/asset-library/asset/527>`__
  18. - `Audio Spectrum Demo <https://godotengine.org/asset-library/asset/528>`__
  19. Properties
  20. ----------
  21. +-----------------------------+------------------------------------------------------------------------+---------------+
  22. | :ref:`int<class_int>` | :ref:`bus_count<class_AudioServer_property_bus_count>` | ``1`` |
  23. +-----------------------------+------------------------------------------------------------------------+---------------+
  24. | :ref:`String<class_String>` | :ref:`capture_device<class_AudioServer_property_capture_device>` | ``"Default"`` |
  25. +-----------------------------+------------------------------------------------------------------------+---------------+
  26. | :ref:`String<class_String>` | :ref:`device<class_AudioServer_property_device>` | ``"Default"`` |
  27. +-----------------------------+------------------------------------------------------------------------+---------------+
  28. | :ref:`float<class_float>` | :ref:`global_rate_scale<class_AudioServer_property_global_rate_scale>` | ``1.0`` |
  29. +-----------------------------+------------------------------------------------------------------------+---------------+
  30. Methods
  31. -------
  32. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  33. | void | :ref:`add_bus<class_AudioServer_method_add_bus>` **(** :ref:`int<class_int>` at_position=-1 **)** |
  34. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  35. | void | :ref:`add_bus_effect<class_AudioServer_method_add_bus_effect>` **(** :ref:`int<class_int>` bus_idx, :ref:`AudioEffect<class_AudioEffect>` effect, :ref:`int<class_int>` at_position=-1 **)** |
  36. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  37. | :ref:`Array<class_Array>` | :ref:`capture_get_device_list<class_AudioServer_method_capture_get_device_list>` **(** **)** |
  38. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  39. | :ref:`AudioBusLayout<class_AudioBusLayout>` | :ref:`generate_bus_layout<class_AudioServer_method_generate_bus_layout>` **(** **)** |const| |
  40. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | :ref:`int<class_int>` | :ref:`get_bus_channels<class_AudioServer_method_get_bus_channels>` **(** :ref:`int<class_int>` bus_idx **)** |const| |
  42. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | :ref:`AudioEffect<class_AudioEffect>` | :ref:`get_bus_effect<class_AudioServer_method_get_bus_effect>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)** |
  44. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  45. | :ref:`int<class_int>` | :ref:`get_bus_effect_count<class_AudioServer_method_get_bus_effect_count>` **(** :ref:`int<class_int>` bus_idx **)** |
  46. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  47. | :ref:`AudioEffectInstance<class_AudioEffectInstance>` | :ref:`get_bus_effect_instance<class_AudioServer_method_get_bus_effect_instance>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`int<class_int>` channel=0 **)** |
  48. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  49. | :ref:`int<class_int>` | :ref:`get_bus_index<class_AudioServer_method_get_bus_index>` **(** :ref:`String<class_String>` bus_name **)** |const| |
  50. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  51. | :ref:`String<class_String>` | :ref:`get_bus_name<class_AudioServer_method_get_bus_name>` **(** :ref:`int<class_int>` bus_idx **)** |const| |
  52. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  53. | :ref:`float<class_float>` | :ref:`get_bus_peak_volume_left_db<class_AudioServer_method_get_bus_peak_volume_left_db>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` channel **)** |const| |
  54. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  55. | :ref:`float<class_float>` | :ref:`get_bus_peak_volume_right_db<class_AudioServer_method_get_bus_peak_volume_right_db>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` channel **)** |const| |
  56. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  57. | :ref:`String<class_String>` | :ref:`get_bus_send<class_AudioServer_method_get_bus_send>` **(** :ref:`int<class_int>` bus_idx **)** |const| |
  58. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  59. | :ref:`float<class_float>` | :ref:`get_bus_volume_db<class_AudioServer_method_get_bus_volume_db>` **(** :ref:`int<class_int>` bus_idx **)** |const| |
  60. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  61. | :ref:`Array<class_Array>` | :ref:`get_device_list<class_AudioServer_method_get_device_list>` **(** **)** |
  62. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  63. | :ref:`float<class_float>` | :ref:`get_mix_rate<class_AudioServer_method_get_mix_rate>` **(** **)** |const| |
  64. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  65. | :ref:`float<class_float>` | :ref:`get_output_latency<class_AudioServer_method_get_output_latency>` **(** **)** |const| |
  66. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  67. | :ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` | :ref:`get_speaker_mode<class_AudioServer_method_get_speaker_mode>` **(** **)** |const| |
  68. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  69. | :ref:`float<class_float>` | :ref:`get_time_since_last_mix<class_AudioServer_method_get_time_since_last_mix>` **(** **)** |const| |
  70. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  71. | :ref:`float<class_float>` | :ref:`get_time_to_next_mix<class_AudioServer_method_get_time_to_next_mix>` **(** **)** |const| |
  72. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  73. | :ref:`bool<class_bool>` | :ref:`is_bus_bypassing_effects<class_AudioServer_method_is_bus_bypassing_effects>` **(** :ref:`int<class_int>` bus_idx **)** |const| |
  74. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  75. | :ref:`bool<class_bool>` | :ref:`is_bus_effect_enabled<class_AudioServer_method_is_bus_effect_enabled>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)** |const| |
  76. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  77. | :ref:`bool<class_bool>` | :ref:`is_bus_mute<class_AudioServer_method_is_bus_mute>` **(** :ref:`int<class_int>` bus_idx **)** |const| |
  78. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  79. | :ref:`bool<class_bool>` | :ref:`is_bus_solo<class_AudioServer_method_is_bus_solo>` **(** :ref:`int<class_int>` bus_idx **)** |const| |
  80. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  81. | void | :ref:`lock<class_AudioServer_method_lock>` **(** **)** |
  82. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  83. | void | :ref:`move_bus<class_AudioServer_method_move_bus>` **(** :ref:`int<class_int>` index, :ref:`int<class_int>` to_index **)** |
  84. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  85. | void | :ref:`remove_bus<class_AudioServer_method_remove_bus>` **(** :ref:`int<class_int>` index **)** |
  86. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  87. | void | :ref:`remove_bus_effect<class_AudioServer_method_remove_bus_effect>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)** |
  88. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  89. | void | :ref:`set_bus_bypass_effects<class_AudioServer_method_set_bus_bypass_effects>` **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)** |
  90. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  91. | void | :ref:`set_bus_effect_enabled<class_AudioServer_method_set_bus_effect_enabled>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`bool<class_bool>` enabled **)** |
  92. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  93. | void | :ref:`set_bus_layout<class_AudioServer_method_set_bus_layout>` **(** :ref:`AudioBusLayout<class_AudioBusLayout>` bus_layout **)** |
  94. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  95. | void | :ref:`set_bus_mute<class_AudioServer_method_set_bus_mute>` **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)** |
  96. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  97. | void | :ref:`set_bus_name<class_AudioServer_method_set_bus_name>` **(** :ref:`int<class_int>` bus_idx, :ref:`String<class_String>` name **)** |
  98. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  99. | void | :ref:`set_bus_send<class_AudioServer_method_set_bus_send>` **(** :ref:`int<class_int>` bus_idx, :ref:`String<class_String>` send **)** |
  100. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  101. | void | :ref:`set_bus_solo<class_AudioServer_method_set_bus_solo>` **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)** |
  102. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  103. | void | :ref:`set_bus_volume_db<class_AudioServer_method_set_bus_volume_db>` **(** :ref:`int<class_int>` bus_idx, :ref:`float<class_float>` volume_db **)** |
  104. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  105. | void | :ref:`swap_bus_effects<class_AudioServer_method_swap_bus_effects>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`int<class_int>` by_effect_idx **)** |
  106. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  107. | void | :ref:`unlock<class_AudioServer_method_unlock>` **(** **)** |
  108. +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  109. Signals
  110. -------
  111. .. _class_AudioServer_signal_bus_layout_changed:
  112. - **bus_layout_changed** **(** **)**
  113. Emitted when the :ref:`AudioBusLayout<class_AudioBusLayout>` changes.
  114. Enumerations
  115. ------------
  116. .. _enum_AudioServer_SpeakerMode:
  117. .. _class_AudioServer_constant_SPEAKER_MODE_STEREO:
  118. .. _class_AudioServer_constant_SPEAKER_SURROUND_31:
  119. .. _class_AudioServer_constant_SPEAKER_SURROUND_51:
  120. .. _class_AudioServer_constant_SPEAKER_SURROUND_71:
  121. enum **SpeakerMode**:
  122. - **SPEAKER_MODE_STEREO** = **0** --- Two or fewer speakers were detected.
  123. - **SPEAKER_SURROUND_31** = **1** --- A 3.1 channel surround setup was detected.
  124. - **SPEAKER_SURROUND_51** = **2** --- A 5.1 channel surround setup was detected.
  125. - **SPEAKER_SURROUND_71** = **3** --- A 7.1 channel surround setup was detected.
  126. Property Descriptions
  127. ---------------------
  128. .. _class_AudioServer_property_bus_count:
  129. - :ref:`int<class_int>` **bus_count**
  130. +-----------+----------------------+
  131. | *Default* | ``1`` |
  132. +-----------+----------------------+
  133. | *Setter* | set_bus_count(value) |
  134. +-----------+----------------------+
  135. | *Getter* | get_bus_count() |
  136. +-----------+----------------------+
  137. Number of available audio buses.
  138. ----
  139. .. _class_AudioServer_property_capture_device:
  140. - :ref:`String<class_String>` **capture_device**
  141. +-----------+---------------------------+
  142. | *Default* | ``"Default"`` |
  143. +-----------+---------------------------+
  144. | *Setter* | capture_set_device(value) |
  145. +-----------+---------------------------+
  146. | *Getter* | capture_get_device() |
  147. +-----------+---------------------------+
  148. Name of the current device for audio input (see :ref:`get_device_list<class_AudioServer_method_get_device_list>`). On systems with multiple audio inputs (such as analog, USB and HDMI audio), this can be used to select the audio input device. The value ``"Default"`` will record audio on the system-wide default audio input. If an invalid device name is set, the value will be reverted back to ``"Default"``.
  149. ----
  150. .. _class_AudioServer_property_device:
  151. - :ref:`String<class_String>` **device**
  152. +-----------+-------------------+
  153. | *Default* | ``"Default"`` |
  154. +-----------+-------------------+
  155. | *Setter* | set_device(value) |
  156. +-----------+-------------------+
  157. | *Getter* | get_device() |
  158. +-----------+-------------------+
  159. Name of the current device for audio output (see :ref:`get_device_list<class_AudioServer_method_get_device_list>`). On systems with multiple audio outputs (such as analog, USB and HDMI audio), this can be used to select the audio output device. The value ``"Default"`` will play audio on the system-wide default audio output. If an invalid device name is set, the value will be reverted back to ``"Default"``.
  160. ----
  161. .. _class_AudioServer_property_global_rate_scale:
  162. - :ref:`float<class_float>` **global_rate_scale**
  163. +-----------+------------------------------+
  164. | *Default* | ``1.0`` |
  165. +-----------+------------------------------+
  166. | *Setter* | set_global_rate_scale(value) |
  167. +-----------+------------------------------+
  168. | *Getter* | get_global_rate_scale() |
  169. +-----------+------------------------------+
  170. Scales the rate at which audio is played (i.e. setting it to ``0.5`` will make the audio be played twice as fast).
  171. Method Descriptions
  172. -------------------
  173. .. _class_AudioServer_method_add_bus:
  174. - void **add_bus** **(** :ref:`int<class_int>` at_position=-1 **)**
  175. Adds a bus at ``at_position``.
  176. ----
  177. .. _class_AudioServer_method_add_bus_effect:
  178. - void **add_bus_effect** **(** :ref:`int<class_int>` bus_idx, :ref:`AudioEffect<class_AudioEffect>` effect, :ref:`int<class_int>` at_position=-1 **)**
  179. Adds an :ref:`AudioEffect<class_AudioEffect>` effect to the bus ``bus_idx`` at ``at_position``.
  180. ----
  181. .. _class_AudioServer_method_capture_get_device_list:
  182. - :ref:`Array<class_Array>` **capture_get_device_list** **(** **)**
  183. Returns the names of all audio input devices detected on the system.
  184. ----
  185. .. _class_AudioServer_method_generate_bus_layout:
  186. - :ref:`AudioBusLayout<class_AudioBusLayout>` **generate_bus_layout** **(** **)** |const|
  187. Generates an :ref:`AudioBusLayout<class_AudioBusLayout>` using the available buses and effects.
  188. ----
  189. .. _class_AudioServer_method_get_bus_channels:
  190. - :ref:`int<class_int>` **get_bus_channels** **(** :ref:`int<class_int>` bus_idx **)** |const|
  191. Returns the amount of channels of the bus at index ``bus_idx``.
  192. ----
  193. .. _class_AudioServer_method_get_bus_effect:
  194. - :ref:`AudioEffect<class_AudioEffect>` **get_bus_effect** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)**
  195. Returns the :ref:`AudioEffect<class_AudioEffect>` at position ``effect_idx`` in bus ``bus_idx``.
  196. ----
  197. .. _class_AudioServer_method_get_bus_effect_count:
  198. - :ref:`int<class_int>` **get_bus_effect_count** **(** :ref:`int<class_int>` bus_idx **)**
  199. Returns the number of effects on the bus at ``bus_idx``.
  200. ----
  201. .. _class_AudioServer_method_get_bus_effect_instance:
  202. - :ref:`AudioEffectInstance<class_AudioEffectInstance>` **get_bus_effect_instance** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`int<class_int>` channel=0 **)**
  203. Returns the :ref:`AudioEffectInstance<class_AudioEffectInstance>` assigned to the given bus and effect indices (and optionally channel).
  204. ----
  205. .. _class_AudioServer_method_get_bus_index:
  206. - :ref:`int<class_int>` **get_bus_index** **(** :ref:`String<class_String>` bus_name **)** |const|
  207. Returns the index of the bus with the name ``bus_name``.
  208. ----
  209. .. _class_AudioServer_method_get_bus_name:
  210. - :ref:`String<class_String>` **get_bus_name** **(** :ref:`int<class_int>` bus_idx **)** |const|
  211. Returns the name of the bus with the index ``bus_idx``.
  212. ----
  213. .. _class_AudioServer_method_get_bus_peak_volume_left_db:
  214. - :ref:`float<class_float>` **get_bus_peak_volume_left_db** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` channel **)** |const|
  215. Returns the peak volume of the left speaker at bus index ``bus_idx`` and channel index ``channel``.
  216. ----
  217. .. _class_AudioServer_method_get_bus_peak_volume_right_db:
  218. - :ref:`float<class_float>` **get_bus_peak_volume_right_db** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` channel **)** |const|
  219. Returns the peak volume of the right speaker at bus index ``bus_idx`` and channel index ``channel``.
  220. ----
  221. .. _class_AudioServer_method_get_bus_send:
  222. - :ref:`String<class_String>` **get_bus_send** **(** :ref:`int<class_int>` bus_idx **)** |const|
  223. Returns the name of the bus that the bus at index ``bus_idx`` sends to.
  224. ----
  225. .. _class_AudioServer_method_get_bus_volume_db:
  226. - :ref:`float<class_float>` **get_bus_volume_db** **(** :ref:`int<class_int>` bus_idx **)** |const|
  227. Returns the volume of the bus at index ``bus_idx`` in dB.
  228. ----
  229. .. _class_AudioServer_method_get_device_list:
  230. - :ref:`Array<class_Array>` **get_device_list** **(** **)**
  231. Returns the names of all audio devices detected on the system.
  232. ----
  233. .. _class_AudioServer_method_get_mix_rate:
  234. - :ref:`float<class_float>` **get_mix_rate** **(** **)** |const|
  235. Returns the sample rate at the output of the ``AudioServer``.
  236. ----
  237. .. _class_AudioServer_method_get_output_latency:
  238. - :ref:`float<class_float>` **get_output_latency** **(** **)** |const|
  239. Returns the audio driver's output latency.
  240. ----
  241. .. _class_AudioServer_method_get_speaker_mode:
  242. - :ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` **get_speaker_mode** **(** **)** |const|
  243. Returns the speaker configuration.
  244. ----
  245. .. _class_AudioServer_method_get_time_since_last_mix:
  246. - :ref:`float<class_float>` **get_time_since_last_mix** **(** **)** |const|
  247. Returns the relative time since the last mix occurred.
  248. ----
  249. .. _class_AudioServer_method_get_time_to_next_mix:
  250. - :ref:`float<class_float>` **get_time_to_next_mix** **(** **)** |const|
  251. Returns the relative time until the next mix occurs.
  252. ----
  253. .. _class_AudioServer_method_is_bus_bypassing_effects:
  254. - :ref:`bool<class_bool>` **is_bus_bypassing_effects** **(** :ref:`int<class_int>` bus_idx **)** |const|
  255. If ``true``, the bus at index ``bus_idx`` is bypassing effects.
  256. ----
  257. .. _class_AudioServer_method_is_bus_effect_enabled:
  258. - :ref:`bool<class_bool>` **is_bus_effect_enabled** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)** |const|
  259. If ``true``, the effect at index ``effect_idx`` on the bus at index ``bus_idx`` is enabled.
  260. ----
  261. .. _class_AudioServer_method_is_bus_mute:
  262. - :ref:`bool<class_bool>` **is_bus_mute** **(** :ref:`int<class_int>` bus_idx **)** |const|
  263. If ``true``, the bus at index ``bus_idx`` is muted.
  264. ----
  265. .. _class_AudioServer_method_is_bus_solo:
  266. - :ref:`bool<class_bool>` **is_bus_solo** **(** :ref:`int<class_int>` bus_idx **)** |const|
  267. If ``true``, the bus at index ``bus_idx`` is in solo mode.
  268. ----
  269. .. _class_AudioServer_method_lock:
  270. - void **lock** **(** **)**
  271. Locks the audio driver's main loop.
  272. \ **Note:** Remember to unlock it afterwards.
  273. ----
  274. .. _class_AudioServer_method_move_bus:
  275. - void **move_bus** **(** :ref:`int<class_int>` index, :ref:`int<class_int>` to_index **)**
  276. Moves the bus from index ``index`` to index ``to_index``.
  277. ----
  278. .. _class_AudioServer_method_remove_bus:
  279. - void **remove_bus** **(** :ref:`int<class_int>` index **)**
  280. Removes the bus at index ``index``.
  281. ----
  282. .. _class_AudioServer_method_remove_bus_effect:
  283. - void **remove_bus_effect** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)**
  284. Removes the effect at index ``effect_idx`` from the bus at index ``bus_idx``.
  285. ----
  286. .. _class_AudioServer_method_set_bus_bypass_effects:
  287. - void **set_bus_bypass_effects** **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**
  288. If ``true``, the bus at index ``bus_idx`` is bypassing effects.
  289. ----
  290. .. _class_AudioServer_method_set_bus_effect_enabled:
  291. - void **set_bus_effect_enabled** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`bool<class_bool>` enabled **)**
  292. If ``true``, the effect at index ``effect_idx`` on the bus at index ``bus_idx`` is enabled.
  293. ----
  294. .. _class_AudioServer_method_set_bus_layout:
  295. - void **set_bus_layout** **(** :ref:`AudioBusLayout<class_AudioBusLayout>` bus_layout **)**
  296. Overwrites the currently used :ref:`AudioBusLayout<class_AudioBusLayout>`.
  297. ----
  298. .. _class_AudioServer_method_set_bus_mute:
  299. - void **set_bus_mute** **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**
  300. If ``true``, the bus at index ``bus_idx`` is muted.
  301. ----
  302. .. _class_AudioServer_method_set_bus_name:
  303. - void **set_bus_name** **(** :ref:`int<class_int>` bus_idx, :ref:`String<class_String>` name **)**
  304. Sets the name of the bus at index ``bus_idx`` to ``name``.
  305. ----
  306. .. _class_AudioServer_method_set_bus_send:
  307. - void **set_bus_send** **(** :ref:`int<class_int>` bus_idx, :ref:`String<class_String>` send **)**
  308. Connects the output of the bus at ``bus_idx`` to the bus named ``send``.
  309. ----
  310. .. _class_AudioServer_method_set_bus_solo:
  311. - void **set_bus_solo** **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**
  312. If ``true``, the bus at index ``bus_idx`` is in solo mode.
  313. ----
  314. .. _class_AudioServer_method_set_bus_volume_db:
  315. - void **set_bus_volume_db** **(** :ref:`int<class_int>` bus_idx, :ref:`float<class_float>` volume_db **)**
  316. Sets the volume of the bus at index ``bus_idx`` to ``volume_db``.
  317. ----
  318. .. _class_AudioServer_method_swap_bus_effects:
  319. - void **swap_bus_effects** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`int<class_int>` by_effect_idx **)**
  320. Swaps the position of two effects in bus ``bus_idx``.
  321. ----
  322. .. _class_AudioServer_method_unlock:
  323. - void **unlock** **(** **)**
  324. Unlocks the audio driver's main loop. (After locking it, you should always unlock it.)
  325. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  326. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  327. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`