vendors.fmod

Bindings for FMOD Core and Studio audio APIs, including sounds, channels, DSP, banks, and events.

43 structs · 100 functions · Public API

Structs

FMOD_Guid

struct
FMOD_Guid : struct
{
    Data1 : u32
    Data2 : u16
    Data3 : u16
    Data4 : [8]char
}

FMOD_Create_Sound_ExInfo

struct
FMOD_Create_Sound_ExInfo : struct
{
    cbsize                          : i32
    length                          : u32
    fileoffset                      : u32
    numchannels                     : i32
    defaultfrequency                : i32
    format                          : FMOD_Sound_Format
    decodebuffersize                : u32
    initialsubsound                 : i32
    numsubsounds                    : i32
    inclusionlist                   : ^i32
    inclusionlistnum                : i32
    pcmreadcallback                 : FMOD_SOUND_PCMREAD_CALLBACK
    pcmsetposcallback               : FMOD_SOUND_PCMSETPOS_CALLBACK
    nonblockcallback                : FMOD_SOUND_NONBLOCK_CALLBACK
    dlsname                         : cstring
    encryptionkey                   : cstring
    maxpolyphony                    : i32
    userdata                        : RawPtr
    suggestedsoundtype              : FMOD_Sound_Type
    fileuseropen                    : FMOD_FILE_OPEN_CALLBACK
    fileuserclose                   : FMOD_FILE_CLOSE_CALLBACK
    fileuserread                    : FMOD_FILE_READ_CALLBACK
    fileuserseek                    : FMOD_FILE_SEEK_CALLBACK
    fileuserasyncread               : FMOD_FILE_ASYNCREAD_CALLBACK
    fileuserasynccancel             : FMOD_FILE_ASYNCCANCEL_CALLBACK
    fileuserdata                    : RawPtr
    filebuffersize                  : i32
    channelorder                    : FMOD_CHANNEL_ORDER
    initialsoundgroup               : ^FMOD_SoundGroup
    initialseekposition             : u32
    initialseekpostype              : FMOD_Time_Unit
    ignoresetfilesystem             : i32
    audioqueuepolicy                : u32
    minmidigranularity              : u32
    nonblockthreadid                : i32
    fsbguid                         : ^FMOD_Guid
}

FMOD_Reverb_Properties

struct
FMOD_Reverb_Properties : struct {
    DecayTime         : f32
    EarlyDelay        : f32
    LateDelay         : f32
    HFReference       : f32
    HFDecayRatio      : f32
    Diffusion         : f32
    Density           : f32
    LowShelfFrequency : f32
    LowShelfGain      : f32
    HighCut           : f32
    EarlyLateMix      : f32
    WetLevel          : f32
}

FMOD_Studio_Parameter_Description

struct
FMOD_Studio_Parameter_Description : struct
{
    name         : cstring
    id           : FMOD_Studio_Parameter_ID
    minimum      : f32
    maximum      : f32
    defaultvalue : f32
    type         : FMOD_Studio_Parameter_Type
    flags        : u32
    guid         : FMOD_Guid
}

FMOD_Studio_User_Property

struct
FMOD_Studio_User_Property : struct
{
    name  : cstring
    type  : FMOD_Studio_User_Property_Type
    value : FMOD_Studio_User_Property_Value
}

FMOD_Vector

struct
FMOD_Vector : struct
{
    x : f32
    y : f32
    z : f32
}
Core types (from fmod_common.h)

FMOD_3D_Attributes

struct
FMOD_3D_Attributes : struct
{
    position : FMOD_Vector
    velocity : FMOD_Vector
    forward  : FMOD_Vector
    up       : FMOD_Vector
}

FMOD_CPU_Usage

struct
FMOD_CPU_Usage : struct
{
    dsp          : f32
    stream       : f32
    geometry     : f32
    update       : f32
    convolution1 : f32
    convolution2 : f32
}

FMOD_Studio_AdvancedSettings

struct
FMOD_Studio_AdvancedSettings : struct
{
    cbsize                 : i32
    commandqueuesize       : u32
    handleinitialsize      : u32
    studioupdateperiod     : i32
    idlesampledatapoolsize : i32
    streamingscheduledelay : u32
    encryptionkey          : cstring
}
opaque — use ^FMOD_Dsp_Description when passing to RegisterPlugin
FMOD Studio structs

