AudioServer

Inherits: Object

Server interface for low-level audio access.

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.

Tutorials

Properties

int bus_count 1
String device "Default"
float global_rate_scale 1.0

Methods

void add_bus ( int at_position=-1 )
void add_bus_effect ( int bus_idx, AudioEffect effect, int at_position=-1 )
String capture_get_device ( )
Array capture_get_device_list ( )
void capture_set_device ( String name )
AudioBusLayout generate_bus_layout ( ) const
int get_bus_channels ( int bus_idx ) const
AudioEffect get_bus_effect ( int bus_idx, int effect_idx )
int get_bus_effect_count ( int bus_idx )
AudioEffectInstance get_bus_effect_instance ( int bus_idx, int effect_idx, int channel=0 )
int get_bus_index ( String bus_name ) const
String get_bus_name ( int bus_idx ) const
float get_bus_peak_volume_left_db ( int bus_idx, int channel ) const
float get_bus_peak_volume_right_db ( int bus_idx, int channel ) const
String get_bus_send ( int bus_idx ) const
float get_bus_volume_db ( int bus_idx ) const
Array get_device_list ( )
float get_mix_rate ( ) const
float get_output_latency ( ) const
SpeakerMode get_speaker_mode ( ) const
float get_time_since_last_mix ( ) const
float get_time_to_next_mix ( ) const
bool is_bus_bypassing_effects ( int bus_idx ) const
bool is_bus_effect_enabled ( int bus_idx, int effect_idx ) const
bool is_bus_mute ( int bus_idx ) const
bool is_bus_solo ( int bus_idx ) const
void lock ( )
void move_bus ( int index, int to_index )
void remove_bus ( int index )
void remove_bus_effect ( int bus_idx, int effect_idx )
void set_bus_bypass_effects ( int bus_idx, bool enable )
void set_bus_effect_enabled ( int bus_idx, int effect_idx, bool enabled )
void set_bus_layout ( AudioBusLayout bus_layout )
void set_bus_mute ( int bus_idx, bool enable )
void set_bus_name ( int bus_idx, String name )
void set_bus_send ( int bus_idx, String send )
void set_bus_solo ( int bus_idx, bool enable )
void set_bus_volume_db ( int bus_idx, float volume_db )
void swap_bus_effects ( int bus_idx, int effect_idx, int by_effect_idx )
void unlock ( )

Signals

  • bus_layout_changed ( )

Emitted when the AudioBusLayout changes.

Enumerations

enum SpeakerMode:

  • SPEAKER_MODE_STEREO = 0 — Two or fewer speakers were detected.
  • SPEAKER_SURROUND_31 = 1 — A 3.1 channel surround setup was detected.
  • SPEAKER_SURROUND_51 = 2 — A 5.1 channel surround setup was detected.
  • SPEAKER_SURROUND_71 = 3 — A 7.1 channel surround setup was detected.

Property Descriptions

  • int bus_count
Default 1
Setter set_bus_count(value)
Getter get_bus_count()

Number of available audio buses.


Default "Default"
Setter set_device(value)
Getter get_device()

Name of the current device for audio output (see get_device_list).


  • float global_rate_scale
Default 1.0
Setter set_global_rate_scale(value)
Getter get_global_rate_scale()

Scales the rate at which audio is played (i.e. setting it to 0.5 will make the audio be played twice as fast).

Method Descriptions

  • void add_bus ( int at_position=-1 )

Adds a bus at at_position.


Adds an AudioEffect effect to the bus bus_idx at at_position.


  • String capture_get_device ( )

Name of the current device for audio input (see capture_get_device_list).


  • Array capture_get_device_list ( )

Returns the names of all audio input devices detected on the system.


  • void capture_set_device ( String name )

Sets which audio input device is used for audio capture.


Generates an AudioBusLayout using the available buses and effects.


  • int get_bus_channels ( int bus_idx ) const

Returns the amount of channels of the bus at index bus_idx.


Returns the AudioEffect at position effect_idx in bus bus_idx.


  • int get_bus_effect_count ( int bus_idx )

Returns the number of effects on the bus at bus_idx.


Returns the AudioEffectInstance assigned to the given bus and effect indices (and optionally channel).


  • int get_bus_index ( String bus_name ) const

Returns the index of the bus with the name bus_name.


Returns the name of the bus with the index bus_idx.


  • float get_bus_peak_volume_left_db ( int bus_idx, int channel ) const

Returns the peak volume of the left speaker at bus index bus_idx and channel index channel.


  • float get_bus_peak_volume_right_db ( int bus_idx, int channel ) const

Returns the peak volume of the right speaker at bus index bus_idx and channel index channel.


Returns the name of the bus that the bus at index bus_idx sends to.


  • float get_bus_volume_db ( int bus_idx ) const

Returns the volume of the bus at index bus_idx in dB.


  • Array get_device_list ( )

Returns the names of all audio devices detected on the system.


  • float get_mix_rate ( ) const

Returns the sample rate at the output of the AudioServer.


  • float get_output_latency ( ) const

Returns the audio driver’s output latency.


Returns the speaker configuration.


  • float get_time_since_last_mix ( ) const

Returns the relative time since the last mix occurred.


  • float get_time_to_next_mix ( ) const

Returns the relative time until the next mix occurs.


  • bool is_bus_bypassing_effects ( int bus_idx ) const

If true, the bus at index bus_idx is bypassing effects.


  • bool is_bus_effect_enabled ( int bus_idx, int effect_idx ) const

If true, the effect at index effect_idx on the bus at index bus_idx is enabled.


  • bool is_bus_mute ( int bus_idx ) const

If true, the bus at index bus_idx is muted.


  • bool is_bus_solo ( int bus_idx ) const

If true, the bus at index bus_idx is in solo mode.


  • void lock ( )

Locks the audio driver’s main loop.

Note: Remember to unlock it afterwards.


  • void move_bus ( int index, int to_index )

Moves the bus from index index to index to_index.


  • void remove_bus ( int index )

Removes the bus at index index.


  • void remove_bus_effect ( int bus_idx, int effect_idx )

Removes the effect at index effect_idx from the bus at index bus_idx.


  • void set_bus_bypass_effects ( int bus_idx, bool enable )

If true, the bus at index bus_idx is bypassing effects.


  • void set_bus_effect_enabled ( int bus_idx, int effect_idx, bool enabled )

If true, the effect at index effect_idx on the bus at index bus_idx is enabled.


Overwrites the currently used AudioBusLayout.


  • void set_bus_mute ( int bus_idx, bool enable )

If true, the bus at index bus_idx is muted.


  • void set_bus_name ( int bus_idx, String name )

Sets the name of the bus at index bus_idx to name.


  • void set_bus_send ( int bus_idx, String send )

Connects the output of the bus at bus_idx to the bus named send.


  • void set_bus_solo ( int bus_idx, bool enable )

If true, the bus at index bus_idx is in solo mode.


  • void set_bus_volume_db ( int bus_idx, float volume_db )

Sets the volume of the bus at index bus_idx to volume_db.


  • void swap_bus_effects ( int bus_idx, int effect_idx, int by_effect_idx )

Swaps the position of two effects in bus bus_idx.


  • void unlock ( )

Unlocks the audio driver’s main loop. (After locking it, you should always unlock it.)