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.

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.)