FMOD_Studio_Bank_Info

struct
FMOD_Studio_Bank_Info : struct
{
    size           : i32
    userdata       : RawPtr
    userdatalength : i32
    opencallback   : FMOD_FILE_OPEN_CALLBACK
    closecallback  : FMOD_FILE_CLOSE_CALLBACK
    readcallback   : FMOD_FILE_READ_CALLBACK
    seekcallback   : FMOD_FILE_SEEK_CALLBACK
}

FMOD_Studio_Sound_Info

struct
FMOD_Studio_Sound_Info : struct
{
    name_or_data  : cstring
    mode          : FMOD_Mode
    exinfo        : FMOD_Create_Sound_ExInfo
    subsoundindex : i32
}

FMOD_Studio_Buffer_Info

struct
FMOD_Studio_Buffer_Info : struct
{
    currentusage : i32
    peakusage    : i32
    capacity     : i32
    stallcount   : i32
    stalltime    : f32
}

FMOD_Studio_Buffer_Usage

struct
FMOD_Studio_Buffer_Usage : struct
{
    studiocommandqueue : FMOD_Studio_Buffer_Info
    studiohandle       : FMOD_Studio_Buffer_Info
}

FMOD_Studio_Timeline_Beat_Properties

struct
FMOD_Studio_Timeline_Beat_Properties : struct
{
    bar                : i32
    beat               : i32
    position           : i32
    tempo              : f32
    timesignatureupper : i32
    timesignaturelower : i32
}

FMOD_Studio_Command_Info

struct
FMOD_Studio_Command_Info : struct
{
    commandname        : cstring
    parentcommandindex : i32
    framenumber        : i32
    frametime          : f32
    instancetype       : FMOD_Studio_Instance_Type
    outputtype         : FMOD_Studio_Instance_Type
    instancehandle     : u32
    outputhandle       : u32
}

FMOD_Studio_Memory_Usage

struct
FMOD_Studio_Memory_Usage : struct
{
    exclusive  : i32
    inclusive  : i32
    sampledata : i32
}

Functions

FMOD_Studio_System_IsValid

func
FMOD_Studio_System_IsValid                        : func(system : ^FMOD_Studio_System) -> bool
FMOD Studio System Functions

FMOD_Studio_System_Create

func
FMOD_Studio_System_Create                         : func(system : ^^FMOD_Studio_System, headerversion : u32) -> FMOD_Result

FMOD_Studio_System_Initialize

func
FMOD_Studio_System_Initialize                     : func(system : ^FMOD_Studio_System, maxchannels : i32, studioflags : FMOD_Studio_InitFlags, flags : FMOD_InitFlags, extradriverdata : RawPtr) -> FMOD_Result

FMOD_Studio_System_GetEvent

func
FMOD_Studio_System_GetEvent                       : func(system : ^FMOD_Studio_System, pathOrID : cstring, event : ^^FMOD_Studio_EventDescription) -> FMOD_Result

FMOD_Studio_System_GetBus

func
FMOD_Studio_System_GetBus                         : func(system : ^FMOD_Studio_System, pathOrID : cstring, bus : ^^FMOD_Studio_Bus) -> FMOD_Result

FMOD_Studio_System_GetVCA

func
FMOD_Studio_System_GetVCA                         : func(system : ^FMOD_Studio_System, pathOrID : cstring, vca : ^^FMOD_Studio_VCA) -> FMOD_Result

FMOD_Studio_System_GetBank

func
FMOD_Studio_System_GetBank                        : func(system : ^FMOD_Studio_System, pathOrID : cstring, bank : ^^FMOD_Studio_Bank) -> FMOD_Result

FMOD_Studio_System_GetEventByID

func
FMOD_Studio_System_GetEventByID                   : func(system : ^FMOD_Studio_System, id : ^FMOD_Guid, event : ^^FMOD_Studio_EventDescription) -> FMOD_Result

FMOD_Studio_System_GetBusByID

func
FMOD_Studio_System_GetBusByID                     : func(system : ^FMOD_Studio_System, id : ^FMOD_Guid, bus : ^^FMOD_Studio_Bus) -> FMOD_Result

FMOD_Studio_System_GetVCAByID

