2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2017-11-15 18:37:54 +01:00
<class name= "AudioServer" inherits= "Object" category= "Core" version= "3.0-alpha" >
2017-09-12 22:42:36 +02:00
<brief_description >
Server interface for low level audio access.
</brief_description>
<description >
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.
</description>
<tutorials >
</tutorials>
<demos >
</demos>
<methods >
<method name= "add_bus" >
<return type= "void" >
</return>
2017-09-10 15:37:49 +02:00
<argument index= "0" name= "at_position" type= "int" default= "-1" >
2017-09-12 22:42:36 +02:00
</argument>
<description >
2017-10-10 16:00:10 +02:00
Adds a bus at [code]at_position[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "add_bus_effect" >
<return type= "void" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<argument index= "1" name= "effect" type= "AudioEffect" >
</argument>
2017-09-10 15:37:49 +02:00
<argument index= "2" name= "at_position" type= "int" default= "-1" >
2017-09-12 22:42:36 +02:00
</argument>
<description >
2017-10-10 16:00:10 +02:00
Adds an [AudioEffect] effect to the bus [code]bus_idx[/code] at [code]at_position[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "generate_bus_layout" qualifiers= "const" >
<return type= "AudioBusLayout" >
</return>
<description >
2017-10-10 16:00:10 +02:00
Generates an [AudioBusLayout] using the available busses and effects.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_bus_count" qualifiers= "const" >
<return type= "int" >
</return>
<description >
2017-10-10 16:00:10 +02:00
Returns the number of available busses.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_bus_effect" >
<return type= "AudioEffect" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<argument index= "1" name= "effect_idx" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Returns the [AudioEffect] at position [code]effect_idx[/code] in bus [code]bus_idx[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_bus_effect_count" >
<return type= "int" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Returns the number of effects on the bus at [code]bus_idx[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_bus_index" qualifiers= "const" >
<return type= "int" >
</return>
<argument index= "0" name= "bus_name" type= "String" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Returns the index of the bus with the name [code]bus_name[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_bus_name" qualifiers= "const" >
<return type= "String" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Returns the name of the bus with the index [code]bus_idx[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_bus_peak_volume_left_db" qualifiers= "const" >
<return type= "float" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<argument index= "1" name= "channel" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Returns the peak volume of the left speaker at bus index [code]bus_idx[/code] and channel index [code]channel[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_bus_peak_volume_right_db" qualifiers= "const" >
<return type= "float" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<argument index= "1" name= "channel" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Returns the peak volume of the right speaker at bus index [code]bus_idx[/code] and channel index [code]channel[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_bus_send" qualifiers= "const" >
<return type= "String" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Returns the name of the bus that the bus at index [code]bus_idx[/code] sends to.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_bus_volume_db" qualifiers= "const" >
<return type= "float" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Returns the volume of the bus at index [code]bus_idx[/code] in dB.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_mix_rate" qualifiers= "const" >
<return type= "float" >
</return>
<description >
2017-10-10 16:00:10 +02:00
Returns the sample rate at the output of the audioserver.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_speaker_mode" qualifiers= "const" >
<return type= "int" enum= "AudioServer.SpeakerMode" >
</return>
<description >
2017-10-10 16:00:10 +02:00
Returns the speaker configuration.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "is_bus_bypassing_effects" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
If [code]true[/code] the bus at index [code]bus_idx[/code] is bypassing effects.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "is_bus_effect_enabled" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<argument index= "1" name= "effect_idx" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
If [code]true[/code] the effect at index [code]effect_idx[/code] on the bus at index [code]bus_idx[/code] is enabled.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "is_bus_mute" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
If [code]true[/code] the bus at index [code]bus_idx[/code] is muted.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "is_bus_solo" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
If [code]true[/code] the bus at index [code]bus_idx[/code] is in solo mode.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "lock" >
<return type= "void" >
</return>
<description >
2017-10-10 16:00:10 +02:00
Locks the audio drivers mainloop. Remember to unlock it afterwards.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "move_bus" >
<return type= "void" >
</return>
<argument index= "0" name= "index" type= "int" >
</argument>
<argument index= "1" name= "to_index" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Moves the bus from index [code]index[/code] to index [code]to_index[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "remove_bus" >
<return type= "void" >
</return>
<argument index= "0" name= "index" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Removes the bus at index [code]index[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "remove_bus_effect" >
<return type= "void" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<argument index= "1" name= "effect_idx" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Removes the effect at index [code]effect_idx[/code] from the bus at index [code]bus_idx[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_bus_bypass_effects" >
<return type= "void" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<argument index= "1" name= "enable" type= "bool" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
If [code]true[/code] the bus at index [code]bus_idx[/code] is bypassing effects.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_bus_count" >
<return type= "void" >
</return>
<argument index= "0" name= "amount" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Adds and removes busses to make the number of busses match [code]amount[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_bus_effect_enabled" >
<return type= "void" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<argument index= "1" name= "effect_idx" type= "int" >
</argument>
<argument index= "2" name= "enabled" type= "bool" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
If [code]true[/code] the effect at index [code]effect_idx[/code] on the bus at index [code]bus_idx[/code] is enabled.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_bus_layout" >
<return type= "void" >
</return>
<argument index= "0" name= "bus_layout" type= "AudioBusLayout" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Overwrites the currently used [AudioBusLayout].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_bus_mute" >
<return type= "void" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<argument index= "1" name= "enable" type= "bool" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
If [code]true[/code] the bus at index [code]bus_idx[/code] is muted.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_bus_name" >
<return type= "void" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<argument index= "1" name= "name" type= "String" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Sets the name of the bus at index [code]bus_idx[/code] to [code]name[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_bus_send" >
<return type= "void" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<argument index= "1" name= "send" type= "String" >
</argument>
<description >
2017-11-18 01:29:32 +01:00
Connects the output of the bus at [code]bus_idx[/code] to the bus named [code]send[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_bus_solo" >
<return type= "void" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<argument index= "1" name= "enable" type= "bool" >
</argument>
<description >
2017-10-11 23:54:43 +02:00
If [code]true[/code] the bus at index [code]bus_idx[/code] is in solo mode.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_bus_volume_db" >
<return type= "void" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<argument index= "1" name= "volume_db" type= "float" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Sets the volume of the bus at index [code]bus_idx[/code] to [code]volume_db[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "swap_bus_effects" >
<return type= "void" >
</return>
<argument index= "0" name= "bus_idx" type= "int" >
</argument>
<argument index= "1" name= "effect_idx" type= "int" >
</argument>
<argument index= "2" name= "by_effect_idx" type= "int" >
</argument>
<description >
2017-10-10 16:00:10 +02:00
Swaps the position of two effects in bus [code]bus_idx[/code].
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "unlock" >
<return type= "void" >
</return>
<description >
2017-10-10 16:00:10 +02:00
Unlocks the audiodriver's main loop. After locking it always unlock it.
2017-09-12 22:42:36 +02:00
</description>
</method>
</methods>
<signals >
<signal name= "bus_layout_changed" >
<description >
2017-10-10 16:00:10 +02:00
Emitted when the [AudioBusLayout] changes.
2017-09-12 22:42:36 +02:00
</description>
</signal>
</signals>
<constants >
2017-09-16 01:46:14 +02:00
<constant name= "SPEAKER_MODE_STEREO" value= "0" >
2017-10-10 16:00:10 +02:00
Two or fewer speakers are detected.
2017-09-16 01:46:14 +02:00
</constant>
<constant name= "SPEAKER_SURROUND_51" value= "2" >
2017-10-10 16:00:10 +02:00
A 5.1 channel surround setup detected.
2017-09-16 01:46:14 +02:00
</constant>
<constant name= "SPEAKER_SURROUND_71" value= "3" >
2017-10-10 16:00:10 +02:00
A 7.1 channel surround setup detected.
2017-09-16 01:46:14 +02:00
</constant>
2017-09-12 22:42:36 +02:00
</constants>
</class>