Mixer API#

FmodAudioBus#

Inherits: RefCounted

Audio bus used for mixing, with effect processing support

Description#

FmodAudioBus represents FMOD audio audio mixing bus. bus FmodChannelGroup used for audio routing, and can FmodAudioEffect

Bus FmodAudioBusLayout manages hierarchy. bus, bus through routing.

Bus can:

  • Organizes audio into logical categories, such as music, sound effects, and dialogue.

  • Sound effect.

  • Controls audio volume and routing.

  • Mixing solo / mute.

Properties#

Type

Name

Default

Description

bool

bypass

false

Bus effect chain.

bool

mute

false

Sets mute state.

bool

solo

false

Solo state.

float

volume

0.0

Bus volume, unit as.

Methods#

void init_bus(name: String, parent: FmodChannelGroup = null)#

Specified name and can channel group bus.

If the name is "Master", the FMOD master channel group is used directly as the bus; otherwise a new FmodChannelGroup is created and connected to the parent channel group.

void set_parent(parent: FmodChannelGroup)#

Sets bus output to channel group.

If provides channel group, connection to FMOD master channel group.

FmodChannelGroup get_bus() const#

Returns bus used for audio routing FmodChannelGroup.

If bus, returns null

FmodChannelGroup get_parent() const#

Returns bus output to FmodChannelGroup.

For bus returns null

String get_bus_name() const#

Returns audio bus name.

void add_effect(effect: FmodAudioEffect, index: int = 0)#

Bus adds audio effect, and effect to internal channel group.

Current will effect to effect; if bus bypass, adds after will synchronizes bypass state.

void remove_effect(index: int)#

Bus removes specified index audio effect.

Removes when will effect internal channel group.

FmodAudioEffect get_effect(index: int) const#

Returns effect chain specified index FmodAudioEffect.

Returns null if the index is out of range.

void set_volume_db(volume_db: float)#

Sets bus volume, unit as.

float get_volume_db() const#

Returns bus volume, unit as.

If bus, returns 0.0

void set_solo(solo: bool)#

Sets bus solo state.

Solo state needs FmodAudioBusLayout calculates and to bus mute state.

bool is_solo() const#

Returns true if this bus is soloed.

void set_mute(mute: bool)#

Sets mute state.

Sets, FMOD mute state apply_mute()

bool is_mute() const#

Returns true if bus sets as mute.

void apply_mute(mute: bool)#

Mute state and solo state, mute state to internal channel group.

Bus solo state when, solo bus will mute.

void set_bypass(bypass: bool)#

Sets bus effect bypass state.

Bypass state, sync_bypass() after will synchronizes to effect.

bool is_bypass() const#

Returns true if bus effect bypass.

void sync_bypass()#

Bus bypass state synchronizes to internal channel group DSP.

Used for in bypass or effect after effect chain state.

FmodAudioBusLayout#

Inherits: Resource

manages audio bus and.

Description#

FmodAudioBusLayout manages FMOD audio audio bus hierarchy. FmodAudioBus instance.

Will and Godot AudioServer bus layout synchronizes, and Godot audio.

Key features:

  • Bus manages (bus bus).

  • Bus volume, solo, mute and bypass state controls.

  • Bus effect chain manages.

  • And Godot AudioServer synchronizes.

Methods#

void create_audio_bus(name: String, parent: FmodAudioBus = null)#

Specified name and can creates audio bus.

Bus name. Master bus in, removes.

FmodAudioBus get_audio_bus(name: String) const#

Returns the FmodAudioBus with the specified name.

If in name bus, returns null

bool has_audio_bus(name: String) const#

Returns true if in specified name bus.

void remove_audio_bus(name: String)#

Removes specified name audio bus.

Warning

Master bus removes.

void set_bus_volume(name: String, volume_db: float)#

Sets the volume of the specified bus, in decibels.

float get_bus_volume(name: String) const#

Returns the volume of the specified bus, in decibels.

If bus in or, returns 0.0

void set_bus_solo(name: String, solo: bool)#

Sets the solo state of the specified bus and updates the final mute state of all buses.

bool bus_is_solo(name: String) const#

Returns true if specified bus solo state.

void set_bus_mute(name: String, mute: bool)#

Sets the user mute state of the specified bus and updates the final mute state of all buses.

bool bus_is_mute(name: String) const#

Returns true if specified bus sets as mute.

void set_bus_bypass(name: String, bypass: bool)#

Sets the effect bypass state of the specified bus and immediately synchronizes it to the DSP on the bus.

bool bus_is_bypass(name: String) const#

Returns true if specified bus effect bypass.

void add_bus_effect(bus_name: String, effect: FmodAudioEffect, index: int = 0)#

Specified bus adds FmodAudioEffect

Effect will to bus internal channel group.

void remove_bus_effect(bus_name: String, index: int)#

Specified bus removes specified index audio effect.

FmodAudioEffect get_bus_effect(bus_name: String, index: int) const#

Returns the FmodAudioEffect at the specified index on the specified bus.

If bus or effect in, returns null

void sync_from_audio_server()#

And Godot AudioServer current bus layout synchronizes.

Synchronization preserves or creates the Master bus, rebuilds other buses, connects parent-child relationships, and synchronizes volume, mute, solo, bypass state, and supported Godot audio effects.