SoloudAudio

clay.base.BaseAudioclay.soloud.SoloudAudio (Class)

Static Members

VOLUME_FACTOR: Float

Returns an AudioData instance from the given bytes

Name Type Default
app clay.Clay
id String
bytes clay.buffers.Uint8Array
format clay.audio.AudioFormat (optional)
Returns
clay.audio.AudioData

Instance Members

active: Bool

init(): Void

shutdown(): Void

tick(delta: Float): Void
Name Type
delta Float

Name Type
handle clay.audio.AudioHandle
Returns
clay.audio.AudioInstance

play(source: clay.audio.AudioSource, volume: Float, paused: Bool, bus: Int): clay.audio.AudioHandle
Name Type
source clay.audio.AudioSource
volume Float
paused Bool
bus Int
Returns
clay.audio.AudioHandle

loop(source: clay.audio.AudioSource, volume: Float, paused: Bool, bus: Int): clay.audio.AudioHandle
Name Type
source clay.audio.AudioSource
volume Float
paused Bool
bus Int
Returns
clay.audio.AudioHandle

createBusFilter(busIndex: Int, createFunc: cpp.Callable<Function>, destroyFunc: cpp.Callable<Function>, filterFunc: cpp.Callable<Function>): Void
Name Type
busIndex Int
createFunc cpp.Callable
destroyFunc cpp.Callable
filterFunc cpp.Callable

Name Type
handle clay.audio.AudioHandle

suspend(): Void

resume(): Void

pan(handle: clay.audio.AudioHandle, pan: Float): Void
Name Type
handle clay.audio.AudioHandle
pan Float

volume(handle: clay.audio.AudioHandle, volume: Float): Void
Name Type
handle clay.audio.AudioHandle
volume Float

pitch(handle: clay.audio.AudioHandle, pitch: Float): Void
Name Type
handle clay.audio.AudioHandle
pitch Float

position(handle: clay.audio.AudioHandle, time: Float): Void
Name Type
handle clay.audio.AudioHandle
time Float

Name Type
handle clay.audio.AudioHandle

unPause(handle: clay.audio.AudioHandle): Void
Name Type
handle clay.audio.AudioHandle

positionOf(handle: clay.audio.AudioHandle): Float
Name Type
handle clay.audio.AudioHandle
Returns
Float

Name Type
handle clay.audio.AudioHandle
Returns
Float

pitchOf(handle: clay.audio.AudioHandle): Float
Name Type
handle clay.audio.AudioHandle
Returns
Float

volumeOf(handle: clay.audio.AudioHandle): Float
Name Type
handle clay.audio.AudioHandle
Returns
Float

Name Type
handle clay.audio.AudioHandle
Returns
clay.audio.AudioState

loopOf(handle: clay.audio.AudioHandle): Bool
Name Type
handle clay.audio.AudioHandle
Returns
Bool

isSynchronous(): Bool
Returns
Bool

loadData(path: String, isStream: Bool, format: clay.audio.AudioFormat, ?async: Bool = false, ?callback: Function): clay.audio.AudioData
Name Type Default
path String
isStream Bool
format clay.audio.AudioFormat
async Bool false
callback Function (optional)
Returns
clay.audio.AudioData

dataFromPCM(id: String, pcmData: clay.buffers.Float32Array, sampleFrames: Int, channels: Int, sampleRate: Float, ?interleaved: Bool = true, ?format: clay.audio.AudioFormat, ?callback: Function): clay.audio.AudioData

Creates AudioData from raw PCM Float32 samples.

Name Type Default Description
id String Unique identifier for this audio data
pcmData clay.buffers.Float32Array Float32Array containing the raw PCM samples
sampleFrames Int Number of sample frames (samples per channel)
channels Int Number of audio channels (1 = mono, 2 = stereo, etc.)
sampleRate Float Sample rate in Hz (e.g., 44100)
interleaved Bool true Whether the PCM data is interleaved (LRLRLR...) or planar (LLL...RRR...)
format clay.audio.AudioFormat (optional) Optional audio format information
callback Function (optional) Optional callback when AudioData is ready
Returns
clay.audio.AudioData

new(app: clay.Clay): Void
Name Type
app clay.Clay

Private Members


suspended: Bool

handleSeq: Int

instances: clay.IntMap

handles: Array<Int>

suspendedHandles: Array<Int>

bussesByIndex: Array<SoloudBus>

audioDataFromFile(app: clay.Clay, path: String, isStream: Bool, format: clay.audio.AudioFormat): clay.audio.AudioData
Name Type
app clay.Clay
path String
isStream Bool
format clay.audio.AudioFormat
Returns
clay.audio.AudioData

Name Type
app clay.Clay
id String
bytes clay.buffers.Uint8Array
format clay.audio.AudioFormat
Returns
clay.audio.AudioData

handleSourceDestroyed(source: clay.audio.AudioSource): Void
Name Type
source clay.audio.AudioSource

handleInstanceDestroyed(handle: clay.audio.AudioHandle): Void
Name Type
handle clay.audio.AudioHandle

Name Type
handle clay.audio.AudioHandle
Returns
SoloudSound

resolveBus(busIndex: Int): soloud.Bus
Name Type
busIndex Int
Returns
soloud.Bus

destroySound(sound: SoloudSound): Void
Name Type
sound SoloudSound

Metadata

Name Parameters
:headerCode "#include <SDL3/SDL.h>"
:allow clay.audio.AudioInstance
:allow clay.audio.AudioSource