FmodAudioServer

Inherits: Object

FmodAudioServer is a high level interface for interacting with the FMOD api. Integrated with godot;

Properties

bool

muted

true

Methods

bool

any_sample_data_loading()

FmodAudioServer

get_singleton() static

bool

has_bank_loaded(bank_name: String) const

bool

have_all_banks_loaded() const

int

load_bank(bank_name: String, load_samples: bool = false)

Vector4i

path_to_guid(p_path: String) const

void

play_one_shot_2d_attached_by_id(guid: Vector4i, node: Node2D, non_rigid_body_velocity: bool = false)

void

play_one_shot_2d_attached_by_path(path: String, node: Node2D, non_rigid_body_velocity: bool = false)

void

play_one_shot_3d_attached_by_id(guid: Vector4i, node: Node3D, non_rigid_body_velocity: bool = false)

void

play_one_shot_3d_attached_by_path(path: String, node: Node3D, non_rigid_body_velocity: bool = false)

void

play_one_shot_by_id(guid: Vector4i, position: Vector3 = Vector3(0, 0, 0)) const

void

play_one_shot_by_path(path: String, position: Vector3 = Vector3(0, 0, 0)) const

void

play_one_shot_rigid_2d_attached_by_path(path: String, rigid_body2d: RigidBody2D)

void

play_one_shot_rigid_body2d_attached_by_id(guid: Vector4i, rigid_body2d: RigidBody2D)

void

play_one_shot_rigid_body3d_attached_by_id(guid: Vector4i, rigid_body3d: RigidBody3D)

void

play_one_shot_rigid_body3d_attached_by_path(path: String, rigid_body3d: RigidBody3D)

void

set_listener_2d_location(listener_index: int, node: Node2D, attenuation_object: Node2D)

void

set_listener_2d_rigidbody_location(listener_index: int, rigidbody: RigidBody2D, attenuation_object: Node2D)

void

set_listener_3d_location(listener_index: int, node: Node3D, attenuation_object: Node3D)

void

set_listener_3d_rigidbody_location(listener_index: int, rigidbody: RigidBody3D, attenuation_object: Node3D)

void

unload_banks()


Enumerations

enum LiveUpdate: 🔗

LiveUpdate DISABLED = 0

LiveUpdate will never be enabled.

LiveUpdate ENABLED = 1

LiveUpdate will always be enabled.

LiveUpdate DEV_ONLY = 2

LiveUpdate will only be enabled in Editor and Debug builds.


Property Descriptions

bool muted = true 🔗

  • void set_muted(value: bool)

  • bool is_muted()

If true, All fmod sounds will be muted.


Method Descriptions

bool any_sample_data_loading() 🔗

if true Sample data in a bank or event is currently.


FmodAudioServer get_singleton() static 🔗

Retrieves the FmodAudioServer instance.


bool has_bank_loaded(bank_name: String) const 🔗

if true bank with the given name is loaded. false if not

loaded or no such bank exists


bool have_all_banks_loaded() const 🔗

if true if all banks in the audio server have finished

loading. (currently always true since it's loaded synchonously)


int load_bank(bank_name: String, load_samples: bool = false) 🔗

loads the bank given bank_name. bank_name can be of 2 formats a path to the

file or "bank:/". If using "bank:/" it will search the banks directory

specified in project settings based for a file with name after the slash

"/" without the .bank file extension


Vector4i path_to_guid(p_path: String) const 🔗

Looks up the guid of the given path. The Strings bank must be loaded.


void play_one_shot_2d_attached_by_id(guid: Vector4i, node: Node2D, non_rigid_body_velocity: bool = false) 🔗

Plays and attaches fmod event (from guid) to node2D. Tracks position and

optionally velocity.


void play_one_shot_2d_attached_by_path(path: String, node: Node2D, non_rigid_body_velocity: bool = false) 🔗

Plays and attaches fmod event (from path) to node2D. Tracks position and

optionally velocity.


void play_one_shot_3d_attached_by_id(guid: Vector4i, node: Node3D, non_rigid_body_velocity: bool = false) 🔗

Plays and attaches fmod event (from guid) to node3D. Tracks position and

optionally velocity.


void play_one_shot_3d_attached_by_path(path: String, node: Node3D, non_rigid_body_velocity: bool = false) 🔗

Plays and attaches fmod event (from path) to node3D tracks position and

optionally velocity.


void play_one_shot_by_id(guid: Vector4i, position: Vector3 = Vector3(0, 0, 0)) const 🔗

Plays one shot event at world position (from guid). In 2D Z is normally zero


void play_one_shot_by_path(path: String, position: Vector3 = Vector3(0, 0, 0)) const 🔗

Plays one shot event at world position(from path). In 2D Z is normally

zero. Strings bank must be loaded.


void play_one_shot_rigid_2d_attached_by_path(path: String, rigid_body2d: RigidBody2D) 🔗

Plays one shot event (from path) and attaches it to rigidbody. Tracks position and

velocity


void play_one_shot_rigid_body2d_attached_by_id(guid: Vector4i, rigid_body2d: RigidBody2D) 🔗

Plays one shot event (from guid) and attaches it to rigidbody. Tracks

position and velocity


void play_one_shot_rigid_body3d_attached_by_id(guid: Vector4i, rigid_body3d: RigidBody3D) 🔗

Plays one shot event (from guid) and attaches it to rigidbody. Tracks

position and velocity


void play_one_shot_rigid_body3d_attached_by_path(path: String, rigid_body3d: RigidBody3D) 🔗

Plays one shot event (from path) and attaches it to rigidbody. Tracks

position and velocity. Strings bank must be loaded.


void set_listener_2d_location(listener_index: int, node: Node2D, attenuation_object: Node2D) 🔗

Sets the fmod listener to copy transform and velocity of node and position

of attenuation object


void set_listener_2d_rigidbody_location(listener_index: int, rigidbody: RigidBody2D, attenuation_object: Node2D) 🔗

Sets the fmod listener to copy transform and velocity of node and position

of attenuation object


void set_listener_3d_location(listener_index: int, node: Node3D, attenuation_object: Node3D) 🔗

Sets the fmod listener to copy transform and velocity of node and position

of attenuation object


void set_listener_3d_rigidbody_location(listener_index: int, rigidbody: RigidBody3D, attenuation_object: Node3D) 🔗

Sets the fmod listener to copy transform and velocity of node and position

of attenuation object


void unload_banks() 🔗

Sets the fmod listener to copy transform and velocity of node and position

of attenuation object


User-contributed notes

Please read the User-contributed notes policy before submitting a comment.