func
FMOD_Studio_System_GetVCAByID                     : func(system : ^FMOD_Studio_System, id : ^FMOD_Guid, vca : ^^FMOD_Studio_VCA) -> FMOD_Result

FMOD_Studio_System_GetBankByID

func
FMOD_Studio_System_GetBankByID                    : func(system : ^FMOD_Studio_System, id : ^FMOD_Guid, bank : ^^FMOD_Studio_Bank) -> FMOD_Result

FMOD_Studio_System_GetSoundInfo

func
FMOD_Studio_System_GetSoundInfo                   : func(system : ^FMOD_Studio_System, key : cstring, info : ^FMOD_Studio_Sound_Info) -> FMOD_Result

FMOD_Studio_System_GetParameterDescriptionByID

func
FMOD_Studio_System_GetParameterDescriptionByID    : func(system : ^FMOD_Studio_System, id : FMOD_Studio_Parameter_ID, parameter : ^FMOD_Studio_Parameter_Description) -> FMOD_Result

FMOD_Studio_System_GetParameterLabelByName

func
FMOD_Studio_System_GetParameterLabelByName        : func(system : ^FMOD_Studio_System, name : cstring, labelindex : i32, label : cstring, size : i32, retrieved : ^i32) -> FMOD_Result

FMOD_Studio_System_GetParameterLabelByID

func
FMOD_Studio_System_GetParameterLabelByID          : func(system : ^FMOD_Studio_System, id : FMOD_Studio_Parameter_ID, labelindex : i32, label : cstring, size : i32, retrieved : ^i32) -> FMOD_Result

FMOD_Studio_System_GetParameterByID

func
FMOD_Studio_System_GetParameterByID               : func(system : ^FMOD_Studio_System, id : FMOD_Studio_Parameter_ID, value : ^f32, finalvalue : ^f32) -> FMOD_Result

FMOD_Studio_System_SetParameterByID

func
FMOD_Studio_System_SetParameterByID               : func(system : ^FMOD_Studio_System, id : FMOD_Studio_Parameter_ID, value : f32, ignoreseekspeed : bool) -> FMOD_Result

FMOD_Studio_System_SetParameterByIDWithLabel

func
FMOD_Studio_System_SetParameterByIDWithLabel      : func(system : ^FMOD_Studio_System, id : FMOD_Studio_Parameter_ID, label : cstring, ignoreseekspeed : bool) -> FMOD_Result

FMOD_Studio_System_SetParametersByIDs

func
FMOD_Studio_System_SetParametersByIDs             : func(system : ^FMOD_Studio_System, ids : ^FMOD_Studio_Parameter_ID, values : ^f32, count : i32, ignoreseekspeed : bool) -> FMOD_Result

FMOD_Studio_System_SetParameterByName

func
FMOD_Studio_System_SetParameterByName             : func(system : ^FMOD_Studio_System, name : cstring, value : f32, ignoreseekspeed : bool) -> FMOD_Result

FMOD_Studio_System_LookupID

func
FMOD_Studio_System_LookupID                       : func(system : ^FMOD_Studio_System, path : cstring, id : ^FMOD_Guid) -> FMOD_Result

FMOD_Studio_System_LookupPath

func
FMOD_Studio_System_LookupPath                     : func(system : ^FMOD_Studio_System, id : ^FMOD_Guid, path : cstring, size : i32, retrieved : ^i32) -> FMOD_Result

FMOD_Studio_System_GetListenerAttributes

func
FMOD_Studio_System_GetListenerAttributes          : func(system : ^FMOD_Studio_System, index : i32, attributes : ^FMOD_3D_Attributes, attenuationposition : ^FMOD_Vector) -> FMOD_Result

FMOD_Studio_System_SetListenerAttributes

func
FMOD_Studio_System_SetListenerAttributes          : func(system : ^FMOD_Studio_System, index : i32, attributes : ^FMOD_3D_Attributes, attenuationposition : ^FMOD_Vector) -> FMOD_Result

FMOD_Studio_System_LoadBankFile

func
FMOD_Studio_System_LoadBankFile                   : func(system : ^FMOD_Studio_System, filename : cstring, flags : FMOD_Studio_Load_Bank_Flags, bank : ^^FMOD_Studio_Bank) -> FMOD_Result

