tiramisu/audio
Types
Audio buffer type (opaque, wraps Web Audio API AudioBuffer)
pub type AudioBuffer
Audio playback configuration
pub type AudioConfig {
AudioConfig(
volume: Float,
loop: Bool,
playback_rate: Float,
autoplay: Bool,
)
}
Constructors
-
AudioConfig( volume: Float, loop: Bool, playback_rate: Float, autoplay: Bool, )Arguments
- volume
-
Volume (0.0 to 1.0)
- loop
-
Whether to loop the audio
- playback_rate
-
Playback rate (1.0 = normal speed)
- autoplay
-
Whether the audio should autoplay
Audio node for the scene graph This is a declarative way to add audio to the scene
pub type AudioNode {
AudioNode(
id: String,
config: AudioConfig,
audio_type: AudioType,
position: option.Option(vec3.Vec3(Float)),
)
}
Constructors
-
AudioNode( id: String, config: AudioConfig, audio_type: AudioType, position: option.Option(vec3.Vec3(Float)), )
Opaque handle to a THREE.Audio or THREE.PositionalAudio object
pub type AudioSource
Type of audio (global or positional)
pub type AudioType {
GlobalAudio
PositionalAudio(
ref_distance: Float,
rolloff_factor: Float,
max_distance: Float,
)
}
Constructors
-
GlobalAudioGlobal audio (2D, same volume everywhere)
-
PositionalAudio( ref_distance: Float, rolloff_factor: Float, max_distance: Float, )Positional audio (3D, volume based on distance)
Arguments
- ref_distance
-
Maximum hearing distance
- rolloff_factor
-
How quickly audio fades with distance
- max_distance
-
Maximum distance where audio can be heard
Values
pub fn get_current_time(source_id: String) -> Float
Get current playback time in seconds
pub fn global_audio(id: String, config: AudioConfig) -> AudioNode
Create a global audio node (2D audio)
pub fn positional_audio(
id: String,
config: AudioConfig,
position: vec3.Vec3(Float),
) -> AudioNode
Create a positional audio node (3D audio at a position)
pub fn positional_audio_custom(
id: String,
config: AudioConfig,
position: vec3.Vec3(Float),
audio_type: AudioType,
) -> AudioNode
Create a positional audio node with custom settings
pub fn set_autoplay(
config: AudioConfig,
autoplay: Bool,
) -> AudioConfig
Set autoplay
pub fn set_current_time(source_id: String, time: Float) -> Nil
Set current playback time in seconds
pub fn set_max_distance(
audio: AudioType,
distance: Float,
) -> AudioType
Set maximum distance for positional audio
pub fn set_playback_rate(
config: AudioConfig,
rate: Float,
) -> AudioConfig
Set playback rate (1.0 = normal, 2.0 = double speed, etc.)
pub fn set_ref_distance(
audio: AudioType,
distance: Float,
) -> AudioType
Set reference distance for positional audio
pub fn set_rolloff_factor(
audio: AudioType,
factor: Float,
) -> AudioType
Set rolloff factor for positional audio
pub fn set_source_volume(source_id: String, volume: Float) -> Nil
Set volume of a playing audio source
pub fn set_volume(
config: AudioConfig,
volume: Float,
) -> AudioConfig
Set volume (0.0 to 1.0)