diff --git a/.github/workflows/trigger-site-rebuild.yml b/.github/workflows/trigger-site-rebuild.yml new file mode 100644 index 0000000..575caa8 --- /dev/null +++ b/.github/workflows/trigger-site-rebuild.yml @@ -0,0 +1,19 @@ +name: Trigger site rebuild + +on: [push] + +jobs: + site-rebuild: + runs-on: ubuntu-latest + + steps: [ + { + name: 'Repository dispatch', + uses: defold/repository-dispatch@1.2.1, + with: { + repo: 'defold/defold.github.io', + token: '${{ secrets.SERVICES_GITHUB_TOKEN }}', + user: 'services@defold.se', + action: 'extension-fmod' + } + }] diff --git a/bridge/api_from_bindings.py b/bridge/api_from_bindings.py new file mode 100644 index 0000000..b7cb27a --- /dev/null +++ b/bridge/api_from_bindings.py @@ -0,0 +1,169 @@ +import re +from typing import List, Tuple, Any, Protocol +from jinja2 import Environment, FileSystemLoader + + +class ParsedStruct(Protocol): + name: str + is_class: bool + methods: List[Tuple[str, Any]] + properties: List[Any] + + +class ParsedTypeDecl(Protocol): + c_type: str + type: int + + +class ParsedMethod(Protocol): + name: str + args: List[Any] + generated: bool + + +TYPE_BASIC = 1 +TYPE_STRUCT = 2 +TYPE_CLASS = 3 +TYPE_POINTER = 4 + +INPUT_USAGES = ("input", "input_ptr", "input_deref") +OUTPUT_USAGES = ("output", "output_ptr") + +BASIC_NUMERIC_TYPES = {"float", "double"} +INTEGER_TYPES = {"int", "short", "long", "char", "FMOD_BOOL"} + +TYPE_HANDLERS = { + TYPE_BASIC: lambda c_type: _convert_basic_type(c_type), + TYPE_POINTER: lambda c_type: _convert_pointer_type(c_type), + TYPE_STRUCT: lambda c_type: _convert_struct_type(c_type), + TYPE_CLASS: lambda c_type: _convert_struct_type(c_type), +} + +PARAM_DESCRIPTIONS = { + "system": "FMOD system handle", + "sound": "Sound handle", + "channel": "Channel handle", + "name": "Name or path", + "filename": "Name or path", + "length": "Length or size value", + "size": "Length or size value", + "mode": "Mode flags", + "volume": "Volume level (0.0 to 1.0)", + "position": "Position value", + "paused": "Paused state", + "index": "Index value", +} + + +def _convert_basic_type(c_type: str) -> str: + if "FMOD_VECTOR" in c_type: + return "vector3" + if c_type in BASIC_NUMERIC_TYPES: + return "number" + if any(base_type in c_type for base_type in INTEGER_TYPES): + return "boolean" if "FMOD_BOOL" in c_type else "number" + if c_type.startswith("FMOD_"): + return "number" + return "number" + + +def _convert_pointer_type(c_type: str) -> str: + if "FMOD_VECTOR" in c_type: + return "vector3" + if "char" in c_type: + return "string" + return "userdata" + + +def _convert_struct_type(c_type: str) -> str: + if "FMOD_VECTOR" in c_type: + return "vector3" + type_lower = c_type.lower() + if type_lower.startswith("fmod_studio_"): + return type_lower.replace("fmod_studio_", "fmod.studio.") + if type_lower.startswith("fmod_"): + return type_lower.replace("fmod_", "fmod.") + return "userdata" + + +def convert_to_snake_case(text: str) -> str: + valid_pattern = re.compile(r"^_*(IDs|[A-Z][a-z]+|[A-Z0-9]+(?![a-z]))") + components = [] + remaining = text + while True: + match = valid_pattern.match(remaining) + if match is None: + break + components.append(match.group(1).lower()) + remaining = remaining[match.end():] + return "_".join(components) + + +def convert_c_type_to_lua_type(c_type: str, type_enum: int) -> str: + handler = TYPE_HANDLERS.get(type_enum) + if handler: + return handler(c_type) + return "any" + + +def generate_parameter_description(param_name: str, function_name: str) -> str: + param_lower = param_name.lower() + + if param_lower in PARAM_DESCRIPTIONS: + return PARAM_DESCRIPTIONS[param_lower] + + for key, description in PARAM_DESCRIPTIONS.items(): + if key in param_lower: + return description + + return param_name + + +def get_input_args(method: ParsedMethod, skip_self: bool = False) -> List[Any]: + args = method.args[1:] if skip_self else method.args + return [arg for arg in args if arg.usage in INPUT_USAGES] + + +def get_output_args(method: ParsedMethod) -> List[Any]: + return [arg for arg in method.args if arg.usage in OUTPUT_USAGES] + + +def get_arg_type_info(arg: Any) -> Tuple[str, int]: + if arg.usage == "output_ptr": + child = getattr(arg.type, "child", None) + if child is not None: + return child.c_type, child.type + return arg.type.c_type, arg.type.type + + +def write_script_api_file( + output_path: str, + enums: List[str], + structs: List[ParsedStruct], + global_functions: List[Tuple[int, str, ParsedMethod]] +) -> None: + env = Environment( + loader=FileSystemLoader('.'), + autoescape=False, + trim_blocks=True, + lstrip_blocks=True, + ) + + env.globals['c_type_to_lua_type'] = convert_c_type_to_lua_type + env.globals['get_param_description'] = generate_parameter_description + env.globals['get_input_args'] = get_input_args + env.globals['get_output_args'] = get_output_args + env.globals['get_arg_type_info'] = get_arg_type_info + + template = env.get_template('fmod_script_api_template.yaml') + + rendered_output = template.render( + enums=enums, + structs=structs, + global_functions=global_functions, + ) + + with open(output_path, 'w') as output_file: + output_file.write(rendered_output) + + print(f"Generated {output_path}") diff --git a/bridge/fmod_script_api_template.yaml b/bridge/fmod_script_api_template.yaml new file mode 100644 index 0000000..5080371 --- /dev/null +++ b/bridge/fmod_script_api_template.yaml @@ -0,0 +1,279 @@ +# Auto-generated FMOD API documentation for Defold +# Generated from FMOD headers using generate_bindings.py + +- name: fmod + type: table + desc: | + FMOD Low Level API for audio playback and manipulation. + + This module provides access to FMOD's low-level audio engine, allowing you to: + - Create and play sounds + - Control audio channels and channel groups + - Apply DSP effects + - Handle 3D audio positioning + + For more information, see the [FMOD documentation](https://www.fmod.com/docs). + + members: +{% for enum in enums %} + - name: {{ enum }} + type: number + +{% endfor %} + +#***************************************************************************************************** + +{% for struct in structs %} + {% if not struct.is_class and struct.constructor_table == -2 %} + - name: {{ struct.constructor_name }} + type: function + desc: Creates a new {{ struct.name }} struct + returns: + - name: struct + type: {{ struct.name|lower|replace('fmod_', 'fmod.') }} + desc: The created struct instance + + {% endif %} +{% endfor %} + +#***************************************************************************************************** + +{% for f in global_functions %} + {% if f[0] == -2 %} + - name: {{ f[1] }} + type: function + desc: | + {{ f[2].name }} + {% if f[2].generated %} + {% set inputs = get_input_args(f[2]) %} + {% if inputs %} + parameters: + {% for arg in inputs %} + - name: {{ arg.name }} + type: {{ c_type_to_lua_type(get_arg_type_info(arg)[0], get_arg_type_info(arg)[1]) }} + desc: {{ get_param_description(arg.name, f[2].name) }}{% if arg.optional %} (optional){% endif %} + + {% endfor %} + {% endif %} + {% set outputs = get_output_args(f[2]) %} + {% if outputs %} + returns: + {% for arg in outputs %} + - name: {{ arg.name }} + type: {{ c_type_to_lua_type(get_arg_type_info(arg)[0], get_arg_type_info(arg)[1]) }} + + {% endfor %} + {% endif %} + {% endif %} + + {% endif %} +{% endfor %} + +#***************************************************************************************************** + + - name: system + type: {{ 'fmod.system' }} + desc: The FMOD low-level system instance + + - name: error_code + type: table + desc: Table mapping error messages to error codes + + - name: s64 + type: function + desc: Creates a signed 64-bit integer value + parameters: + - name: value + type: number + desc: The value (or low 32 bits if high is provided) + - name: high + type: number + desc: The high 32 bits (optional) + returns: + - name: value + type: userdata + desc: The 64-bit integer value + + - name: u64 + type: function + desc: Creates an unsigned 64-bit integer value + parameters: + - name: value + type: number + desc: The value (or low 32 bits if high is provided) + - name: high + type: number + desc: The high 32 bits (optional) + returns: + - name: value + type: userdata + desc: The 64-bit integer value + +#***************************************************************************************************** + +{% for struct in structs %} + {% if struct.is_class and not struct.name.startswith('FMOD_STUDIO_') %} +- name: {{ struct.name|lower|replace('fmod_', 'fmod.') }} + type: userdata + desc: {{ struct.name }} instance + + members: + {% for method in struct.methods %} + - name: {{ method[0] }} + type: function + desc: | + {{ method[1].name }} + {% if method[1].generated %} + {% set inputs = get_input_args(method[1], True) %} + {% if inputs %} + parameters: + {% for arg in inputs %} + - name: {{ arg.name }} + type: {{ c_type_to_lua_type(get_arg_type_info(arg)[0], get_arg_type_info(arg)[1]) }} + desc: {{ get_param_description(arg.name, method[1].name) }}{% if arg.optional %} (optional){% endif %} + + {% endfor %} + {% endif %} + {% set outputs = get_output_args(method[1]) %} + {% if outputs %} + returns: + {% for arg in outputs %} + - name: {{ arg.name }} + type: {{ c_type_to_lua_type(get_arg_type_info(arg)[0], get_arg_type_info(arg)[1]) }} + + {% endfor %} + + {% endif %} + {% endif %} + {% endfor %} + {% endif %} +{% endfor %} + +#***************************************************************************************************** + +- name: fmod.studio + type: table + desc: | + FMOD Studio API for event-based audio. + + This module provides access to FMOD Studio's high-level event system, allowing you to: + - Load and manage sound banks + - Play and control event instances + - Control buses and VCAs + - Set parameters and 3D attributes + + For more information, see the [FMOD Studio documentation](https://www.fmod.com/docs). + + members: +{% for struct in structs %} + {% if not struct.is_class and struct.constructor_table == -1 %} + - name: {{ struct.constructor_name }} + type: function + desc: Creates a new {{ struct.name }} struct + returns: + - name: struct + type: {{ struct.name|lower|replace('fmod_studio_', 'fmod.studio.')|replace('fmod_', 'fmod.') }} + desc: The created struct instance + + {% endif %} +{% endfor %} + +#***************************************************************************************************** + +{% for f in global_functions %} + {% if f[0] == -1 %} + - name: {{ f[1] }} + type: function + desc: | + {{ f[2].name }} + {% if f[2].generated %} + {% set inputs = get_input_args(f[2]) %} + {% if inputs %} + parameters: + {% for arg in inputs %} + - name: {{ arg.name }} + type: {{ c_type_to_lua_type(get_arg_type_info(arg)[0], get_arg_type_info(arg)[1]) }} + desc: {{ get_param_description(arg.name, f[2].name) }}{% if arg.optional %} (optional){% endif %} + + {% endfor %} + {% endif %} + {% set outputs = get_output_args(f[2]) %} + {% if outputs %} + returns: + {% for arg in outputs %} + - name: {{ arg.name }} + type: {{ c_type_to_lua_type(get_arg_type_info(arg)[0], get_arg_type_info(arg)[1]) }} + + {% endfor %} + {% endif %} + {% endif %} + + {% endif %} +{% endfor %} + +#***************************************************************************************************** + + - name: system + type: {{ 'fmod.studio.system' }} + desc: The FMOD Studio system instance + +#***************************************************************************************************** + +{% for struct in structs %} + {% if struct.is_class and struct.name.startswith('FMOD_STUDIO_') %} +- name: {{ struct.name|lower|replace('fmod_studio_', 'fmod.studio.')|replace('fmod_', 'fmod.') }} + type: userdata + desc: {{ struct.name }} instance + + members: + {% for method in struct.methods %} + - name: {{ method[0] }} + type: function + desc: | + {{ method[1].name }} + {% if method[1].generated %} + {% set inputs = get_input_args(method[1], True) %} + {% if inputs %} + parameters: + {% for arg in inputs %} + - name: {{ arg.name }} + type: {{ c_type_to_lua_type(get_arg_type_info(arg)[0], get_arg_type_info(arg)[1]) }} + desc: {{ get_param_description(arg.name, method[1].name) }}{% if arg.optional %} (optional){% endif %} + + {% endfor %} + {% endif %} + {% set outputs = get_output_args(method[1]) %} + {% if outputs %} + returns: + {% for arg in outputs %} + - name: {{ arg.name }} + type: {{ c_type_to_lua_type(get_arg_type_info(arg)[0], get_arg_type_info(arg)[1]) }} + + {% endfor %} + + {% endif %} + {% endif %} + {% endfor %} + {% endif %} +{% endfor %} + +#***************************************************************************************************** + +{% for struct in structs %} + {% if not struct.is_class %} +- name: {{ struct.name|lower|replace('fmod_studio_', 'fmod.studio.')|replace('fmod_', 'fmod.') }} + type: userdata + desc: {{ struct.name }} struct + + members: + {% for property in struct.properties %} + - name: {{ property[0] }} + {% if property[1].c_type != '__UNKNOWN__' %} + type: {{ c_type_to_lua_type(property[1].c_type, property[1].type) }} + desc: {{ property[1].c_type }} field + {% endif %} + + {% endfor %} + + {% endif %} +{% endfor %} diff --git a/bridge/generate_bindings.py b/bridge/generate_bindings.py index 7e24905..aaab5df 100644 --- a/bridge/generate_bindings.py +++ b/bridge/generate_bindings.py @@ -2,6 +2,7 @@ import re from pycparser import parse_file, c_ast from jinja2 import Environment, FileSystemLoader, select_autoescape +from api_from_bindings import write_script_api_file TypeBasic = 1 TypeStruct = 2 @@ -372,6 +373,13 @@ def parse_struct(struct): with open('src/fmod_generated.c', 'w') as f: f.write(output) + write_script_api_file( + '../fmod/api/fmod.script_api', + enums, + list(structs.values()), + global_functions + ) + if __name__ == "__main__": filename = 'include/fmod_studio.h' diff --git a/docs/add-dependency.png b/docs/add-dependency.png new file mode 100644 index 0000000..a920abd Binary files /dev/null and b/docs/add-dependency.png differ diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..a1a3b1f --- /dev/null +++ b/docs/index.md @@ -0,0 +1,181 @@ +--- +title: Defold extension FMOD API documentation +brief: This manual covers the integration of a game with the FMOD Studio. +--- + +# Defold FMOD extension API documentation + +This extension provides an interface to integrate a game with the adaptive audio engine FMOD Studio. + +## Installation + +To use FMOD in your Defold project, add a version of the Defold FMOD extension to your `game.project` dependencies from the list of available [Releases](https://github.com/defold/extension-fmod/releases). Find the version you want, copy the URL to ZIP archive of the release and add it to the project dependencies. + +![](add-dependency.png) + +Select `Project->Fetch Libraries` once you have added the version to `game.project` to download the version and make it available in your project. + +## Running in the editor + +![](lib_path.png) + +The game will bundle fine, but in order for FMOD to be available when running +from the editor, an extra step is required. +The `lib_path` is parameter that takes a reference to the `fmod/res` directory of your library. + +After fetching the library, unzip the extension inside `.internal/lib/*/extension-fmod-0.1.0-alpha`, and you'll be able to reference it. +``` +[fmod] +lib_path = .internal/lib/*/extension-fmod-0.1.0-alpha/fmod/res +``` + +## Getting started + +Check if FMOD is available on your platform: + +```lua +if not fmod then + -- Platform not supported, handle gracefully + return +end +``` + +## Loading banks + +Banks contain your audio events and metadata. Load the Master Bank and Master Bank.strings before loading other banks. The strings bank is required for event lookup by name. + +```lua +fmod.studio.system:load_bank_memory(resource.load("/banks/Master Bank.bank"), fmod.STUDIO_LOAD_BANK_NORMAL) +fmod.studio.system:load_bank_memory(resource.load("/banks/Master Bank.strings.bank"), fmod.STUDIO_LOAD_BANK_NORMAL) +fmod.studio.system:load_bank_memory(resource.load("/banks/Vehicles.bank"), fmod.STUDIO_LOAD_BANK_NORMAL) +``` + +Load banks during initialization, ideally before creating any event instances. This ensures all required audio data is in memory when needed. + +## Working with events + +An event description represents a type of sound event, like an explosion or engine sound. An event instance is a specific playback of that event. You can create multiple instances from the same description. + +### Creating and playing events + +Get the event description by its path as defined in FMOD Studio, then create and start an instance: + +```lua +local event_description = fmod.studio.system:get_event("event:/Vehicles/Basic Engine") +local event = event_description:create_instance() +event:start() +``` + +You can store event instances (perhaps in your script's `self` table) to keep them alive and control them throughout the game object's lifecycle. + +### Stopping events + +Events can be stopped immediately or allowed to finish naturally: + +```lua +event:stop(fmod.STUDIO_STOP_IMMEDIATE) -- Stops instantly +event:stop(fmod.STUDIO_STOP_ALLOWFADEOUT) -- Stops with fade-out +``` + +When an event instance is no longer needed, call `event:release()` to free resources. + +Events automatically release themselves when they finish playing, but explicit release is useful for long-lived instances you stop manually. + +## Error handling + +FMOD operations can fail. Use `pcall` to catch errors and check error codes: + +```lua +local ok, err = pcall(function () + local desc = fmod.studio.system:get_event("event:/Inexistent event") +end) + +if not ok then + local code = fmod.error_code[err] + if code == fmod.ERR_EVENT_NOTFOUND then + -- Handle missing event gracefully + end +end +``` + +Common error codes include `ERR_EVENT_NOTFOUND`, `ERR_INVALID_HANDLE`, and `ERR_NOTREADY`. Validate operations that might fail, especially when loading banks or retrieving events. + +## 3D audio + +FMOD supports 3D spatial audio with listener and emitter positioning. Set up both the listener, typically the camera or player, and source positions. + +### Setting up the listener + +The listener represents where the audio is heard from. Create 3D attributes and update them in your update loop: + +```lua +local listener_attr = fmod._3D_ATTRIBUTES() +listener_attr.position = go.get_world_position("listener") * world_scale +listener_attr.velocity = vmath.vector3(0.0) +listener_attr.forward = vmath.vector3(0.0, 1.0, 0.0) +listener_attr.up = vmath.vector3(0.0, 0.0, -1.0) +fmod.studio.system:set_listener_attributes(0, listener_attr) +``` + +Use a world scale factor like `0.01` to match FMOD's coordinate system with Defold's. FMOD expects distances in meters. + +### Setting up event 3D positions + +For 3D audio events, set their position attributes the same way: + +```lua +local source_attr = fmod._3D_ATTRIBUTES() +source_attr.position = go.get_world_position("source") * world_scale +source_attr.velocity = vmath.vector3(0.0) +source_attr.forward = vmath.vector3(0.0, 1.0, 0.0) +source_attr.up = vmath.vector3(0.0, 0.0, -1.0) +event:set_3d_attributes(source_attr) +``` + +### Updating positions + +Update 3D attributes every frame in your `update` function. Calculate velocity from position delta for Doppler effects: + +```lua +local function update_attributes(attr, dt, new_position) + local delta_pos = new_position - attr.position + attr.position = new_position + attr.velocity = delta_pos * (1.0 / dt) +end + +function update(self, dt) + if not fmod then return end + + local listener_pos = go.get_world_position("listener") * world_scale + update_attributes(self.listener_attr, dt, listener_pos) + fmod.studio.system:set_listener_attributes(0, self.listener_attr) + + local source_pos = go.get_world_position("source") * world_scale + update_attributes(self.source_attr, dt, source_pos) + self.event:set_3d_attributes(self.source_attr) +end +``` + +The extension calls the underlying FMOD Studio update from native code each frame, so you do not need to call `fmod.studio.system:update()` manually. + +## Parameters + +Events can have parameters that control playback behavior, like RPM for engine sounds or intensity for ambience. Set parameters before or during playback: + +```lua +event:set_parameter_by_name("RPM", 650.0, false) +``` + +The third parameter controls whether the change is immediate (`false`) or seeks to the new value (`true`). Use seeking for musical transitions. Immediate changes work better for gameplay-driven parameters. + +Parameters can be marked as global in FMOD Studio. When global, setting that parameter affects all instances of events using it, not just one. + +## Event lifecycle + +Event instances remain valid until they finish playing or are explicitly released. You can query their state: + +```lua +local playing = event:is_valid() -- Check if instance is still valid +``` + +When an event finishes and reaches the end of its timeline, it releases itself automatically. For one-shot sounds, you typically don't need to manually release. For looping or long-running events you control manually, call `event:release()` when done. diff --git a/docs/lib_path.png b/docs/lib_path.png new file mode 100644 index 0000000..2a645cf Binary files /dev/null and b/docs/lib_path.png differ diff --git a/fmod/api/fmod.script_api b/fmod/api/fmod.script_api new file mode 100644 index 0000000..34a483e --- /dev/null +++ b/fmod/api/fmod.script_api @@ -0,0 +1,10882 @@ +# Auto-generated FMOD API documentation for Defold +# Generated from FMOD headers using generate_bindings.py + +- name: fmod + type: table + desc: | + FMOD Low Level API for audio playback and manipulation. + + This module provides access to FMOD's low-level audio engine, allowing you to: + - Create and play sounds + - Control audio channels and channel groups + - Apply DSP effects + - Handle 3D audio positioning + + For more information, see the [FMOD documentation](https://www.fmod.com/docs). + + members: + - name: THREAD_TYPE_MIXER + type: number + + - name: THREAD_TYPE_FEEDER + type: number + + - name: THREAD_TYPE_STREAM + type: number + + - name: THREAD_TYPE_FILE + type: number + + - name: THREAD_TYPE_NONBLOCKING + type: number + + - name: THREAD_TYPE_RECORD + type: number + + - name: THREAD_TYPE_GEOMETRY + type: number + + - name: THREAD_TYPE_PROFILER + type: number + + - name: THREAD_TYPE_STUDIO_UPDATE + type: number + + - name: THREAD_TYPE_STUDIO_LOAD_BANK + type: number + + - name: THREAD_TYPE_STUDIO_LOAD_SAMPLE + type: number + + - name: THREAD_TYPE_CONVOLUTION1 + type: number + + - name: THREAD_TYPE_CONVOLUTION2 + type: number + + - name: THREAD_TYPE_MAX + type: number + + - name: OK + type: number + + - name: ERR_BADCOMMAND + type: number + + - name: ERR_CHANNEL_ALLOC + type: number + + - name: ERR_CHANNEL_STOLEN + type: number + + - name: ERR_DMA + type: number + + - name: ERR_DSP_CONNECTION + type: number + + - name: ERR_DSP_DONTPROCESS + type: number + + - name: ERR_DSP_FORMAT + type: number + + - name: ERR_DSP_INUSE + type: number + + - name: ERR_DSP_NOTFOUND + type: number + + - name: ERR_DSP_RESERVED + type: number + + - name: ERR_DSP_SILENCE + type: number + + - name: ERR_DSP_TYPE + type: number + + - name: ERR_FILE_BAD + type: number + + - name: ERR_FILE_COULDNOTSEEK + type: number + + - name: ERR_FILE_DISKEJECTED + type: number + + - name: ERR_FILE_EOF + type: number + + - name: ERR_FILE_ENDOFDATA + type: number + + - name: ERR_FILE_NOTFOUND + type: number + + - name: ERR_FORMAT + type: number + + - name: ERR_HEADER_MISMATCH + type: number + + - name: ERR_HTTP + type: number + + - name: ERR_HTTP_ACCESS + type: number + + - name: ERR_HTTP_PROXY_AUTH + type: number + + - name: ERR_HTTP_SERVER_ERROR + type: number + + - name: ERR_HTTP_TIMEOUT + type: number + + - name: ERR_INITIALIZATION + type: number + + - name: ERR_INITIALIZED + type: number + + - name: ERR_INTERNAL + type: number + + - name: ERR_INVALID_FLOAT + type: number + + - name: ERR_INVALID_HANDLE + type: number + + - name: ERR_INVALID_PARAM + type: number + + - name: ERR_INVALID_POSITION + type: number + + - name: ERR_INVALID_SPEAKER + type: number + + - name: ERR_INVALID_SYNCPOINT + type: number + + - name: ERR_INVALID_THREAD + type: number + + - name: ERR_INVALID_VECTOR + type: number + + - name: ERR_MAXAUDIBLE + type: number + + - name: ERR_MEMORY + type: number + + - name: ERR_MEMORY_CANTPOINT + type: number + + - name: ERR_NEEDS3D + type: number + + - name: ERR_NEEDSHARDWARE + type: number + + - name: ERR_NET_CONNECT + type: number + + - name: ERR_NET_SOCKET_ERROR + type: number + + - name: ERR_NET_URL + type: number + + - name: ERR_NET_WOULD_BLOCK + type: number + + - name: ERR_NOTREADY + type: number + + - name: ERR_OUTPUT_ALLOCATED + type: number + + - name: ERR_OUTPUT_CREATEBUFFER + type: number + + - name: ERR_OUTPUT_DRIVERCALL + type: number + + - name: ERR_OUTPUT_FORMAT + type: number + + - name: ERR_OUTPUT_INIT + type: number + + - name: ERR_OUTPUT_NODRIVERS + type: number + + - name: ERR_PLUGIN + type: number + + - name: ERR_PLUGIN_MISSING + type: number + + - name: ERR_PLUGIN_RESOURCE + type: number + + - name: ERR_PLUGIN_VERSION + type: number + + - name: ERR_RECORD + type: number + + - name: ERR_REVERB_CHANNELGROUP + type: number + + - name: ERR_REVERB_INSTANCE + type: number + + - name: ERR_SUBSOUNDS + type: number + + - name: ERR_SUBSOUND_ALLOCATED + type: number + + - name: ERR_SUBSOUND_CANTMOVE + type: number + + - name: ERR_TAGNOTFOUND + type: number + + - name: ERR_TOOMANYCHANNELS + type: number + + - name: ERR_TRUNCATED + type: number + + - name: ERR_UNIMPLEMENTED + type: number + + - name: ERR_UNINITIALIZED + type: number + + - name: ERR_UNSUPPORTED + type: number + + - name: ERR_VERSION + type: number + + - name: ERR_EVENT_ALREADY_LOADED + type: number + + - name: ERR_EVENT_LIVEUPDATE_BUSY + type: number + + - name: ERR_EVENT_LIVEUPDATE_MISMATCH + type: number + + - name: ERR_EVENT_LIVEUPDATE_TIMEOUT + type: number + + - name: ERR_EVENT_NOTFOUND + type: number + + - name: ERR_STUDIO_UNINITIALIZED + type: number + + - name: ERR_STUDIO_NOT_LOADED + type: number + + - name: ERR_INVALID_STRING + type: number + + - name: ERR_ALREADY_LOCKED + type: number + + - name: ERR_NOT_LOCKED + type: number + + - name: ERR_RECORD_DISCONNECTED + type: number + + - name: ERR_TOOMANYSAMPLES + type: number + + - name: CHANNELCONTROL_CHANNEL + type: number + + - name: CHANNELCONTROL_CHANNELGROUP + type: number + + - name: CHANNELCONTROL_MAX + type: number + + - name: OUTPUTTYPE_AUTODETECT + type: number + + - name: OUTPUTTYPE_UNKNOWN + type: number + + - name: OUTPUTTYPE_NOSOUND + type: number + + - name: OUTPUTTYPE_WAVWRITER + type: number + + - name: OUTPUTTYPE_NOSOUND_NRT + type: number + + - name: OUTPUTTYPE_WAVWRITER_NRT + type: number + + - name: OUTPUTTYPE_WASAPI + type: number + + - name: OUTPUTTYPE_ASIO + type: number + + - name: OUTPUTTYPE_PULSEAUDIO + type: number + + - name: OUTPUTTYPE_ALSA + type: number + + - name: OUTPUTTYPE_COREAUDIO + type: number + + - name: OUTPUTTYPE_AUDIOTRACK + type: number + + - name: OUTPUTTYPE_OPENSL + type: number + + - name: OUTPUTTYPE_AUDIOOUT + type: number + + - name: OUTPUTTYPE_AUDIO3D + type: number + + - name: OUTPUTTYPE_WEBAUDIO + type: number + + - name: OUTPUTTYPE_NNAUDIO + type: number + + - name: OUTPUTTYPE_WINSONIC + type: number + + - name: OUTPUTTYPE_AAUDIO + type: number + + - name: OUTPUTTYPE_AUDIOWORKLET + type: number + + - name: OUTPUTTYPE_PHASE + type: number + + - name: OUTPUTTYPE_OHAUDIO + type: number + + - name: OUTPUTTYPE_MAX + type: number + + - name: DEBUG_MODE_TTY + type: number + + - name: DEBUG_MODE_FILE + type: number + + - name: DEBUG_MODE_CALLBACK + type: number + + - name: SPEAKERMODE_DEFAULT + type: number + + - name: SPEAKERMODE_RAW + type: number + + - name: SPEAKERMODE_MONO + type: number + + - name: SPEAKERMODE_STEREO + type: number + + - name: SPEAKERMODE_QUAD + type: number + + - name: SPEAKERMODE_SURROUND + type: number + + - name: SPEAKERMODE_5POINT1 + type: number + + - name: SPEAKERMODE_7POINT1 + type: number + + - name: SPEAKERMODE_7POINT1POINT4 + type: number + + - name: SPEAKERMODE_MAX + type: number + + - name: SPEAKER_NONE + type: number + + - name: SPEAKER_FRONT_LEFT + type: number + + - name: SPEAKER_FRONT_RIGHT + type: number + + - name: SPEAKER_FRONT_CENTER + type: number + + - name: SPEAKER_LOW_FREQUENCY + type: number + + - name: SPEAKER_SURROUND_LEFT + type: number + + - name: SPEAKER_SURROUND_RIGHT + type: number + + - name: SPEAKER_BACK_LEFT + type: number + + - name: SPEAKER_BACK_RIGHT + type: number + + - name: SPEAKER_TOP_FRONT_LEFT + type: number + + - name: SPEAKER_TOP_FRONT_RIGHT + type: number + + - name: SPEAKER_TOP_BACK_LEFT + type: number + + - name: SPEAKER_TOP_BACK_RIGHT + type: number + + - name: SPEAKER_MAX + type: number + + - name: CHANNELORDER_DEFAULT + type: number + + - name: CHANNELORDER_WAVEFORMAT + type: number + + - name: CHANNELORDER_PROTOOLS + type: number + + - name: CHANNELORDER_ALLMONO + type: number + + - name: CHANNELORDER_ALLSTEREO + type: number + + - name: CHANNELORDER_ALSA + type: number + + - name: CHANNELORDER_MAX + type: number + + - name: PLUGINTYPE_OUTPUT + type: number + + - name: PLUGINTYPE_CODEC + type: number + + - name: PLUGINTYPE_DSP + type: number + + - name: PLUGINTYPE_MAX + type: number + + - name: SOUND_TYPE_UNKNOWN + type: number + + - name: SOUND_TYPE_AIFF + type: number + + - name: SOUND_TYPE_ASF + type: number + + - name: SOUND_TYPE_DLS + type: number + + - name: SOUND_TYPE_FLAC + type: number + + - name: SOUND_TYPE_FSB + type: number + + - name: SOUND_TYPE_IT + type: number + + - name: SOUND_TYPE_MIDI + type: number + + - name: SOUND_TYPE_MOD + type: number + + - name: SOUND_TYPE_MPEG + type: number + + - name: SOUND_TYPE_OGGVORBIS + type: number + + - name: SOUND_TYPE_PLAYLIST + type: number + + - name: SOUND_TYPE_RAW + type: number + + - name: SOUND_TYPE_S3M + type: number + + - name: SOUND_TYPE_USER + type: number + + - name: SOUND_TYPE_WAV + type: number + + - name: SOUND_TYPE_XM + type: number + + - name: SOUND_TYPE_XMA + type: number + + - name: SOUND_TYPE_AUDIOQUEUE + type: number + + - name: SOUND_TYPE_AT9 + type: number + + - name: SOUND_TYPE_VORBIS + type: number + + - name: SOUND_TYPE_MEDIA_FOUNDATION + type: number + + - name: SOUND_TYPE_MEDIACODEC + type: number + + - name: SOUND_TYPE_FADPCM + type: number + + - name: SOUND_TYPE_OPUS + type: number + + - name: SOUND_TYPE_MAX + type: number + + - name: SOUND_FORMAT_NONE + type: number + + - name: SOUND_FORMAT_PCM8 + type: number + + - name: SOUND_FORMAT_PCM16 + type: number + + - name: SOUND_FORMAT_PCM24 + type: number + + - name: SOUND_FORMAT_PCM32 + type: number + + - name: SOUND_FORMAT_PCMFLOAT + type: number + + - name: SOUND_FORMAT_BITSTREAM + type: number + + - name: SOUND_FORMAT_MAX + type: number + + - name: OPENSTATE_READY + type: number + + - name: OPENSTATE_LOADING + type: number + + - name: OPENSTATE_ERROR + type: number + + - name: OPENSTATE_CONNECTING + type: number + + - name: OPENSTATE_BUFFERING + type: number + + - name: OPENSTATE_SEEKING + type: number + + - name: OPENSTATE_PLAYING + type: number + + - name: OPENSTATE_SETPOSITION + type: number + + - name: OPENSTATE_MAX + type: number + + - name: SOUNDGROUP_BEHAVIOR_FAIL + type: number + + - name: SOUNDGROUP_BEHAVIOR_MUTE + type: number + + - name: SOUNDGROUP_BEHAVIOR_STEALLOWEST + type: number + + - name: SOUNDGROUP_BEHAVIOR_MAX + type: number + + - name: CHANNELCONTROL_CALLBACK_END + type: number + + - name: CHANNELCONTROL_CALLBACK_VIRTUALVOICE + type: number + + - name: CHANNELCONTROL_CALLBACK_SYNCPOINT + type: number + + - name: CHANNELCONTROL_CALLBACK_OCCLUSION + type: number + + - name: CHANNELCONTROL_CALLBACK_MAX + type: number + + - name: CHANNELCONTROL_DSP_HEAD + type: number + + - name: CHANNELCONTROL_DSP_FADER + type: number + + - name: CHANNELCONTROL_DSP_TAIL + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_NONE + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_SYSTEM + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_CHANNEL + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_CHANNELGROUP + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_CHANNELCONTROL + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_SOUND + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_SOUNDGROUP + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_DSP + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_DSPCONNECTION + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_GEOMETRY + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_REVERB3D + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_STUDIO_SYSTEM + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_STUDIO_EVENTDESCRIPTION + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_STUDIO_EVENTINSTANCE + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_STUDIO_PARAMETERINSTANCE + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_STUDIO_BUS + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_STUDIO_VCA + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_STUDIO_BANK + type: number + + - name: ERRORCALLBACK_INSTANCETYPE_STUDIO_COMMANDREPLAY + type: number + + - name: DSP_RESAMPLER_DEFAULT + type: number + + - name: DSP_RESAMPLER_NOINTERP + type: number + + - name: DSP_RESAMPLER_LINEAR + type: number + + - name: DSP_RESAMPLER_CUBIC + type: number + + - name: DSP_RESAMPLER_SPLINE + type: number + + - name: DSP_RESAMPLER_MAX + type: number + + - name: DSP_CALLBACK_DATAPARAMETERRELEASE + type: number + + - name: DSP_CALLBACK_MAX + type: number + + - name: DSPCONNECTION_TYPE_STANDARD + type: number + + - name: DSPCONNECTION_TYPE_SIDECHAIN + type: number + + - name: DSPCONNECTION_TYPE_SEND + type: number + + - name: DSPCONNECTION_TYPE_SEND_SIDECHAIN + type: number + + - name: DSPCONNECTION_TYPE_PREALLOCATED + type: number + + - name: DSPCONNECTION_TYPE_MAX + type: number + + - name: TAGTYPE_UNKNOWN + type: number + + - name: TAGTYPE_ID3V1 + type: number + + - name: TAGTYPE_ID3V2 + type: number + + - name: TAGTYPE_VORBISCOMMENT + type: number + + - name: TAGTYPE_SHOUTCAST + type: number + + - name: TAGTYPE_ICECAST + type: number + + - name: TAGTYPE_ASF + type: number + + - name: TAGTYPE_MIDI + type: number + + - name: TAGTYPE_PLAYLIST + type: number + + - name: TAGTYPE_FMOD + type: number + + - name: TAGTYPE_USER + type: number + + - name: TAGTYPE_MAX + type: number + + - name: TAGDATATYPE_BINARY + type: number + + - name: TAGDATATYPE_INT + type: number + + - name: TAGDATATYPE_FLOAT + type: number + + - name: TAGDATATYPE_STRING + type: number + + - name: TAGDATATYPE_STRING_UTF16 + type: number + + - name: TAGDATATYPE_STRING_UTF16BE + type: number + + - name: TAGDATATYPE_STRING_UTF8 + type: number + + - name: TAGDATATYPE_MAX + type: number + + - name: PORT_TYPE_MUSIC + type: number + + - name: PORT_TYPE_COPYRIGHT_MUSIC + type: number + + - name: PORT_TYPE_VOICE + type: number + + - name: PORT_TYPE_CONTROLLER + type: number + + - name: PORT_TYPE_PERSONAL + type: number + + - name: PORT_TYPE_VIBRATION + type: number + + - name: PORT_TYPE_AUX + type: number + + - name: PORT_TYPE_PASSTHROUGH + type: number + + - name: PORT_TYPE_VR_VIBRATION + type: number + + - name: PORT_TYPE_MAX + type: number + + - name: DSP_TYPE_UNKNOWN + type: number + + - name: DSP_TYPE_MIXER + type: number + + - name: DSP_TYPE_OSCILLATOR + type: number + + - name: DSP_TYPE_LOWPASS + type: number + + - name: DSP_TYPE_ITLOWPASS + type: number + + - name: DSP_TYPE_HIGHPASS + type: number + + - name: DSP_TYPE_ECHO + type: number + + - name: DSP_TYPE_FADER + type: number + + - name: DSP_TYPE_FLANGE + type: number + + - name: DSP_TYPE_DISTORTION + type: number + + - name: DSP_TYPE_NORMALIZE + type: number + + - name: DSP_TYPE_LIMITER + type: number + + - name: DSP_TYPE_PARAMEQ + type: number + + - name: DSP_TYPE_PITCHSHIFT + type: number + + - name: DSP_TYPE_CHORUS + type: number + + - name: DSP_TYPE_ITECHO + type: number + + - name: DSP_TYPE_COMPRESSOR + type: number + + - name: DSP_TYPE_SFXREVERB + type: number + + - name: DSP_TYPE_LOWPASS_SIMPLE + type: number + + - name: DSP_TYPE_DELAY + type: number + + - name: DSP_TYPE_TREMOLO + type: number + + - name: DSP_TYPE_SEND + type: number + + - name: DSP_TYPE_RETURN + type: number + + - name: DSP_TYPE_HIGHPASS_SIMPLE + type: number + + - name: DSP_TYPE_PAN + type: number + + - name: DSP_TYPE_THREE_EQ + type: number + + - name: DSP_TYPE_FFT + type: number + + - name: DSP_TYPE_LOUDNESS_METER + type: number + + - name: DSP_TYPE_CONVOLUTIONREVERB + type: number + + - name: DSP_TYPE_CHANNELMIX + type: number + + - name: DSP_TYPE_TRANSCEIVER + type: number + + - name: DSP_TYPE_OBJECTPAN + type: number + + - name: DSP_TYPE_MULTIBAND_EQ + type: number + + - name: DSP_TYPE_MULTIBAND_DYNAMICS + type: number + + - name: DSP_TYPE_MAX + type: number + + - name: DSP_OSCILLATOR_TYPE + type: number + + - name: DSP_OSCILLATOR_RATE + type: number + + - name: DSP_LOWPASS_CUTOFF + type: number + + - name: DSP_LOWPASS_RESONANCE + type: number + + - name: DSP_ITLOWPASS_CUTOFF + type: number + + - name: DSP_ITLOWPASS_RESONANCE + type: number + + - name: DSP_HIGHPASS_CUTOFF + type: number + + - name: DSP_HIGHPASS_RESONANCE + type: number + + - name: DSP_ECHO_DELAY + type: number + + - name: DSP_ECHO_FEEDBACK + type: number + + - name: DSP_ECHO_DRYLEVEL + type: number + + - name: DSP_ECHO_WETLEVEL + type: number + + - name: DSP_ECHO_DELAYCHANGEMODE + type: number + + - name: DSP_ECHO_DELAYCHANGEMODE_FADE + type: number + + - name: DSP_ECHO_DELAYCHANGEMODE_LERP + type: number + + - name: DSP_ECHO_DELAYCHANGEMODE_NONE + type: number + + - name: DSP_FADER_GAIN + type: number + + - name: DSP_FADER_OVERALL_GAIN + type: number + + - name: DSP_FLANGE_MIX + type: number + + - name: DSP_FLANGE_DEPTH + type: number + + - name: DSP_FLANGE_RATE + type: number + + - name: DSP_DISTORTION_LEVEL + type: number + + - name: DSP_NORMALIZE_FADETIME + type: number + + - name: DSP_NORMALIZE_THRESHOLD + type: number + + - name: DSP_NORMALIZE_MAXAMP + type: number + + - name: DSP_LIMITER_RELEASETIME + type: number + + - name: DSP_LIMITER_CEILING + type: number + + - name: DSP_LIMITER_MAXIMIZERGAIN + type: number + + - name: DSP_LIMITER_MODE + type: number + + - name: DSP_PARAMEQ_CENTER + type: number + + - name: DSP_PARAMEQ_BANDWIDTH + type: number + + - name: DSP_PARAMEQ_GAIN + type: number + + - name: DSP_MULTIBAND_EQ_A_FILTER + type: number + + - name: DSP_MULTIBAND_EQ_A_FREQUENCY + type: number + + - name: DSP_MULTIBAND_EQ_A_Q + type: number + + - name: DSP_MULTIBAND_EQ_A_GAIN + type: number + + - name: DSP_MULTIBAND_EQ_B_FILTER + type: number + + - name: DSP_MULTIBAND_EQ_B_FREQUENCY + type: number + + - name: DSP_MULTIBAND_EQ_B_Q + type: number + + - name: DSP_MULTIBAND_EQ_B_GAIN + type: number + + - name: DSP_MULTIBAND_EQ_C_FILTER + type: number + + - name: DSP_MULTIBAND_EQ_C_FREQUENCY + type: number + + - name: DSP_MULTIBAND_EQ_C_Q + type: number + + - name: DSP_MULTIBAND_EQ_C_GAIN + type: number + + - name: DSP_MULTIBAND_EQ_D_FILTER + type: number + + - name: DSP_MULTIBAND_EQ_D_FREQUENCY + type: number + + - name: DSP_MULTIBAND_EQ_D_Q + type: number + + - name: DSP_MULTIBAND_EQ_D_GAIN + type: number + + - name: DSP_MULTIBAND_EQ_E_FILTER + type: number + + - name: DSP_MULTIBAND_EQ_E_FREQUENCY + type: number + + - name: DSP_MULTIBAND_EQ_E_Q + type: number + + - name: DSP_MULTIBAND_EQ_E_GAIN + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_DISABLED + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_LOWPASS_12DB + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_LOWPASS_24DB + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_LOWPASS_48DB + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_HIGHPASS_12DB + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_HIGHPASS_24DB + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_HIGHPASS_48DB + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_LOWSHELF + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_HIGHSHELF + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_PEAKING + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_BANDPASS + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_NOTCH + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_ALLPASS + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_LOWPASS_6DB + type: number + + - name: DSP_MULTIBAND_EQ_FILTER_HIGHPASS_6DB + type: number + + - name: DSP_MULTIBAND_DYNAMICS_LOWER_FREQUENCY + type: number + + - name: DSP_MULTIBAND_DYNAMICS_UPPER_FREQUENCY + type: number + + - name: DSP_MULTIBAND_DYNAMICS_LINKED + type: number + + - name: DSP_MULTIBAND_DYNAMICS_USE_SIDECHAIN + type: number + + - name: DSP_MULTIBAND_DYNAMICS_A_MODE + type: number + + - name: DSP_MULTIBAND_DYNAMICS_A_GAIN + type: number + + - name: DSP_MULTIBAND_DYNAMICS_A_THRESHOLD + type: number + + - name: DSP_MULTIBAND_DYNAMICS_A_RATIO + type: number + + - name: DSP_MULTIBAND_DYNAMICS_A_ATTACK + type: number + + - name: DSP_MULTIBAND_DYNAMICS_A_RELEASE + type: number + + - name: DSP_MULTIBAND_DYNAMICS_A_GAIN_MAKEUP + type: number + + - name: DSP_MULTIBAND_DYNAMICS_A_RESPONSE_DATA + type: number + + - name: DSP_MULTIBAND_DYNAMICS_B_MODE + type: number + + - name: DSP_MULTIBAND_DYNAMICS_B_GAIN + type: number + + - name: DSP_MULTIBAND_DYNAMICS_B_THRESHOLD + type: number + + - name: DSP_MULTIBAND_DYNAMICS_B_RATIO + type: number + + - name: DSP_MULTIBAND_DYNAMICS_B_ATTACK + type: number + + - name: DSP_MULTIBAND_DYNAMICS_B_RELEASE + type: number + + - name: DSP_MULTIBAND_DYNAMICS_B_GAIN_MAKEUP + type: number + + - name: DSP_MULTIBAND_DYNAMICS_B_RESPONSE_DATA + type: number + + - name: DSP_MULTIBAND_DYNAMICS_C_MODE + type: number + + - name: DSP_MULTIBAND_DYNAMICS_C_GAIN + type: number + + - name: DSP_MULTIBAND_DYNAMICS_C_THRESHOLD + type: number + + - name: DSP_MULTIBAND_DYNAMICS_C_RATIO + type: number + + - name: DSP_MULTIBAND_DYNAMICS_C_ATTACK + type: number + + - name: DSP_MULTIBAND_DYNAMICS_C_RELEASE + type: number + + - name: DSP_MULTIBAND_DYNAMICS_C_GAIN_MAKEUP + type: number + + - name: DSP_MULTIBAND_DYNAMICS_C_RESPONSE_DATA + type: number + + - name: DSP_MULTIBAND_DYNAMICS_MODE_DISABLED + type: number + + - name: DSP_MULTIBAND_DYNAMICS_MODE_COMPRESS_UP + type: number + + - name: DSP_MULTIBAND_DYNAMICS_MODE_COMPRESS_DOWN + type: number + + - name: DSP_MULTIBAND_DYNAMICS_MODE_EXPAND_UP + type: number + + - name: DSP_MULTIBAND_DYNAMICS_MODE_EXPAND_DOWN + type: number + + - name: DSP_PITCHSHIFT_PITCH + type: number + + - name: DSP_PITCHSHIFT_FFTSIZE + type: number + + - name: DSP_PITCHSHIFT_OVERLAP + type: number + + - name: DSP_PITCHSHIFT_MAXCHANNELS + type: number + + - name: DSP_CHORUS_MIX + type: number + + - name: DSP_CHORUS_RATE + type: number + + - name: DSP_CHORUS_DEPTH + type: number + + - name: DSP_ITECHO_WETDRYMIX + type: number + + - name: DSP_ITECHO_FEEDBACK + type: number + + - name: DSP_ITECHO_LEFTDELAY + type: number + + - name: DSP_ITECHO_RIGHTDELAY + type: number + + - name: DSP_ITECHO_PANDELAY + type: number + + - name: DSP_COMPRESSOR_THRESHOLD + type: number + + - name: DSP_COMPRESSOR_RATIO + type: number + + - name: DSP_COMPRESSOR_ATTACK + type: number + + - name: DSP_COMPRESSOR_RELEASE + type: number + + - name: DSP_COMPRESSOR_GAINMAKEUP + type: number + + - name: DSP_COMPRESSOR_USESIDECHAIN + type: number + + - name: DSP_COMPRESSOR_LINKED + type: number + + - name: DSP_SFXREVERB_DECAYTIME + type: number + + - name: DSP_SFXREVERB_EARLYDELAY + type: number + + - name: DSP_SFXREVERB_LATEDELAY + type: number + + - name: DSP_SFXREVERB_HFREFERENCE + type: number + + - name: DSP_SFXREVERB_HFDECAYRATIO + type: number + + - name: DSP_SFXREVERB_DIFFUSION + type: number + + - name: DSP_SFXREVERB_DENSITY + type: number + + - name: DSP_SFXREVERB_LOWSHELFFREQUENCY + type: number + + - name: DSP_SFXREVERB_LOWSHELFGAIN + type: number + + - name: DSP_SFXREVERB_HIGHCUT + type: number + + - name: DSP_SFXREVERB_EARLYLATEMIX + type: number + + - name: DSP_SFXREVERB_WETLEVEL + type: number + + - name: DSP_SFXREVERB_DRYLEVEL + type: number + + - name: DSP_LOWPASS_SIMPLE_CUTOFF + type: number + + - name: DSP_DELAY_CH0 + type: number + + - name: DSP_DELAY_CH1 + type: number + + - name: DSP_DELAY_CH2 + type: number + + - name: DSP_DELAY_CH3 + type: number + + - name: DSP_DELAY_CH4 + type: number + + - name: DSP_DELAY_CH5 + type: number + + - name: DSP_DELAY_CH6 + type: number + + - name: DSP_DELAY_CH7 + type: number + + - name: DSP_DELAY_CH8 + type: number + + - name: DSP_DELAY_CH9 + type: number + + - name: DSP_DELAY_CH10 + type: number + + - name: DSP_DELAY_CH11 + type: number + + - name: DSP_DELAY_CH12 + type: number + + - name: DSP_DELAY_CH13 + type: number + + - name: DSP_DELAY_CH14 + type: number + + - name: DSP_DELAY_CH15 + type: number + + - name: DSP_DELAY_MAXDELAY + type: number + + - name: DSP_TREMOLO_FREQUENCY + type: number + + - name: DSP_TREMOLO_DEPTH + type: number + + - name: DSP_TREMOLO_SHAPE + type: number + + - name: DSP_TREMOLO_SKEW + type: number + + - name: DSP_TREMOLO_DUTY + type: number + + - name: DSP_TREMOLO_SQUARE + type: number + + - name: DSP_TREMOLO_PHASE + type: number + + - name: DSP_TREMOLO_SPREAD + type: number + + - name: DSP_SEND_RETURNID + type: number + + - name: DSP_SEND_LEVEL + type: number + + - name: DSP_RETURN_ID + type: number + + - name: DSP_RETURN_INPUT_SPEAKER_MODE + type: number + + - name: DSP_HIGHPASS_SIMPLE_CUTOFF + type: number + + - name: DSP_PAN_2D_STEREO_MODE_DISTRIBUTED + type: number + + - name: DSP_PAN_2D_STEREO_MODE_DISCRETE + type: number + + - name: DSP_PAN_MODE_MONO + type: number + + - name: DSP_PAN_MODE_STEREO + type: number + + - name: DSP_PAN_MODE_SURROUND + type: number + + - name: DSP_PAN_3D_ROLLOFF_LINEARSQUARED + type: number + + - name: DSP_PAN_3D_ROLLOFF_LINEAR + type: number + + - name: DSP_PAN_3D_ROLLOFF_INVERSE + type: number + + - name: DSP_PAN_3D_ROLLOFF_INVERSETAPERED + type: number + + - name: DSP_PAN_3D_ROLLOFF_CUSTOM + type: number + + - name: DSP_PAN_3D_EXTENT_MODE_AUTO + type: number + + - name: DSP_PAN_3D_EXTENT_MODE_USER + type: number + + - name: DSP_PAN_3D_EXTENT_MODE_OFF + type: number + + - name: DSP_PAN_MODE + type: number + + - name: DSP_PAN_2D_STEREO_POSITION + type: number + + - name: DSP_PAN_2D_DIRECTION + type: number + + - name: DSP_PAN_2D_EXTENT + type: number + + - name: DSP_PAN_2D_ROTATION + type: number + + - name: DSP_PAN_2D_LFE_LEVEL + type: number + + - name: DSP_PAN_2D_STEREO_MODE + type: number + + - name: DSP_PAN_2D_STEREO_SEPARATION + type: number + + - name: DSP_PAN_2D_STEREO_AXIS + type: number + + - name: DSP_PAN_ENABLED_SPEAKERS + type: number + + - name: DSP_PAN_3D_POSITION + type: number + + - name: DSP_PAN_3D_ROLLOFF + type: number + + - name: DSP_PAN_3D_MIN_DISTANCE + type: number + + - name: DSP_PAN_3D_MAX_DISTANCE + type: number + + - name: DSP_PAN_3D_EXTENT_MODE + type: number + + - name: DSP_PAN_3D_SOUND_SIZE + type: number + + - name: DSP_PAN_3D_MIN_EXTENT + type: number + + - name: DSP_PAN_3D_PAN_BLEND + type: number + + - name: DSP_PAN_LFE_UPMIX_ENABLED + type: number + + - name: DSP_PAN_OVERALL_GAIN + type: number + + - name: DSP_PAN_SURROUND_SPEAKER_MODE + type: number + + - name: DSP_PAN_2D_HEIGHT_BLEND + type: number + + - name: DSP_PAN_ATTENUATION_RANGE + type: number + + - name: DSP_PAN_OVERRIDE_RANGE + type: number + + - name: DSP_THREE_EQ_CROSSOVERSLOPE_12DB + type: number + + - name: DSP_THREE_EQ_CROSSOVERSLOPE_24DB + type: number + + - name: DSP_THREE_EQ_CROSSOVERSLOPE_48DB + type: number + + - name: DSP_THREE_EQ_LOWGAIN + type: number + + - name: DSP_THREE_EQ_MIDGAIN + type: number + + - name: DSP_THREE_EQ_HIGHGAIN + type: number + + - name: DSP_THREE_EQ_LOWCROSSOVER + type: number + + - name: DSP_THREE_EQ_HIGHCROSSOVER + type: number + + - name: DSP_THREE_EQ_CROSSOVERSLOPE + type: number + + - name: DSP_FFT_WINDOW_RECT + type: number + + - name: DSP_FFT_WINDOW_TRIANGLE + type: number + + - name: DSP_FFT_WINDOW_HAMMING + type: number + + - name: DSP_FFT_WINDOW_HANNING + type: number + + - name: DSP_FFT_WINDOW_BLACKMAN + type: number + + - name: DSP_FFT_WINDOW_BLACKMANHARRIS + type: number + + - name: DSP_FFT_DOWNMIX_NONE + type: number + + - name: DSP_FFT_DOWNMIX_MONO + type: number + + - name: DSP_FFT_WINDOWSIZE + type: number + + - name: DSP_FFT_WINDOW + type: number + + - name: DSP_FFT_BAND_START_FREQ + type: number + + - name: DSP_FFT_BAND_STOP_FREQ + type: number + + - name: DSP_FFT_SPECTRUMDATA + type: number + + - name: DSP_FFT_RMS + type: number + + - name: DSP_FFT_SPECTRAL_CENTROID + type: number + + - name: DSP_FFT_IMMEDIATE_MODE + type: number + + - name: DSP_FFT_DOWNMIX + type: number + + - name: DSP_FFT_CHANNEL + type: number + + - name: DSP_LOUDNESS_METER_STATE + type: number + + - name: DSP_LOUDNESS_METER_WEIGHTING + type: number + + - name: DSP_LOUDNESS_METER_INFO + type: number + + - name: DSP_LOUDNESS_METER_STATE_RESET_INTEGRATED + type: number + + - name: DSP_LOUDNESS_METER_STATE_RESET_MAXPEAK + type: number + + - name: DSP_LOUDNESS_METER_STATE_RESET_ALL + type: number + + - name: DSP_LOUDNESS_METER_STATE_PAUSED + type: number + + - name: DSP_LOUDNESS_METER_STATE_ANALYZING + type: number + + - name: DSP_CONVOLUTION_REVERB_PARAM_IR + type: number + + - name: DSP_CONVOLUTION_REVERB_PARAM_WET + type: number + + - name: DSP_CONVOLUTION_REVERB_PARAM_DRY + type: number + + - name: DSP_CONVOLUTION_REVERB_PARAM_LINKED + type: number + + - name: DSP_CHANNELMIX_OUTPUT_DEFAULT + type: number + + - name: DSP_CHANNELMIX_OUTPUT_ALLMONO + type: number + + - name: DSP_CHANNELMIX_OUTPUT_ALLSTEREO + type: number + + - name: DSP_CHANNELMIX_OUTPUT_ALLQUAD + type: number + + - name: DSP_CHANNELMIX_OUTPUT_ALL5POINT1 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_ALL7POINT1 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_ALLLFE + type: number + + - name: DSP_CHANNELMIX_OUTPUT_ALL7POINT1POINT4 + type: number + + - name: DSP_CHANNELMIX_OUTPUTGROUPING + type: number + + - name: DSP_CHANNELMIX_GAIN_CH0 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH1 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH2 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH3 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH4 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH5 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH6 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH7 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH8 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH9 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH10 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH11 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH12 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH13 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH14 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH15 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH16 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH17 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH18 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH19 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH20 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH21 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH22 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH23 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH24 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH25 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH26 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH27 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH28 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH29 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH30 + type: number + + - name: DSP_CHANNELMIX_GAIN_CH31 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH0 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH1 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH2 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH3 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH4 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH5 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH6 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH7 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH8 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH9 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH10 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH11 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH12 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH13 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH14 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH15 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH16 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH17 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH18 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH19 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH20 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH21 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH22 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH23 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH24 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH25 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH26 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH27 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH28 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH29 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH30 + type: number + + - name: DSP_CHANNELMIX_OUTPUT_CH31 + type: number + + - name: DSP_TRANSCEIVER_SPEAKERMODE_AUTO + type: number + + - name: DSP_TRANSCEIVER_SPEAKERMODE_MONO + type: number + + - name: DSP_TRANSCEIVER_SPEAKERMODE_STEREO + type: number + + - name: DSP_TRANSCEIVER_SPEAKERMODE_SURROUND + type: number + + - name: DSP_TRANSCEIVER_TRANSMIT + type: number + + - name: DSP_TRANSCEIVER_GAIN + type: number + + - name: DSP_TRANSCEIVER_CHANNEL + type: number + + - name: DSP_TRANSCEIVER_TRANSMITSPEAKERMODE + type: number + + - name: DSP_OBJECTPAN_3D_POSITION + type: number + + - name: DSP_OBJECTPAN_3D_ROLLOFF + type: number + + - name: DSP_OBJECTPAN_3D_MIN_DISTANCE + type: number + + - name: DSP_OBJECTPAN_3D_MAX_DISTANCE + type: number + + - name: DSP_OBJECTPAN_3D_EXTENT_MODE + type: number + + - name: DSP_OBJECTPAN_3D_SOUND_SIZE + type: number + + - name: DSP_OBJECTPAN_3D_MIN_EXTENT + type: number + + - name: DSP_OBJECTPAN_OVERALL_GAIN + type: number + + - name: DSP_OBJECTPAN_OUTPUTGAIN + type: number + + - name: DSP_OBJECTPAN_ATTENUATION_RANGE + type: number + + - name: DSP_OBJECTPAN_OVERRIDE_RANGE + type: number + + - name: DSP_PROCESS_PERFORM + type: number + + - name: DSP_PROCESS_QUERY + type: number + + - name: DSP_PAN_SURROUND_DEFAULT + type: number + + - name: DSP_PAN_SURROUND_ROTATION_NOT_BIASED + type: number + + - name: DSP_PARAMETER_TYPE_FLOAT + type: number + + - name: DSP_PARAMETER_TYPE_INT + type: number + + - name: DSP_PARAMETER_TYPE_BOOL + type: number + + - name: DSP_PARAMETER_TYPE_DATA + type: number + + - name: DSP_PARAMETER_TYPE_MAX + type: number + + - name: DSP_PARAMETER_FLOAT_MAPPING_TYPE_LINEAR + type: number + + - name: DSP_PARAMETER_FLOAT_MAPPING_TYPE_AUTO + type: number + + - name: DSP_PARAMETER_FLOAT_MAPPING_TYPE_PIECEWISE_LINEAR + type: number + + - name: DSP_PARAMETER_DATA_TYPE_USER + type: number + + - name: DSP_PARAMETER_DATA_TYPE_OVERALLGAIN + type: number + + - name: DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES + type: number + + - name: DSP_PARAMETER_DATA_TYPE_SIDECHAIN + type: number + + - name: DSP_PARAMETER_DATA_TYPE_FFT + type: number + + - name: DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES_MULTI + type: number + + - name: DSP_PARAMETER_DATA_TYPE_ATTENUATION_RANGE + type: number + + - name: DSP_PARAMETER_DATA_TYPE_DYNAMIC_RESPONSE + type: number + + - name: STUDIO_LOADING_STATE_UNLOADING + type: number + + - name: STUDIO_LOADING_STATE_UNLOADED + type: number + + - name: STUDIO_LOADING_STATE_LOADING + type: number + + - name: STUDIO_LOADING_STATE_LOADED + type: number + + - name: STUDIO_LOADING_STATE_ERROR + type: number + + - name: STUDIO_LOAD_MEMORY + type: number + + - name: STUDIO_LOAD_MEMORY_POINT + type: number + + - name: STUDIO_PARAMETER_GAME_CONTROLLED + type: number + + - name: STUDIO_PARAMETER_AUTOMATIC_DISTANCE + type: number + + - name: STUDIO_PARAMETER_AUTOMATIC_EVENT_CONE_ANGLE + type: number + + - name: STUDIO_PARAMETER_AUTOMATIC_EVENT_ORIENTATION + type: number + + - name: STUDIO_PARAMETER_AUTOMATIC_DIRECTION + type: number + + - name: STUDIO_PARAMETER_AUTOMATIC_ELEVATION + type: number + + - name: STUDIO_PARAMETER_AUTOMATIC_LISTENER_ORIENTATION + type: number + + - name: STUDIO_PARAMETER_AUTOMATIC_SPEED + type: number + + - name: STUDIO_PARAMETER_AUTOMATIC_SPEED_ABSOLUTE + type: number + + - name: STUDIO_PARAMETER_AUTOMATIC_DISTANCE_NORMALIZED + type: number + + - name: STUDIO_PARAMETER_MAX + type: number + + - name: STUDIO_USER_PROPERTY_TYPE_INTEGER + type: number + + - name: STUDIO_USER_PROPERTY_TYPE_BOOLEAN + type: number + + - name: STUDIO_USER_PROPERTY_TYPE_FLOAT + type: number + + - name: STUDIO_USER_PROPERTY_TYPE_STRING + type: number + + - name: STUDIO_EVENT_PROPERTY_CHANNELPRIORITY + type: number + + - name: STUDIO_EVENT_PROPERTY_SCHEDULE_DELAY + type: number + + - name: STUDIO_EVENT_PROPERTY_SCHEDULE_LOOKAHEAD + type: number + + - name: STUDIO_EVENT_PROPERTY_MINIMUM_DISTANCE + type: number + + - name: STUDIO_EVENT_PROPERTY_MAXIMUM_DISTANCE + type: number + + - name: STUDIO_EVENT_PROPERTY_COOLDOWN + type: number + + - name: STUDIO_EVENT_PROPERTY_MAX + type: number + + - name: STUDIO_PLAYBACK_PLAYING + type: number + + - name: STUDIO_PLAYBACK_SUSTAINING + type: number + + - name: STUDIO_PLAYBACK_STOPPED + type: number + + - name: STUDIO_PLAYBACK_STARTING + type: number + + - name: STUDIO_PLAYBACK_STOPPING + type: number + + - name: STUDIO_STOP_ALLOWFADEOUT + type: number + + - name: STUDIO_STOP_IMMEDIATE + type: number + + - name: STUDIO_INSTANCETYPE_NONE + type: number + + - name: STUDIO_INSTANCETYPE_SYSTEM + type: number + + - name: STUDIO_INSTANCETYPE_EVENTDESCRIPTION + type: number + + - name: STUDIO_INSTANCETYPE_EVENTINSTANCE + type: number + + - name: STUDIO_INSTANCETYPE_PARAMETERINSTANCE + type: number + + - name: STUDIO_INSTANCETYPE_BUS + type: number + + - name: STUDIO_INSTANCETYPE_VCA + type: number + + - name: STUDIO_INSTANCETYPE_BANK + type: number + + - name: STUDIO_INSTANCETYPE_COMMANDREPLAY + type: number + + - name: VERSION + type: number + + - name: BUILDNUMBER + type: number + + - name: DEBUG_LEVEL_NONE + type: number + + - name: DEBUG_LEVEL_ERROR + type: number + + - name: DEBUG_LEVEL_WARNING + type: number + + - name: DEBUG_LEVEL_LOG + type: number + + - name: DEBUG_TYPE_MEMORY + type: number + + - name: DEBUG_TYPE_FILE + type: number + + - name: DEBUG_TYPE_CODEC + type: number + + - name: DEBUG_TYPE_TRACE + type: number + + - name: DEBUG_TYPE_VIRTUAL + type: number + + - name: DEBUG_DISPLAY_TIMESTAMPS + type: number + + - name: DEBUG_DISPLAY_LINENUMBERS + type: number + + - name: DEBUG_DISPLAY_THREAD + type: number + + - name: MEMORY_NORMAL + type: number + + - name: MEMORY_STREAM_FILE + type: number + + - name: MEMORY_STREAM_DECODE + type: number + + - name: MEMORY_SAMPLEDATA + type: number + + - name: MEMORY_DSP_BUFFER + type: number + + - name: MEMORY_PLUGIN + type: number + + - name: MEMORY_PERSISTENT + type: number + + - name: MEMORY_ALL + type: number + + - name: INIT_NORMAL + type: number + + - name: INIT_STREAM_FROM_UPDATE + type: number + + - name: INIT_MIX_FROM_UPDATE + type: number + + - name: INIT_3D_RIGHTHANDED + type: number + + - name: INIT_CLIP_OUTPUT + type: number + + - name: INIT_CHANNEL_LOWPASS + type: number + + - name: INIT_CHANNEL_DISTANCEFILTER + type: number + + - name: INIT_PROFILE_ENABLE + type: number + + - name: INIT_VOL0_BECOMES_VIRTUAL + type: number + + - name: INIT_GEOMETRY_USECLOSEST + type: number + + - name: INIT_PREFER_DOLBY_DOWNMIX + type: number + + - name: INIT_THREAD_UNSAFE + type: number + + - name: INIT_PROFILE_METER_ALL + type: number + + - name: INIT_MEMORY_TRACKING + type: number + + - name: DRIVER_STATE_CONNECTED + type: number + + - name: DRIVER_STATE_DEFAULT + type: number + + - name: TIMEUNIT_MS + type: number + + - name: TIMEUNIT_PCM + type: number + + - name: TIMEUNIT_PCMBYTES + type: number + + - name: TIMEUNIT_RAWBYTES + type: number + + - name: TIMEUNIT_PCMFRACTION + type: number + + - name: TIMEUNIT_MODORDER + type: number + + - name: TIMEUNIT_MODROW + type: number + + - name: TIMEUNIT_MODPATTERN + type: number + + - name: SYSTEM_CALLBACK_DEVICELISTCHANGED + type: number + + - name: SYSTEM_CALLBACK_DEVICELOST + type: number + + - name: SYSTEM_CALLBACK_MEMORYALLOCATIONFAILED + type: number + + - name: SYSTEM_CALLBACK_THREADCREATED + type: number + + - name: SYSTEM_CALLBACK_BADDSPCONNECTION + type: number + + - name: SYSTEM_CALLBACK_PREMIX + type: number + + - name: SYSTEM_CALLBACK_POSTMIX + type: number + + - name: SYSTEM_CALLBACK_ERROR + type: number + + - name: SYSTEM_CALLBACK_THREADDESTROYED + type: number + + - name: SYSTEM_CALLBACK_PREUPDATE + type: number + + - name: SYSTEM_CALLBACK_POSTUPDATE + type: number + + - name: SYSTEM_CALLBACK_RECORDLISTCHANGED + type: number + + - name: SYSTEM_CALLBACK_BUFFEREDNOMIX + type: number + + - name: SYSTEM_CALLBACK_DEVICEREINITIALIZE + type: number + + - name: SYSTEM_CALLBACK_OUTPUTUNDERRUN + type: number + + - name: SYSTEM_CALLBACK_RECORDPOSITIONCHANGED + type: number + + - name: SYSTEM_CALLBACK_ALL + type: number + + - name: DEFAULT + type: number + + - name: LOOP_OFF + type: number + + - name: LOOP_NORMAL + type: number + + - name: LOOP_BIDI + type: number + + - name: 2D + type: number + + - name: 3D + type: number + + - name: CREATESTREAM + type: number + + - name: CREATESAMPLE + type: number + + - name: CREATECOMPRESSEDSAMPLE + type: number + + - name: OPENUSER + type: number + + - name: OPENMEMORY + type: number + + - name: OPENMEMORY_POINT + type: number + + - name: OPENRAW + type: number + + - name: OPENONLY + type: number + + - name: ACCURATETIME + type: number + + - name: MPEGSEARCH + type: number + + - name: NONBLOCKING + type: number + + - name: UNIQUE + type: number + + - name: 3D_HEADRELATIVE + type: number + + - name: 3D_WORLDRELATIVE + type: number + + - name: 3D_INVERSEROLLOFF + type: number + + - name: 3D_LINEARROLLOFF + type: number + + - name: 3D_LINEARSQUAREROLLOFF + type: number + + - name: 3D_INVERSETAPEREDROLLOFF + type: number + + - name: 3D_CUSTOMROLLOFF + type: number + + - name: 3D_IGNOREGEOMETRY + type: number + + - name: IGNORETAGS + type: number + + - name: LOWMEM + type: number + + - name: VIRTUAL_PLAYFROMSTART + type: number + + - name: CHANNELMASK_FRONT_LEFT + type: number + + - name: CHANNELMASK_FRONT_RIGHT + type: number + + - name: CHANNELMASK_FRONT_CENTER + type: number + + - name: CHANNELMASK_LOW_FREQUENCY + type: number + + - name: CHANNELMASK_SURROUND_LEFT + type: number + + - name: CHANNELMASK_SURROUND_RIGHT + type: number + + - name: CHANNELMASK_BACK_LEFT + type: number + + - name: CHANNELMASK_BACK_RIGHT + type: number + + - name: CHANNELMASK_BACK_CENTER + type: number + + - name: CHANNELMASK_MONO + type: number + + - name: CHANNELMASK_STEREO + type: number + + - name: CHANNELMASK_LRC + type: number + + - name: CHANNELMASK_QUAD + type: number + + - name: CHANNELMASK_SURROUND + type: number + + - name: CHANNELMASK_5POINT1 + type: number + + - name: CHANNELMASK_5POINT1_REARS + type: number + + - name: CHANNELMASK_7POINT0 + type: number + + - name: CHANNELMASK_7POINT1 + type: number + + - name: PORT_INDEX_NONE + type: number + + - name: THREAD_PRIORITY_PLATFORM_MIN + type: number + + - name: THREAD_PRIORITY_PLATFORM_MAX + type: number + + - name: THREAD_PRIORITY_DEFAULT + type: number + + - name: THREAD_PRIORITY_LOW + type: number + + - name: THREAD_PRIORITY_MEDIUM + type: number + + - name: THREAD_PRIORITY_HIGH + type: number + + - name: THREAD_PRIORITY_VERY_HIGH + type: number + + - name: THREAD_PRIORITY_EXTREME + type: number + + - name: THREAD_PRIORITY_CRITICAL + type: number + + - name: THREAD_PRIORITY_MIXER + type: number + + - name: THREAD_PRIORITY_FEEDER + type: number + + - name: THREAD_PRIORITY_STREAM + type: number + + - name: THREAD_PRIORITY_FILE + type: number + + - name: THREAD_PRIORITY_NONBLOCKING + type: number + + - name: THREAD_PRIORITY_RECORD + type: number + + - name: THREAD_PRIORITY_GEOMETRY + type: number + + - name: THREAD_PRIORITY_PROFILER + type: number + + - name: THREAD_PRIORITY_STUDIO_UPDATE + type: number + + - name: THREAD_PRIORITY_STUDIO_LOAD_BANK + type: number + + - name: THREAD_PRIORITY_STUDIO_LOAD_SAMPLE + type: number + + - name: THREAD_PRIORITY_CONVOLUTION1 + type: number + + - name: THREAD_PRIORITY_CONVOLUTION2 + type: number + + - name: THREAD_STACK_SIZE_DEFAULT + type: number + + - name: THREAD_STACK_SIZE_MIXER + type: number + + - name: THREAD_STACK_SIZE_FEEDER + type: number + + - name: THREAD_STACK_SIZE_STREAM + type: number + + - name: THREAD_STACK_SIZE_FILE + type: number + + - name: THREAD_STACK_SIZE_NONBLOCKING + type: number + + - name: THREAD_STACK_SIZE_RECORD + type: number + + - name: THREAD_STACK_SIZE_GEOMETRY + type: number + + - name: THREAD_STACK_SIZE_PROFILER + type: number + + - name: THREAD_STACK_SIZE_STUDIO_UPDATE + type: number + + - name: THREAD_STACK_SIZE_STUDIO_LOAD_BANK + type: number + + - name: THREAD_STACK_SIZE_STUDIO_LOAD_SAMPLE + type: number + + - name: THREAD_STACK_SIZE_CONVOLUTION1 + type: number + + - name: THREAD_STACK_SIZE_CONVOLUTION2 + type: number + + - name: THREAD_AFFINITY_GROUP_DEFAULT + type: number + + - name: THREAD_AFFINITY_GROUP_A + type: number + + - name: THREAD_AFFINITY_GROUP_B + type: number + + - name: THREAD_AFFINITY_GROUP_C + type: number + + - name: THREAD_AFFINITY_MIXER + type: number + + - name: THREAD_AFFINITY_FEEDER + type: number + + - name: THREAD_AFFINITY_STREAM + type: number + + - name: THREAD_AFFINITY_FILE + type: number + + - name: THREAD_AFFINITY_NONBLOCKING + type: number + + - name: THREAD_AFFINITY_RECORD + type: number + + - name: THREAD_AFFINITY_GEOMETRY + type: number + + - name: THREAD_AFFINITY_PROFILER + type: number + + - name: THREAD_AFFINITY_STUDIO_UPDATE + type: number + + - name: THREAD_AFFINITY_STUDIO_LOAD_BANK + type: number + + - name: THREAD_AFFINITY_STUDIO_LOAD_SAMPLE + type: number + + - name: THREAD_AFFINITY_CONVOLUTION1 + type: number + + - name: THREAD_AFFINITY_CONVOLUTION2 + type: number + + - name: THREAD_AFFINITY_CORE_ALL + type: number + + - name: THREAD_AFFINITY_CORE_0 + type: number + + - name: THREAD_AFFINITY_CORE_1 + type: number + + - name: THREAD_AFFINITY_CORE_2 + type: number + + - name: THREAD_AFFINITY_CORE_3 + type: number + + - name: THREAD_AFFINITY_CORE_4 + type: number + + - name: THREAD_AFFINITY_CORE_5 + type: number + + - name: THREAD_AFFINITY_CORE_6 + type: number + + - name: THREAD_AFFINITY_CORE_7 + type: number + + - name: THREAD_AFFINITY_CORE_8 + type: number + + - name: THREAD_AFFINITY_CORE_9 + type: number + + - name: THREAD_AFFINITY_CORE_10 + type: number + + - name: THREAD_AFFINITY_CORE_11 + type: number + + - name: THREAD_AFFINITY_CORE_12 + type: number + + - name: THREAD_AFFINITY_CORE_13 + type: number + + - name: THREAD_AFFINITY_CORE_14 + type: number + + - name: THREAD_AFFINITY_CORE_15 + type: number + + - name: MAX_CHANNEL_WIDTH + type: number + + - name: MAX_SYSTEMS + type: number + + - name: MAX_LISTENERS + type: number + + - name: REVERB_MAXINSTANCES + type: number + + - name: STUDIO_LOAD_MEMORY_ALIGNMENT + type: number + + - name: STUDIO_INIT_NORMAL + type: number + + - name: STUDIO_INIT_LIVEUPDATE + type: number + + - name: STUDIO_INIT_ALLOW_MISSING_PLUGINS + type: number + + - name: STUDIO_INIT_SYNCHRONOUS_UPDATE + type: number + + - name: STUDIO_INIT_DEFERRED_CALLBACKS + type: number + + - name: STUDIO_INIT_LOAD_FROM_UPDATE + type: number + + - name: STUDIO_INIT_MEMORY_TRACKING + type: number + + - name: STUDIO_PARAMETER_READONLY + type: number + + - name: STUDIO_PARAMETER_AUTOMATIC + type: number + + - name: STUDIO_PARAMETER_GLOBAL + type: number + + - name: STUDIO_PARAMETER_DISCRETE + type: number + + - name: STUDIO_PARAMETER_LABELED + type: number + + - name: STUDIO_SYSTEM_CALLBACK_PREUPDATE + type: number + + - name: STUDIO_SYSTEM_CALLBACK_POSTUPDATE + type: number + + - name: STUDIO_SYSTEM_CALLBACK_BANK_UNLOAD + type: number + + - name: STUDIO_SYSTEM_CALLBACK_LIVEUPDATE_CONNECTED + type: number + + - name: STUDIO_SYSTEM_CALLBACK_LIVEUPDATE_DISCONNECTED + type: number + + - name: STUDIO_SYSTEM_CALLBACK_ALL + type: number + + - name: STUDIO_EVENT_CALLBACK_CREATED + type: number + + - name: STUDIO_EVENT_CALLBACK_DESTROYED + type: number + + - name: STUDIO_EVENT_CALLBACK_STARTING + type: number + + - name: STUDIO_EVENT_CALLBACK_STARTED + type: number + + - name: STUDIO_EVENT_CALLBACK_RESTARTED + type: number + + - name: STUDIO_EVENT_CALLBACK_STOPPED + type: number + + - name: STUDIO_EVENT_CALLBACK_START_FAILED + type: number + + - name: STUDIO_EVENT_CALLBACK_CREATE_PROGRAMMER_SOUND + type: number + + - name: STUDIO_EVENT_CALLBACK_DESTROY_PROGRAMMER_SOUND + type: number + + - name: STUDIO_EVENT_CALLBACK_PLUGIN_CREATED + type: number + + - name: STUDIO_EVENT_CALLBACK_PLUGIN_DESTROYED + type: number + + - name: STUDIO_EVENT_CALLBACK_TIMELINE_MARKER + type: number + + - name: STUDIO_EVENT_CALLBACK_TIMELINE_BEAT + type: number + + - name: STUDIO_EVENT_CALLBACK_SOUND_PLAYED + type: number + + - name: STUDIO_EVENT_CALLBACK_SOUND_STOPPED + type: number + + - name: STUDIO_EVENT_CALLBACK_REAL_TO_VIRTUAL + type: number + + - name: STUDIO_EVENT_CALLBACK_VIRTUAL_TO_REAL + type: number + + - name: STUDIO_EVENT_CALLBACK_START_EVENT_COMMAND + type: number + + - name: STUDIO_EVENT_CALLBACK_NESTED_TIMELINE_BEAT + type: number + + - name: STUDIO_EVENT_CALLBACK_ALL + type: number + + - name: STUDIO_LOAD_BANK_NORMAL + type: number + + - name: STUDIO_LOAD_BANK_NONBLOCKING + type: number + + - name: STUDIO_LOAD_BANK_DECOMPRESS_SAMPLES + type: number + + - name: STUDIO_LOAD_BANK_UNENCRYPTED + type: number + + - name: STUDIO_COMMANDCAPTURE_NORMAL + type: number + + - name: STUDIO_COMMANDCAPTURE_FILEFLUSH + type: number + + - name: STUDIO_COMMANDCAPTURE_SKIP_INITIAL_STATE + type: number + + - name: STUDIO_COMMANDREPLAY_NORMAL + type: number + + - name: STUDIO_COMMANDREPLAY_SKIP_CLEANUP + type: number + + - name: STUDIO_COMMANDREPLAY_FAST_FORWARD + type: number + + - name: STUDIO_COMMANDREPLAY_SKIP_BANK_LOAD + type: number + + +#***************************************************************************************************** + + - name: ASYNCREADINFO + type: function + desc: Creates a new FMOD_ASYNCREADINFO struct + returns: + - name: struct + type: fmod.asyncreadinfo + desc: The created struct instance + + - name: _3D_ATTRIBUTES + type: function + desc: Creates a new FMOD_3D_ATTRIBUTES struct + returns: + - name: struct + type: fmod.3d_attributes + desc: The created struct instance + + - name: GUID + type: function + desc: Creates a new FMOD_GUID struct + returns: + - name: struct + type: fmod.guid + desc: The created struct instance + + - name: PLUGINLIST + type: function + desc: Creates a new FMOD_PLUGINLIST struct + returns: + - name: struct + type: fmod.pluginlist + desc: The created struct instance + + - name: ADVANCEDSETTINGS + type: function + desc: Creates a new FMOD_ADVANCEDSETTINGS struct + returns: + - name: struct + type: fmod.advancedsettings + desc: The created struct instance + + - name: TAG + type: function + desc: Creates a new FMOD_TAG struct + returns: + - name: struct + type: fmod.tag + desc: The created struct instance + + - name: CREATESOUNDEXINFO + type: function + desc: Creates a new FMOD_CREATESOUNDEXINFO struct + returns: + - name: struct + type: fmod.createsoundexinfo + desc: The created struct instance + + - name: REVERB_PROPERTIES + type: function + desc: Creates a new FMOD_REVERB_PROPERTIES struct + returns: + - name: struct + type: fmod.reverb_properties + desc: The created struct instance + + - name: ERRORCALLBACK_INFO + type: function + desc: Creates a new FMOD_ERRORCALLBACK_INFO struct + returns: + - name: struct + type: fmod.errorcallback_info + desc: The created struct instance + + - name: CPU_USAGE + type: function + desc: Creates a new FMOD_CPU_USAGE struct + returns: + - name: struct + type: fmod.cpu_usage + desc: The created struct instance + + - name: DSP_DATA_PARAMETER_INFO + type: function + desc: Creates a new FMOD_DSP_DATA_PARAMETER_INFO struct + returns: + - name: struct + type: fmod.dsp_data_parameter_info + desc: The created struct instance + + - name: CODEC_STATE + type: function + desc: Creates a new FMOD_CODEC_STATE struct + returns: + - name: struct + type: fmod.codec_state + desc: The created struct instance + + - name: CODEC_WAVEFORMAT + type: function + desc: Creates a new FMOD_CODEC_WAVEFORMAT struct + returns: + - name: struct + type: fmod.codec_waveformat + desc: The created struct instance + + - name: CODEC_DESCRIPTION + type: function + desc: Creates a new FMOD_CODEC_DESCRIPTION struct + returns: + - name: struct + type: fmod.codec_description + desc: The created struct instance + + - name: CODEC_STATE_FUNCTIONS + type: function + desc: Creates a new FMOD_CODEC_STATE_FUNCTIONS struct + returns: + - name: struct + type: fmod.codec_state_functions + desc: The created struct instance + + - name: DSP_LOUDNESS_METER_INFO_TYPE + type: function + desc: Creates a new FMOD_DSP_LOUDNESS_METER_INFO_TYPE struct + returns: + - name: struct + type: fmod.dsp_loudness_meter_info_type + desc: The created struct instance + + - name: DSP_LOUDNESS_METER_WEIGHTING_TYPE + type: function + desc: Creates a new FMOD_DSP_LOUDNESS_METER_WEIGHTING_TYPE struct + returns: + - name: struct + type: fmod.dsp_loudness_meter_weighting_type + desc: The created struct instance + + - name: DSP_STATE + type: function + desc: Creates a new FMOD_DSP_STATE struct + returns: + - name: struct + type: fmod.dsp_state + desc: The created struct instance + + - name: DSP_BUFFER_ARRAY + type: function + desc: Creates a new FMOD_DSP_BUFFER_ARRAY struct + returns: + - name: struct + type: fmod.dsp_buffer_array + desc: The created struct instance + + - name: COMPLEX + type: function + desc: Creates a new FMOD_COMPLEX struct + returns: + - name: struct + type: fmod.complex + desc: The created struct instance + + - name: DSP_PARAMETER_FLOAT_MAPPING_PIECEWISE_LINEAR + type: function + desc: Creates a new FMOD_DSP_PARAMETER_FLOAT_MAPPING_PIECEWISE_LINEAR struct + returns: + - name: struct + type: fmod.dsp_parameter_float_mapping_piecewise_linear + desc: The created struct instance + + - name: DSP_PARAMETER_FLOAT_MAPPING + type: function + desc: Creates a new FMOD_DSP_PARAMETER_FLOAT_MAPPING struct + returns: + - name: struct + type: fmod.dsp_parameter_float_mapping + desc: The created struct instance + + - name: DSP_PARAMETER_DESC_FLOAT + type: function + desc: Creates a new FMOD_DSP_PARAMETER_DESC_FLOAT struct + returns: + - name: struct + type: fmod.dsp_parameter_desc_float + desc: The created struct instance + + - name: DSP_PARAMETER_DESC_INT + type: function + desc: Creates a new FMOD_DSP_PARAMETER_DESC_INT struct + returns: + - name: struct + type: fmod.dsp_parameter_desc_int + desc: The created struct instance + + - name: DSP_PARAMETER_DESC_BOOL + type: function + desc: Creates a new FMOD_DSP_PARAMETER_DESC_BOOL struct + returns: + - name: struct + type: fmod.dsp_parameter_desc_bool + desc: The created struct instance + + - name: DSP_PARAMETER_DESC_DATA + type: function + desc: Creates a new FMOD_DSP_PARAMETER_DESC_DATA struct + returns: + - name: struct + type: fmod.dsp_parameter_desc_data + desc: The created struct instance + + - name: DSP_PARAMETER_DESC + type: function + desc: Creates a new FMOD_DSP_PARAMETER_DESC struct + returns: + - name: struct + type: fmod.dsp_parameter_desc + desc: The created struct instance + + - name: DSP_PARAMETER_OVERALLGAIN + type: function + desc: Creates a new FMOD_DSP_PARAMETER_OVERALLGAIN struct + returns: + - name: struct + type: fmod.dsp_parameter_overallgain + desc: The created struct instance + + - name: DSP_PARAMETER_3DATTRIBUTES + type: function + desc: Creates a new FMOD_DSP_PARAMETER_3DATTRIBUTES struct + returns: + - name: struct + type: fmod.dsp_parameter_3dattributes + desc: The created struct instance + + - name: DSP_PARAMETER_3DATTRIBUTES_MULTI + type: function + desc: Creates a new FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI struct + returns: + - name: struct + type: fmod.dsp_parameter_3dattributes_multi + desc: The created struct instance + + - name: DSP_PARAMETER_ATTENUATION_RANGE + type: function + desc: Creates a new FMOD_DSP_PARAMETER_ATTENUATION_RANGE struct + returns: + - name: struct + type: fmod.dsp_parameter_attenuation_range + desc: The created struct instance + + - name: DSP_PARAMETER_SIDECHAIN + type: function + desc: Creates a new FMOD_DSP_PARAMETER_SIDECHAIN struct + returns: + - name: struct + type: fmod.dsp_parameter_sidechain + desc: The created struct instance + + - name: DSP_PARAMETER_FFT + type: function + desc: Creates a new FMOD_DSP_PARAMETER_FFT struct + returns: + - name: struct + type: fmod.dsp_parameter_fft + desc: The created struct instance + + - name: DSP_PARAMETER_DYNAMIC_RESPONSE + type: function + desc: Creates a new FMOD_DSP_PARAMETER_DYNAMIC_RESPONSE struct + returns: + - name: struct + type: fmod.dsp_parameter_dynamic_response + desc: The created struct instance + + - name: DSP_DESCRIPTION + type: function + desc: Creates a new FMOD_DSP_DESCRIPTION struct + returns: + - name: struct + type: fmod.dsp_description + desc: The created struct instance + + - name: DSP_STATE_DFT_FUNCTIONS + type: function + desc: Creates a new FMOD_DSP_STATE_DFT_FUNCTIONS struct + returns: + - name: struct + type: fmod.dsp_state_dft_functions + desc: The created struct instance + + - name: DSP_STATE_PAN_FUNCTIONS + type: function + desc: Creates a new FMOD_DSP_STATE_PAN_FUNCTIONS struct + returns: + - name: struct + type: fmod.dsp_state_pan_functions + desc: The created struct instance + + - name: DSP_STATE_FUNCTIONS + type: function + desc: Creates a new FMOD_DSP_STATE_FUNCTIONS struct + returns: + - name: struct + type: fmod.dsp_state_functions + desc: The created struct instance + + - name: DSP_METERING_INFO + type: function + desc: Creates a new FMOD_DSP_METERING_INFO struct + returns: + - name: struct + type: fmod.dsp_metering_info + desc: The created struct instance + + - name: OUTPUT_STATE + type: function + desc: Creates a new FMOD_OUTPUT_STATE struct + returns: + - name: struct + type: fmod.output_state + desc: The created struct instance + + - name: OUTPUT_OBJECT3DINFO + type: function + desc: Creates a new FMOD_OUTPUT_OBJECT3DINFO struct + returns: + - name: struct + type: fmod.output_object3dinfo + desc: The created struct instance + + - name: OUTPUT_DESCRIPTION + type: function + desc: Creates a new FMOD_OUTPUT_DESCRIPTION struct + returns: + - name: struct + type: fmod.output_description + desc: The created struct instance + + +#***************************************************************************************************** + + - name: memory_initialize + type: function + desc: | + FMOD_Memory_Initialize + + - name: memory_get_stats + type: function + desc: | + FMOD_Memory_GetStats + parameters: + - name: blocking + type: boolean + desc: blocking + returns: + - name: currentalloced + type: userdata + + - name: maxalloced + type: userdata + + + - name: debug_initialize + type: function + desc: | + FMOD_Debug_Initialize + + - name: file_set_disk_busy + type: function + desc: | + FMOD_File_SetDiskBusy + parameters: + - name: busy + type: number + desc: busy + + - name: file_get_disk_busy + type: function + desc: | + FMOD_File_GetDiskBusy + returns: + - name: busy + type: userdata + + + - name: thread_set_attributes + type: function + desc: | + FMOD_Thread_SetAttributes + parameters: + - name: type + type: number + desc: type + - name: affinity + type: number + desc: affinity + - name: priority + type: number + desc: priority + - name: stacksize + type: number + desc: Length or size value + + - name: system_create + type: function + desc: | + FMOD_System_Create + parameters: + - name: headerversion + type: number + desc: headerversion + returns: + - name: system + type: userdata + + + +#***************************************************************************************************** + + - name: system + type: fmod.system + desc: The FMOD low-level system instance + + - name: error_code + type: table + desc: Table mapping error messages to error codes + + - name: s64 + type: function + desc: Creates a signed 64-bit integer value + parameters: + - name: value + type: number + desc: The value (or low 32 bits if high is provided) + - name: high + type: number + desc: The high 32 bits (optional) + returns: + - name: value + type: userdata + desc: The 64-bit integer value + + - name: u64 + type: function + desc: Creates an unsigned 64-bit integer value + parameters: + - name: value + type: number + desc: The value (or low 32 bits if high is provided) + - name: high + type: number + desc: The high 32 bits (optional) + returns: + - name: value + type: userdata + desc: The 64-bit integer value + +#***************************************************************************************************** + +- name: fmod.system + type: userdata + desc: FMOD_SYSTEM instance + + members: + - name: release + type: function + desc: | + FMOD_System_Release + - name: set_output + type: function + desc: | + FMOD_System_SetOutput + parameters: + - name: output + type: number + desc: output + - name: get_output + type: function + desc: | + FMOD_System_GetOutput + returns: + - name: output + type: userdata + + + - name: get_num_drivers + type: function + desc: | + FMOD_System_GetNumDrivers + returns: + - name: numdrivers + type: userdata + + + - name: get_driver_info + type: function + desc: | + FMOD_System_GetDriverInfo + - name: set_driver + type: function + desc: | + FMOD_System_SetDriver + parameters: + - name: driver + type: number + desc: driver + - name: get_driver + type: function + desc: | + FMOD_System_GetDriver + returns: + - name: driver + type: userdata + + + - name: set_software_channels + type: function + desc: | + FMOD_System_SetSoftwareChannels + parameters: + - name: numsoftwarechannels + type: number + desc: Channel handle + - name: get_software_channels + type: function + desc: | + FMOD_System_GetSoftwareChannels + returns: + - name: numsoftwarechannels + type: userdata + + + - name: set_software_format + type: function + desc: | + FMOD_System_SetSoftwareFormat + parameters: + - name: samplerate + type: number + desc: samplerate + - name: speakermode + type: number + desc: Mode flags + - name: numrawspeakers + type: number + desc: numrawspeakers + - name: get_software_format + type: function + desc: | + FMOD_System_GetSoftwareFormat + returns: + - name: samplerate + type: userdata + + - name: speakermode + type: userdata + + - name: numrawspeakers + type: userdata + + + - name: set_dsp_buffer_size + type: function + desc: | + FMOD_System_SetDSPBufferSize + parameters: + - name: bufferlength + type: number + desc: Length or size value + - name: numbuffers + type: number + desc: numbuffers + - name: get_dsp_buffer_size + type: function + desc: | + FMOD_System_GetDSPBufferSize + returns: + - name: bufferlength + type: userdata + + - name: numbuffers + type: userdata + + + - name: set_file_system + type: function + desc: | + FMOD_System_SetFileSystem + - name: attach_file_system + type: function + desc: | + FMOD_System_AttachFileSystem + - name: set_advanced_settings + type: function + desc: | + FMOD_System_SetAdvancedSettings + returns: + - name: settings + type: fmod.advancedsettings + + + - name: get_advanced_settings + type: function + desc: | + FMOD_System_GetAdvancedSettings + returns: + - name: settings + type: fmod.advancedsettings + + + - name: set_callback + type: function + desc: | + FMOD_System_SetCallback + - name: set_plugin_path + type: function + desc: | + FMOD_System_SetPluginPath + parameters: + - name: path + type: string + desc: path + - name: load_plugin + type: function + desc: | + FMOD_System_LoadPlugin + parameters: + - name: filename + type: string + desc: Name or path + - name: priority + type: number + desc: priority + returns: + - name: handle + type: userdata + + + - name: unload_plugin + type: function + desc: | + FMOD_System_UnloadPlugin + parameters: + - name: handle + type: number + desc: handle + - name: get_num_nested_plugins + type: function + desc: | + FMOD_System_GetNumNestedPlugins + parameters: + - name: handle + type: number + desc: handle + returns: + - name: count + type: userdata + + + - name: get_nested_plugin + type: function + desc: | + FMOD_System_GetNestedPlugin + parameters: + - name: handle + type: number + desc: handle + - name: index + type: number + desc: Index value + returns: + - name: nestedhandle + type: userdata + + + - name: get_num_plugins + type: function + desc: | + FMOD_System_GetNumPlugins + parameters: + - name: plugintype + type: number + desc: plugintype + returns: + - name: numplugins + type: userdata + + + - name: get_plugin_handle + type: function + desc: | + FMOD_System_GetPluginHandle + parameters: + - name: plugintype + type: number + desc: plugintype + - name: index + type: number + desc: Index value + returns: + - name: handle + type: userdata + + + - name: get_plugin_info + type: function + desc: | + FMOD_System_GetPluginInfo + - name: set_output_by_plugin + type: function + desc: | + FMOD_System_SetOutputByPlugin + parameters: + - name: handle + type: number + desc: handle + - name: get_output_by_plugin + type: function + desc: | + FMOD_System_GetOutputByPlugin + returns: + - name: handle + type: userdata + + + - name: create_dsp_by_plugin + type: function + desc: | + FMOD_System_CreateDSPByPlugin + parameters: + - name: handle + type: number + desc: handle + returns: + - name: dsp + type: userdata + + + - name: get_dsp_info_by_plugin + type: function + desc: | + FMOD_System_GetDSPInfoByPlugin + parameters: + - name: handle + type: number + desc: handle + returns: + - name: description + type: userdata + + + - name: register_codec + type: function + desc: | + FMOD_System_RegisterCodec + parameters: + - name: priority + type: number + desc: priority + returns: + - name: description + type: fmod.codec_description + + - name: handle + type: userdata + + + - name: register_dsp + type: function + desc: | + FMOD_System_RegisterDSP + parameters: + - name: description + type: userdata + desc: description + returns: + - name: handle + type: userdata + + + - name: register_output + type: function + desc: | + FMOD_System_RegisterOutput + parameters: + - name: description + type: userdata + desc: description + returns: + - name: handle + type: userdata + + + - name: init + type: function + desc: | + FMOD_System_Init + - name: close + type: function + desc: | + FMOD_System_Close + - name: update + type: function + desc: | + FMOD_System_Update + - name: set_speaker_position + type: function + desc: | + FMOD_System_SetSpeakerPosition + parameters: + - name: speaker + type: number + desc: speaker + - name: x + type: number + desc: x + - name: y + type: number + desc: y + - name: active + type: boolean + desc: active + - name: get_speaker_position + type: function + desc: | + FMOD_System_GetSpeakerPosition + parameters: + - name: speaker + type: number + desc: speaker + returns: + - name: x + type: userdata + + - name: y + type: userdata + + - name: active + type: userdata + + + - name: set_stream_buffer_size + type: function + desc: | + FMOD_System_SetStreamBufferSize + parameters: + - name: filebuffersize + type: number + desc: Length or size value + - name: filebuffersizetype + type: number + desc: Length or size value + - name: get_stream_buffer_size + type: function + desc: | + FMOD_System_GetStreamBufferSize + returns: + - name: filebuffersize + type: userdata + + - name: filebuffersizetype + type: userdata + + + - name: set_3d_settings + type: function + desc: | + FMOD_System_Set3DSettings + parameters: + - name: dopplerscale + type: number + desc: dopplerscale + - name: distancefactor + type: number + desc: distancefactor + - name: rolloffscale + type: number + desc: rolloffscale + - name: get_3d_settings + type: function + desc: | + FMOD_System_Get3DSettings + returns: + - name: dopplerscale + type: userdata + + - name: distancefactor + type: userdata + + - name: rolloffscale + type: userdata + + + - name: set_3d_num_listeners + type: function + desc: | + FMOD_System_Set3DNumListeners + parameters: + - name: numlisteners + type: number + desc: numlisteners + - name: get_3d_num_listeners + type: function + desc: | + FMOD_System_Get3DNumListeners + returns: + - name: numlisteners + type: userdata + + + - name: set_3d_listener_attributes + type: function + desc: | + FMOD_System_Set3DListenerAttributes + parameters: + - name: listener + type: number + desc: listener + - name: pos + type: vector3 + desc: pos + - name: vel + type: vector3 + desc: vel + - name: forward + type: vector3 + desc: forward + - name: up + type: vector3 + desc: up + - name: get_3d_listener_attributes + type: function + desc: | + FMOD_System_Get3DListenerAttributes + parameters: + - name: listener + type: number + desc: listener + returns: + - name: pos + type: vector3 + + - name: vel + type: vector3 + + - name: forward + type: vector3 + + - name: up + type: vector3 + + + - name: set_3d_rolloff_callback + type: function + desc: | + FMOD_System_Set3DRolloffCallback + - name: mixer_suspend + type: function + desc: | + FMOD_System_MixerSuspend + - name: mixer_resume + type: function + desc: | + FMOD_System_MixerResume + - name: get_default_mix_matrix + type: function + desc: | + FMOD_System_GetDefaultMixMatrix + parameters: + - name: sourcespeakermode + type: number + desc: Mode flags + - name: targetspeakermode + type: number + desc: Mode flags + - name: matrixhop + type: number + desc: matrixhop + returns: + - name: matrix + type: userdata + + + - name: get_speaker_mode_channels + type: function + desc: | + FMOD_System_GetSpeakerModeChannels + parameters: + - name: mode + type: number + desc: Mode flags + returns: + - name: channels + type: userdata + + + - name: get_version + type: function + desc: | + FMOD_System_GetVersion + returns: + - name: version + type: userdata + + - name: buildnumber + type: userdata + + + - name: get_output_handle + type: function + desc: | + FMOD_System_GetOutputHandle + - name: get_channels_playing + type: function + desc: | + FMOD_System_GetChannelsPlaying + returns: + - name: channels + type: userdata + + - name: realchannels + type: userdata + + + - name: get_cpu_usage + type: function + desc: | + FMOD_System_GetCPUUsage + returns: + - name: usage + type: fmod.cpu_usage + + + - name: get_file_usage + type: function + desc: | + FMOD_System_GetFileUsage + returns: + - name: sampleBytesRead + type: userdata + + - name: streamBytesRead + type: userdata + + - name: otherBytesRead + type: userdata + + + - name: create_sound + type: function + desc: | + FMOD_System_CreateSound + parameters: + - name: name_or_data + type: string + desc: Name or path + - name: mode + type: number + desc: Mode flags + - name: exinfo + type: userdata + desc: exinfo (optional) + returns: + - name: sound + type: userdata + + + - name: create_stream + type: function + desc: | + FMOD_System_CreateStream + parameters: + - name: name_or_data + type: string + desc: Name or path + - name: mode + type: number + desc: Mode flags + - name: exinfo + type: userdata + desc: exinfo (optional) + returns: + - name: sound + type: userdata + + + - name: create_dsp + type: function + desc: | + FMOD_System_CreateDSP + parameters: + - name: description + type: userdata + desc: description + returns: + - name: dsp + type: userdata + + + - name: create_dsp_by_type + type: function + desc: | + FMOD_System_CreateDSPByType + parameters: + - name: type + type: number + desc: type + returns: + - name: dsp + type: userdata + + + - name: create_dsp_connection + type: function + desc: | + FMOD_System_CreateDSPConnection + parameters: + - name: type + type: number + desc: type + returns: + - name: connection + type: userdata + + + - name: create_channel_group + type: function + desc: | + FMOD_System_CreateChannelGroup + parameters: + - name: name + type: string + desc: Name or path + returns: + - name: channelgroup + type: userdata + + + - name: create_sound_group + type: function + desc: | + FMOD_System_CreateSoundGroup + parameters: + - name: name + type: string + desc: Name or path + returns: + - name: soundgroup + type: userdata + + + - name: create_reverb_3d + type: function + desc: | + FMOD_System_CreateReverb3D + returns: + - name: reverb + type: userdata + + + - name: play_sound + type: function + desc: | + FMOD_System_PlaySound + parameters: + - name: sound + type: userdata + desc: Sound handle + - name: channelgroup + type: userdata + desc: Channel handle (optional) + - name: paused + type: boolean + desc: Paused state (optional) + returns: + - name: channel + type: userdata + + + - name: play_dsp + type: function + desc: | + FMOD_System_PlayDSP + parameters: + - name: dsp + type: userdata + desc: dsp + - name: channelgroup + type: userdata + desc: Channel handle + - name: paused + type: boolean + desc: Paused state + returns: + - name: channel + type: userdata + + + - name: get_channel + type: function + desc: | + FMOD_System_GetChannel + parameters: + - name: channelid + type: number + desc: Channel handle + returns: + - name: channel + type: userdata + + + - name: get_dsp_info_by_type + type: function + desc: | + FMOD_System_GetDSPInfoByType + parameters: + - name: type + type: number + desc: type + returns: + - name: description + type: userdata + + + - name: get_master_channel_group + type: function + desc: | + FMOD_System_GetMasterChannelGroup + returns: + - name: channelgroup + type: userdata + + + - name: get_master_sound_group + type: function + desc: | + FMOD_System_GetMasterSoundGroup + returns: + - name: soundgroup + type: userdata + + + - name: attach_channel_group_to_port + type: function + desc: | + FMOD_System_AttachChannelGroupToPort + parameters: + - name: portType + type: number + desc: portType + - name: portIndex + type: number + desc: Index value + - name: channelgroup + type: userdata + desc: Channel handle + - name: passThru + type: boolean + desc: passThru + - name: detach_channel_group_from_port + type: function + desc: | + FMOD_System_DetachChannelGroupFromPort + parameters: + - name: channelgroup + type: userdata + desc: Channel handle + - name: set_reverb_properties + type: function + desc: | + FMOD_System_SetReverbProperties + parameters: + - name: instance + type: number + desc: instance + - name: prop + type: userdata + desc: prop + - name: get_reverb_properties + type: function + desc: | + FMOD_System_GetReverbProperties + parameters: + - name: instance + type: number + desc: instance + returns: + - name: prop + type: fmod.reverb_properties + + + - name: lock_dsp + type: function + desc: | + FMOD_System_LockDSP + - name: unlock_dsp + type: function + desc: | + FMOD_System_UnlockDSP + - name: get_record_num_drivers + type: function + desc: | + FMOD_System_GetRecordNumDrivers + returns: + - name: numdrivers + type: userdata + + - name: numconnected + type: userdata + + + - name: get_record_driver_info + type: function + desc: | + FMOD_System_GetRecordDriverInfo + - name: get_record_position + type: function + desc: | + FMOD_System_GetRecordPosition + parameters: + - name: id + type: number + desc: id + returns: + - name: position + type: userdata + + + - name: record_start + type: function + desc: | + FMOD_System_RecordStart + parameters: + - name: id + type: number + desc: id + - name: sound + type: userdata + desc: Sound handle + - name: loop + type: boolean + desc: loop + - name: record_stop + type: function + desc: | + FMOD_System_RecordStop + parameters: + - name: id + type: number + desc: id + - name: is_recording + type: function + desc: | + FMOD_System_IsRecording + parameters: + - name: id + type: number + desc: id + returns: + - name: recording + type: userdata + + + - name: create_geometry + type: function + desc: | + FMOD_System_CreateGeometry + parameters: + - name: maxpolygons + type: number + desc: maxpolygons + - name: maxvertices + type: number + desc: maxvertices + returns: + - name: geometry + type: userdata + + + - name: set_geometry_settings + type: function + desc: | + FMOD_System_SetGeometrySettings + parameters: + - name: maxworldsize + type: number + desc: Length or size value + - name: get_geometry_settings + type: function + desc: | + FMOD_System_GetGeometrySettings + returns: + - name: maxworldsize + type: userdata + + + - name: load_geometry + type: function + desc: | + FMOD_System_LoadGeometry + - name: get_geometry_occlusion + type: function + desc: | + FMOD_System_GetGeometryOcclusion + parameters: + - name: listener + type: vector3 + desc: listener + - name: source + type: vector3 + desc: source + returns: + - name: direct + type: userdata + + - name: reverb + type: userdata + + + - name: set_network_proxy + type: function + desc: | + FMOD_System_SetNetworkProxy + parameters: + - name: proxy + type: string + desc: proxy + - name: get_network_proxy + type: function + desc: | + FMOD_System_GetNetworkProxy + - name: set_network_timeout + type: function + desc: | + FMOD_System_SetNetworkTimeout + parameters: + - name: timeout + type: number + desc: timeout + - name: get_network_timeout + type: function + desc: | + FMOD_System_GetNetworkTimeout + returns: + - name: timeout + type: userdata + + + - name: set_user_data + type: function + desc: | + FMOD_System_SetUserData + - name: get_user_data + type: function + desc: | + FMOD_System_GetUserData +- name: fmod.sound + type: userdata + desc: FMOD_SOUND instance + + members: + - name: release + type: function + desc: | + FMOD_Sound_Release + - name: get_system_object + type: function + desc: | + FMOD_Sound_GetSystemObject + returns: + - name: system + type: userdata + + + - name: lock + type: function + desc: | + FMOD_Sound_Lock + - name: unlock + type: function + desc: | + FMOD_Sound_Unlock + - name: set_defaults + type: function + desc: | + FMOD_Sound_SetDefaults + parameters: + - name: frequency + type: number + desc: frequency + - name: priority + type: number + desc: priority + - name: get_defaults + type: function + desc: | + FMOD_Sound_GetDefaults + returns: + - name: frequency + type: userdata + + - name: priority + type: userdata + + + - name: set_3d_min_max_distance + type: function + desc: | + FMOD_Sound_Set3DMinMaxDistance + parameters: + - name: min + type: number + desc: min + - name: max + type: number + desc: max + - name: get_3d_min_max_distance + type: function + desc: | + FMOD_Sound_Get3DMinMaxDistance + returns: + - name: min + type: userdata + + - name: max + type: userdata + + + - name: set_3d_cone_settings + type: function + desc: | + FMOD_Sound_Set3DConeSettings + parameters: + - name: insideconeangle + type: number + desc: insideconeangle + - name: outsideconeangle + type: number + desc: outsideconeangle + - name: outsidevolume + type: number + desc: Volume level (0.0 to 1.0) + - name: get_3d_cone_settings + type: function + desc: | + FMOD_Sound_Get3DConeSettings + returns: + - name: insideconeangle + type: userdata + + - name: outsideconeangle + type: userdata + + - name: outsidevolume + type: userdata + + + - name: set_3d_custom_rolloff + type: function + desc: | + FMOD_Sound_Set3DCustomRolloff + parameters: + - name: numpoints + type: number + desc: numpoints + returns: + - name: points + type: vector3 + + + - name: get_3d_custom_rolloff + type: function + desc: | + FMOD_Sound_Get3DCustomRolloff + - name: get_sub_sound + type: function + desc: | + FMOD_Sound_GetSubSound + parameters: + - name: index + type: number + desc: Index value + returns: + - name: subsound + type: userdata + + + - name: get_sub_sound_parent + type: function + desc: | + FMOD_Sound_GetSubSoundParent + returns: + - name: parentsound + type: userdata + + + - name: get_name + type: function + desc: | + FMOD_Sound_GetName + - name: get_length + type: function + desc: | + FMOD_Sound_GetLength + parameters: + - name: lengthtype + type: number + desc: Length or size value + returns: + - name: length + type: userdata + + + - name: get_format + type: function + desc: | + FMOD_Sound_GetFormat + returns: + - name: type + type: userdata + + - name: format + type: userdata + + - name: channels + type: userdata + + - name: bits + type: userdata + + + - name: get_num_sub_sounds + type: function + desc: | + FMOD_Sound_GetNumSubSounds + returns: + - name: numsubsounds + type: userdata + + + - name: get_num_tags + type: function + desc: | + FMOD_Sound_GetNumTags + returns: + - name: numtags + type: userdata + + - name: numtagsupdated + type: userdata + + + - name: get_tag + type: function + desc: | + FMOD_Sound_GetTag + parameters: + - name: name + type: string + desc: Name or path + - name: index + type: number + desc: Index value + returns: + - name: tag + type: fmod.tag + + + - name: get_open_state + type: function + desc: | + FMOD_Sound_GetOpenState + returns: + - name: openstate + type: userdata + + - name: percentbuffered + type: userdata + + - name: starving + type: userdata + + - name: diskbusy + type: userdata + + + - name: read_data + type: function + desc: | + FMOD_Sound_ReadData + - name: seek_data + type: function + desc: | + FMOD_Sound_SeekData + parameters: + - name: pcm + type: number + desc: pcm + - name: set_sound_group + type: function + desc: | + FMOD_Sound_SetSoundGroup + parameters: + - name: soundgroup + type: userdata + desc: Sound handle + - name: get_sound_group + type: function + desc: | + FMOD_Sound_GetSoundGroup + returns: + - name: soundgroup + type: userdata + + + - name: get_num_sync_points + type: function + desc: | + FMOD_Sound_GetNumSyncPoints + returns: + - name: numsyncpoints + type: userdata + + + - name: get_sync_point + type: function + desc: | + FMOD_Sound_GetSyncPoint + parameters: + - name: index + type: number + desc: Index value + returns: + - name: point + type: userdata + + + - name: get_sync_point_info + type: function + desc: | + FMOD_Sound_GetSyncPointInfo + - name: add_sync_point + type: function + desc: | + FMOD_Sound_AddSyncPoint + parameters: + - name: offset + type: number + desc: offset + - name: offsettype + type: number + desc: offsettype + - name: name + type: string + desc: Name or path + returns: + - name: point + type: userdata + + + - name: delete_sync_point + type: function + desc: | + FMOD_Sound_DeleteSyncPoint + parameters: + - name: point + type: userdata + desc: point + - name: set_mode + type: function + desc: | + FMOD_Sound_SetMode + parameters: + - name: mode + type: number + desc: Mode flags + - name: get_mode + type: function + desc: | + FMOD_Sound_GetMode + returns: + - name: mode + type: userdata + + + - name: set_loop_count + type: function + desc: | + FMOD_Sound_SetLoopCount + parameters: + - name: loopcount + type: number + desc: loopcount + - name: get_loop_count + type: function + desc: | + FMOD_Sound_GetLoopCount + returns: + - name: loopcount + type: userdata + + + - name: set_loop_points + type: function + desc: | + FMOD_Sound_SetLoopPoints + parameters: + - name: loopstart + type: number + desc: loopstart + - name: loopstarttype + type: number + desc: loopstarttype + - name: loopend + type: number + desc: loopend + - name: loopendtype + type: number + desc: loopendtype + - name: get_loop_points + type: function + desc: | + FMOD_Sound_GetLoopPoints + parameters: + - name: loopstarttype + type: number + desc: loopstarttype + - name: loopendtype + type: number + desc: loopendtype + returns: + - name: loopstart + type: userdata + + - name: loopend + type: userdata + + + - name: get_music_num_channels + type: function + desc: | + FMOD_Sound_GetMusicNumChannels + returns: + - name: numchannels + type: userdata + + + - name: set_music_channel_volume + type: function + desc: | + FMOD_Sound_SetMusicChannelVolume + parameters: + - name: channel + type: number + desc: Channel handle + - name: volume + type: number + desc: Volume level (0.0 to 1.0) + - name: get_music_channel_volume + type: function + desc: | + FMOD_Sound_GetMusicChannelVolume + parameters: + - name: channel + type: number + desc: Channel handle + returns: + - name: volume + type: userdata + + + - name: set_music_speed + type: function + desc: | + FMOD_Sound_SetMusicSpeed + parameters: + - name: speed + type: number + desc: speed + - name: get_music_speed + type: function + desc: | + FMOD_Sound_GetMusicSpeed + returns: + - name: speed + type: userdata + + + - name: set_user_data + type: function + desc: | + FMOD_Sound_SetUserData + - name: get_user_data + type: function + desc: | + FMOD_Sound_GetUserData +- name: fmod.channelcontrol + type: userdata + desc: FMOD_CHANNELCONTROL instance + + members: +- name: fmod.channel + type: userdata + desc: FMOD_CHANNEL instance + + members: + - name: get_system_object + type: function + desc: | + FMOD_Channel_GetSystemObject + returns: + - name: system + type: userdata + + + - name: stop + type: function + desc: | + FMOD_Channel_Stop + - name: set_paused + type: function + desc: | + FMOD_Channel_SetPaused + parameters: + - name: paused + type: boolean + desc: Paused state + - name: get_paused + type: function + desc: | + FMOD_Channel_GetPaused + returns: + - name: paused + type: userdata + + + - name: set_volume + type: function + desc: | + FMOD_Channel_SetVolume + parameters: + - name: volume + type: number + desc: Volume level (0.0 to 1.0) + - name: get_volume + type: function + desc: | + FMOD_Channel_GetVolume + returns: + - name: volume + type: userdata + + + - name: set_volume_ramp + type: function + desc: | + FMOD_Channel_SetVolumeRamp + parameters: + - name: ramp + type: boolean + desc: ramp + - name: get_volume_ramp + type: function + desc: | + FMOD_Channel_GetVolumeRamp + returns: + - name: ramp + type: userdata + + + - name: get_audibility + type: function + desc: | + FMOD_Channel_GetAudibility + returns: + - name: audibility + type: userdata + + + - name: set_pitch + type: function + desc: | + FMOD_Channel_SetPitch + parameters: + - name: pitch + type: number + desc: pitch + - name: get_pitch + type: function + desc: | + FMOD_Channel_GetPitch + returns: + - name: pitch + type: userdata + + + - name: set_mute + type: function + desc: | + FMOD_Channel_SetMute + parameters: + - name: mute + type: boolean + desc: mute + - name: get_mute + type: function + desc: | + FMOD_Channel_GetMute + returns: + - name: mute + type: userdata + + + - name: set_reverb_properties + type: function + desc: | + FMOD_Channel_SetReverbProperties + parameters: + - name: instance + type: number + desc: instance + - name: wet + type: number + desc: wet + - name: get_reverb_properties + type: function + desc: | + FMOD_Channel_GetReverbProperties + parameters: + - name: instance + type: number + desc: instance + returns: + - name: wet + type: userdata + + + - name: set_low_pass_gain + type: function + desc: | + FMOD_Channel_SetLowPassGain + parameters: + - name: gain + type: number + desc: gain + - name: get_low_pass_gain + type: function + desc: | + FMOD_Channel_GetLowPassGain + returns: + - name: gain + type: userdata + + + - name: set_mode + type: function + desc: | + FMOD_Channel_SetMode + parameters: + - name: mode + type: number + desc: Mode flags + - name: get_mode + type: function + desc: | + FMOD_Channel_GetMode + returns: + - name: mode + type: userdata + + + - name: set_callback + type: function + desc: | + FMOD_Channel_SetCallback + - name: is_playing + type: function + desc: | + FMOD_Channel_IsPlaying + returns: + - name: isplaying + type: userdata + + + - name: set_pan + type: function + desc: | + FMOD_Channel_SetPan + parameters: + - name: pan + type: number + desc: pan + - name: set_mix_levels_output + type: function + desc: | + FMOD_Channel_SetMixLevelsOutput + parameters: + - name: frontleft + type: number + desc: frontleft + - name: frontright + type: number + desc: frontright + - name: center + type: number + desc: center + - name: lfe + type: number + desc: lfe + - name: surroundleft + type: number + desc: surroundleft + - name: surroundright + type: number + desc: surroundright + - name: backleft + type: number + desc: backleft + - name: backright + type: number + desc: backright + - name: set_mix_levels_input + type: function + desc: | + FMOD_Channel_SetMixLevelsInput + parameters: + - name: numlevels + type: number + desc: numlevels + returns: + - name: levels + type: userdata + + + - name: set_mix_matrix + type: function + desc: | + FMOD_Channel_SetMixMatrix + parameters: + - name: outchannels + type: number + desc: Channel handle + - name: inchannels + type: number + desc: Channel handle + - name: inchannel_hop + type: number + desc: Channel handle + returns: + - name: matrix + type: userdata + + + - name: get_mix_matrix + type: function + desc: | + FMOD_Channel_GetMixMatrix + parameters: + - name: inchannel_hop + type: number + desc: Channel handle + returns: + - name: matrix + type: userdata + + - name: outchannels + type: userdata + + - name: inchannels + type: userdata + + + - name: get_dsp_clock + type: function + desc: | + FMOD_Channel_GetDSPClock + returns: + - name: dspclock + type: userdata + + - name: parentclock + type: userdata + + + - name: set_delay + type: function + desc: | + FMOD_Channel_SetDelay + parameters: + - name: dspclock_start + type: number + desc: dspclock_start + - name: dspclock_end + type: number + desc: dspclock_end + - name: stopchannels + type: boolean + desc: Channel handle + - name: get_delay + type: function + desc: | + FMOD_Channel_GetDelay + returns: + - name: dspclock_start + type: userdata + + - name: dspclock_end + type: userdata + + - name: stopchannels + type: userdata + + + - name: add_fade_point + type: function + desc: | + FMOD_Channel_AddFadePoint + parameters: + - name: dspclock + type: number + desc: dspclock + - name: volume + type: number + desc: Volume level (0.0 to 1.0) + - name: set_fade_point_ramp + type: function + desc: | + FMOD_Channel_SetFadePointRamp + parameters: + - name: dspclock + type: number + desc: dspclock + - name: volume + type: number + desc: Volume level (0.0 to 1.0) + - name: remove_fade_points + type: function + desc: | + FMOD_Channel_RemoveFadePoints + parameters: + - name: dspclock_start + type: number + desc: dspclock_start + - name: dspclock_end + type: number + desc: dspclock_end + - name: get_fade_points + type: function + desc: | + FMOD_Channel_GetFadePoints + returns: + - name: numpoints + type: userdata + + - name: point_dspclock + type: userdata + + - name: point_volume + type: userdata + + + - name: get_dsp + type: function + desc: | + FMOD_Channel_GetDSP + parameters: + - name: index + type: number + desc: Index value + returns: + - name: dsp + type: userdata + + + - name: add_dsp + type: function + desc: | + FMOD_Channel_AddDSP + parameters: + - name: index + type: number + desc: Index value + - name: dsp + type: userdata + desc: dsp + - name: remove_dsp + type: function + desc: | + FMOD_Channel_RemoveDSP + parameters: + - name: dsp + type: userdata + desc: dsp + - name: get_num_ds_ps + type: function + desc: | + FMOD_Channel_GetNumDSPs + returns: + - name: numdsps + type: userdata + + + - name: set_dsp_index + type: function + desc: | + FMOD_Channel_SetDSPIndex + parameters: + - name: dsp + type: userdata + desc: dsp + - name: index + type: number + desc: Index value + - name: get_dsp_index + type: function + desc: | + FMOD_Channel_GetDSPIndex + parameters: + - name: dsp + type: userdata + desc: dsp + returns: + - name: index + type: userdata + + + - name: set_3d_attributes + type: function + desc: | + FMOD_Channel_Set3DAttributes + parameters: + - name: pos + type: vector3 + desc: pos + - name: vel + type: vector3 + desc: vel + - name: get_3d_attributes + type: function + desc: | + FMOD_Channel_Get3DAttributes + returns: + - name: pos + type: vector3 + + - name: vel + type: vector3 + + + - name: set_3d_min_max_distance + type: function + desc: | + FMOD_Channel_Set3DMinMaxDistance + parameters: + - name: mindistance + type: number + desc: mindistance + - name: maxdistance + type: number + desc: maxdistance + - name: get_3d_min_max_distance + type: function + desc: | + FMOD_Channel_Get3DMinMaxDistance + returns: + - name: mindistance + type: userdata + + - name: maxdistance + type: userdata + + + - name: set_3d_cone_settings + type: function + desc: | + FMOD_Channel_Set3DConeSettings + parameters: + - name: insideconeangle + type: number + desc: insideconeangle + - name: outsideconeangle + type: number + desc: outsideconeangle + - name: outsidevolume + type: number + desc: Volume level (0.0 to 1.0) + - name: get_3d_cone_settings + type: function + desc: | + FMOD_Channel_Get3DConeSettings + returns: + - name: insideconeangle + type: userdata + + - name: outsideconeangle + type: userdata + + - name: outsidevolume + type: userdata + + + - name: set_3d_cone_orientation + type: function + desc: | + FMOD_Channel_Set3DConeOrientation + returns: + - name: orientation + type: vector3 + + + - name: get_3d_cone_orientation + type: function + desc: | + FMOD_Channel_Get3DConeOrientation + returns: + - name: orientation + type: vector3 + + + - name: set_3d_custom_rolloff + type: function + desc: | + FMOD_Channel_Set3DCustomRolloff + parameters: + - name: numpoints + type: number + desc: numpoints + returns: + - name: points + type: vector3 + + + - name: get_3d_custom_rolloff + type: function + desc: | + FMOD_Channel_Get3DCustomRolloff + - name: set_3d_occlusion + type: function + desc: | + FMOD_Channel_Set3DOcclusion + parameters: + - name: directocclusion + type: number + desc: directocclusion + - name: reverbocclusion + type: number + desc: reverbocclusion + - name: get_3d_occlusion + type: function + desc: | + FMOD_Channel_Get3DOcclusion + returns: + - name: directocclusion + type: userdata + + - name: reverbocclusion + type: userdata + + + - name: set_3d_spread + type: function + desc: | + FMOD_Channel_Set3DSpread + parameters: + - name: angle + type: number + desc: angle + - name: get_3d_spread + type: function + desc: | + FMOD_Channel_Get3DSpread + returns: + - name: angle + type: userdata + + + - name: set_3d_level + type: function + desc: | + FMOD_Channel_Set3DLevel + parameters: + - name: level + type: number + desc: level + - name: get_3d_level + type: function + desc: | + FMOD_Channel_Get3DLevel + returns: + - name: level + type: userdata + + + - name: set_3d_doppler_level + type: function + desc: | + FMOD_Channel_Set3DDopplerLevel + parameters: + - name: level + type: number + desc: level + - name: get_3d_doppler_level + type: function + desc: | + FMOD_Channel_Get3DDopplerLevel + returns: + - name: level + type: userdata + + + - name: set_3d_distance_filter + type: function + desc: | + FMOD_Channel_Set3DDistanceFilter + parameters: + - name: custom + type: boolean + desc: custom + - name: customLevel + type: number + desc: customLevel + - name: centerFreq + type: number + desc: centerFreq + - name: get_3d_distance_filter + type: function + desc: | + FMOD_Channel_Get3DDistanceFilter + returns: + - name: custom + type: userdata + + - name: customLevel + type: userdata + + - name: centerFreq + type: userdata + + + - name: set_user_data + type: function + desc: | + FMOD_Channel_SetUserData + - name: get_user_data + type: function + desc: | + FMOD_Channel_GetUserData + - name: set_frequency + type: function + desc: | + FMOD_Channel_SetFrequency + parameters: + - name: frequency + type: number + desc: frequency + - name: get_frequency + type: function + desc: | + FMOD_Channel_GetFrequency + returns: + - name: frequency + type: userdata + + + - name: set_priority + type: function + desc: | + FMOD_Channel_SetPriority + parameters: + - name: priority + type: number + desc: priority + - name: get_priority + type: function + desc: | + FMOD_Channel_GetPriority + returns: + - name: priority + type: userdata + + + - name: set_position + type: function + desc: | + FMOD_Channel_SetPosition + parameters: + - name: position + type: number + desc: Position value + - name: postype + type: number + desc: postype + - name: get_position + type: function + desc: | + FMOD_Channel_GetPosition + parameters: + - name: postype + type: number + desc: postype + returns: + - name: position + type: userdata + + + - name: set_channel_group + type: function + desc: | + FMOD_Channel_SetChannelGroup + parameters: + - name: channelgroup + type: userdata + desc: Channel handle + - name: get_channel_group + type: function + desc: | + FMOD_Channel_GetChannelGroup + returns: + - name: channelgroup + type: userdata + + + - name: set_loop_count + type: function + desc: | + FMOD_Channel_SetLoopCount + parameters: + - name: loopcount + type: number + desc: loopcount + - name: get_loop_count + type: function + desc: | + FMOD_Channel_GetLoopCount + returns: + - name: loopcount + type: userdata + + + - name: set_loop_points + type: function + desc: | + FMOD_Channel_SetLoopPoints + parameters: + - name: loopstart + type: number + desc: loopstart + - name: loopstarttype + type: number + desc: loopstarttype + - name: loopend + type: number + desc: loopend + - name: loopendtype + type: number + desc: loopendtype + - name: get_loop_points + type: function + desc: | + FMOD_Channel_GetLoopPoints + parameters: + - name: loopstarttype + type: number + desc: loopstarttype + - name: loopendtype + type: number + desc: loopendtype + returns: + - name: loopstart + type: userdata + + - name: loopend + type: userdata + + + - name: is_virtual + type: function + desc: | + FMOD_Channel_IsVirtual + returns: + - name: isvirtual + type: userdata + + + - name: get_current_sound + type: function + desc: | + FMOD_Channel_GetCurrentSound + returns: + - name: sound + type: userdata + + + - name: get_index + type: function + desc: | + FMOD_Channel_GetIndex + returns: + - name: index + type: userdata + + +- name: fmod.channelgroup + type: userdata + desc: FMOD_CHANNELGROUP instance + + members: + - name: get_system_object + type: function + desc: | + FMOD_ChannelGroup_GetSystemObject + returns: + - name: system + type: userdata + + + - name: stop + type: function + desc: | + FMOD_ChannelGroup_Stop + - name: set_paused + type: function + desc: | + FMOD_ChannelGroup_SetPaused + parameters: + - name: paused + type: boolean + desc: Paused state + - name: get_paused + type: function + desc: | + FMOD_ChannelGroup_GetPaused + returns: + - name: paused + type: userdata + + + - name: set_volume + type: function + desc: | + FMOD_ChannelGroup_SetVolume + parameters: + - name: volume + type: number + desc: Volume level (0.0 to 1.0) + - name: get_volume + type: function + desc: | + FMOD_ChannelGroup_GetVolume + returns: + - name: volume + type: userdata + + + - name: set_volume_ramp + type: function + desc: | + FMOD_ChannelGroup_SetVolumeRamp + parameters: + - name: ramp + type: boolean + desc: ramp + - name: get_volume_ramp + type: function + desc: | + FMOD_ChannelGroup_GetVolumeRamp + returns: + - name: ramp + type: userdata + + + - name: get_audibility + type: function + desc: | + FMOD_ChannelGroup_GetAudibility + returns: + - name: audibility + type: userdata + + + - name: set_pitch + type: function + desc: | + FMOD_ChannelGroup_SetPitch + parameters: + - name: pitch + type: number + desc: pitch + - name: get_pitch + type: function + desc: | + FMOD_ChannelGroup_GetPitch + returns: + - name: pitch + type: userdata + + + - name: set_mute + type: function + desc: | + FMOD_ChannelGroup_SetMute + parameters: + - name: mute + type: boolean + desc: mute + - name: get_mute + type: function + desc: | + FMOD_ChannelGroup_GetMute + returns: + - name: mute + type: userdata + + + - name: set_reverb_properties + type: function + desc: | + FMOD_ChannelGroup_SetReverbProperties + parameters: + - name: instance + type: number + desc: instance + - name: wet + type: number + desc: wet + - name: get_reverb_properties + type: function + desc: | + FMOD_ChannelGroup_GetReverbProperties + parameters: + - name: instance + type: number + desc: instance + returns: + - name: wet + type: userdata + + + - name: set_low_pass_gain + type: function + desc: | + FMOD_ChannelGroup_SetLowPassGain + parameters: + - name: gain + type: number + desc: gain + - name: get_low_pass_gain + type: function + desc: | + FMOD_ChannelGroup_GetLowPassGain + returns: + - name: gain + type: userdata + + + - name: set_mode + type: function + desc: | + FMOD_ChannelGroup_SetMode + parameters: + - name: mode + type: number + desc: Mode flags + - name: get_mode + type: function + desc: | + FMOD_ChannelGroup_GetMode + returns: + - name: mode + type: userdata + + + - name: set_callback + type: function + desc: | + FMOD_ChannelGroup_SetCallback + - name: is_playing + type: function + desc: | + FMOD_ChannelGroup_IsPlaying + returns: + - name: isplaying + type: userdata + + + - name: set_pan + type: function + desc: | + FMOD_ChannelGroup_SetPan + parameters: + - name: pan + type: number + desc: pan + - name: set_mix_levels_output + type: function + desc: | + FMOD_ChannelGroup_SetMixLevelsOutput + parameters: + - name: frontleft + type: number + desc: frontleft + - name: frontright + type: number + desc: frontright + - name: center + type: number + desc: center + - name: lfe + type: number + desc: lfe + - name: surroundleft + type: number + desc: surroundleft + - name: surroundright + type: number + desc: surroundright + - name: backleft + type: number + desc: backleft + - name: backright + type: number + desc: backright + - name: set_mix_levels_input + type: function + desc: | + FMOD_ChannelGroup_SetMixLevelsInput + parameters: + - name: numlevels + type: number + desc: numlevels + returns: + - name: levels + type: userdata + + + - name: set_mix_matrix + type: function + desc: | + FMOD_ChannelGroup_SetMixMatrix + parameters: + - name: outchannels + type: number + desc: Channel handle + - name: inchannels + type: number + desc: Channel handle + - name: inchannel_hop + type: number + desc: Channel handle + returns: + - name: matrix + type: userdata + + + - name: get_mix_matrix + type: function + desc: | + FMOD_ChannelGroup_GetMixMatrix + parameters: + - name: inchannel_hop + type: number + desc: Channel handle + returns: + - name: matrix + type: userdata + + - name: outchannels + type: userdata + + - name: inchannels + type: userdata + + + - name: get_dsp_clock + type: function + desc: | + FMOD_ChannelGroup_GetDSPClock + returns: + - name: dspclock + type: userdata + + - name: parentclock + type: userdata + + + - name: set_delay + type: function + desc: | + FMOD_ChannelGroup_SetDelay + parameters: + - name: dspclock_start + type: number + desc: dspclock_start + - name: dspclock_end + type: number + desc: dspclock_end + - name: stopchannels + type: boolean + desc: Channel handle + - name: get_delay + type: function + desc: | + FMOD_ChannelGroup_GetDelay + returns: + - name: dspclock_start + type: userdata + + - name: dspclock_end + type: userdata + + - name: stopchannels + type: userdata + + + - name: add_fade_point + type: function + desc: | + FMOD_ChannelGroup_AddFadePoint + parameters: + - name: dspclock + type: number + desc: dspclock + - name: volume + type: number + desc: Volume level (0.0 to 1.0) + - name: set_fade_point_ramp + type: function + desc: | + FMOD_ChannelGroup_SetFadePointRamp + parameters: + - name: dspclock + type: number + desc: dspclock + - name: volume + type: number + desc: Volume level (0.0 to 1.0) + - name: remove_fade_points + type: function + desc: | + FMOD_ChannelGroup_RemoveFadePoints + parameters: + - name: dspclock_start + type: number + desc: dspclock_start + - name: dspclock_end + type: number + desc: dspclock_end + - name: get_fade_points + type: function + desc: | + FMOD_ChannelGroup_GetFadePoints + returns: + - name: numpoints + type: userdata + + - name: point_dspclock + type: userdata + + - name: point_volume + type: userdata + + + - name: get_dsp + type: function + desc: | + FMOD_ChannelGroup_GetDSP + parameters: + - name: index + type: number + desc: Index value + returns: + - name: dsp + type: userdata + + + - name: add_dsp + type: function + desc: | + FMOD_ChannelGroup_AddDSP + parameters: + - name: index + type: number + desc: Index value + - name: dsp + type: userdata + desc: dsp + - name: remove_dsp + type: function + desc: | + FMOD_ChannelGroup_RemoveDSP + parameters: + - name: dsp + type: userdata + desc: dsp + - name: get_num_ds_ps + type: function + desc: | + FMOD_ChannelGroup_GetNumDSPs + returns: + - name: numdsps + type: userdata + + + - name: set_dsp_index + type: function + desc: | + FMOD_ChannelGroup_SetDSPIndex + parameters: + - name: dsp + type: userdata + desc: dsp + - name: index + type: number + desc: Index value + - name: get_dsp_index + type: function + desc: | + FMOD_ChannelGroup_GetDSPIndex + parameters: + - name: dsp + type: userdata + desc: dsp + returns: + - name: index + type: userdata + + + - name: set_3d_attributes + type: function + desc: | + FMOD_ChannelGroup_Set3DAttributes + parameters: + - name: pos + type: vector3 + desc: pos + - name: vel + type: vector3 + desc: vel + - name: get_3d_attributes + type: function + desc: | + FMOD_ChannelGroup_Get3DAttributes + returns: + - name: pos + type: vector3 + + - name: vel + type: vector3 + + + - name: set_3d_min_max_distance + type: function + desc: | + FMOD_ChannelGroup_Set3DMinMaxDistance + parameters: + - name: mindistance + type: number + desc: mindistance + - name: maxdistance + type: number + desc: maxdistance + - name: get_3d_min_max_distance + type: function + desc: | + FMOD_ChannelGroup_Get3DMinMaxDistance + returns: + - name: mindistance + type: userdata + + - name: maxdistance + type: userdata + + + - name: set_3d_cone_settings + type: function + desc: | + FMOD_ChannelGroup_Set3DConeSettings + parameters: + - name: insideconeangle + type: number + desc: insideconeangle + - name: outsideconeangle + type: number + desc: outsideconeangle + - name: outsidevolume + type: number + desc: Volume level (0.0 to 1.0) + - name: get_3d_cone_settings + type: function + desc: | + FMOD_ChannelGroup_Get3DConeSettings + returns: + - name: insideconeangle + type: userdata + + - name: outsideconeangle + type: userdata + + - name: outsidevolume + type: userdata + + + - name: set_3d_cone_orientation + type: function + desc: | + FMOD_ChannelGroup_Set3DConeOrientation + returns: + - name: orientation + type: vector3 + + + - name: get_3d_cone_orientation + type: function + desc: | + FMOD_ChannelGroup_Get3DConeOrientation + returns: + - name: orientation + type: vector3 + + + - name: set_3d_custom_rolloff + type: function + desc: | + FMOD_ChannelGroup_Set3DCustomRolloff + parameters: + - name: numpoints + type: number + desc: numpoints + returns: + - name: points + type: vector3 + + + - name: get_3d_custom_rolloff + type: function + desc: | + FMOD_ChannelGroup_Get3DCustomRolloff + - name: set_3d_occlusion + type: function + desc: | + FMOD_ChannelGroup_Set3DOcclusion + parameters: + - name: directocclusion + type: number + desc: directocclusion + - name: reverbocclusion + type: number + desc: reverbocclusion + - name: get_3d_occlusion + type: function + desc: | + FMOD_ChannelGroup_Get3DOcclusion + returns: + - name: directocclusion + type: userdata + + - name: reverbocclusion + type: userdata + + + - name: set_3d_spread + type: function + desc: | + FMOD_ChannelGroup_Set3DSpread + parameters: + - name: angle + type: number + desc: angle + - name: get_3d_spread + type: function + desc: | + FMOD_ChannelGroup_Get3DSpread + returns: + - name: angle + type: userdata + + + - name: set_3d_level + type: function + desc: | + FMOD_ChannelGroup_Set3DLevel + parameters: + - name: level + type: number + desc: level + - name: get_3d_level + type: function + desc: | + FMOD_ChannelGroup_Get3DLevel + returns: + - name: level + type: userdata + + + - name: set_3d_doppler_level + type: function + desc: | + FMOD_ChannelGroup_Set3DDopplerLevel + parameters: + - name: level + type: number + desc: level + - name: get_3d_doppler_level + type: function + desc: | + FMOD_ChannelGroup_Get3DDopplerLevel + returns: + - name: level + type: userdata + + + - name: set_3d_distance_filter + type: function + desc: | + FMOD_ChannelGroup_Set3DDistanceFilter + parameters: + - name: custom + type: boolean + desc: custom + - name: customLevel + type: number + desc: customLevel + - name: centerFreq + type: number + desc: centerFreq + - name: get_3d_distance_filter + type: function + desc: | + FMOD_ChannelGroup_Get3DDistanceFilter + returns: + - name: custom + type: userdata + + - name: customLevel + type: userdata + + - name: centerFreq + type: userdata + + + - name: set_user_data + type: function + desc: | + FMOD_ChannelGroup_SetUserData + - name: get_user_data + type: function + desc: | + FMOD_ChannelGroup_GetUserData + - name: release + type: function + desc: | + FMOD_ChannelGroup_Release + - name: add_group + type: function + desc: | + FMOD_ChannelGroup_AddGroup + parameters: + - name: group + type: userdata + desc: group + - name: propagatedspclock + type: boolean + desc: propagatedspclock + returns: + - name: connection + type: userdata + + + - name: get_num_groups + type: function + desc: | + FMOD_ChannelGroup_GetNumGroups + returns: + - name: numgroups + type: userdata + + + - name: get_group + type: function + desc: | + FMOD_ChannelGroup_GetGroup + parameters: + - name: index + type: number + desc: Index value + returns: + - name: group + type: userdata + + + - name: get_parent_group + type: function + desc: | + FMOD_ChannelGroup_GetParentGroup + returns: + - name: group + type: userdata + + + - name: get_name + type: function + desc: | + FMOD_ChannelGroup_GetName + - name: get_num_channels + type: function + desc: | + FMOD_ChannelGroup_GetNumChannels + returns: + - name: numchannels + type: userdata + + + - name: get_channel + type: function + desc: | + FMOD_ChannelGroup_GetChannel + parameters: + - name: index + type: number + desc: Index value + returns: + - name: channel + type: userdata + + +- name: fmod.soundgroup + type: userdata + desc: FMOD_SOUNDGROUP instance + + members: + - name: release + type: function + desc: | + FMOD_SoundGroup_Release + - name: get_system_object + type: function + desc: | + FMOD_SoundGroup_GetSystemObject + returns: + - name: system + type: userdata + + + - name: set_max_audible + type: function + desc: | + FMOD_SoundGroup_SetMaxAudible + parameters: + - name: maxaudible + type: number + desc: maxaudible + - name: get_max_audible + type: function + desc: | + FMOD_SoundGroup_GetMaxAudible + returns: + - name: maxaudible + type: userdata + + + - name: set_max_audible_behavior + type: function + desc: | + FMOD_SoundGroup_SetMaxAudibleBehavior + parameters: + - name: behavior + type: number + desc: behavior + - name: get_max_audible_behavior + type: function + desc: | + FMOD_SoundGroup_GetMaxAudibleBehavior + returns: + - name: behavior + type: userdata + + + - name: set_mute_fade_speed + type: function + desc: | + FMOD_SoundGroup_SetMuteFadeSpeed + parameters: + - name: speed + type: number + desc: speed + - name: get_mute_fade_speed + type: function + desc: | + FMOD_SoundGroup_GetMuteFadeSpeed + returns: + - name: speed + type: userdata + + + - name: set_volume + type: function + desc: | + FMOD_SoundGroup_SetVolume + parameters: + - name: volume + type: number + desc: Volume level (0.0 to 1.0) + - name: get_volume + type: function + desc: | + FMOD_SoundGroup_GetVolume + returns: + - name: volume + type: userdata + + + - name: stop + type: function + desc: | + FMOD_SoundGroup_Stop + - name: get_name + type: function + desc: | + FMOD_SoundGroup_GetName + - name: get_num_sounds + type: function + desc: | + FMOD_SoundGroup_GetNumSounds + returns: + - name: numsounds + type: userdata + + + - name: get_sound + type: function + desc: | + FMOD_SoundGroup_GetSound + parameters: + - name: index + type: number + desc: Index value + returns: + - name: sound + type: userdata + + + - name: get_num_playing + type: function + desc: | + FMOD_SoundGroup_GetNumPlaying + returns: + - name: numplaying + type: userdata + + + - name: set_user_data + type: function + desc: | + FMOD_SoundGroup_SetUserData + - name: get_user_data + type: function + desc: | + FMOD_SoundGroup_GetUserData +- name: fmod.reverb3d + type: userdata + desc: FMOD_REVERB3D instance + + members: + - name: release + type: function + desc: | + FMOD_Reverb3D_Release + - name: set_3d_attributes + type: function + desc: | + FMOD_Reverb3D_Set3DAttributes + parameters: + - name: position + type: vector3 + desc: Position value + - name: mindistance + type: number + desc: mindistance + - name: maxdistance + type: number + desc: maxdistance + - name: get_3d_attributes + type: function + desc: | + FMOD_Reverb3D_Get3DAttributes + returns: + - name: position + type: vector3 + + - name: mindistance + type: userdata + + - name: maxdistance + type: userdata + + + - name: set_properties + type: function + desc: | + FMOD_Reverb3D_SetProperties + parameters: + - name: properties + type: userdata + desc: properties + - name: get_properties + type: function + desc: | + FMOD_Reverb3D_GetProperties + returns: + - name: properties + type: fmod.reverb_properties + + + - name: set_active + type: function + desc: | + FMOD_Reverb3D_SetActive + parameters: + - name: active + type: boolean + desc: active + - name: get_active + type: function + desc: | + FMOD_Reverb3D_GetActive + returns: + - name: active + type: userdata + + + - name: set_user_data + type: function + desc: | + FMOD_Reverb3D_SetUserData + - name: get_user_data + type: function + desc: | + FMOD_Reverb3D_GetUserData +- name: fmod.dsp + type: userdata + desc: FMOD_DSP instance + + members: + - name: release + type: function + desc: | + FMOD_DSP_Release + - name: get_system_object + type: function + desc: | + FMOD_DSP_GetSystemObject + returns: + - name: system + type: userdata + + + - name: add_input + type: function + desc: | + FMOD_DSP_AddInput + parameters: + - name: input + type: userdata + desc: input + - name: type + type: number + desc: type + returns: + - name: connection + type: userdata + + + - name: disconnect_from + type: function + desc: | + FMOD_DSP_DisconnectFrom + parameters: + - name: target + type: userdata + desc: target + - name: connection + type: userdata + desc: connection + - name: disconnect_all + type: function + desc: | + FMOD_DSP_DisconnectAll + parameters: + - name: inputs + type: boolean + desc: inputs + - name: outputs + type: boolean + desc: outputs + - name: get_num_inputs + type: function + desc: | + FMOD_DSP_GetNumInputs + returns: + - name: numinputs + type: userdata + + + - name: get_num_outputs + type: function + desc: | + FMOD_DSP_GetNumOutputs + returns: + - name: numoutputs + type: userdata + + + - name: get_input + type: function + desc: | + FMOD_DSP_GetInput + parameters: + - name: index + type: number + desc: Index value + returns: + - name: input + type: userdata + + - name: inputconnection + type: userdata + + + - name: get_output + type: function + desc: | + FMOD_DSP_GetOutput + parameters: + - name: index + type: number + desc: Index value + returns: + - name: output + type: userdata + + - name: outputconnection + type: userdata + + + - name: set_active + type: function + desc: | + FMOD_DSP_SetActive + parameters: + - name: active + type: boolean + desc: active + - name: get_active + type: function + desc: | + FMOD_DSP_GetActive + returns: + - name: active + type: userdata + + + - name: set_bypass + type: function + desc: | + FMOD_DSP_SetBypass + parameters: + - name: bypass + type: boolean + desc: bypass + - name: get_bypass + type: function + desc: | + FMOD_DSP_GetBypass + returns: + - name: bypass + type: userdata + + + - name: set_wet_dry_mix + type: function + desc: | + FMOD_DSP_SetWetDryMix + parameters: + - name: prewet + type: number + desc: prewet + - name: postwet + type: number + desc: postwet + - name: dry + type: number + desc: dry + - name: get_wet_dry_mix + type: function + desc: | + FMOD_DSP_GetWetDryMix + returns: + - name: prewet + type: userdata + + - name: postwet + type: userdata + + - name: dry + type: userdata + + + - name: set_channel_format + type: function + desc: | + FMOD_DSP_SetChannelFormat + parameters: + - name: channelmask + type: number + desc: Channel handle + - name: numchannels + type: number + desc: Channel handle + - name: source_speakermode + type: number + desc: Mode flags + - name: get_channel_format + type: function + desc: | + FMOD_DSP_GetChannelFormat + returns: + - name: channelmask + type: userdata + + - name: numchannels + type: userdata + + - name: source_speakermode + type: userdata + + + - name: get_output_channel_format + type: function + desc: | + FMOD_DSP_GetOutputChannelFormat + parameters: + - name: inmask + type: number + desc: inmask + - name: inchannels + type: number + desc: Channel handle + - name: inspeakermode + type: number + desc: Mode flags + returns: + - name: outmask + type: userdata + + - name: outchannels + type: userdata + + - name: outspeakermode + type: userdata + + + - name: reset + type: function + desc: | + FMOD_DSP_Reset + - name: set_callback + type: function + desc: | + FMOD_DSP_SetCallback + - name: set_parameter_float + type: function + desc: | + FMOD_DSP_SetParameterFloat + parameters: + - name: index + type: number + desc: Index value + - name: value + type: number + desc: value + - name: set_parameter_int + type: function + desc: | + FMOD_DSP_SetParameterInt + parameters: + - name: index + type: number + desc: Index value + - name: value + type: number + desc: value + - name: set_parameter_bool + type: function + desc: | + FMOD_DSP_SetParameterBool + parameters: + - name: index + type: number + desc: Index value + - name: value + type: boolean + desc: value + - name: set_parameter_data + type: function + desc: | + FMOD_DSP_SetParameterData + - name: get_parameter_float + type: function + desc: | + FMOD_DSP_GetParameterFloat + - name: get_parameter_int + type: function + desc: | + FMOD_DSP_GetParameterInt + - name: get_parameter_bool + type: function + desc: | + FMOD_DSP_GetParameterBool + - name: get_parameter_data + type: function + desc: | + FMOD_DSP_GetParameterData + - name: get_num_parameters + type: function + desc: | + FMOD_DSP_GetNumParameters + returns: + - name: numparams + type: userdata + + + - name: get_parameter_info + type: function + desc: | + FMOD_DSP_GetParameterInfo + parameters: + - name: index + type: number + desc: Index value + returns: + - name: desc + type: userdata + + + - name: get_data_parameter_index + type: function + desc: | + FMOD_DSP_GetDataParameterIndex + parameters: + - name: datatype + type: number + desc: datatype + returns: + - name: index + type: userdata + + + - name: show_config_dialog + type: function + desc: | + FMOD_DSP_ShowConfigDialog + - name: get_info + type: function + desc: | + FMOD_DSP_GetInfo + - name: get_type + type: function + desc: | + FMOD_DSP_GetType + returns: + - name: type + type: userdata + + + - name: get_idle + type: function + desc: | + FMOD_DSP_GetIdle + returns: + - name: idle + type: userdata + + + - name: set_user_data + type: function + desc: | + FMOD_DSP_SetUserData + - name: get_user_data + type: function + desc: | + FMOD_DSP_GetUserData + - name: set_metering_enabled + type: function + desc: | + FMOD_DSP_SetMeteringEnabled + parameters: + - name: inputEnabled + type: boolean + desc: inputEnabled + - name: outputEnabled + type: boolean + desc: outputEnabled + - name: get_metering_enabled + type: function + desc: | + FMOD_DSP_GetMeteringEnabled + returns: + - name: inputEnabled + type: userdata + + - name: outputEnabled + type: userdata + + + - name: get_metering_info + type: function + desc: | + FMOD_DSP_GetMeteringInfo + returns: + - name: inputInfo + type: fmod.dsp_metering_info + + - name: outputInfo + type: fmod.dsp_metering_info + + + - name: get_cpu_usage + type: function + desc: | + FMOD_DSP_GetCPUUsage + returns: + - name: exclusive + type: userdata + + - name: inclusive + type: userdata + + +- name: fmod.dspconnection + type: userdata + desc: FMOD_DSPCONNECTION instance + + members: + - name: get_input + type: function + desc: | + FMOD_DSPConnection_GetInput + returns: + - name: input + type: userdata + + + - name: get_output + type: function + desc: | + FMOD_DSPConnection_GetOutput + returns: + - name: output + type: userdata + + + - name: set_mix + type: function + desc: | + FMOD_DSPConnection_SetMix + parameters: + - name: volume + type: number + desc: Volume level (0.0 to 1.0) + - name: get_mix + type: function + desc: | + FMOD_DSPConnection_GetMix + returns: + - name: volume + type: userdata + + + - name: set_mix_matrix + type: function + desc: | + FMOD_DSPConnection_SetMixMatrix + parameters: + - name: outchannels + type: number + desc: Channel handle + - name: inchannels + type: number + desc: Channel handle + - name: inchannel_hop + type: number + desc: Channel handle + returns: + - name: matrix + type: userdata + + + - name: get_mix_matrix + type: function + desc: | + FMOD_DSPConnection_GetMixMatrix + parameters: + - name: inchannel_hop + type: number + desc: Channel handle + returns: + - name: matrix + type: userdata + + - name: outchannels + type: userdata + + - name: inchannels + type: userdata + + + - name: get_type + type: function + desc: | + FMOD_DSPConnection_GetType + returns: + - name: type + type: userdata + + + - name: set_user_data + type: function + desc: | + FMOD_DSPConnection_SetUserData + - name: get_user_data + type: function + desc: | + FMOD_DSPConnection_GetUserData +- name: fmod.polygon + type: userdata + desc: FMOD_POLYGON instance + + members: +- name: fmod.geometry + type: userdata + desc: FMOD_GEOMETRY instance + + members: + - name: release + type: function + desc: | + FMOD_Geometry_Release + - name: add_polygon + type: function + desc: | + FMOD_Geometry_AddPolygon + parameters: + - name: directocclusion + type: number + desc: directocclusion + - name: reverbocclusion + type: number + desc: reverbocclusion + - name: doublesided + type: boolean + desc: doublesided + - name: numvertices + type: number + desc: numvertices + - name: vertices + type: vector3 + desc: vertices + returns: + - name: polygonindex + type: userdata + + + - name: get_num_polygons + type: function + desc: | + FMOD_Geometry_GetNumPolygons + returns: + - name: numpolygons + type: userdata + + + - name: get_max_polygons + type: function + desc: | + FMOD_Geometry_GetMaxPolygons + returns: + - name: maxpolygons + type: userdata + + - name: maxvertices + type: userdata + + + - name: get_polygon_num_vertices + type: function + desc: | + FMOD_Geometry_GetPolygonNumVertices + parameters: + - name: index + type: number + desc: Index value + returns: + - name: numvertices + type: userdata + + + - name: set_polygon_vertex + type: function + desc: | + FMOD_Geometry_SetPolygonVertex + parameters: + - name: index + type: number + desc: Index value + - name: vertexindex + type: number + desc: Index value + - name: vertex + type: vector3 + desc: vertex + - name: get_polygon_vertex + type: function + desc: | + FMOD_Geometry_GetPolygonVertex + parameters: + - name: index + type: number + desc: Index value + - name: vertexindex + type: number + desc: Index value + returns: + - name: vertex + type: vector3 + + + - name: set_polygon_attributes + type: function + desc: | + FMOD_Geometry_SetPolygonAttributes + parameters: + - name: index + type: number + desc: Index value + - name: directocclusion + type: number + desc: directocclusion + - name: reverbocclusion + type: number + desc: reverbocclusion + - name: doublesided + type: boolean + desc: doublesided + - name: get_polygon_attributes + type: function + desc: | + FMOD_Geometry_GetPolygonAttributes + parameters: + - name: index + type: number + desc: Index value + returns: + - name: directocclusion + type: userdata + + - name: reverbocclusion + type: userdata + + - name: doublesided + type: userdata + + + - name: set_active + type: function + desc: | + FMOD_Geometry_SetActive + parameters: + - name: active + type: boolean + desc: active + - name: get_active + type: function + desc: | + FMOD_Geometry_GetActive + returns: + - name: active + type: userdata + + + - name: set_rotation + type: function + desc: | + FMOD_Geometry_SetRotation + parameters: + - name: forward + type: vector3 + desc: forward + - name: up + type: vector3 + desc: up + - name: get_rotation + type: function + desc: | + FMOD_Geometry_GetRotation + returns: + - name: forward + type: vector3 + + - name: up + type: vector3 + + + - name: set_position + type: function + desc: | + FMOD_Geometry_SetPosition + parameters: + - name: position + type: vector3 + desc: Position value + - name: get_position + type: function + desc: | + FMOD_Geometry_GetPosition + returns: + - name: position + type: vector3 + + + - name: set_scale + type: function + desc: | + FMOD_Geometry_SetScale + parameters: + - name: scale + type: vector3 + desc: scale + - name: get_scale + type: function + desc: | + FMOD_Geometry_GetScale + returns: + - name: scale + type: vector3 + + + - name: save + type: function + desc: | + FMOD_Geometry_Save + - name: set_user_data + type: function + desc: | + FMOD_Geometry_SetUserData + - name: get_user_data + type: function + desc: | + FMOD_Geometry_GetUserData +- name: fmod.syncpoint + type: userdata + desc: FMOD_SYNCPOINT instance + + members: + +#***************************************************************************************************** + +- name: fmod.studio + type: table + desc: | + FMOD Studio API for event-based audio. + + This module provides access to FMOD Studio's high-level event system, allowing you to: + - Load and manage sound banks + - Play and control event instances + - Control buses and VCAs + - Set parameters and 3D attributes + + For more information, see the [FMOD Studio documentation](https://www.fmod.com/docs). + + members: + - name: BANK_INFO + type: function + desc: Creates a new FMOD_STUDIO_BANK_INFO struct + returns: + - name: struct + type: fmod.studio.bank_info + desc: The created struct instance + + - name: PARAMETER_ID + type: function + desc: Creates a new FMOD_STUDIO_PARAMETER_ID struct + returns: + - name: struct + type: fmod.studio.parameter_id + desc: The created struct instance + + - name: PARAMETER_DESCRIPTION + type: function + desc: Creates a new FMOD_STUDIO_PARAMETER_DESCRIPTION struct + returns: + - name: struct + type: fmod.studio.parameter_description + desc: The created struct instance + + - name: USER_PROPERTY + type: function + desc: Creates a new FMOD_STUDIO_USER_PROPERTY struct + returns: + - name: struct + type: fmod.studio.user_property + desc: The created struct instance + + - name: PROGRAMMER_SOUND_PROPERTIES + type: function + desc: Creates a new FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES struct + returns: + - name: struct + type: fmod.studio.programmer_sound_properties + desc: The created struct instance + + - name: PLUGIN_INSTANCE_PROPERTIES + type: function + desc: Creates a new FMOD_STUDIO_PLUGIN_INSTANCE_PROPERTIES struct + returns: + - name: struct + type: fmod.studio.plugin_instance_properties + desc: The created struct instance + + - name: TIMELINE_MARKER_PROPERTIES + type: function + desc: Creates a new FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES struct + returns: + - name: struct + type: fmod.studio.timeline_marker_properties + desc: The created struct instance + + - name: TIMELINE_BEAT_PROPERTIES + type: function + desc: Creates a new FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES struct + returns: + - name: struct + type: fmod.studio.timeline_beat_properties + desc: The created struct instance + + - name: TIMELINE_NESTED_BEAT_PROPERTIES + type: function + desc: Creates a new FMOD_STUDIO_TIMELINE_NESTED_BEAT_PROPERTIES struct + returns: + - name: struct + type: fmod.studio.timeline_nested_beat_properties + desc: The created struct instance + + - name: ADVANCEDSETTINGS + type: function + desc: Creates a new FMOD_STUDIO_ADVANCEDSETTINGS struct + returns: + - name: struct + type: fmod.studio.advancedsettings + desc: The created struct instance + + - name: CPU_USAGE + type: function + desc: Creates a new FMOD_STUDIO_CPU_USAGE struct + returns: + - name: struct + type: fmod.studio.cpu_usage + desc: The created struct instance + + - name: BUFFER_INFO + type: function + desc: Creates a new FMOD_STUDIO_BUFFER_INFO struct + returns: + - name: struct + type: fmod.studio.buffer_info + desc: The created struct instance + + - name: BUFFER_USAGE + type: function + desc: Creates a new FMOD_STUDIO_BUFFER_USAGE struct + returns: + - name: struct + type: fmod.studio.buffer_usage + desc: The created struct instance + + - name: SOUND_INFO + type: function + desc: Creates a new FMOD_STUDIO_SOUND_INFO struct + returns: + - name: struct + type: fmod.studio.sound_info + desc: The created struct instance + + - name: COMMAND_INFO + type: function + desc: Creates a new FMOD_STUDIO_COMMAND_INFO struct + returns: + - name: struct + type: fmod.studio.command_info + desc: The created struct instance + + - name: MEMORY_USAGE + type: function + desc: Creates a new FMOD_STUDIO_MEMORY_USAGE struct + returns: + - name: struct + type: fmod.studio.memory_usage + desc: The created struct instance + + +#***************************************************************************************************** + + - name: parse_id + type: function + desc: | + FMOD_Studio_ParseID + parameters: + - name: idstring + type: string + desc: idstring + returns: + - name: id + type: fmod.guid + + + - name: system_create + type: function + desc: | + FMOD_Studio_System_Create + parameters: + - name: headerversion + type: number + desc: headerversion + returns: + - name: system + type: userdata + + + +#***************************************************************************************************** + + - name: system + type: fmod.studio.system + desc: The FMOD Studio system instance + +#***************************************************************************************************** + +- name: fmod.studio.system + type: userdata + desc: FMOD_STUDIO_SYSTEM instance + + members: + - name: is_valid + type: function + desc: | + FMOD_Studio_System_IsValid + - name: set_advanced_settings + type: function + desc: | + FMOD_Studio_System_SetAdvancedSettings + returns: + - name: settings + type: fmod.studio.advancedsettings + + + - name: get_advanced_settings + type: function + desc: | + FMOD_Studio_System_GetAdvancedSettings + returns: + - name: settings + type: fmod.studio.advancedsettings + + + - name: initialize + type: function + desc: | + FMOD_Studio_System_Initialize + - name: release + type: function + desc: | + FMOD_Studio_System_Release + - name: update + type: function + desc: | + FMOD_Studio_System_Update + - name: get_core_system + type: function + desc: | + FMOD_Studio_System_GetCoreSystem + returns: + - name: coresystem + type: userdata + + + - name: get_event + type: function + desc: | + FMOD_Studio_System_GetEvent + parameters: + - name: pathOrID + type: string + desc: pathOrID + returns: + - name: event + type: userdata + + + - name: get_bus + type: function + desc: | + FMOD_Studio_System_GetBus + parameters: + - name: pathOrID + type: string + desc: pathOrID + returns: + - name: bus + type: userdata + + + - name: get_vca + type: function + desc: | + FMOD_Studio_System_GetVCA + parameters: + - name: pathOrID + type: string + desc: pathOrID + returns: + - name: vca + type: userdata + + + - name: get_bank + type: function + desc: | + FMOD_Studio_System_GetBank + parameters: + - name: pathOrID + type: string + desc: pathOrID + returns: + - name: bank + type: userdata + + + - name: get_event_by_id + type: function + desc: | + FMOD_Studio_System_GetEventByID + parameters: + - name: id + type: userdata + desc: id + returns: + - name: event + type: userdata + + + - name: get_bus_by_id + type: function + desc: | + FMOD_Studio_System_GetBusByID + parameters: + - name: id + type: userdata + desc: id + returns: + - name: bus + type: userdata + + + - name: get_vca_by_id + type: function + desc: | + FMOD_Studio_System_GetVCAByID + parameters: + - name: id + type: userdata + desc: id + returns: + - name: vca + type: userdata + + + - name: get_bank_by_id + type: function + desc: | + FMOD_Studio_System_GetBankByID + parameters: + - name: id + type: userdata + desc: id + returns: + - name: bank + type: userdata + + + - name: get_sound_info + type: function + desc: | + FMOD_Studio_System_GetSoundInfo + parameters: + - name: key + type: string + desc: key + returns: + - name: info + type: fmod.studio.sound_info + + + - name: get_parameter_description_by_name + type: function + desc: | + FMOD_Studio_System_GetParameterDescriptionByName + parameters: + - name: name + type: string + desc: Name or path + returns: + - name: parameter + type: fmod.studio.parameter_description + + + - name: get_parameter_description_by_id + type: function + desc: | + FMOD_Studio_System_GetParameterDescriptionByID + parameters: + - name: id + type: fmod.studio.parameter_id + desc: id + returns: + - name: parameter + type: fmod.studio.parameter_description + + + - name: get_parameter_label_by_name + type: function + desc: | + FMOD_Studio_System_GetParameterLabelByName + - name: get_parameter_label_by_id + type: function + desc: | + FMOD_Studio_System_GetParameterLabelByID + - name: get_parameter_by_id + type: function + desc: | + FMOD_Studio_System_GetParameterByID + parameters: + - name: id + type: fmod.studio.parameter_id + desc: id + returns: + - name: value + type: userdata + + - name: finalvalue + type: userdata + + + - name: set_parameter_by_id + type: function + desc: | + FMOD_Studio_System_SetParameterByID + parameters: + - name: id + type: fmod.studio.parameter_id + desc: id + - name: value + type: number + desc: value + - name: ignoreseekspeed + type: boolean + desc: ignoreseekspeed + - name: set_parameter_by_id_with_label + type: function + desc: | + FMOD_Studio_System_SetParameterByIDWithLabel + parameters: + - name: id + type: fmod.studio.parameter_id + desc: id + - name: label + type: string + desc: label + - name: ignoreseekspeed + type: boolean + desc: ignoreseekspeed + - name: set_parameters_by_ids + type: function + desc: | + FMOD_Studio_System_SetParametersByIDs + parameters: + - name: ids + type: userdata + desc: ids + - name: count + type: number + desc: count + - name: ignoreseekspeed + type: boolean + desc: ignoreseekspeed + returns: + - name: values + type: userdata + + + - name: get_parameter_by_name + type: function + desc: | + FMOD_Studio_System_GetParameterByName + parameters: + - name: name + type: string + desc: Name or path + returns: + - name: value + type: userdata + + - name: finalvalue + type: userdata + + + - name: set_parameter_by_name + type: function + desc: | + FMOD_Studio_System_SetParameterByName + parameters: + - name: name + type: string + desc: Name or path + - name: value + type: number + desc: value + - name: ignoreseekspeed + type: boolean + desc: ignoreseekspeed + - name: set_parameter_by_name_with_label + type: function + desc: | + FMOD_Studio_System_SetParameterByNameWithLabel + parameters: + - name: name + type: string + desc: Name or path + - name: label + type: string + desc: label + - name: ignoreseekspeed + type: boolean + desc: ignoreseekspeed + - name: lookup_id + type: function + desc: | + FMOD_Studio_System_LookupID + parameters: + - name: path + type: string + desc: path + returns: + - name: id + type: fmod.guid + + + - name: lookup_path + type: function + desc: | + FMOD_Studio_System_LookupPath + - name: get_num_listeners + type: function + desc: | + FMOD_Studio_System_GetNumListeners + returns: + - name: numlisteners + type: userdata + + + - name: set_num_listeners + type: function + desc: | + FMOD_Studio_System_SetNumListeners + parameters: + - name: numlisteners + type: number + desc: numlisteners + - name: get_listener_attributes + type: function + desc: | + FMOD_Studio_System_GetListenerAttributes + parameters: + - name: index + type: number + desc: Index value + returns: + - name: attributes + type: fmod.3d_attributes + + - name: attenuationposition + type: vector3 + + + - name: set_listener_attributes + type: function + desc: | + FMOD_Studio_System_SetListenerAttributes + parameters: + - name: index + type: number + desc: Index value + - name: attributes + type: userdata + desc: attributes + - name: attenuationposition + type: vector3 + desc: Position value + - name: get_listener_weight + type: function + desc: | + FMOD_Studio_System_GetListenerWeight + parameters: + - name: index + type: number + desc: Index value + returns: + - name: weight + type: userdata + + + - name: set_listener_weight + type: function + desc: | + FMOD_Studio_System_SetListenerWeight + parameters: + - name: index + type: number + desc: Index value + - name: weight + type: number + desc: weight + - name: load_bank_file + type: function + desc: | + FMOD_Studio_System_LoadBankFile + parameters: + - name: filename + type: string + desc: Name or path + - name: flags + type: number + desc: flags + returns: + - name: bank + type: userdata + + + - name: load_bank_memory + type: function + desc: | + FMOD_Studio_System_LoadBankMemory + parameters: + - name: buffer + type: string + desc: buffer + - name: length + type: number + desc: Length or size value + - name: mode + type: number + desc: Mode flags + - name: flags + type: number + desc: flags + returns: + - name: bank + type: userdata + + + - name: load_bank_custom + type: function + desc: | + FMOD_Studio_System_LoadBankCustom + parameters: + - name: info + type: userdata + desc: info + - name: flags + type: number + desc: flags + returns: + - name: bank + type: userdata + + + - name: register_plugin + type: function + desc: | + FMOD_Studio_System_RegisterPlugin + parameters: + - name: description + type: userdata + desc: description + - name: unregister_plugin + type: function + desc: | + FMOD_Studio_System_UnregisterPlugin + parameters: + - name: name + type: string + desc: Name or path + - name: unload_all + type: function + desc: | + FMOD_Studio_System_UnloadAll + - name: flush_commands + type: function + desc: | + FMOD_Studio_System_FlushCommands + - name: flush_sample_loading + type: function + desc: | + FMOD_Studio_System_FlushSampleLoading + - name: start_command_capture + type: function + desc: | + FMOD_Studio_System_StartCommandCapture + parameters: + - name: filename + type: string + desc: Name or path + - name: flags + type: number + desc: flags + - name: stop_command_capture + type: function + desc: | + FMOD_Studio_System_StopCommandCapture + - name: load_command_replay + type: function + desc: | + FMOD_Studio_System_LoadCommandReplay + parameters: + - name: filename + type: string + desc: Name or path + - name: flags + type: number + desc: flags + returns: + - name: replay + type: userdata + + + - name: get_bank_count + type: function + desc: | + FMOD_Studio_System_GetBankCount + returns: + - name: count + type: userdata + + + - name: get_bank_list + type: function + desc: | + FMOD_Studio_System_GetBankList + parameters: + - name: capacity + type: number + desc: capacity + returns: + - name: array + type: userdata + + - name: count + type: userdata + + + - name: get_parameter_description_count + type: function + desc: | + FMOD_Studio_System_GetParameterDescriptionCount + returns: + - name: count + type: userdata + + + - name: get_parameter_description_list + type: function + desc: | + FMOD_Studio_System_GetParameterDescriptionList + parameters: + - name: capacity + type: number + desc: capacity + returns: + - name: array + type: fmod.studio.parameter_description + + - name: count + type: userdata + + + - name: get_cpu_usage + type: function + desc: | + FMOD_Studio_System_GetCPUUsage + returns: + - name: usage + type: fmod.studio.cpu_usage + + - name: usage_core + type: fmod.cpu_usage + + + - name: get_buffer_usage + type: function + desc: | + FMOD_Studio_System_GetBufferUsage + returns: + - name: usage + type: fmod.studio.buffer_usage + + + - name: reset_buffer_usage + type: function + desc: | + FMOD_Studio_System_ResetBufferUsage + - name: set_callback + type: function + desc: | + FMOD_Studio_System_SetCallback + - name: set_user_data + type: function + desc: | + FMOD_Studio_System_SetUserData + - name: get_user_data + type: function + desc: | + FMOD_Studio_System_GetUserData + - name: get_memory_usage + type: function + desc: | + FMOD_Studio_System_GetMemoryUsage + returns: + - name: memoryusage + type: fmod.studio.memory_usage + + +- name: fmod.studio.eventdescription + type: userdata + desc: FMOD_STUDIO_EVENTDESCRIPTION instance + + members: + - name: is_valid + type: function + desc: | + FMOD_Studio_EventDescription_IsValid + - name: get_id + type: function + desc: | + FMOD_Studio_EventDescription_GetID + returns: + - name: id + type: fmod.guid + + + - name: get_path + type: function + desc: | + FMOD_Studio_EventDescription_GetPath + - name: get_parameter_description_count + type: function + desc: | + FMOD_Studio_EventDescription_GetParameterDescriptionCount + returns: + - name: count + type: userdata + + + - name: get_parameter_description_by_index + type: function + desc: | + FMOD_Studio_EventDescription_GetParameterDescriptionByIndex + parameters: + - name: index + type: number + desc: Index value + returns: + - name: parameter + type: fmod.studio.parameter_description + + + - name: get_parameter_description_by_name + type: function + desc: | + FMOD_Studio_EventDescription_GetParameterDescriptionByName + parameters: + - name: name + type: string + desc: Name or path + returns: + - name: parameter + type: fmod.studio.parameter_description + + + - name: get_parameter_description_by_id + type: function + desc: | + FMOD_Studio_EventDescription_GetParameterDescriptionByID + parameters: + - name: id + type: fmod.studio.parameter_id + desc: id + returns: + - name: parameter + type: fmod.studio.parameter_description + + + - name: get_parameter_label_by_index + type: function + desc: | + FMOD_Studio_EventDescription_GetParameterLabelByIndex + - name: get_parameter_label_by_name + type: function + desc: | + FMOD_Studio_EventDescription_GetParameterLabelByName + - name: get_parameter_label_by_id + type: function + desc: | + FMOD_Studio_EventDescription_GetParameterLabelByID + - name: get_user_property_count + type: function + desc: | + FMOD_Studio_EventDescription_GetUserPropertyCount + returns: + - name: count + type: userdata + + + - name: get_user_property_by_index + type: function + desc: | + FMOD_Studio_EventDescription_GetUserPropertyByIndex + parameters: + - name: index + type: number + desc: Index value + returns: + - name: property + type: fmod.studio.user_property + + + - name: get_user_property + type: function + desc: | + FMOD_Studio_EventDescription_GetUserProperty + parameters: + - name: name + type: string + desc: Name or path + returns: + - name: property + type: fmod.studio.user_property + + + - name: get_length + type: function + desc: | + FMOD_Studio_EventDescription_GetLength + returns: + - name: length + type: userdata + + + - name: get_min_max_distance + type: function + desc: | + FMOD_Studio_EventDescription_GetMinMaxDistance + returns: + - name: min + type: userdata + + - name: max + type: userdata + + + - name: get_sound_size + type: function + desc: | + FMOD_Studio_EventDescription_GetSoundSize + returns: + - name: size + type: userdata + + + - name: is_snapshot + type: function + desc: | + FMOD_Studio_EventDescription_IsSnapshot + returns: + - name: snapshot + type: userdata + + + - name: is_oneshot + type: function + desc: | + FMOD_Studio_EventDescription_IsOneshot + returns: + - name: oneshot + type: userdata + + + - name: is_stream + type: function + desc: | + FMOD_Studio_EventDescription_IsStream + returns: + - name: isStream + type: userdata + + + - name: is_3d + type: function + desc: | + FMOD_Studio_EventDescription_Is3D + returns: + - name: is3D + type: userdata + + + - name: is_doppler_enabled + type: function + desc: | + FMOD_Studio_EventDescription_IsDopplerEnabled + returns: + - name: doppler + type: userdata + + + - name: has_sustain_point + type: function + desc: | + FMOD_Studio_EventDescription_HasSustainPoint + returns: + - name: sustainPoint + type: userdata + + + - name: create_instance + type: function + desc: | + FMOD_Studio_EventDescription_CreateInstance + returns: + - name: instance + type: userdata + + + - name: get_instance_count + type: function + desc: | + FMOD_Studio_EventDescription_GetInstanceCount + returns: + - name: count + type: userdata + + + - name: get_instance_list + type: function + desc: | + FMOD_Studio_EventDescription_GetInstanceList + parameters: + - name: capacity + type: number + desc: capacity + returns: + - name: array + type: userdata + + - name: count + type: userdata + + + - name: load_sample_data + type: function + desc: | + FMOD_Studio_EventDescription_LoadSampleData + - name: unload_sample_data + type: function + desc: | + FMOD_Studio_EventDescription_UnloadSampleData + - name: get_sample_loading_state + type: function + desc: | + FMOD_Studio_EventDescription_GetSampleLoadingState + returns: + - name: state + type: userdata + + + - name: release_all_instances + type: function + desc: | + FMOD_Studio_EventDescription_ReleaseAllInstances + - name: set_callback + type: function + desc: | + FMOD_Studio_EventDescription_SetCallback + - name: get_user_data + type: function + desc: | + FMOD_Studio_EventDescription_GetUserData + - name: set_user_data + type: function + desc: | + FMOD_Studio_EventDescription_SetUserData +- name: fmod.studio.eventinstance + type: userdata + desc: FMOD_STUDIO_EVENTINSTANCE instance + + members: + - name: is_valid + type: function + desc: | + FMOD_Studio_EventInstance_IsValid + - name: get_description + type: function + desc: | + FMOD_Studio_EventInstance_GetDescription + returns: + - name: description + type: userdata + + + - name: get_system + type: function + desc: | + FMOD_Studio_EventInstance_GetSystem + returns: + - name: system + type: userdata + + + - name: get_volume + type: function + desc: | + FMOD_Studio_EventInstance_GetVolume + returns: + - name: volume + type: userdata + + - name: finalvolume + type: userdata + + + - name: set_volume + type: function + desc: | + FMOD_Studio_EventInstance_SetVolume + parameters: + - name: volume + type: number + desc: Volume level (0.0 to 1.0) + - name: get_pitch + type: function + desc: | + FMOD_Studio_EventInstance_GetPitch + returns: + - name: pitch + type: userdata + + - name: finalpitch + type: userdata + + + - name: set_pitch + type: function + desc: | + FMOD_Studio_EventInstance_SetPitch + parameters: + - name: pitch + type: number + desc: pitch + - name: get_3d_attributes + type: function + desc: | + FMOD_Studio_EventInstance_Get3DAttributes + returns: + - name: attributes + type: fmod.3d_attributes + + + - name: set_3d_attributes + type: function + desc: | + FMOD_Studio_EventInstance_Set3DAttributes + returns: + - name: attributes + type: fmod.3d_attributes + + + - name: get_listener_mask + type: function + desc: | + FMOD_Studio_EventInstance_GetListenerMask + returns: + - name: mask + type: userdata + + + - name: set_listener_mask + type: function + desc: | + FMOD_Studio_EventInstance_SetListenerMask + parameters: + - name: mask + type: number + desc: mask + - name: get_property + type: function + desc: | + FMOD_Studio_EventInstance_GetProperty + parameters: + - name: index + type: number + desc: Index value + returns: + - name: value + type: userdata + + + - name: set_property + type: function + desc: | + FMOD_Studio_EventInstance_SetProperty + parameters: + - name: index + type: number + desc: Index value + - name: value + type: number + desc: value + - name: get_reverb_level + type: function + desc: | + FMOD_Studio_EventInstance_GetReverbLevel + parameters: + - name: index + type: number + desc: Index value + returns: + - name: level + type: userdata + + + - name: set_reverb_level + type: function + desc: | + FMOD_Studio_EventInstance_SetReverbLevel + parameters: + - name: index + type: number + desc: Index value + - name: level + type: number + desc: level + - name: get_paused + type: function + desc: | + FMOD_Studio_EventInstance_GetPaused + returns: + - name: paused + type: userdata + + + - name: set_paused + type: function + desc: | + FMOD_Studio_EventInstance_SetPaused + parameters: + - name: paused + type: boolean + desc: Paused state + - name: start + type: function + desc: | + FMOD_Studio_EventInstance_Start + - name: stop + type: function + desc: | + FMOD_Studio_EventInstance_Stop + parameters: + - name: mode + type: number + desc: Mode flags + - name: get_timeline_position + type: function + desc: | + FMOD_Studio_EventInstance_GetTimelinePosition + returns: + - name: position + type: userdata + + + - name: set_timeline_position + type: function + desc: | + FMOD_Studio_EventInstance_SetTimelinePosition + parameters: + - name: position + type: number + desc: Position value + - name: get_playback_state + type: function + desc: | + FMOD_Studio_EventInstance_GetPlaybackState + returns: + - name: state + type: userdata + + + - name: get_channel_group + type: function + desc: | + FMOD_Studio_EventInstance_GetChannelGroup + returns: + - name: group + type: userdata + + + - name: get_min_max_distance + type: function + desc: | + FMOD_Studio_EventInstance_GetMinMaxDistance + returns: + - name: min + type: userdata + + - name: max + type: userdata + + + - name: release + type: function + desc: | + FMOD_Studio_EventInstance_Release + - name: is_virtual + type: function + desc: | + FMOD_Studio_EventInstance_IsVirtual + returns: + - name: virtualstate + type: userdata + + + - name: get_parameter_by_name + type: function + desc: | + FMOD_Studio_EventInstance_GetParameterByName + parameters: + - name: name + type: string + desc: Name or path + returns: + - name: value + type: userdata + + - name: finalvalue + type: userdata + + + - name: set_parameter_by_name + type: function + desc: | + FMOD_Studio_EventInstance_SetParameterByName + parameters: + - name: name + type: string + desc: Name or path + - name: value + type: number + desc: value + - name: ignoreseekspeed + type: boolean + desc: ignoreseekspeed + - name: set_parameter_by_name_with_label + type: function + desc: | + FMOD_Studio_EventInstance_SetParameterByNameWithLabel + parameters: + - name: name + type: string + desc: Name or path + - name: label + type: string + desc: label + - name: ignoreseekspeed + type: boolean + desc: ignoreseekspeed + - name: get_parameter_by_id + type: function + desc: | + FMOD_Studio_EventInstance_GetParameterByID + parameters: + - name: id + type: fmod.studio.parameter_id + desc: id + returns: + - name: value + type: userdata + + - name: finalvalue + type: userdata + + + - name: set_parameter_by_id + type: function + desc: | + FMOD_Studio_EventInstance_SetParameterByID + parameters: + - name: id + type: fmod.studio.parameter_id + desc: id + - name: value + type: number + desc: value + - name: ignoreseekspeed + type: boolean + desc: ignoreseekspeed + - name: set_parameter_by_id_with_label + type: function + desc: | + FMOD_Studio_EventInstance_SetParameterByIDWithLabel + parameters: + - name: id + type: fmod.studio.parameter_id + desc: id + - name: label + type: string + desc: label + - name: ignoreseekspeed + type: boolean + desc: ignoreseekspeed + - name: set_parameters_by_ids + type: function + desc: | + FMOD_Studio_EventInstance_SetParametersByIDs + parameters: + - name: ids + type: userdata + desc: ids + - name: count + type: number + desc: count + - name: ignoreseekspeed + type: boolean + desc: ignoreseekspeed + returns: + - name: values + type: userdata + + + - name: key_off + type: function + desc: | + FMOD_Studio_EventInstance_KeyOff + - name: set_callback + type: function + desc: | + FMOD_Studio_EventInstance_SetCallback + - name: get_user_data + type: function + desc: | + FMOD_Studio_EventInstance_GetUserData + - name: set_user_data + type: function + desc: | + FMOD_Studio_EventInstance_SetUserData + - name: get_cpu_usage + type: function + desc: | + FMOD_Studio_EventInstance_GetCPUUsage + returns: + - name: exclusive + type: userdata + + - name: inclusive + type: userdata + + + - name: get_memory_usage + type: function + desc: | + FMOD_Studio_EventInstance_GetMemoryUsage + returns: + - name: memoryusage + type: fmod.studio.memory_usage + + +- name: fmod.studio.bus + type: userdata + desc: FMOD_STUDIO_BUS instance + + members: + - name: is_valid + type: function + desc: | + FMOD_Studio_Bus_IsValid + - name: get_id + type: function + desc: | + FMOD_Studio_Bus_GetID + returns: + - name: id + type: fmod.guid + + + - name: get_path + type: function + desc: | + FMOD_Studio_Bus_GetPath + - name: get_volume + type: function + desc: | + FMOD_Studio_Bus_GetVolume + returns: + - name: volume + type: userdata + + - name: finalvolume + type: userdata + + + - name: set_volume + type: function + desc: | + FMOD_Studio_Bus_SetVolume + parameters: + - name: volume + type: number + desc: Volume level (0.0 to 1.0) + - name: get_paused + type: function + desc: | + FMOD_Studio_Bus_GetPaused + returns: + - name: paused + type: userdata + + + - name: set_paused + type: function + desc: | + FMOD_Studio_Bus_SetPaused + parameters: + - name: paused + type: boolean + desc: Paused state + - name: get_mute + type: function + desc: | + FMOD_Studio_Bus_GetMute + returns: + - name: mute + type: userdata + + + - name: set_mute + type: function + desc: | + FMOD_Studio_Bus_SetMute + parameters: + - name: mute + type: boolean + desc: mute + - name: stop_all_events + type: function + desc: | + FMOD_Studio_Bus_StopAllEvents + parameters: + - name: mode + type: number + desc: Mode flags + - name: get_port_index + type: function + desc: | + FMOD_Studio_Bus_GetPortIndex + returns: + - name: index + type: userdata + + + - name: set_port_index + type: function + desc: | + FMOD_Studio_Bus_SetPortIndex + parameters: + - name: index + type: number + desc: Index value + - name: lock_channel_group + type: function + desc: | + FMOD_Studio_Bus_LockChannelGroup + - name: unlock_channel_group + type: function + desc: | + FMOD_Studio_Bus_UnlockChannelGroup + - name: get_channel_group + type: function + desc: | + FMOD_Studio_Bus_GetChannelGroup + returns: + - name: group + type: userdata + + + - name: get_cpu_usage + type: function + desc: | + FMOD_Studio_Bus_GetCPUUsage + returns: + - name: exclusive + type: userdata + + - name: inclusive + type: userdata + + + - name: get_memory_usage + type: function + desc: | + FMOD_Studio_Bus_GetMemoryUsage + returns: + - name: memoryusage + type: fmod.studio.memory_usage + + +- name: fmod.studio.vca + type: userdata + desc: FMOD_STUDIO_VCA instance + + members: + - name: is_valid + type: function + desc: | + FMOD_Studio_VCA_IsValid + - name: get_id + type: function + desc: | + FMOD_Studio_VCA_GetID + returns: + - name: id + type: fmod.guid + + + - name: get_path + type: function + desc: | + FMOD_Studio_VCA_GetPath + - name: get_volume + type: function + desc: | + FMOD_Studio_VCA_GetVolume + returns: + - name: volume + type: userdata + + - name: finalvolume + type: userdata + + + - name: set_volume + type: function + desc: | + FMOD_Studio_VCA_SetVolume + parameters: + - name: volume + type: number + desc: Volume level (0.0 to 1.0) +- name: fmod.studio.bank + type: userdata + desc: FMOD_STUDIO_BANK instance + + members: + - name: is_valid + type: function + desc: | + FMOD_Studio_Bank_IsValid + - name: get_id + type: function + desc: | + FMOD_Studio_Bank_GetID + returns: + - name: id + type: fmod.guid + + + - name: get_path + type: function + desc: | + FMOD_Studio_Bank_GetPath + - name: unload + type: function + desc: | + FMOD_Studio_Bank_Unload + - name: load_sample_data + type: function + desc: | + FMOD_Studio_Bank_LoadSampleData + - name: unload_sample_data + type: function + desc: | + FMOD_Studio_Bank_UnloadSampleData + - name: get_loading_state + type: function + desc: | + FMOD_Studio_Bank_GetLoadingState + returns: + - name: state + type: userdata + + + - name: get_sample_loading_state + type: function + desc: | + FMOD_Studio_Bank_GetSampleLoadingState + returns: + - name: state + type: userdata + + + - name: get_string_count + type: function + desc: | + FMOD_Studio_Bank_GetStringCount + returns: + - name: count + type: userdata + + + - name: get_string_info + type: function + desc: | + FMOD_Studio_Bank_GetStringInfo + - name: get_event_count + type: function + desc: | + FMOD_Studio_Bank_GetEventCount + returns: + - name: count + type: userdata + + + - name: get_event_list + type: function + desc: | + FMOD_Studio_Bank_GetEventList + parameters: + - name: capacity + type: number + desc: capacity + returns: + - name: array + type: userdata + + - name: count + type: userdata + + + - name: get_bus_count + type: function + desc: | + FMOD_Studio_Bank_GetBusCount + returns: + - name: count + type: userdata + + + - name: get_bus_list + type: function + desc: | + FMOD_Studio_Bank_GetBusList + parameters: + - name: capacity + type: number + desc: capacity + returns: + - name: array + type: userdata + + - name: count + type: userdata + + + - name: get_vca_count + type: function + desc: | + FMOD_Studio_Bank_GetVCACount + returns: + - name: count + type: userdata + + + - name: get_vca_list + type: function + desc: | + FMOD_Studio_Bank_GetVCAList + parameters: + - name: capacity + type: number + desc: capacity + returns: + - name: array + type: userdata + + - name: count + type: userdata + + + - name: get_user_data + type: function + desc: | + FMOD_Studio_Bank_GetUserData + - name: set_user_data + type: function + desc: | + FMOD_Studio_Bank_SetUserData +- name: fmod.studio.commandreplay + type: userdata + desc: FMOD_STUDIO_COMMANDREPLAY instance + + members: + - name: is_valid + type: function + desc: | + FMOD_Studio_CommandReplay_IsValid + - name: get_system + type: function + desc: | + FMOD_Studio_CommandReplay_GetSystem + returns: + - name: system + type: userdata + + + - name: get_length + type: function + desc: | + FMOD_Studio_CommandReplay_GetLength + returns: + - name: length + type: userdata + + + - name: get_command_count + type: function + desc: | + FMOD_Studio_CommandReplay_GetCommandCount + returns: + - name: count + type: userdata + + + - name: get_command_info + type: function + desc: | + FMOD_Studio_CommandReplay_GetCommandInfo + parameters: + - name: commandindex + type: number + desc: Index value + returns: + - name: info + type: fmod.studio.command_info + + + - name: get_command_string + type: function + desc: | + FMOD_Studio_CommandReplay_GetCommandString + - name: get_command_at_time + type: function + desc: | + FMOD_Studio_CommandReplay_GetCommandAtTime + parameters: + - name: time + type: number + desc: time + returns: + - name: commandindex + type: userdata + + + - name: set_bank_path + type: function + desc: | + FMOD_Studio_CommandReplay_SetBankPath + parameters: + - name: bankPath + type: string + desc: bankPath + - name: start + type: function + desc: | + FMOD_Studio_CommandReplay_Start + - name: stop + type: function + desc: | + FMOD_Studio_CommandReplay_Stop + - name: seek_to_time + type: function + desc: | + FMOD_Studio_CommandReplay_SeekToTime + parameters: + - name: time + type: number + desc: time + - name: seek_to_command + type: function + desc: | + FMOD_Studio_CommandReplay_SeekToCommand + parameters: + - name: commandindex + type: number + desc: Index value + - name: get_paused + type: function + desc: | + FMOD_Studio_CommandReplay_GetPaused + returns: + - name: paused + type: userdata + + + - name: set_paused + type: function + desc: | + FMOD_Studio_CommandReplay_SetPaused + parameters: + - name: paused + type: boolean + desc: Paused state + - name: get_playback_state + type: function + desc: | + FMOD_Studio_CommandReplay_GetPlaybackState + returns: + - name: state + type: userdata + + + - name: get_current_command + type: function + desc: | + FMOD_Studio_CommandReplay_GetCurrentCommand + returns: + - name: commandindex + type: userdata + + - name: currenttime + type: userdata + + + - name: release + type: function + desc: | + FMOD_Studio_CommandReplay_Release + - name: set_frame_callback + type: function + desc: | + FMOD_Studio_CommandReplay_SetFrameCallback + - name: set_load_bank_callback + type: function + desc: | + FMOD_Studio_CommandReplay_SetLoadBankCallback + - name: set_create_instance_callback + type: function + desc: | + FMOD_Studio_CommandReplay_SetCreateInstanceCallback + - name: get_user_data + type: function + desc: | + FMOD_Studio_CommandReplay_GetUserData + - name: set_user_data + type: function + desc: | + FMOD_Studio_CommandReplay_SetUserData + +#***************************************************************************************************** + +- name: fmod.asyncreadinfo + type: userdata + desc: FMOD_ASYNCREADINFO struct + + members: + - name: handle + type: userdata + desc: void* field + + - name: offset + type: number + desc: unsigned int field + + - name: sizebytes + type: number + desc: unsigned int field + + - name: priority + type: number + desc: int field + + - name: userdata + type: userdata + desc: void* field + + - name: buffer + type: userdata + desc: void* field + + - name: bytesread + type: number + desc: unsigned int field + + - name: done + type: any + desc: FMOD_FILE_ASYNCDONE_FUNC field + + +- name: fmod.3d_attributes + type: userdata + desc: FMOD_3D_ATTRIBUTES struct + + members: + - name: position + type: vector3 + desc: FMOD_VECTOR field + + - name: velocity + type: vector3 + desc: FMOD_VECTOR field + + - name: forward + type: vector3 + desc: FMOD_VECTOR field + + - name: up + type: vector3 + desc: FMOD_VECTOR field + + +- name: fmod.guid + type: userdata + desc: FMOD_GUID struct + + members: + - name: Data1 + type: number + desc: unsigned int field + + - name: Data2 + type: number + desc: unsigned short field + + - name: Data3 + type: number + desc: unsigned short field + + - name: Data4 + + +- name: fmod.pluginlist + type: userdata + desc: FMOD_PLUGINLIST struct + + members: + - name: type + type: number + desc: FMOD_PLUGINTYPE field + + - name: description + type: userdata + desc: void* field + + +- name: fmod.advancedsettings + type: userdata + desc: FMOD_ADVANCEDSETTINGS struct + + members: + - name: cbSize + type: number + desc: int field + + - name: maxMPEGCodecs + type: number + desc: int field + + - name: maxADPCMCodecs + type: number + desc: int field + + - name: maxXMACodecs + type: number + desc: int field + + - name: maxVorbisCodecs + type: number + desc: int field + + - name: maxAT9Codecs + type: number + desc: int field + + - name: maxFADPCMCodecs + type: number + desc: int field + + - name: maxOpusCodecs + type: number + desc: int field + + - name: ASIONumChannels + type: number + desc: int field + + - name: ASIOChannelList + type: string + desc: char** field + + - name: ASIOSpeakerList + type: userdata + desc: FMOD_SPEAKER* field + + - name: vol0virtualvol + type: number + desc: float field + + - name: defaultDecodeBufferSize + type: number + desc: unsigned int field + + - name: profilePort + type: number + desc: unsigned short field + + - name: geometryMaxFadeTime + type: number + desc: unsigned int field + + - name: distanceFilterCenterFreq + type: number + desc: float field + + - name: reverb3Dinstance + type: number + desc: int field + + - name: DSPBufferPoolSize + type: number + desc: int field + + - name: resamplerMethod + type: number + desc: FMOD_DSP_RESAMPLER field + + - name: randomSeed + type: number + desc: unsigned int field + + - name: maxConvolutionThreads + type: number + desc: int field + + - name: maxSpatialObjects + type: number + desc: int field + + +- name: fmod.tag + type: userdata + desc: FMOD_TAG struct + + members: + - name: type + type: number + desc: FMOD_TAGTYPE field + + - name: datatype + type: number + desc: FMOD_TAGDATATYPE field + + - name: name + type: string + desc: char* field + + - name: data + type: userdata + desc: void* field + + - name: datalen + type: number + desc: unsigned int field + + - name: updated + type: boolean + desc: FMOD_BOOL field + + +- name: fmod.createsoundexinfo + type: userdata + desc: FMOD_CREATESOUNDEXINFO struct + + members: + - name: cbsize + type: number + desc: int field + + - name: length + type: number + desc: unsigned int field + + - name: fileoffset + type: number + desc: unsigned int field + + - name: numchannels + type: number + desc: int field + + - name: defaultfrequency + type: number + desc: int field + + - name: format + type: number + desc: FMOD_SOUND_FORMAT field + + - name: decodebuffersize + type: number + desc: unsigned int field + + - name: initialsubsound + type: number + desc: int field + + - name: numsubsounds + type: number + desc: int field + + - name: inclusionlist + type: userdata + desc: int* field + + - name: inclusionlistnum + type: number + desc: int field + + - name: pcmreadcallback + type: any + desc: FMOD_SOUND_PCMREAD_CALLBACK field + + - name: pcmsetposcallback + type: any + desc: FMOD_SOUND_PCMSETPOS_CALLBACK field + + - name: nonblockcallback + type: any + desc: FMOD_SOUND_NONBLOCK_CALLBACK field + + - name: dlsname + type: string + desc: const char* field + + - name: encryptionkey + type: string + desc: const char* field + + - name: maxpolyphony + type: number + desc: int field + + - name: userdata + type: userdata + desc: void* field + + - name: suggestedsoundtype + type: number + desc: FMOD_SOUND_TYPE field + + - name: fileuseropen + type: any + desc: FMOD_FILE_OPEN_CALLBACK field + + - name: fileuserclose + type: any + desc: FMOD_FILE_CLOSE_CALLBACK field + + - name: fileuserread + type: any + desc: FMOD_FILE_READ_CALLBACK field + + - name: fileuserseek + type: any + desc: FMOD_FILE_SEEK_CALLBACK field + + - name: fileuserasyncread + type: any + desc: FMOD_FILE_ASYNCREAD_CALLBACK field + + - name: fileuserasynccancel + type: any + desc: FMOD_FILE_ASYNCCANCEL_CALLBACK field + + - name: fileuserdata + type: userdata + desc: void* field + + - name: filebuffersize + type: number + desc: int field + + - name: channelorder + type: number + desc: FMOD_CHANNELORDER field + + - name: initialsoundgroup + type: userdata + desc: FMOD_SOUNDGROUP* field + + - name: initialseekposition + type: number + desc: unsigned int field + + - name: initialseekpostype + type: number + desc: FMOD_TIMEUNIT field + + - name: ignoresetfilesystem + type: number + desc: int field + + - name: audioqueuepolicy + type: number + desc: unsigned int field + + - name: minmidigranularity + type: number + desc: unsigned int field + + - name: nonblockthreadid + type: number + desc: int field + + - name: fsbguid + type: userdata + desc: FMOD_GUID* field + + +- name: fmod.reverb_properties + type: userdata + desc: FMOD_REVERB_PROPERTIES struct + + members: + - name: DecayTime + type: number + desc: float field + + - name: EarlyDelay + type: number + desc: float field + + - name: LateDelay + type: number + desc: float field + + - name: HFReference + type: number + desc: float field + + - name: HFDecayRatio + type: number + desc: float field + + - name: Diffusion + type: number + desc: float field + + - name: Density + type: number + desc: float field + + - name: LowShelfFrequency + type: number + desc: float field + + - name: LowShelfGain + type: number + desc: float field + + - name: HighCut + type: number + desc: float field + + - name: EarlyLateMix + type: number + desc: float field + + - name: WetLevel + type: number + desc: float field + + +- name: fmod.errorcallback_info + type: userdata + desc: FMOD_ERRORCALLBACK_INFO struct + + members: + - name: result + type: number + desc: FMOD_RESULT field + + - name: instancetype + type: number + desc: FMOD_ERRORCALLBACK_INSTANCETYPE field + + - name: instance + type: userdata + desc: void* field + + - name: functionname + type: string + desc: const char* field + + - name: functionparams + type: string + desc: const char* field + + +- name: fmod.cpu_usage + type: userdata + desc: FMOD_CPU_USAGE struct + + members: + - name: dsp + type: number + desc: float field + + - name: stream + type: number + desc: float field + + - name: geometry + type: number + desc: float field + + - name: update + type: number + desc: float field + + - name: convolution1 + type: number + desc: float field + + - name: convolution2 + type: number + desc: float field + + +- name: fmod.dsp_data_parameter_info + type: userdata + desc: FMOD_DSP_DATA_PARAMETER_INFO struct + + members: + - name: data + type: userdata + desc: void* field + + - name: length + type: number + desc: unsigned int field + + - name: index + type: number + desc: int field + + +- name: fmod.codec_state + type: userdata + desc: FMOD_CODEC_STATE struct + + members: + - name: plugindata + type: userdata + desc: void* field + + - name: waveformat + type: userdata + desc: FMOD_CODEC_WAVEFORMAT* field + + - name: functions + type: userdata + desc: FMOD_CODEC_STATE_FUNCTIONS* field + + - name: numsubsounds + type: number + desc: int field + + +- name: fmod.codec_waveformat + type: userdata + desc: FMOD_CODEC_WAVEFORMAT struct + + members: + - name: name + type: string + desc: const char* field + + - name: format + type: number + desc: FMOD_SOUND_FORMAT field + + - name: channels + type: number + desc: int field + + - name: frequency + type: number + desc: int field + + - name: lengthbytes + type: number + desc: unsigned int field + + - name: lengthpcm + type: number + desc: unsigned int field + + - name: pcmblocksize + type: number + desc: unsigned int field + + - name: loopstart + type: number + desc: int field + + - name: loopend + type: number + desc: int field + + - name: mode + type: number + desc: FMOD_MODE field + + - name: channelmask + type: number + desc: FMOD_CHANNELMASK field + + - name: channelorder + type: number + desc: FMOD_CHANNELORDER field + + - name: peakvolume + type: number + desc: float field + + +- name: fmod.codec_description + type: userdata + desc: FMOD_CODEC_DESCRIPTION struct + + members: + - name: apiversion + type: number + desc: unsigned int field + + - name: name + type: string + desc: const char* field + + - name: version + type: number + desc: unsigned int field + + - name: defaultasstream + type: number + desc: int field + + - name: timeunits + type: number + desc: FMOD_TIMEUNIT field + + - name: open + type: any + desc: FMOD_CODEC_OPEN_CALLBACK field + + - name: close + type: any + desc: FMOD_CODEC_CLOSE_CALLBACK field + + - name: read + type: any + desc: FMOD_CODEC_READ_CALLBACK field + + - name: getlength + type: any + desc: FMOD_CODEC_GETLENGTH_CALLBACK field + + - name: setposition + type: any + desc: FMOD_CODEC_SETPOSITION_CALLBACK field + + - name: getposition + type: any + desc: FMOD_CODEC_GETPOSITION_CALLBACK field + + - name: soundcreate + type: any + desc: FMOD_CODEC_SOUNDCREATE_CALLBACK field + + - name: getwaveformat + type: any + desc: FMOD_CODEC_GETWAVEFORMAT_CALLBACK field + + +- name: fmod.codec_state_functions + type: userdata + desc: FMOD_CODEC_STATE_FUNCTIONS struct + + members: + - name: metadata + type: any + desc: FMOD_CODEC_METADATA_FUNC field + + - name: alloc + type: any + desc: FMOD_CODEC_ALLOC_FUNC field + + - name: free + type: any + desc: FMOD_CODEC_FREE_FUNC field + + - name: log + type: any + desc: FMOD_CODEC_LOG_FUNC field + + - name: read + type: any + desc: FMOD_CODEC_FILE_READ_FUNC field + + - name: seek + type: any + desc: FMOD_CODEC_FILE_SEEK_FUNC field + + - name: tell + type: any + desc: FMOD_CODEC_FILE_TELL_FUNC field + + - name: size + type: any + desc: FMOD_CODEC_FILE_SIZE_FUNC field + + +- name: fmod.dsp_loudness_meter_info_type + type: userdata + desc: FMOD_DSP_LOUDNESS_METER_INFO_TYPE struct + + members: + - name: momentaryloudness + type: number + desc: float field + + - name: shorttermloudness + type: number + desc: float field + + - name: integratedloudness + type: number + desc: float field + + - name: loudness10thpercentile + type: number + desc: float field + + - name: loudness95thpercentile + type: number + desc: float field + + - name: loudnesshistogram + + - name: maxtruepeak + type: number + desc: float field + + - name: maxmomentaryloudness + type: number + desc: float field + + +- name: fmod.dsp_loudness_meter_weighting_type + type: userdata + desc: FMOD_DSP_LOUDNESS_METER_WEIGHTING_TYPE struct + + members: + - name: channelweight + + +- name: fmod.dsp_state + type: userdata + desc: FMOD_DSP_STATE struct + + members: + - name: instance + type: userdata + desc: void* field + + - name: plugindata + type: userdata + desc: void* field + + - name: channelmask + type: number + desc: FMOD_CHANNELMASK field + + - name: source_speakermode + type: number + desc: FMOD_SPEAKERMODE field + + - name: sidechaindata + type: userdata + desc: float* field + + - name: sidechainchannels + type: number + desc: int field + + - name: functions + type: userdata + desc: FMOD_DSP_STATE_FUNCTIONS* field + + - name: systemobject + type: number + desc: int field + + +- name: fmod.dsp_buffer_array + type: userdata + desc: FMOD_DSP_BUFFER_ARRAY struct + + members: + - name: numbuffers + type: number + desc: int field + + - name: buffernumchannels + type: userdata + desc: int* field + + - name: bufferchannelmask + type: userdata + desc: FMOD_CHANNELMASK* field + + - name: buffers + type: userdata + desc: float** field + + - name: speakermode + type: number + desc: FMOD_SPEAKERMODE field + + +- name: fmod.complex + type: userdata + desc: FMOD_COMPLEX struct + + members: + - name: real + type: number + desc: float field + + - name: imag + type: number + desc: float field + + +- name: fmod.dsp_parameter_float_mapping_piecewise_linear + type: userdata + desc: FMOD_DSP_PARAMETER_FLOAT_MAPPING_PIECEWISE_LINEAR struct + + members: + - name: numpoints + type: number + desc: int field + + - name: pointparamvalues + type: userdata + desc: float* field + + - name: pointpositions + type: userdata + desc: float* field + + +- name: fmod.dsp_parameter_float_mapping + type: userdata + desc: FMOD_DSP_PARAMETER_FLOAT_MAPPING struct + + members: + - name: type + type: number + desc: FMOD_DSP_PARAMETER_FLOAT_MAPPING_TYPE field + + - name: piecewiselinearmapping + type: fmod.dsp_parameter_float_mapping_piecewise_linear + desc: FMOD_DSP_PARAMETER_FLOAT_MAPPING_PIECEWISE_LINEAR field + + +- name: fmod.dsp_parameter_desc_float + type: userdata + desc: FMOD_DSP_PARAMETER_DESC_FLOAT struct + + members: + - name: min + type: number + desc: float field + + - name: max + type: number + desc: float field + + - name: defaultval + type: number + desc: float field + + - name: mapping + type: fmod.dsp_parameter_float_mapping + desc: FMOD_DSP_PARAMETER_FLOAT_MAPPING field + + +- name: fmod.dsp_parameter_desc_int + type: userdata + desc: FMOD_DSP_PARAMETER_DESC_INT struct + + members: + - name: min + type: number + desc: int field + + - name: max + type: number + desc: int field + + - name: defaultval + type: number + desc: int field + + - name: goestoinf + type: boolean + desc: FMOD_BOOL field + + - name: valuenames + type: string + desc: const char* const* field + + +- name: fmod.dsp_parameter_desc_bool + type: userdata + desc: FMOD_DSP_PARAMETER_DESC_BOOL struct + + members: + - name: defaultval + type: boolean + desc: FMOD_BOOL field + + - name: valuenames + type: string + desc: const char* const* field + + +- name: fmod.dsp_parameter_desc_data + type: userdata + desc: FMOD_DSP_PARAMETER_DESC_DATA struct + + members: + - name: datatype + type: number + desc: int field + + +- name: fmod.dsp_parameter_desc + type: userdata + desc: FMOD_DSP_PARAMETER_DESC struct + + members: + - name: type + type: number + desc: FMOD_DSP_PARAMETER_TYPE field + + - name: name + + - name: label + + - name: description + type: string + desc: const char* field + + +- name: fmod.dsp_parameter_overallgain + type: userdata + desc: FMOD_DSP_PARAMETER_OVERALLGAIN struct + + members: + - name: linear_gain + type: number + desc: float field + + - name: linear_gain_additive + type: number + desc: float field + + +- name: fmod.dsp_parameter_3dattributes + type: userdata + desc: FMOD_DSP_PARAMETER_3DATTRIBUTES struct + + members: + - name: relative + type: fmod.3d_attributes + desc: FMOD_3D_ATTRIBUTES field + + - name: absolute + type: fmod.3d_attributes + desc: FMOD_3D_ATTRIBUTES field + + +- name: fmod.dsp_parameter_3dattributes_multi + type: userdata + desc: FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI struct + + members: + - name: numlisteners + type: number + desc: int field + + - name: relative + + - name: weight + + - name: absolute + type: fmod.3d_attributes + desc: FMOD_3D_ATTRIBUTES field + + +- name: fmod.dsp_parameter_attenuation_range + type: userdata + desc: FMOD_DSP_PARAMETER_ATTENUATION_RANGE struct + + members: + - name: min + type: number + desc: float field + + - name: max + type: number + desc: float field + + +- name: fmod.dsp_parameter_sidechain + type: userdata + desc: FMOD_DSP_PARAMETER_SIDECHAIN struct + + members: + - name: sidechainenable + type: boolean + desc: FMOD_BOOL field + + +- name: fmod.dsp_parameter_fft + type: userdata + desc: FMOD_DSP_PARAMETER_FFT struct + + members: + - name: length + type: number + desc: int field + + - name: numchannels + type: number + desc: int field + + - name: spectrum + + +- name: fmod.dsp_parameter_dynamic_response + type: userdata + desc: FMOD_DSP_PARAMETER_DYNAMIC_RESPONSE struct + + members: + - name: numchannels + type: number + desc: int field + + - name: rms + + +- name: fmod.dsp_description + type: userdata + desc: FMOD_DSP_DESCRIPTION struct + + members: + - name: pluginsdkversion + type: number + desc: unsigned int field + + - name: name + + - name: version + type: number + desc: unsigned int field + + - name: numinputbuffers + type: number + desc: int field + + - name: numoutputbuffers + type: number + desc: int field + + - name: create + type: any + desc: FMOD_DSP_CREATE_CALLBACK field + + - name: release + type: any + desc: FMOD_DSP_RELEASE_CALLBACK field + + - name: reset + type: any + desc: FMOD_DSP_RESET_CALLBACK field + + - name: read + type: any + desc: FMOD_DSP_READ_CALLBACK field + + - name: process + type: any + desc: FMOD_DSP_PROCESS_CALLBACK field + + - name: setposition + type: any + desc: FMOD_DSP_SETPOSITION_CALLBACK field + + - name: numparameters + type: number + desc: int field + + - name: paramdesc + type: userdata + desc: FMOD_DSP_PARAMETER_DESC** field + + - name: setparameterfloat + type: any + desc: FMOD_DSP_SETPARAM_FLOAT_CALLBACK field + + - name: setparameterint + type: any + desc: FMOD_DSP_SETPARAM_INT_CALLBACK field + + - name: setparameterbool + type: any + desc: FMOD_DSP_SETPARAM_BOOL_CALLBACK field + + - name: setparameterdata + type: any + desc: FMOD_DSP_SETPARAM_DATA_CALLBACK field + + - name: getparameterfloat + type: any + desc: FMOD_DSP_GETPARAM_FLOAT_CALLBACK field + + - name: getparameterint + type: any + desc: FMOD_DSP_GETPARAM_INT_CALLBACK field + + - name: getparameterbool + type: any + desc: FMOD_DSP_GETPARAM_BOOL_CALLBACK field + + - name: getparameterdata + type: any + desc: FMOD_DSP_GETPARAM_DATA_CALLBACK field + + - name: shouldiprocess + type: any + desc: FMOD_DSP_SHOULDIPROCESS_CALLBACK field + + - name: userdata + type: userdata + desc: void* field + + - name: sys_register + type: any + desc: FMOD_DSP_SYSTEM_REGISTER_CALLBACK field + + - name: sys_deregister + type: any + desc: FMOD_DSP_SYSTEM_DEREGISTER_CALLBACK field + + - name: sys_mix + type: any + desc: FMOD_DSP_SYSTEM_MIX_CALLBACK field + + +- name: fmod.dsp_state_dft_functions + type: userdata + desc: FMOD_DSP_STATE_DFT_FUNCTIONS struct + + members: + - name: fftreal + type: any + desc: FMOD_DSP_DFT_FFTREAL_FUNC field + + - name: inversefftreal + type: any + desc: FMOD_DSP_DFT_IFFTREAL_FUNC field + + +- name: fmod.dsp_state_pan_functions + type: userdata + desc: FMOD_DSP_STATE_PAN_FUNCTIONS struct + + members: + - name: summonomatrix + type: any + desc: FMOD_DSP_PAN_SUMMONOMATRIX_FUNC field + + - name: sumstereomatrix + type: any + desc: FMOD_DSP_PAN_SUMSTEREOMATRIX_FUNC field + + - name: sumsurroundmatrix + type: any + desc: FMOD_DSP_PAN_SUMSURROUNDMATRIX_FUNC field + + - name: summonotosurroundmatrix + type: any + desc: FMOD_DSP_PAN_SUMMONOTOSURROUNDMATRIX_FUNC field + + - name: sumstereotosurroundmatrix + type: any + desc: FMOD_DSP_PAN_SUMSTEREOTOSURROUNDMATRIX_FUNC field + + - name: getrolloffgain + type: any + desc: FMOD_DSP_PAN_GETROLLOFFGAIN_FUNC field + + +- name: fmod.dsp_state_functions + type: userdata + desc: FMOD_DSP_STATE_FUNCTIONS struct + + members: + - name: alloc + type: any + desc: FMOD_DSP_ALLOC_FUNC field + + - name: realloc + type: any + desc: FMOD_DSP_REALLOC_FUNC field + + - name: free + type: any + desc: FMOD_DSP_FREE_FUNC field + + - name: getsamplerate + type: any + desc: FMOD_DSP_GETSAMPLERATE_FUNC field + + - name: getblocksize + type: any + desc: FMOD_DSP_GETBLOCKSIZE_FUNC field + + - name: dft + type: userdata + desc: FMOD_DSP_STATE_DFT_FUNCTIONS* field + + - name: pan + type: userdata + desc: FMOD_DSP_STATE_PAN_FUNCTIONS* field + + - name: getspeakermode + type: any + desc: FMOD_DSP_GETSPEAKERMODE_FUNC field + + - name: getclock + type: any + desc: FMOD_DSP_GETCLOCK_FUNC field + + - name: getlistenerattributes + type: any + desc: FMOD_DSP_GETLISTENERATTRIBUTES_FUNC field + + - name: log + type: any + desc: FMOD_DSP_LOG_FUNC field + + - name: getuserdata + type: any + desc: FMOD_DSP_GETUSERDATA_FUNC field + + +- name: fmod.dsp_metering_info + type: userdata + desc: FMOD_DSP_METERING_INFO struct + + members: + - name: numsamples + type: number + desc: int field + + - name: peaklevel + + - name: rmslevel + + - name: numchannels + type: number + desc: short field + + +- name: fmod.output_state + type: userdata + desc: FMOD_OUTPUT_STATE struct + + members: + - name: plugindata + type: userdata + desc: void* field + + - name: readfrommixer + type: any + desc: FMOD_OUTPUT_READFROMMIXER_FUNC field + + - name: alloc + type: any + desc: FMOD_OUTPUT_ALLOC_FUNC field + + - name: free + type: any + desc: FMOD_OUTPUT_FREE_FUNC field + + - name: log + type: any + desc: FMOD_OUTPUT_LOG_FUNC field + + - name: copyport + type: any + desc: FMOD_OUTPUT_COPYPORT_FUNC field + + - name: requestreset + type: any + desc: FMOD_OUTPUT_REQUESTRESET_FUNC field + + +- name: fmod.output_object3dinfo + type: userdata + desc: FMOD_OUTPUT_OBJECT3DINFO struct + + members: + - name: buffer + type: userdata + desc: float* field + + - name: bufferlength + type: number + desc: unsigned int field + + - name: position + type: vector3 + desc: FMOD_VECTOR field + + - name: gain + type: number + desc: float field + + - name: spread + type: number + desc: float field + + - name: priority + type: number + desc: float field + + +- name: fmod.output_description + type: userdata + desc: FMOD_OUTPUT_DESCRIPTION struct + + members: + - name: apiversion + type: number + desc: unsigned int field + + - name: name + type: string + desc: const char* field + + - name: version + type: number + desc: unsigned int field + + - name: method + type: number + desc: FMOD_OUTPUT_METHOD field + + - name: getnumdrivers + type: any + desc: FMOD_OUTPUT_GETNUMDRIVERS_CALLBACK field + + - name: getdriverinfo + type: any + desc: FMOD_OUTPUT_GETDRIVERINFO_CALLBACK field + + - name: init + type: any + desc: FMOD_OUTPUT_INIT_CALLBACK field + + - name: start + type: any + desc: FMOD_OUTPUT_START_CALLBACK field + + - name: stop + type: any + desc: FMOD_OUTPUT_STOP_CALLBACK field + + - name: close + type: any + desc: FMOD_OUTPUT_CLOSE_CALLBACK field + + - name: update + type: any + desc: FMOD_OUTPUT_UPDATE_CALLBACK field + + - name: gethandle + type: any + desc: FMOD_OUTPUT_GETHANDLE_CALLBACK field + + - name: mixer + type: any + desc: FMOD_OUTPUT_MIXER_CALLBACK field + + - name: object3dgetinfo + type: any + desc: FMOD_OUTPUT_OBJECT3DGETINFO_CALLBACK field + + - name: object3dalloc + type: any + desc: FMOD_OUTPUT_OBJECT3DALLOC_CALLBACK field + + - name: object3dfree + type: any + desc: FMOD_OUTPUT_OBJECT3DFREE_CALLBACK field + + - name: object3dupdate + type: any + desc: FMOD_OUTPUT_OBJECT3DUPDATE_CALLBACK field + + - name: openport + type: any + desc: FMOD_OUTPUT_OPENPORT_CALLBACK field + + - name: closeport + type: any + desc: FMOD_OUTPUT_CLOSEPORT_CALLBACK field + + - name: devicelistchanged + type: any + desc: FMOD_OUTPUT_DEVICELISTCHANGED_CALLBACK field + + +- name: fmod.studio.bank_info + type: userdata + desc: FMOD_STUDIO_BANK_INFO struct + + members: + - name: size + type: number + desc: int field + + - name: userdata + type: userdata + desc: void* field + + - name: userdatalength + type: number + desc: int field + + - name: opencallback + type: any + desc: FMOD_FILE_OPEN_CALLBACK field + + - name: closecallback + type: any + desc: FMOD_FILE_CLOSE_CALLBACK field + + - name: readcallback + type: any + desc: FMOD_FILE_READ_CALLBACK field + + - name: seekcallback + type: any + desc: FMOD_FILE_SEEK_CALLBACK field + + +- name: fmod.studio.parameter_id + type: userdata + desc: FMOD_STUDIO_PARAMETER_ID struct + + members: + - name: data1 + type: number + desc: unsigned int field + + - name: data2 + type: number + desc: unsigned int field + + +- name: fmod.studio.parameter_description + type: userdata + desc: FMOD_STUDIO_PARAMETER_DESCRIPTION struct + + members: + - name: name + type: string + desc: const char* field + + - name: id + type: fmod.studio.parameter_id + desc: FMOD_STUDIO_PARAMETER_ID field + + - name: minimum + type: number + desc: float field + + - name: maximum + type: number + desc: float field + + - name: defaultvalue + type: number + desc: float field + + - name: type + type: number + desc: FMOD_STUDIO_PARAMETER_TYPE field + + - name: flags + type: number + desc: FMOD_STUDIO_PARAMETER_FLAGS field + + - name: guid + type: fmod.guid + desc: FMOD_GUID field + + +- name: fmod.studio.user_property + type: userdata + desc: FMOD_STUDIO_USER_PROPERTY struct + + members: + - name: name + type: string + desc: const char* field + + - name: type + type: number + desc: FMOD_STUDIO_USER_PROPERTY_TYPE field + + +- name: fmod.studio.programmer_sound_properties + type: userdata + desc: FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES struct + + members: + - name: name + type: string + desc: const char* field + + - name: sound + type: userdata + desc: FMOD_SOUND* field + + - name: subsoundIndex + type: number + desc: int field + + +- name: fmod.studio.plugin_instance_properties + type: userdata + desc: FMOD_STUDIO_PLUGIN_INSTANCE_PROPERTIES struct + + members: + - name: name + type: string + desc: const char* field + + - name: dsp + type: userdata + desc: FMOD_DSP* field + + +- name: fmod.studio.timeline_marker_properties + type: userdata + desc: FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES struct + + members: + - name: name + type: string + desc: const char* field + + - name: position + type: number + desc: int field + + +- name: fmod.studio.timeline_beat_properties + type: userdata + desc: FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES struct + + members: + - name: bar + type: number + desc: int field + + - name: beat + type: number + desc: int field + + - name: position + type: number + desc: int field + + - name: tempo + type: number + desc: float field + + - name: timesignatureupper + type: number + desc: int field + + - name: timesignaturelower + type: number + desc: int field + + +- name: fmod.studio.timeline_nested_beat_properties + type: userdata + desc: FMOD_STUDIO_TIMELINE_NESTED_BEAT_PROPERTIES struct + + members: + - name: eventid + type: fmod.guid + desc: FMOD_GUID field + + - name: properties + type: fmod.studio.timeline_beat_properties + desc: FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES field + + +- name: fmod.studio.advancedsettings + type: userdata + desc: FMOD_STUDIO_ADVANCEDSETTINGS struct + + members: + - name: cbsize + type: number + desc: int field + + - name: commandqueuesize + type: number + desc: unsigned int field + + - name: handleinitialsize + type: number + desc: unsigned int field + + - name: studioupdateperiod + type: number + desc: int field + + - name: idlesampledatapoolsize + type: number + desc: int field + + - name: streamingscheduledelay + type: number + desc: unsigned int field + + - name: encryptionkey + type: string + desc: const char* field + + +- name: fmod.studio.cpu_usage + type: userdata + desc: FMOD_STUDIO_CPU_USAGE struct + + members: + - name: update + type: number + desc: float field + + +- name: fmod.studio.buffer_info + type: userdata + desc: FMOD_STUDIO_BUFFER_INFO struct + + members: + - name: currentusage + type: number + desc: int field + + - name: peakusage + type: number + desc: int field + + - name: capacity + type: number + desc: int field + + - name: stallcount + type: number + desc: int field + + - name: stalltime + type: number + desc: float field + + +- name: fmod.studio.buffer_usage + type: userdata + desc: FMOD_STUDIO_BUFFER_USAGE struct + + members: + - name: studiocommandqueue + type: fmod.studio.buffer_info + desc: FMOD_STUDIO_BUFFER_INFO field + + - name: studiohandle + type: fmod.studio.buffer_info + desc: FMOD_STUDIO_BUFFER_INFO field + + +- name: fmod.studio.sound_info + type: userdata + desc: FMOD_STUDIO_SOUND_INFO struct + + members: + - name: name_or_data + type: string + desc: const char* field + + - name: mode + type: number + desc: FMOD_MODE field + + - name: exinfo + type: fmod.createsoundexinfo + desc: FMOD_CREATESOUNDEXINFO field + + - name: subsoundindex + type: number + desc: int field + + +- name: fmod.studio.command_info + type: userdata + desc: FMOD_STUDIO_COMMAND_INFO struct + + members: + - name: commandname + type: string + desc: const char* field + + - name: parentcommandindex + type: number + desc: int field + + - name: framenumber + type: number + desc: int field + + - name: frametime + type: number + desc: float field + + - name: instancetype + type: number + desc: FMOD_STUDIO_INSTANCETYPE field + + - name: outputtype + type: number + desc: FMOD_STUDIO_INSTANCETYPE field + + - name: instancehandle + type: number + desc: unsigned int field + + - name: outputhandle + type: number + desc: unsigned int field + + +- name: fmod.studio.memory_usage + type: userdata + desc: FMOD_STUDIO_MEMORY_USAGE struct + + members: + - name: exclusive + type: number + desc: int field + + - name: inclusive + type: number + desc: int field + + - name: sampledata + type: number + desc: int field + +