FMOD_Studio_System_LoadBankMemory

func
FMOD_Studio_System_LoadBankMemory                 : func(system : ^FMOD_Studio_System, buffer : RawPtr, length : i32, mode : FMOD_Studio_Load_Memory_Mode, flags : FMOD_Studio_Load_Bank_Flags, bank : ^^FMOD_Studio_Bank) -> FMOD_Result

FMOD_Studio_System_LoadBankCustom

func
FMOD_Studio_System_LoadBankCustom                 : func(system : ^FMOD_Studio_System, info : ^FMOD_Studio_Bank_Info, flags : FMOD_Studio_Load_Bank_Flags, bank : ^^FMOD_Studio_Bank) -> FMOD_Result

FMOD_Studio_System_StartCommandCapture

func
FMOD_Studio_System_StartCommandCapture            : func(system : ^FMOD_Studio_System, filename : cstring, flags : FMOD_Studio_CommandCapture_Flags) -> FMOD_Result

FMOD_Studio_System_LoadCommandReplay

func
FMOD_Studio_System_LoadCommandReplay              : func(system : ^FMOD_Studio_System, filename : cstring, flags : FMOD_Studio_CommandReplay_Flags, replay : ^^FMOD_Studio_CommandReplay) -> FMOD_Result

FMOD_Studio_System_GetBankList

func
FMOD_Studio_System_GetBankList                    : func(system : ^FMOD_Studio_System, array : ^^FMOD_Studio_Bank, capacity : i32, count : ^i32) -> FMOD_Result

FMOD_Studio_System_GetCPUUsage

func
FMOD_Studio_System_GetCPUUsage                    : func(system : ^FMOD_Studio_System, usage : ^FMOD_Studio_CPU_Usage, usage_core : ^FMOD_CPU_Usage) -> FMOD_Result

FMOD_Studio_System_SetCallback

func
FMOD_Studio_System_SetCallback                    : func(system : ^FMOD_Studio_System, callback : FMOD_STUDIO_SYSTEM_CALLBACK, callbackmask : FMOD_Studio_System_Callback_Type) -> FMOD_Result

FMOD_Studio_System_GetMemoryUsage

func
FMOD_Studio_System_GetMemoryUsage                 : func(system : ^FMOD_Studio_System, memoryusage : ^FMOD_Studio_Memory_Usage) -> FMOD_Result

FMOD_Studio_EventDescription_GetPath

func
FMOD_Studio_EventDescription_GetPath                        : func(eventdesc : ^FMOD_Studio_EventDescription, path : cstring, size : i32, retrieved : ^i32) -> FMOD_Result

FMOD_Studio_EventDescription_GetParameterLabelByID

func
FMOD_Studio_EventDescription_GetParameterLabelByID          : func(eventdesc : ^FMOD_Studio_EventDescription, id : FMOD_Studio_Parameter_ID, labelindex : i32, label : cstring, size : i32, retrieved : ^i32) -> FMOD_Result

FMOD_Studio_EventDescription_GetInstanceList

func
FMOD_Studio_EventDescription_GetInstanceList                : func(eventdesc : ^FMOD_Studio_EventDescription, array : ^^FMOD_Studio_EventInstance, capacity : i32, count : ^i32) -> FMOD_Result

FMOD_Studio_EventDescription_SetCallback

func
FMOD_Studio_EventDescription_SetCallback                    : func(eventdesc : ^FMOD_Studio_EventDescription, callback : FMOD_STUDIO_EVENT_CALLBACK, callbackmask : FMOD_Studio_Event_Callback_Type) -> FMOD_Result

FMOD_System_Create

func
FMOD_System_Create : func(system : ^^FMOD_System, version : u32 ) -> FMOD_Result

FMOD_System_Init

func
FMOD_System_Init : func (system : ^FMOD_System, max_channels : i32, flags : FMOD_InitFlags, extradriverdata : RawPtr) -> FMOD_Result

FMOD_System_Close

func
FMOD_System_Close : func(system : ^FMOD_System) -> FMOD_Result

FMOD_System_SetCallback

func
FMOD_System_SetCallback : func (system : ^FMOD_System, callback : FMOD_SYSTEM_CALLBACK, callbackmask : FMOD_System_Callback_Type) -> FMOD_Result