This commit is contained in:
Crizomb 2025-06-10 17:40:16 +02:00
commit f698a38c7e
585 changed files with 118338 additions and 0 deletions

23
SimpleGame/CMakeLists.txt Normal file
View file

@ -0,0 +1,23 @@
cmake_minimum_required(VERSION 3.26)
include(FetchContent)
project(SimpleGame VERSION 1.0.0 LANGUAGES CXX)
set (CMAKE_EXPORT_COMPILE_COMMANDS ON)
set (BUILD_SHARED_LIBS FALSE)
FetchContent_Declare(sfml
GIT_REPOSITORY https://github.com/SFML/SFML.git
GIT_TAG 3.0.0
GIT_SHALLOW ON
EXCLUDE_FROM_ALL
SYSTEM)
FetchContent_MakeAvailable(sfml)
set(CMAKE_CXX_STANDARD 23)
add_subdirectory(src_original)
add_subdirectory(src)

View file

@ -0,0 +1,215 @@
/*==============================================================================
3D Example
Copyright (c), Firelight Technologies Pty, Ltd 2004-2025.
This example shows how to basic 3D positioning of sounds.
For information on using FMOD example code in your own programs, visit
https://www.fmod.com/legal
==============================================================================*/
#include "fmod.hpp"
#include "common.h"
const int INTERFACE_UPDATETIME = 50; // 50ms update for interface
const float DISTANCEFACTOR = 1.0f; // Units per meter. I.e feet would = 3.28. centimeters would = 100.
int FMOD_Main()
{
FMOD::System *system;
FMOD::Sound *sound1, *sound2, *sound3;
FMOD::Channel *channel1 = 0, *channel2 = 0, *channel3 = 0;
FMOD_RESULT result;
bool listenerflag = true;
FMOD_VECTOR listenerpos = { 0.0f, 0.0f, -1.0f * DISTANCEFACTOR };
void *extradriverdata = 0;
Common_Init(&extradriverdata);
/*
Create a System object and initialize.
*/
result = FMOD::System_Create(&system);
ERRCHECK(result);
result = system->init(100, FMOD_INIT_NORMAL, extradriverdata);
ERRCHECK(result);
/*
Set the distance units. (meters/feet etc).
*/
result = system->set3DSettings(1.0, DISTANCEFACTOR, 1.0f);
ERRCHECK(result);
/*
Load some sounds
*/
result = system->createSound(Common_MediaPath("drumloop.wav"), FMOD_3D, 0, &sound1);
ERRCHECK(result);
result = sound1->set3DMinMaxDistance(0.5f * DISTANCEFACTOR, 5000.0f * DISTANCEFACTOR);
ERRCHECK(result);
result = sound1->setMode(FMOD_LOOP_NORMAL);
ERRCHECK(result);
result = system->createSound(Common_MediaPath("jaguar.wav"), FMOD_3D, 0, &sound2);
ERRCHECK(result);
result = sound2->set3DMinMaxDistance(0.5f * DISTANCEFACTOR, 5000.0f * DISTANCEFACTOR);
ERRCHECK(result);
result = sound2->setMode(FMOD_LOOP_NORMAL);
ERRCHECK(result);
result = system->createSound(Common_MediaPath("swish.wav"), FMOD_2D, 0, &sound3);
ERRCHECK(result);
/*
Play sounds at certain positions
*/
{
FMOD_VECTOR pos = { -10.0f * DISTANCEFACTOR, 0.0f, 0.0f };
FMOD_VECTOR vel = { 0.0f, 0.0f, 0.0f };
result = system->playSound(sound1, 0, true, &channel1);
ERRCHECK(result);
result = channel1->set3DAttributes(&pos, &vel);
ERRCHECK(result);
result = channel1->setPaused(false);
ERRCHECK(result);
}
{
FMOD_VECTOR pos = { 15.0f * DISTANCEFACTOR, 0.0f, 0.0f };
FMOD_VECTOR vel = { 0.0f, 0.0f, 0.0f };
result = system->playSound(sound2, 0, true, &channel2);
ERRCHECK(result);
result = channel2->set3DAttributes(&pos, &vel);
ERRCHECK(result);
result = channel2->setPaused(false);
ERRCHECK(result);
}
/*
Main loop
*/
do
{
Common_Update();
if (Common_BtnPress(BTN_ACTION1))
{
bool paused;
channel1->getPaused(&paused);
channel1->setPaused(!paused);
}
if (Common_BtnPress(BTN_ACTION2))
{
bool paused;
channel2->getPaused(&paused);
channel2->setPaused(!paused);
}
if (Common_BtnPress(BTN_ACTION3))
{
result = system->playSound(sound3, 0, false, &channel3);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_MORE))
{
listenerflag = !listenerflag;
}
if (!listenerflag)
{
if (Common_BtnDown(BTN_LEFT))
{
listenerpos.x -= 1.0f * DISTANCEFACTOR;
if (listenerpos.x < -24 * DISTANCEFACTOR)
{
listenerpos.x = -24 * DISTANCEFACTOR;
}
}
if (Common_BtnDown(BTN_RIGHT))
{
listenerpos.x += 1.0f * DISTANCEFACTOR;
if (listenerpos.x > 23 * DISTANCEFACTOR)
{
listenerpos.x = 23 * DISTANCEFACTOR;
}
}
}
// ==========================================================================================
// UPDATE THE LISTENER
// ==========================================================================================
{
static float t = 0;
static FMOD_VECTOR lastpos = { 0.0f, 0.0f, 0.0f };
FMOD_VECTOR forward = { 0.0f, 0.0f, 1.0f };
FMOD_VECTOR up = { 0.0f, 1.0f, 0.0f };
FMOD_VECTOR vel;
if (listenerflag)
{
listenerpos.x = (float)sin(t * 0.05f) * 24.0f * DISTANCEFACTOR; // left right pingpong
}
// ********* NOTE ******* READ NEXT COMMENT!!!!!
// vel = how far we moved last FRAME (m/f), then time compensate it to SECONDS (m/s).
vel.x = (listenerpos.x - lastpos.x) * (1000 / INTERFACE_UPDATETIME);
vel.y = (listenerpos.y - lastpos.y) * (1000 / INTERFACE_UPDATETIME);
vel.z = (listenerpos.z - lastpos.z) * (1000 / INTERFACE_UPDATETIME);
// store pos for next time
lastpos = listenerpos;
result = system->set3DListenerAttributes(0, &listenerpos, &vel, &forward, &up);
ERRCHECK(result);
t += (30 * (1.0f / (float)INTERFACE_UPDATETIME)); // t is just a time value .. it increments in 30m/s steps in this example
}
result = system->update();
ERRCHECK(result);
// Create small visual display.
char s[80] = "|.............<1>......................<2>.......|";
s[(int)(listenerpos.x / DISTANCEFACTOR) + 25] = 'L';
Common_Draw("==================================================");
Common_Draw("3D Example.");
Common_Draw("Copyright (c) Firelight Technologies 2004-2025.");
Common_Draw("==================================================");
Common_Draw("");
Common_Draw("Press %s to toggle sound 1 (16bit Mono 3D)", Common_BtnStr(BTN_ACTION1));
Common_Draw("Press %s to toggle sound 2 (8bit Mono 3D)", Common_BtnStr(BTN_ACTION2));
Common_Draw("Press %s to play a sound (16bit Stereo 2D)", Common_BtnStr(BTN_ACTION3));
Common_Draw("Press %s or %s to move listener in still mode", Common_BtnStr(BTN_LEFT), Common_BtnStr(BTN_RIGHT));
Common_Draw("Press %s to toggle listener auto movement", Common_BtnStr(BTN_MORE));
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
Common_Draw("");
Common_Draw(s);
Common_Sleep(INTERFACE_UPDATETIME - 1);
} while (!Common_BtnPress(BTN_QUIT));
/*
Shut down
*/
result = sound1->release();
ERRCHECK(result);
result = sound2->release();
ERRCHECK(result);
result = sound3->release();
ERRCHECK(result);
result = system->close();
ERRCHECK(result);
result = system->release();
ERRCHECK(result);
Common_Close();
return 0;
}

View file

@ -0,0 +1 @@
-std=c17 -fPIC -fno-trapping-math

View file

@ -0,0 +1 @@
#define FMOD_USE_PLATFORM_HEADERS

View file

@ -0,0 +1 @@
[General]

View file

@ -0,0 +1,442 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{71064a00-ba92-4c03-affd-e7f374fa3265}</value>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{22e4ca2b-856c-4a9e-96b1-3ef2b55f3da9}</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.4">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=address</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Address Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.5">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=memory</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Memory Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.6">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=thread</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Thread Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.7">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f 3d.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=undefined</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Undefined Behaviour Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">8</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">%{buildDir}/3d</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseTerminal">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory">%{buildDir}/../../../../../examples/media</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View file

@ -0,0 +1 @@
-std=c++17 -fPIC -fno-trapping-math

View file

@ -0,0 +1,514 @@
../../../../../../core_api/src/fmod.cpp
../../../../../../core_api/src/fmod.cs
../../../../../../core_api/src/fmod.h
../../../../../../core_api/src/fmod.hpp
../../../../../../core_api/src/fmod5.cpp
../../../../../../core_api/src/fmod_3d.h
../../../../../../core_api/src/fmod_array.h
../../../../../../core_api/src/fmod_asm_macros.m4
../../../../../../core_api/src/fmod_async.cpp
../../../../../../core_api/src/fmod_async.h
../../../../../../core_api/src/fmod_atomic.h
../../../../../../core_api/src/fmod_atomic_c11.h
../../../../../../core_api/src/fmod_atomic_clang.h
../../../../../../core_api/src/fmod_atomic_cpp11.h
../../../../../../core_api/src/fmod_atomic_gcc.h
../../../../../../core_api/src/fmod_atomic_legacy.h
../../../../../../core_api/src/fmod_autocleanup.h
../../../../../../core_api/src/fmod_channel.cpp
../../../../../../core_api/src/fmod_channel_emulated.h
../../../../../../core_api/src/fmod_channel_real.cpp
../../../../../../core_api/src/fmod_channel_real.h
../../../../../../core_api/src/fmod_channel_software.cpp
../../../../../../core_api/src/fmod_channel_software.h
../../../../../../core_api/src/fmod_channel_stream.cpp
../../../../../../core_api/src/fmod_channel_stream.h
../../../../../../core_api/src/fmod_channelcontrol.cpp
../../../../../../core_api/src/fmod_channelcontroli.cpp
../../../../../../core_api/src/fmod_channelcontroli.h
../../../../../../core_api/src/fmod_channelgroup.cpp
../../../../../../core_api/src/fmod_channelgroupi.cpp
../../../../../../core_api/src/fmod_channelgroupi.h
../../../../../../core_api/src/fmod_channeli.cpp
../../../../../../core_api/src/fmod_channeli.h
../../../../../../core_api/src/fmod_channelpool.h
../../../../../../core_api/src/fmod_codec.cpp
../../../../../../core_api/src/fmod_codec.h
../../../../../../core_api/src/fmod_codec_aiff.cpp
../../../../../../core_api/src/fmod_codec_aiff.h
../../../../../../core_api/src/fmod_codec_dls.cpp
../../../../../../core_api/src/fmod_codec_dls.h
../../../../../../core_api/src/fmod_codec_fadpcm.cpp
../../../../../../core_api/src/fmod_codec_fadpcm.h
../../../../../../core_api/src/fmod_codec_fadpcm_arm.m4
../../../../../../core_api/src/fmod_codec_flac.cpp
../../../../../../core_api/src/fmod_codec_flac.h
../../../../../../core_api/src/fmod_codec_fsb5.cpp
../../../../../../core_api/src/fmod_codec_fsb5.h
../../../../../../core_api/src/fmod_codec_fsbvorbis.cpp
../../../../../../core_api/src/fmod_codec_fsbvorbis.h
../../../../../../core_api/src/fmod_codec_fsbvorbis_books.cpp
../../../../../../core_api/src/fmod_codec_it.cpp
../../../../../../core_api/src/fmod_codec_it.h
../../../../../../core_api/src/fmod_codec_midi.cpp
../../../../../../core_api/src/fmod_codec_midi.h
../../../../../../core_api/src/fmod_codec_mod.cpp
../../../../../../core_api/src/fmod_codec_mod.h
../../../../../../core_api/src/fmod_codec_mpeg.cpp
../../../../../../core_api/src/fmod_codec_mpeg.h
../../../../../../core_api/src/fmod_codec_mpeg_decode.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer2.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer3.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.h
../../../../../../core_api/src/fmod_codec_playlist.cpp
../../../../../../core_api/src/fmod_codec_playlist.h
../../../../../../core_api/src/fmod_codec_raw.cpp
../../../../../../core_api/src/fmod_codec_raw.h
../../../../../../core_api/src/fmod_codec_s3m.cpp
../../../../../../core_api/src/fmod_codec_s3m.h
../../../../../../core_api/src/fmod_codec_tag.cpp
../../../../../../core_api/src/fmod_codec_tag.h
../../../../../../core_api/src/fmod_codec_user.cpp
../../../../../../core_api/src/fmod_codec_user.h
../../../../../../core_api/src/fmod_codec_wav.cpp
../../../../../../core_api/src/fmod_codec_wav.h
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.cpp
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.h
../../../../../../core_api/src/fmod_codec_wav_riff.cpp
../../../../../../core_api/src/fmod_codec_xm.cpp
../../../../../../core_api/src/fmod_codec_xm.h
../../../../../../core_api/src/fmod_codeci.h
../../../../../../core_api/src/fmod_common.h
../../../../../../core_api/src/fmod_complex.hlsli
../../../../../../core_api/src/fmod_convolution.hlsl
../../../../../../core_api/src/fmod_debug.cpp
../../../../../../core_api/src/fmod_debug.h
../../../../../../core_api/src/fmod_downmix.cpp
../../../../../../core_api/src/fmod_downmix.h
../../../../../../core_api/src/fmod_downmix_dolby_pl2.cpp
../../../../../../core_api/src/fmod_downmix_dolby_pl2.h
../../../../../../core_api/src/fmod_dsp.cpp
../../../../../../core_api/src/fmod_dsp.cs
../../../../../../core_api/src/fmod_dsp.h
../../../../../../core_api/src/fmod_dsp_biquad.cpp
../../../../../../core_api/src/fmod_dsp_biquad.h
../../../../../../core_api/src/fmod_dsp_channelmix.cpp
../../../../../../core_api/src/fmod_dsp_channelmix.h
../../../../../../core_api/src/fmod_dsp_chorus.cpp
../../../../../../core_api/src/fmod_dsp_chorus.h
../../../../../../core_api/src/fmod_dsp_codec.cpp
../../../../../../core_api/src/fmod_dsp_codec.h
../../../../../../core_api/src/fmod_dsp_codecpool.cpp
../../../../../../core_api/src/fmod_dsp_codecpool.h
../../../../../../core_api/src/fmod_dsp_compressor.cpp
../../../../../../core_api/src/fmod_dsp_compressor.h
../../../../../../core_api/src/fmod_dsp_compressor_noopt.cpp
../../../../../../core_api/src/fmod_dsp_compressor_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection.cpp
../../../../../../core_api/src/fmod_dsp_connection_arm.cpp
../../../../../../core_api/src/fmod_dsp_connection_avx.cpp
../../../../../../core_api/src/fmod_dsp_connection_neon.cpp
../../../../../../core_api/src/fmod_dsp_connection_noopt.cpp
../../../../../../core_api/src/fmod_dsp_connection_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection_vfp.m4
../../../../../../core_api/src/fmod_dsp_connectioni.cpp
../../../../../../core_api/src/fmod_dsp_connectioni.h
../../../../../../core_api/src/fmod_dsp_convert.cpp
../../../../../../core_api/src/fmod_dsp_convert.h
../../../../../../core_api/src/fmod_dsp_convert_avx.cpp
../../../../../../core_api/src/fmod_dsp_convert_noopt.cpp
../../../../../../core_api/src/fmod_dsp_convert_sse.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.h
../../../../../../core_api/src/fmod_dsp_convolutionreverb_async.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_avx.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_cpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_gpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_neon.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_sse.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.h
../../../../../../core_api/src/fmod_dsp_delay.cpp
../../../../../../core_api/src/fmod_dsp_delay.h
../../../../../../core_api/src/fmod_dsp_distortion.cpp
../../../../../../core_api/src/fmod_dsp_distortion.h
../../../../../../core_api/src/fmod_dsp_echo.cpp
../../../../../../core_api/src/fmod_dsp_echo.h
../../../../../../core_api/src/fmod_dsp_echo_noopt.cpp
../../../../../../core_api/src/fmod_dsp_echo_sse.cpp
../../../../../../core_api/src/fmod_dsp_effects.h
../../../../../../core_api/src/fmod_dsp_emulated.cpp
../../../../../../core_api/src/fmod_dsp_emulated.h
../../../../../../core_api/src/fmod_dsp_fader.cpp
../../../../../../core_api/src/fmod_dsp_fader.h
../../../../../../core_api/src/fmod_dsp_fft.cpp
../../../../../../core_api/src/fmod_dsp_fft.h
../../../../../../core_api/src/fmod_dsp_flange.cpp
../../../../../../core_api/src/fmod_dsp_flange.h
../../../../../../core_api/src/fmod_dsp_highpass.cpp
../../../../../../core_api/src/fmod_dsp_highpass.h
../../../../../../core_api/src/fmod_dsp_highpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_highpass_simple.h
../../../../../../core_api/src/fmod_dsp_interleave_noopt.cpp
../../../../../../core_api/src/fmod_dsp_interleave_sse.cpp
../../../../../../core_api/src/fmod_dsp_itecho.cpp
../../../../../../core_api/src/fmod_dsp_itecho.h
../../../../../../core_api/src/fmod_dsp_limiter.cpp
../../../../../../core_api/src/fmod_dsp_limiter.h
../../../../../../core_api/src/fmod_dsp_loudness_meter.cpp
../../../../../../core_api/src/fmod_dsp_loudness_meter.h
../../../../../../core_api/src/fmod_dsp_lowpass.cpp
../../../../../../core_api/src/fmod_dsp_lowpass.h
../../../../../../core_api/src/fmod_dsp_lowpass2.cpp
../../../../../../core_api/src/fmod_dsp_lowpass2.h
../../../../../../core_api/src/fmod_dsp_lowpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_lowpass_simple.h
../../../../../../core_api/src/fmod_dsp_matrix.cpp
../../../../../../core_api/src/fmod_dsp_matrix.h
../../../../../../core_api/src/fmod_dsp_metering_noopt.cpp
../../../../../../core_api/src/fmod_dsp_metering_sse.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.h
../../../../../../core_api/src/fmod_dsp_multiband_eq.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq.h
../../../../../../core_api/src/fmod_dsp_multiband_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_normalize.cpp
../../../../../../core_api/src/fmod_dsp_normalize.h
../../../../../../core_api/src/fmod_dsp_objectpan.cpp
../../../../../../core_api/src/fmod_dsp_objectpan.h
../../../../../../core_api/src/fmod_dsp_oscillator.cpp
../../../../../../core_api/src/fmod_dsp_oscillator.h
../../../../../../core_api/src/fmod_dsp_pan.cpp
../../../../../../core_api/src/fmod_dsp_pan.h
../../../../../../core_api/src/fmod_dsp_parameq.cpp
../../../../../../core_api/src/fmod_dsp_parameq.h
../../../../../../core_api/src/fmod_dsp_pitchshift.cpp
../../../../../../core_api/src/fmod_dsp_pitchshift.h
../../../../../../core_api/src/fmod_dsp_porthead.cpp
../../../../../../core_api/src/fmod_dsp_porthead.h
../../../../../../core_api/src/fmod_dsp_resampler.cpp
../../../../../../core_api/src/fmod_dsp_resampler.h
../../../../../../core_api/src/fmod_dsp_resampler_cubic.cpp
../../../../../../core_api/src/fmod_dsp_resampler_cubic.h
../../../../../../core_api/src/fmod_dsp_resampler_linear.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear.h
../../../../../../core_api/src/fmod_dsp_resampler_linear_arm.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx2.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx512.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_neon.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_vfp.m4
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.h
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.h
../../../../../../core_api/src/fmod_dsp_return.cpp
../../../../../../core_api/src/fmod_dsp_return.h
../../../../../../core_api/src/fmod_dsp_send.cpp
../../../../../../core_api/src/fmod_dsp_send.h
../../../../../../core_api/src/fmod_dsp_sfxreverb.cpp
../../../../../../core_api/src/fmod_dsp_sfxreverb.h
../../../../../../core_api/src/fmod_dsp_source.cpp
../../../../../../core_api/src/fmod_dsp_source.h
../../../../../../core_api/src/fmod_dsp_three_eq.cpp
../../../../../../core_api/src/fmod_dsp_three_eq.h
../../../../../../core_api/src/fmod_dsp_three_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_noopt.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.h
../../../../../../core_api/src/fmod_dsp_tremolo.cpp
../../../../../../core_api/src/fmod_dsp_tremolo.h
../../../../../../core_api/src/fmod_dsp_wavetable.cpp
../../../../../../core_api/src/fmod_dsp_wavetable.h
../../../../../../core_api/src/fmod_dspi.cpp
../../../../../../core_api/src/fmod_dspi.h
../../../../../../core_api/src/fmod_endian.h
../../../../../../core_api/src/fmod_errors.cs
../../../../../../core_api/src/fmod_errors.h
../../../../../../core_api/src/fmod_expandingpool.cpp
../../../../../../core_api/src/fmod_expandingpool.h
../../../../../../core_api/src/fmod_fft.cpp
../../../../../../core_api/src/fmod_fft.h
../../../../../../core_api/src/fmod_fft_0.hlsl
../../../../../../core_api/src/fmod_fft_1.hlsl
../../../../../../core_api/src/fmod_fft_common.hlsli
../../../../../../core_api/src/fmod_fft_noopt.cpp
../../../../../../core_api/src/fmod_fft_sse.cpp
../../../../../../core_api/src/fmod_file.cpp
../../../../../../core_api/src/fmod_file.h
../../../../../../core_api/src/fmod_file_disk.cpp
../../../../../../core_api/src/fmod_file_disk.h
../../../../../../core_api/src/fmod_file_memory.cpp
../../../../../../core_api/src/fmod_file_memory.h
../../../../../../core_api/src/fmod_file_net.cpp
../../../../../../core_api/src/fmod_file_net.h
../../../../../../core_api/src/fmod_file_null.cpp
../../../../../../core_api/src/fmod_file_null.h
../../../../../../core_api/src/fmod_file_remote.cpp
../../../../../../core_api/src/fmod_file_remote.h
../../../../../../core_api/src/fmod_file_user.cpp
../../../../../../core_api/src/fmod_file_user.h
../../../../../../core_api/src/fmod_format.cpp
../../../../../../core_api/src/fmod_format.h
../../../../../../core_api/src/fmod_freelist.h
../../../../../../core_api/src/fmod_geometry.cpp
../../../../../../core_api/src/fmod_geometry_mgr.cpp
../../../../../../core_api/src/fmod_geometry_mgr.h
../../../../../../core_api/src/fmod_geometryi.cpp
../../../../../../core_api/src/fmod_geometryi.h
../../../../../../core_api/src/fmod_globals.cpp
../../../../../../core_api/src/fmod_globals.h
../../../../../../core_api/src/fmod_gpu_compute.cpp
../../../../../../core_api/src/fmod_gpu_compute.h
../../../../../../core_api/src/fmod_ifft_0.hlsl
../../../../../../core_api/src/fmod_ifft_1.hlsl
../../../../../../core_api/src/fmod_iterator.h
../../../../../../core_api/src/fmod_linkedlist.h
../../../../../../core_api/src/fmod_listener.cpp
../../../../../../core_api/src/fmod_listener.h
../../../../../../core_api/src/fmod_localcriticalsection.h
../../../../../../core_api/src/fmod_map.h
../../../../../../core_api/src/fmod_memory.cpp
../../../../../../core_api/src/fmod_memory.h
../../../../../../core_api/src/fmod_memory_tracking.cpp
../../../../../../core_api/src/fmod_memory_tracking.h
../../../../../../core_api/src/fmod_metadata.cpp
../../../../../../core_api/src/fmod_metadata.h
../../../../../../core_api/src/fmod_mode.h
../../../../../../core_api/src/fmod_music.cpp
../../../../../../core_api/src/fmod_music.h
../../../../../../core_api/src/fmod_net.cpp
../../../../../../core_api/src/fmod_net.h
../../../../../../core_api/src/fmod_octree.cpp
../../../../../../core_api/src/fmod_octree.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.m4
../../../../../../core_api/src/fmod_os_atomic_gcc_arm64.h
../../../../../../core_api/src/fmod_os_atomic_gcc_x86.h
../../../../../../core_api/src/fmod_os_misc.h
../../../../../../core_api/src/fmod_os_net.h
../../../../../../core_api/src/fmod_os_net_posix.cpp
../../../../../../core_api/src/fmod_os_net_winsock.cpp
../../../../../../core_api/src/fmod_os_output.h
../../../../../../core_api/src/fmod_output.cpp
../../../../../../core_api/src/fmod_output.h
../../../../../../core_api/src/fmod_output_emulated.h
../../../../../../core_api/src/fmod_output_nosound.cpp
../../../../../../core_api/src/fmod_output_nosound.h
../../../../../../core_api/src/fmod_output_nosound_nrt.cpp
../../../../../../core_api/src/fmod_output_nosound_nrt.h
../../../../../../core_api/src/fmod_output_phase.h
../../../../../../core_api/src/fmod_output_phase.mm
../../../../../../core_api/src/fmod_output_software.cpp
../../../../../../core_api/src/fmod_output_software.h
../../../../../../core_api/src/fmod_output_wavwriter.cpp
../../../../../../core_api/src/fmod_output_wavwriter.h
../../../../../../core_api/src/fmod_output_wavwriter_nrt.cpp
../../../../../../core_api/src/fmod_output_wavwriter_nrt.h
../../../../../../core_api/src/fmod_output_winsonic.cpp
../../../../../../core_api/src/fmod_output_winsonic.h
../../../../../../core_api/src/fmod_output_winsonic_compat.h
../../../../../../core_api/src/fmod_outputi.h
../../../../../../core_api/src/fmod_pan.cpp
../../../../../../core_api/src/fmod_pan.h
../../../../../../core_api/src/fmod_pluginfactory.cpp
../../../../../../core_api/src/fmod_pluginfactory.h
../../../../../../core_api/src/fmod_poolallocator.h
../../../../../../core_api/src/fmod_profile.cpp
../../../../../../core_api/src/fmod_profile.h
../../../../../../core_api/src/fmod_profile_channel_pkt.h
../../../../../../core_api/src/fmod_profile_client.cpp
../../../../../../core_api/src/fmod_profile_client.h
../../../../../../core_api/src/fmod_profile_codec_pkt.h
../../../../../../core_api/src/fmod_profile_cpu_pkt.h
../../../../../../core_api/src/fmod_profile_dsp.cpp
../../../../../../core_api/src/fmod_profile_dsp.h
../../../../../../core_api/src/fmod_profile_dsp_pkt.h
../../../../../../core_api/src/fmod_profile_group_pkt.h
../../../../../../core_api/src/fmod_profile_markers.cpp
../../../../../../core_api/src/fmod_profile_markers.h
../../../../../../core_api/src/fmod_profile_pkt.h
../../../../../../core_api/src/fmod_profile_remotefile.cpp
../../../../../../core_api/src/fmod_profile_remotefile.h
../../../../../../core_api/src/fmod_profile_remotefile_pkt.h
../../../../../../core_api/src/fmod_profile_stats.cpp
../../../../../../core_api/src/fmod_profile_stats.h
../../../../../../core_api/src/fmod_profile_stats_pkt.h
../../../../../../core_api/src/fmod_random.h
../../../../../../core_api/src/fmod_reverb.cpp
../../../../../../core_api/src/fmod_reverbi.cpp
../../../../../../core_api/src/fmod_reverbi.h
../../../../../../core_api/src/fmod_rootsignature.hlsl
../../../../../../core_api/src/fmod_sample_software.cpp
../../../../../../core_api/src/fmod_sample_software.h
../../../../../../core_api/src/fmod_settings.h
../../../../../../core_api/src/fmod_shader_compat.hlsli
../../../../../../core_api/src/fmod_simd_util_sse.h
../../../../../../core_api/src/fmod_sound.cpp
../../../../../../core_api/src/fmod_sound_sample.cpp
../../../../../../core_api/src/fmod_sound_sample.h
../../../../../../core_api/src/fmod_sound_stream.cpp
../../../../../../core_api/src/fmod_sound_stream.h
../../../../../../core_api/src/fmod_soundgroup.cpp
../../../../../../core_api/src/fmod_soundgroupi.cpp
../../../../../../core_api/src/fmod_soundgroupi.h
../../../../../../core_api/src/fmod_soundi.cpp
../../../../../../core_api/src/fmod_soundi.h
../../../../../../core_api/src/fmod_speakermap.h
../../../../../../core_api/src/fmod_string.cpp
../../../../../../core_api/src/fmod_string.h
../../../../../../core_api/src/fmod_stringw.cpp
../../../../../../core_api/src/fmod_stringw.h
../../../../../../core_api/src/fmod_syncpoint.h
../../../../../../core_api/src/fmod_system.cpp
../../../../../../core_api/src/fmod_systemi.cpp
../../../../../../core_api/src/fmod_systemi.h
../../../../../../core_api/src/fmod_systemi_channel.cpp
../../../../../../core_api/src/fmod_systemi_driver.cpp
../../../../../../core_api/src/fmod_systemi_dsp.cpp
../../../../../../core_api/src/fmod_systemi_fft.cpp
../../../../../../core_api/src/fmod_systemi_sound.cpp
../../../../../../core_api/src/fmod_systemi_speaker.cpp
../../../../../../core_api/src/fmod_systemi_thread.cpp
../../../../../../core_api/src/fmod_systemi_update.cpp
../../../../../../core_api/src/fmod_thread.cpp
../../../../../../core_api/src/fmod_thread.h
../../../../../../core_api/src/fmod_threadsafe.cpp
../../../../../../core_api/src/fmod_threadsafe.h
../../../../../../core_api/src/fmod_time.cpp
../../../../../../core_api/src/fmod_time.h
../../../../../../core_api/src/fmod_types.h
../../../../../../examples/platforms/linux/src/common_platform.cpp
../../../../../../examples/platforms/linux/src/common_platform.h
../../../../../../examples/src/autotest.cpp
../../../../../../examples/src/common.cpp
../../../../../../examples/src/common.h
../../../../../../examples/src/common_dx12.cpp
../../../../../../examples/src/common_dx12.h
../../../../../../examples/src/common_dx12_ps.h
../../../../../../examples/src/common_dx12_vs.h
../../../../../../examples/src/common_font_glyphs.h
../../../../../../examples/src/common_font_texture.h
../../../../../../examples/src/common_vulkan.cpp
../../../../../../examples/src/common_vulkan.h
../../../../../../examples/src/common_vulkan_fs.h
../../../../../../examples/src/common_vulkan_vs.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/assert.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/callback.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/export.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/format.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/ordinals.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/stream_decoder.h
../../../../../../external/decoders/flac-1.2.1/include/share/alloc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitmath.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitreader.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/cpu.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/crc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/fixed.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/format.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/lpc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/md5.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/memory.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/stream_decoder.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/nasm.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitmath.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitreader.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/cpu.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/crc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/fixed.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/float.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/format.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/lpc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/md5.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/memory.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/protected/stream_decoder.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/ogg.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/os_types.h
../../../../../../external/decoders/ogg_vorbis/ogg/src/bitwise.c
../../../../../../external/decoders/ogg_vorbis/ogg/src/framing.c
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/codec.h
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/vorbisfile.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/backends.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/block.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codec_internal.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/floor1.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/highlevel.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/info.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup_data.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mapping0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/masking.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/misc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/os.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/psy.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/res0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/scales.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/sharedbook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/synthesis.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/vorbisfile.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/floor_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/psych_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/residue_44.h
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.c
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_codec.h
../../../../../../external/decoders/tremor_lowmem/tremor_codec_internal.h
../../../../../../external/decoders/tremor_lowmem/tremor_dsp.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_info.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx512.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct.h
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_misc.h
../../../../../../external/decoders/tremor_lowmem/tremor_os.h
../../../../../../external/decoders/tremor_lowmem/tremor_os_types.h
../../../../../../external/decoders/tremor_lowmem/tremor_res012.c
../../../../../../external/decoders/tremor_lowmem/tremor_window_lookup.h
../../../../../../external/misc/dlmalloc/dlmalloc.cpp
../../../../../../external/misc/dlmalloc/dlmalloc.h
../make/3d.makefile
../3d.cpp

View file

@ -0,0 +1,6 @@
../../../../../../examples/src
../../../../../../examples/platforms/linux/src
../../../../../src
../../../../../../external/misc
../../../../../../external/dsps
../../../../../../external/decoders

View file

@ -0,0 +1,348 @@
/*===============================================================================================
Async IO Example
Copyright (c), Firelight Technologies Pty, Ltd 2004-2025.
This example shows how to play a stream and use a custom file handler that defers reads for the
streaming part. FMOD will allow the user to return straight away from a file read request and
supply the data at a later time.
===============================================================================================*/
#include "fmod.hpp"
#include "common.h"
#include <list>
struct AsyncData
{
FMOD_ASYNCREADINFO *info;
};
struct ScopedMutex
{
Common_Mutex *mMutex;
ScopedMutex(Common_Mutex *mutex) : mMutex(mutex) { Common_Mutex_Enter(mMutex); }
~ScopedMutex() { Common_Mutex_Leave(mMutex); }
};
Common_Mutex gListCrit;
std::list<AsyncData*> gList;
bool gThreadQuit = false;
bool gThreadFinished = false;
bool gSleepBreak = false;
/*
A little text buffer to allow a scrolling window
*/
const int DRAW_ROWS = NUM_ROWS - 8;
const int DRAW_COLS = NUM_COLUMNS;
char gLineData[DRAW_ROWS][DRAW_COLS];
Common_Mutex gLineCrit;
void AddLine(const char *formatString...)
{
ScopedMutex mutex(&gLineCrit);
char s[DRAW_COLS];
va_list args;
va_start(args, formatString);
Common_vsnprintf(s, DRAW_COLS, formatString, args);
va_end(args);
for (int i = 1; i < DRAW_ROWS; i++)
{
memcpy(gLineData[i-1], gLineData[i], DRAW_COLS);
}
strncpy(gLineData[DRAW_ROWS-1], s, DRAW_COLS);
}
void DrawLines()
{
ScopedMutex mutex(&gLineCrit);
for (int i = 0; i < DRAW_ROWS; i++)
{
Common_Draw(gLineData[i]);
}
}
/*
File callbacks
*/
FMOD_RESULT F_CALL myopen(const char *name, unsigned int *filesize, void **handle, void * /*userdata*/)
{
assert(name);
assert(filesize);
assert(handle);
Common_File_Open(name, 0, filesize, handle); // mode 0 = 'read'.
if (!handle)
{
return FMOD_ERR_FILE_NOTFOUND;
}
return FMOD_OK;
}
FMOD_RESULT F_CALL myclose(void *handle, void * /*userdata*/)
{
assert(handle);
Common_File_Close(handle);
return FMOD_OK;
}
FMOD_RESULT F_CALL myread(void *handle, void *buffer, unsigned int sizebytes, unsigned int *bytesread, void * /*userdata*/)
{
assert(handle);
assert(buffer);
assert(bytesread);
Common_File_Read(handle, buffer, sizebytes, bytesread);
if (*bytesread < sizebytes)
{
return FMOD_ERR_FILE_EOF;
}
return FMOD_OK;
}
FMOD_RESULT F_CALL myseek(void *handle, unsigned int pos, void * /*userdata*/)
{
assert(handle);
Common_File_Seek(handle, pos);
return FMOD_OK;
}
FMOD_RESULT F_CALL myasyncread(FMOD_ASYNCREADINFO *info, void * /*userdata*/)
{
assert(info);
ScopedMutex mutex(&gListCrit);
AsyncData *data = (AsyncData *)malloc(sizeof(AsyncData));
if (!data)
{
/* Signal FMOD to wake up, this operation has has failed */
info->done(info, FMOD_ERR_MEMORY);
return FMOD_ERR_MEMORY;
}
AddLine("REQUEST %5d bytes, offset %5d PRIORITY = %d.", info->sizebytes, info->offset, info->priority);
data->info = info;
gList.push_back(data);
/* Example only: Use your native filesystem scheduler / priority here */
if (info->priority > 50)
{
gSleepBreak = true;
}
return FMOD_OK;
}
FMOD_RESULT F_CALL myasynccancel(FMOD_ASYNCREADINFO *info, void * /*userdata*/)
{
assert(info);
ScopedMutex mutex(&gListCrit);
/* Find the pending IO request and remove it */
for (std::list<AsyncData*>::iterator itr = gList.begin(); itr != gList.end(); itr++)
{
AsyncData *data = *itr;
if (data->info == info)
{
gList.remove(data);
free(data);
/* Signal FMOD to wake up, this operation has been cancelled */
info->done(info, FMOD_ERR_FILE_DISKEJECTED);
return FMOD_ERR_FILE_DISKEJECTED;
}
}
/* IO request not found, it must have completed already */
return FMOD_OK;
}
/*
Async file IO processing thread
*/
void ProcessQueue(void * /*param*/)
{
while (!gThreadQuit)
{
/* Grab the next IO task off the list */
FMOD_ASYNCREADINFO *info = NULL;
Common_Mutex_Enter(&gListCrit);
if (!gList.empty())
{
info = gList.front()->info;
gList.pop_front();
}
Common_Mutex_Leave(&gListCrit);
if (info)
{
/* Example only: Let's deprive the read of the whole block, only give 16kb at a time to make it re-ask for more later */
unsigned int toread = info->sizebytes;
if (toread > 16384)
{
toread = 16384;
}
/* Example only: Demonstration of priority influencing turnaround time */
for (int i = 0; i < 50; i++)
{
Common_Sleep(10);
if (gSleepBreak)
{
AddLine("URGENT REQUEST - reading now!");
gSleepBreak = false;
break;
}
}
/* Process the seek and read request with EOF handling */
Common_File_Seek(info->handle, info->offset);
Common_File_Read(info->handle, info->buffer, toread, &info->bytesread);
if (info->bytesread < toread)
{
AddLine("FED %5d bytes, offset %5d (* EOF)", info->bytesread, info->offset);
info->done(info, FMOD_ERR_FILE_EOF);
}
else
{
AddLine("FED %5d bytes, offset %5d", info->bytesread, info->offset);
info->done(info, FMOD_OK);
}
}
else
{
Common_Sleep(10); /* Example only: Use your native filesystem synchronisation to wait for more requests */
}
}
gThreadFinished = true;
}
int FMOD_Main()
{
void *extradriverdata = NULL;
void *threadhandle = NULL;
Common_Init(&extradriverdata);
Common_Mutex_Create(&gLineCrit);
Common_Mutex_Create(&gListCrit);
Common_Thread_Create(ProcessQueue, NULL, &threadhandle);
/*
Create a System object and initialize.
*/
FMOD::System *system = NULL;
FMOD_RESULT result = FMOD::System_Create(&system);
ERRCHECK(result);
result = system->init(1, FMOD_INIT_NORMAL, extradriverdata);
ERRCHECK(result);
result = system->setStreamBufferSize(32768, FMOD_TIMEUNIT_RAWBYTES);
ERRCHECK(result);
result = system->setFileSystem(myopen, myclose, myread, myseek, myasyncread, myasynccancel, 2048);
ERRCHECK(result);
FMOD::Sound *sound = NULL;
result = system->createStream(Common_MediaPath("wave.mp3"), FMOD_LOOP_NORMAL | FMOD_2D | FMOD_IGNORETAGS, NULL, &sound);
ERRCHECK(result);
FMOD::Channel *channel = NULL;
result = system->playSound(sound, 0, false, &channel);
ERRCHECK(result);
/*
Main loop.
*/
do
{
Common_Update();
if (sound)
{
bool starving = false;
FMOD_OPENSTATE openstate = FMOD_OPENSTATE_READY;
result = sound->getOpenState(&openstate, NULL, &starving, NULL);
ERRCHECK(result);
if (starving)
{
AddLine("Starving");
}
result = channel->setMute(starving);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_ACTION1))
{
result = sound->release();
if (result == FMOD_OK)
{
sound = NULL;
AddLine("Released sound");
}
}
result = system->update();
ERRCHECK(result);
Common_Draw("==================================================");
Common_Draw("Async IO Example.");
Common_Draw("Copyright (c) Firelight Technologies 2004-2025.");
Common_Draw("==================================================");
Common_Draw("");
Common_Draw("Press %s to release playing stream", Common_BtnStr(BTN_ACTION1));
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
Common_Draw("");
DrawLines();
Common_Sleep(50);
} while (!Common_BtnPress(BTN_QUIT));
/*
Shut down
*/
if (sound)
{
result = sound->release();
ERRCHECK(result);
}
result = system->close();
ERRCHECK(result);
result = system->release();
ERRCHECK(result);
gThreadQuit = true;
while (!gThreadFinished)
{
Common_Sleep(10);
}
Common_Mutex_Destroy(&gListCrit);
Common_Mutex_Destroy(&gLineCrit);
Common_Thread_Destroy(threadhandle);
Common_Close();
return 0;
}

View file

@ -0,0 +1 @@
-std=c17 -fPIC -fno-trapping-math

View file

@ -0,0 +1 @@
#define FMOD_USE_PLATFORM_HEADERS

View file

@ -0,0 +1,442 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{71064a00-ba92-4c03-affd-e7f374fa3265}</value>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{22e4ca2b-856c-4a9e-96b1-3ef2b55f3da9}</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.4">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=address</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Address Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.5">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=memory</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Memory Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.6">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=thread</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Thread Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.7">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f asyncio.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=undefined</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Undefined Behaviour Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">8</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">%{buildDir}/asyncio</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseTerminal">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory">%{buildDir}/../../../../../examples/media</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View file

@ -0,0 +1 @@
-std=c++17 -fPIC -fno-trapping-math

View file

@ -0,0 +1,514 @@
../../../../../../core_api/src/fmod.cpp
../../../../../../core_api/src/fmod.cs
../../../../../../core_api/src/fmod.h
../../../../../../core_api/src/fmod.hpp
../../../../../../core_api/src/fmod5.cpp
../../../../../../core_api/src/fmod_3d.h
../../../../../../core_api/src/fmod_array.h
../../../../../../core_api/src/fmod_asm_macros.m4
../../../../../../core_api/src/fmod_async.cpp
../../../../../../core_api/src/fmod_async.h
../../../../../../core_api/src/fmod_atomic.h
../../../../../../core_api/src/fmod_atomic_c11.h
../../../../../../core_api/src/fmod_atomic_clang.h
../../../../../../core_api/src/fmod_atomic_cpp11.h
../../../../../../core_api/src/fmod_atomic_gcc.h
../../../../../../core_api/src/fmod_atomic_legacy.h
../../../../../../core_api/src/fmod_autocleanup.h
../../../../../../core_api/src/fmod_channel.cpp
../../../../../../core_api/src/fmod_channel_emulated.h
../../../../../../core_api/src/fmod_channel_real.cpp
../../../../../../core_api/src/fmod_channel_real.h
../../../../../../core_api/src/fmod_channel_software.cpp
../../../../../../core_api/src/fmod_channel_software.h
../../../../../../core_api/src/fmod_channel_stream.cpp
../../../../../../core_api/src/fmod_channel_stream.h
../../../../../../core_api/src/fmod_channelcontrol.cpp
../../../../../../core_api/src/fmod_channelcontroli.cpp
../../../../../../core_api/src/fmod_channelcontroli.h
../../../../../../core_api/src/fmod_channelgroup.cpp
../../../../../../core_api/src/fmod_channelgroupi.cpp
../../../../../../core_api/src/fmod_channelgroupi.h
../../../../../../core_api/src/fmod_channeli.cpp
../../../../../../core_api/src/fmod_channeli.h
../../../../../../core_api/src/fmod_channelpool.h
../../../../../../core_api/src/fmod_codec.cpp
../../../../../../core_api/src/fmod_codec.h
../../../../../../core_api/src/fmod_codec_aiff.cpp
../../../../../../core_api/src/fmod_codec_aiff.h
../../../../../../core_api/src/fmod_codec_dls.cpp
../../../../../../core_api/src/fmod_codec_dls.h
../../../../../../core_api/src/fmod_codec_fadpcm.cpp
../../../../../../core_api/src/fmod_codec_fadpcm.h
../../../../../../core_api/src/fmod_codec_fadpcm_arm.m4
../../../../../../core_api/src/fmod_codec_flac.cpp
../../../../../../core_api/src/fmod_codec_flac.h
../../../../../../core_api/src/fmod_codec_fsb5.cpp
../../../../../../core_api/src/fmod_codec_fsb5.h
../../../../../../core_api/src/fmod_codec_fsbvorbis.cpp
../../../../../../core_api/src/fmod_codec_fsbvorbis.h
../../../../../../core_api/src/fmod_codec_fsbvorbis_books.cpp
../../../../../../core_api/src/fmod_codec_it.cpp
../../../../../../core_api/src/fmod_codec_it.h
../../../../../../core_api/src/fmod_codec_midi.cpp
../../../../../../core_api/src/fmod_codec_midi.h
../../../../../../core_api/src/fmod_codec_mod.cpp
../../../../../../core_api/src/fmod_codec_mod.h
../../../../../../core_api/src/fmod_codec_mpeg.cpp
../../../../../../core_api/src/fmod_codec_mpeg.h
../../../../../../core_api/src/fmod_codec_mpeg_decode.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer2.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer3.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.h
../../../../../../core_api/src/fmod_codec_playlist.cpp
../../../../../../core_api/src/fmod_codec_playlist.h
../../../../../../core_api/src/fmod_codec_raw.cpp
../../../../../../core_api/src/fmod_codec_raw.h
../../../../../../core_api/src/fmod_codec_s3m.cpp
../../../../../../core_api/src/fmod_codec_s3m.h
../../../../../../core_api/src/fmod_codec_tag.cpp
../../../../../../core_api/src/fmod_codec_tag.h
../../../../../../core_api/src/fmod_codec_user.cpp
../../../../../../core_api/src/fmod_codec_user.h
../../../../../../core_api/src/fmod_codec_wav.cpp
../../../../../../core_api/src/fmod_codec_wav.h
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.cpp
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.h
../../../../../../core_api/src/fmod_codec_wav_riff.cpp
../../../../../../core_api/src/fmod_codec_xm.cpp
../../../../../../core_api/src/fmod_codec_xm.h
../../../../../../core_api/src/fmod_codeci.h
../../../../../../core_api/src/fmod_common.h
../../../../../../core_api/src/fmod_complex.hlsli
../../../../../../core_api/src/fmod_convolution.hlsl
../../../../../../core_api/src/fmod_debug.cpp
../../../../../../core_api/src/fmod_debug.h
../../../../../../core_api/src/fmod_downmix.cpp
../../../../../../core_api/src/fmod_downmix.h
../../../../../../core_api/src/fmod_downmix_dolby_pl2.cpp
../../../../../../core_api/src/fmod_downmix_dolby_pl2.h
../../../../../../core_api/src/fmod_dsp.cpp
../../../../../../core_api/src/fmod_dsp.cs
../../../../../../core_api/src/fmod_dsp.h
../../../../../../core_api/src/fmod_dsp_biquad.cpp
../../../../../../core_api/src/fmod_dsp_biquad.h
../../../../../../core_api/src/fmod_dsp_channelmix.cpp
../../../../../../core_api/src/fmod_dsp_channelmix.h
../../../../../../core_api/src/fmod_dsp_chorus.cpp
../../../../../../core_api/src/fmod_dsp_chorus.h
../../../../../../core_api/src/fmod_dsp_codec.cpp
../../../../../../core_api/src/fmod_dsp_codec.h
../../../../../../core_api/src/fmod_dsp_codecpool.cpp
../../../../../../core_api/src/fmod_dsp_codecpool.h
../../../../../../core_api/src/fmod_dsp_compressor.cpp
../../../../../../core_api/src/fmod_dsp_compressor.h
../../../../../../core_api/src/fmod_dsp_compressor_noopt.cpp
../../../../../../core_api/src/fmod_dsp_compressor_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection.cpp
../../../../../../core_api/src/fmod_dsp_connection_arm.cpp
../../../../../../core_api/src/fmod_dsp_connection_avx.cpp
../../../../../../core_api/src/fmod_dsp_connection_neon.cpp
../../../../../../core_api/src/fmod_dsp_connection_noopt.cpp
../../../../../../core_api/src/fmod_dsp_connection_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection_vfp.m4
../../../../../../core_api/src/fmod_dsp_connectioni.cpp
../../../../../../core_api/src/fmod_dsp_connectioni.h
../../../../../../core_api/src/fmod_dsp_convert.cpp
../../../../../../core_api/src/fmod_dsp_convert.h
../../../../../../core_api/src/fmod_dsp_convert_avx.cpp
../../../../../../core_api/src/fmod_dsp_convert_noopt.cpp
../../../../../../core_api/src/fmod_dsp_convert_sse.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.h
../../../../../../core_api/src/fmod_dsp_convolutionreverb_async.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_avx.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_cpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_gpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_neon.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_sse.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.h
../../../../../../core_api/src/fmod_dsp_delay.cpp
../../../../../../core_api/src/fmod_dsp_delay.h
../../../../../../core_api/src/fmod_dsp_distortion.cpp
../../../../../../core_api/src/fmod_dsp_distortion.h
../../../../../../core_api/src/fmod_dsp_echo.cpp
../../../../../../core_api/src/fmod_dsp_echo.h
../../../../../../core_api/src/fmod_dsp_echo_noopt.cpp
../../../../../../core_api/src/fmod_dsp_echo_sse.cpp
../../../../../../core_api/src/fmod_dsp_effects.h
../../../../../../core_api/src/fmod_dsp_emulated.cpp
../../../../../../core_api/src/fmod_dsp_emulated.h
../../../../../../core_api/src/fmod_dsp_fader.cpp
../../../../../../core_api/src/fmod_dsp_fader.h
../../../../../../core_api/src/fmod_dsp_fft.cpp
../../../../../../core_api/src/fmod_dsp_fft.h
../../../../../../core_api/src/fmod_dsp_flange.cpp
../../../../../../core_api/src/fmod_dsp_flange.h
../../../../../../core_api/src/fmod_dsp_highpass.cpp
../../../../../../core_api/src/fmod_dsp_highpass.h
../../../../../../core_api/src/fmod_dsp_highpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_highpass_simple.h
../../../../../../core_api/src/fmod_dsp_interleave_noopt.cpp
../../../../../../core_api/src/fmod_dsp_interleave_sse.cpp
../../../../../../core_api/src/fmod_dsp_itecho.cpp
../../../../../../core_api/src/fmod_dsp_itecho.h
../../../../../../core_api/src/fmod_dsp_limiter.cpp
../../../../../../core_api/src/fmod_dsp_limiter.h
../../../../../../core_api/src/fmod_dsp_loudness_meter.cpp
../../../../../../core_api/src/fmod_dsp_loudness_meter.h
../../../../../../core_api/src/fmod_dsp_lowpass.cpp
../../../../../../core_api/src/fmod_dsp_lowpass.h
../../../../../../core_api/src/fmod_dsp_lowpass2.cpp
../../../../../../core_api/src/fmod_dsp_lowpass2.h
../../../../../../core_api/src/fmod_dsp_lowpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_lowpass_simple.h
../../../../../../core_api/src/fmod_dsp_matrix.cpp
../../../../../../core_api/src/fmod_dsp_matrix.h
../../../../../../core_api/src/fmod_dsp_metering_noopt.cpp
../../../../../../core_api/src/fmod_dsp_metering_sse.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.h
../../../../../../core_api/src/fmod_dsp_multiband_eq.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq.h
../../../../../../core_api/src/fmod_dsp_multiband_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_normalize.cpp
../../../../../../core_api/src/fmod_dsp_normalize.h
../../../../../../core_api/src/fmod_dsp_objectpan.cpp
../../../../../../core_api/src/fmod_dsp_objectpan.h
../../../../../../core_api/src/fmod_dsp_oscillator.cpp
../../../../../../core_api/src/fmod_dsp_oscillator.h
../../../../../../core_api/src/fmod_dsp_pan.cpp
../../../../../../core_api/src/fmod_dsp_pan.h
../../../../../../core_api/src/fmod_dsp_parameq.cpp
../../../../../../core_api/src/fmod_dsp_parameq.h
../../../../../../core_api/src/fmod_dsp_pitchshift.cpp
../../../../../../core_api/src/fmod_dsp_pitchshift.h
../../../../../../core_api/src/fmod_dsp_porthead.cpp
../../../../../../core_api/src/fmod_dsp_porthead.h
../../../../../../core_api/src/fmod_dsp_resampler.cpp
../../../../../../core_api/src/fmod_dsp_resampler.h
../../../../../../core_api/src/fmod_dsp_resampler_cubic.cpp
../../../../../../core_api/src/fmod_dsp_resampler_cubic.h
../../../../../../core_api/src/fmod_dsp_resampler_linear.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear.h
../../../../../../core_api/src/fmod_dsp_resampler_linear_arm.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx2.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx512.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_neon.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_vfp.m4
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.h
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.h
../../../../../../core_api/src/fmod_dsp_return.cpp
../../../../../../core_api/src/fmod_dsp_return.h
../../../../../../core_api/src/fmod_dsp_send.cpp
../../../../../../core_api/src/fmod_dsp_send.h
../../../../../../core_api/src/fmod_dsp_sfxreverb.cpp
../../../../../../core_api/src/fmod_dsp_sfxreverb.h
../../../../../../core_api/src/fmod_dsp_source.cpp
../../../../../../core_api/src/fmod_dsp_source.h
../../../../../../core_api/src/fmod_dsp_three_eq.cpp
../../../../../../core_api/src/fmod_dsp_three_eq.h
../../../../../../core_api/src/fmod_dsp_three_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_noopt.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.h
../../../../../../core_api/src/fmod_dsp_tremolo.cpp
../../../../../../core_api/src/fmod_dsp_tremolo.h
../../../../../../core_api/src/fmod_dsp_wavetable.cpp
../../../../../../core_api/src/fmod_dsp_wavetable.h
../../../../../../core_api/src/fmod_dspi.cpp
../../../../../../core_api/src/fmod_dspi.h
../../../../../../core_api/src/fmod_endian.h
../../../../../../core_api/src/fmod_errors.cs
../../../../../../core_api/src/fmod_errors.h
../../../../../../core_api/src/fmod_expandingpool.cpp
../../../../../../core_api/src/fmod_expandingpool.h
../../../../../../core_api/src/fmod_fft.cpp
../../../../../../core_api/src/fmod_fft.h
../../../../../../core_api/src/fmod_fft_0.hlsl
../../../../../../core_api/src/fmod_fft_1.hlsl
../../../../../../core_api/src/fmod_fft_common.hlsli
../../../../../../core_api/src/fmod_fft_noopt.cpp
../../../../../../core_api/src/fmod_fft_sse.cpp
../../../../../../core_api/src/fmod_file.cpp
../../../../../../core_api/src/fmod_file.h
../../../../../../core_api/src/fmod_file_disk.cpp
../../../../../../core_api/src/fmod_file_disk.h
../../../../../../core_api/src/fmod_file_memory.cpp
../../../../../../core_api/src/fmod_file_memory.h
../../../../../../core_api/src/fmod_file_net.cpp
../../../../../../core_api/src/fmod_file_net.h
../../../../../../core_api/src/fmod_file_null.cpp
../../../../../../core_api/src/fmod_file_null.h
../../../../../../core_api/src/fmod_file_remote.cpp
../../../../../../core_api/src/fmod_file_remote.h
../../../../../../core_api/src/fmod_file_user.cpp
../../../../../../core_api/src/fmod_file_user.h
../../../../../../core_api/src/fmod_format.cpp
../../../../../../core_api/src/fmod_format.h
../../../../../../core_api/src/fmod_freelist.h
../../../../../../core_api/src/fmod_geometry.cpp
../../../../../../core_api/src/fmod_geometry_mgr.cpp
../../../../../../core_api/src/fmod_geometry_mgr.h
../../../../../../core_api/src/fmod_geometryi.cpp
../../../../../../core_api/src/fmod_geometryi.h
../../../../../../core_api/src/fmod_globals.cpp
../../../../../../core_api/src/fmod_globals.h
../../../../../../core_api/src/fmod_gpu_compute.cpp
../../../../../../core_api/src/fmod_gpu_compute.h
../../../../../../core_api/src/fmod_ifft_0.hlsl
../../../../../../core_api/src/fmod_ifft_1.hlsl
../../../../../../core_api/src/fmod_iterator.h
../../../../../../core_api/src/fmod_linkedlist.h
../../../../../../core_api/src/fmod_listener.cpp
../../../../../../core_api/src/fmod_listener.h
../../../../../../core_api/src/fmod_localcriticalsection.h
../../../../../../core_api/src/fmod_map.h
../../../../../../core_api/src/fmod_memory.cpp
../../../../../../core_api/src/fmod_memory.h
../../../../../../core_api/src/fmod_memory_tracking.cpp
../../../../../../core_api/src/fmod_memory_tracking.h
../../../../../../core_api/src/fmod_metadata.cpp
../../../../../../core_api/src/fmod_metadata.h
../../../../../../core_api/src/fmod_mode.h
../../../../../../core_api/src/fmod_music.cpp
../../../../../../core_api/src/fmod_music.h
../../../../../../core_api/src/fmod_net.cpp
../../../../../../core_api/src/fmod_net.h
../../../../../../core_api/src/fmod_octree.cpp
../../../../../../core_api/src/fmod_octree.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.m4
../../../../../../core_api/src/fmod_os_atomic_gcc_arm64.h
../../../../../../core_api/src/fmod_os_atomic_gcc_x86.h
../../../../../../core_api/src/fmod_os_misc.h
../../../../../../core_api/src/fmod_os_net.h
../../../../../../core_api/src/fmod_os_net_posix.cpp
../../../../../../core_api/src/fmod_os_net_winsock.cpp
../../../../../../core_api/src/fmod_os_output.h
../../../../../../core_api/src/fmod_output.cpp
../../../../../../core_api/src/fmod_output.h
../../../../../../core_api/src/fmod_output_emulated.h
../../../../../../core_api/src/fmod_output_nosound.cpp
../../../../../../core_api/src/fmod_output_nosound.h
../../../../../../core_api/src/fmod_output_nosound_nrt.cpp
../../../../../../core_api/src/fmod_output_nosound_nrt.h
../../../../../../core_api/src/fmod_output_phase.h
../../../../../../core_api/src/fmod_output_phase.mm
../../../../../../core_api/src/fmod_output_software.cpp
../../../../../../core_api/src/fmod_output_software.h
../../../../../../core_api/src/fmod_output_wavwriter.cpp
../../../../../../core_api/src/fmod_output_wavwriter.h
../../../../../../core_api/src/fmod_output_wavwriter_nrt.cpp
../../../../../../core_api/src/fmod_output_wavwriter_nrt.h
../../../../../../core_api/src/fmod_output_winsonic.cpp
../../../../../../core_api/src/fmod_output_winsonic.h
../../../../../../core_api/src/fmod_output_winsonic_compat.h
../../../../../../core_api/src/fmod_outputi.h
../../../../../../core_api/src/fmod_pan.cpp
../../../../../../core_api/src/fmod_pan.h
../../../../../../core_api/src/fmod_pluginfactory.cpp
../../../../../../core_api/src/fmod_pluginfactory.h
../../../../../../core_api/src/fmod_poolallocator.h
../../../../../../core_api/src/fmod_profile.cpp
../../../../../../core_api/src/fmod_profile.h
../../../../../../core_api/src/fmod_profile_channel_pkt.h
../../../../../../core_api/src/fmod_profile_client.cpp
../../../../../../core_api/src/fmod_profile_client.h
../../../../../../core_api/src/fmod_profile_codec_pkt.h
../../../../../../core_api/src/fmod_profile_cpu_pkt.h
../../../../../../core_api/src/fmod_profile_dsp.cpp
../../../../../../core_api/src/fmod_profile_dsp.h
../../../../../../core_api/src/fmod_profile_dsp_pkt.h
../../../../../../core_api/src/fmod_profile_group_pkt.h
../../../../../../core_api/src/fmod_profile_markers.cpp
../../../../../../core_api/src/fmod_profile_markers.h
../../../../../../core_api/src/fmod_profile_pkt.h
../../../../../../core_api/src/fmod_profile_remotefile.cpp
../../../../../../core_api/src/fmod_profile_remotefile.h
../../../../../../core_api/src/fmod_profile_remotefile_pkt.h
../../../../../../core_api/src/fmod_profile_stats.cpp
../../../../../../core_api/src/fmod_profile_stats.h
../../../../../../core_api/src/fmod_profile_stats_pkt.h
../../../../../../core_api/src/fmod_random.h
../../../../../../core_api/src/fmod_reverb.cpp
../../../../../../core_api/src/fmod_reverbi.cpp
../../../../../../core_api/src/fmod_reverbi.h
../../../../../../core_api/src/fmod_rootsignature.hlsl
../../../../../../core_api/src/fmod_sample_software.cpp
../../../../../../core_api/src/fmod_sample_software.h
../../../../../../core_api/src/fmod_settings.h
../../../../../../core_api/src/fmod_shader_compat.hlsli
../../../../../../core_api/src/fmod_simd_util_sse.h
../../../../../../core_api/src/fmod_sound.cpp
../../../../../../core_api/src/fmod_sound_sample.cpp
../../../../../../core_api/src/fmod_sound_sample.h
../../../../../../core_api/src/fmod_sound_stream.cpp
../../../../../../core_api/src/fmod_sound_stream.h
../../../../../../core_api/src/fmod_soundgroup.cpp
../../../../../../core_api/src/fmod_soundgroupi.cpp
../../../../../../core_api/src/fmod_soundgroupi.h
../../../../../../core_api/src/fmod_soundi.cpp
../../../../../../core_api/src/fmod_soundi.h
../../../../../../core_api/src/fmod_speakermap.h
../../../../../../core_api/src/fmod_string.cpp
../../../../../../core_api/src/fmod_string.h
../../../../../../core_api/src/fmod_stringw.cpp
../../../../../../core_api/src/fmod_stringw.h
../../../../../../core_api/src/fmod_syncpoint.h
../../../../../../core_api/src/fmod_system.cpp
../../../../../../core_api/src/fmod_systemi.cpp
../../../../../../core_api/src/fmod_systemi.h
../../../../../../core_api/src/fmod_systemi_channel.cpp
../../../../../../core_api/src/fmod_systemi_driver.cpp
../../../../../../core_api/src/fmod_systemi_dsp.cpp
../../../../../../core_api/src/fmod_systemi_fft.cpp
../../../../../../core_api/src/fmod_systemi_sound.cpp
../../../../../../core_api/src/fmod_systemi_speaker.cpp
../../../../../../core_api/src/fmod_systemi_thread.cpp
../../../../../../core_api/src/fmod_systemi_update.cpp
../../../../../../core_api/src/fmod_thread.cpp
../../../../../../core_api/src/fmod_thread.h
../../../../../../core_api/src/fmod_threadsafe.cpp
../../../../../../core_api/src/fmod_threadsafe.h
../../../../../../core_api/src/fmod_time.cpp
../../../../../../core_api/src/fmod_time.h
../../../../../../core_api/src/fmod_types.h
../../../../../../examples/platforms/linux/src/common_platform.cpp
../../../../../../examples/platforms/linux/src/common_platform.h
../../../../../../examples/src/autotest.cpp
../../../../../../examples/src/common.cpp
../../../../../../examples/src/common.h
../../../../../../examples/src/common_dx12.cpp
../../../../../../examples/src/common_dx12.h
../../../../../../examples/src/common_dx12_ps.h
../../../../../../examples/src/common_dx12_vs.h
../../../../../../examples/src/common_font_glyphs.h
../../../../../../examples/src/common_font_texture.h
../../../../../../examples/src/common_vulkan.cpp
../../../../../../examples/src/common_vulkan.h
../../../../../../examples/src/common_vulkan_fs.h
../../../../../../examples/src/common_vulkan_vs.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/assert.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/callback.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/export.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/format.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/ordinals.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/stream_decoder.h
../../../../../../external/decoders/flac-1.2.1/include/share/alloc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitmath.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitreader.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/cpu.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/crc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/fixed.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/format.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/lpc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/md5.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/memory.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/stream_decoder.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/nasm.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitmath.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitreader.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/cpu.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/crc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/fixed.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/float.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/format.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/lpc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/md5.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/memory.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/protected/stream_decoder.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/ogg.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/os_types.h
../../../../../../external/decoders/ogg_vorbis/ogg/src/bitwise.c
../../../../../../external/decoders/ogg_vorbis/ogg/src/framing.c
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/codec.h
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/vorbisfile.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/backends.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/block.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codec_internal.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/floor1.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/highlevel.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/info.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup_data.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mapping0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/masking.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/misc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/os.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/psy.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/res0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/scales.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/sharedbook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/synthesis.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/vorbisfile.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/floor_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/psych_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/residue_44.h
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.c
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_codec.h
../../../../../../external/decoders/tremor_lowmem/tremor_codec_internal.h
../../../../../../external/decoders/tremor_lowmem/tremor_dsp.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_info.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx512.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct.h
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_misc.h
../../../../../../external/decoders/tremor_lowmem/tremor_os.h
../../../../../../external/decoders/tremor_lowmem/tremor_os_types.h
../../../../../../external/decoders/tremor_lowmem/tremor_res012.c
../../../../../../external/decoders/tremor_lowmem/tremor_window_lookup.h
../../../../../../external/misc/dlmalloc/dlmalloc.cpp
../../../../../../external/misc/dlmalloc/dlmalloc.h
../make/asyncio.makefile
../asyncio.cpp

View file

@ -0,0 +1,6 @@
../../../../../../examples/src
../../../../../../examples/platforms/linux/src
../../../../../src
../../../../../../external/misc
../../../../../../external/dsps
../../../../../../external/decoders

View file

@ -0,0 +1,189 @@
/*==============================================================================
Channel Groups Example
Copyright (c), Firelight Technologies Pty, Ltd 2004-2025.
This example shows how to put channels into channel groups, so that you can
affect a group of channels at a time instead of just one.
For information on using FMOD example code in your own programs, visit
https://www.fmod.com/legal
==============================================================================*/
#include "fmod.hpp"
#include "common.h"
int FMOD_Main()
{
FMOD::System *system;
FMOD::Sound *sound[6];
FMOD::Channel *channel[6];
FMOD::ChannelGroup *groupA, *groupB, *masterGroup;
FMOD_RESULT result;
int count;
void *extradriverdata = 0;
Common_Init(&extradriverdata);
/*
Create a System object and initialize.
*/
result = FMOD::System_Create(&system);
ERRCHECK(result);
result = system->init(32, FMOD_INIT_NORMAL, extradriverdata);
ERRCHECK(result);
result = system->createSound(Common_MediaPath("drumloop.wav"), FMOD_LOOP_NORMAL, 0, &sound[0]);
ERRCHECK(result);
result = system->createSound(Common_MediaPath("jaguar.wav"), FMOD_LOOP_NORMAL, 0, &sound[1]);
ERRCHECK(result);
result = system->createSound(Common_MediaPath("swish.wav"), FMOD_LOOP_NORMAL, 0, &sound[2]);
ERRCHECK(result);
result = system->createSound(Common_MediaPath("c.ogg"), FMOD_LOOP_NORMAL, 0, &sound[3]);
ERRCHECK(result);
result = system->createSound(Common_MediaPath("d.ogg"), FMOD_LOOP_NORMAL, 0, &sound[4]);
ERRCHECK(result);
result = system->createSound(Common_MediaPath("e.ogg"), FMOD_LOOP_NORMAL, 0, &sound[5]);
ERRCHECK(result);
result = system->createChannelGroup("Group A", &groupA);
ERRCHECK(result);
result = system->createChannelGroup("Group B", &groupB);
ERRCHECK(result);
result = system->getMasterChannelGroup(&masterGroup);
ERRCHECK(result);
/*
Instead of being independent, set the group A and B to be children of the master group.
*/
result = masterGroup->addGroup(groupA);
ERRCHECK(result);
result = masterGroup->addGroup(groupB);
ERRCHECK(result);
/*
Start all the sounds.
*/
for (count = 0; count < 6; count++)
{
result = system->playSound(sound[count], 0, true, &channel[count]);
ERRCHECK(result);
result = channel[count]->setChannelGroup((count < 3) ? groupA : groupB);
ERRCHECK(result);
result = channel[count]->setPaused(false);
ERRCHECK(result);
}
/*
Change the volume of each group, just because we can! (reduce overall noise).
*/
result = groupA->setVolume(0.5f);
ERRCHECK(result);
result = groupB->setVolume(0.5f);
ERRCHECK(result);
/*
Main loop.
*/
do
{
Common_Update();
if (Common_BtnPress(BTN_ACTION1))
{
bool mute = true;
groupA->getMute(&mute);
groupA->setMute(!mute);
}
if (Common_BtnPress(BTN_ACTION2))
{
bool mute = true;
groupB->getMute(&mute);
groupB->setMute(!mute);
}
if (Common_BtnPress(BTN_ACTION3))
{
bool mute = true;
masterGroup->getMute(&mute);
masterGroup->setMute(!mute);
}
result = system->update();
ERRCHECK(result);
{
int channelsplaying = 0;
result = system->getChannelsPlaying(&channelsplaying, NULL);
ERRCHECK(result);
Common_Draw("==================================================");
Common_Draw("Channel Groups Example.");
Common_Draw("Copyright (c) Firelight Technologies 2004-2025.");
Common_Draw("==================================================");
Common_Draw("");
Common_Draw("Group A : drumloop.wav, jaguar.wav, swish.wav");
Common_Draw("Group B : c.ogg, d.ogg, e.ogg");
Common_Draw("");
Common_Draw("Press %s to mute/unmute group A", Common_BtnStr(BTN_ACTION1));
Common_Draw("Press %s to mute/unmute group B", Common_BtnStr(BTN_ACTION2));
Common_Draw("Press %s to mute/unmute master group", Common_BtnStr(BTN_ACTION3));
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
Common_Draw("");
Common_Draw("Channels playing %d", channelsplaying);
}
Common_Sleep(50);
} while (!Common_BtnPress(BTN_QUIT));
/*
A little fade out over 2 seconds.
*/
{
float pitch = 1.0f;
float vol = 1.0f;
for (count = 0; count < 200; count++)
{
masterGroup->setPitch(pitch);
masterGroup->setVolume(vol);
vol -= (1.0f / 200.0f);
pitch -= (0.5f / 200.0f);
result = system->update();
ERRCHECK(result);
Common_Sleep(10);
}
}
/*
Shut down.
*/
for (count = 0; count < 6; count++)
{
result = sound[count]->release();
ERRCHECK(result);
}
result = groupA->release();
ERRCHECK(result);
result = groupB->release();
ERRCHECK(result);
result = system->close();
ERRCHECK(result);
result = system->release();
ERRCHECK(result);
Common_Close();
return 0;
}

View file

@ -0,0 +1 @@
-std=c17 -fPIC -fno-trapping-math

View file

@ -0,0 +1 @@
#define FMOD_USE_PLATFORM_HEADERS

View file

@ -0,0 +1,442 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{71064a00-ba92-4c03-affd-e7f374fa3265}</value>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{22e4ca2b-856c-4a9e-96b1-3ef2b55f3da9}</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.4">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=address</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Address Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.5">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=memory</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Memory Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.6">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=thread</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Thread Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.7">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f channel_groups.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=undefined</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Undefined Behaviour Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">8</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">%{buildDir}/channel_groups</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseTerminal">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory">%{buildDir}/../../../../../examples/media</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View file

@ -0,0 +1 @@
-std=c++17 -fPIC -fno-trapping-math

View file

@ -0,0 +1,514 @@
../../../../../../core_api/src/fmod.cpp
../../../../../../core_api/src/fmod.cs
../../../../../../core_api/src/fmod.h
../../../../../../core_api/src/fmod.hpp
../../../../../../core_api/src/fmod5.cpp
../../../../../../core_api/src/fmod_3d.h
../../../../../../core_api/src/fmod_array.h
../../../../../../core_api/src/fmod_asm_macros.m4
../../../../../../core_api/src/fmod_async.cpp
../../../../../../core_api/src/fmod_async.h
../../../../../../core_api/src/fmod_atomic.h
../../../../../../core_api/src/fmod_atomic_c11.h
../../../../../../core_api/src/fmod_atomic_clang.h
../../../../../../core_api/src/fmod_atomic_cpp11.h
../../../../../../core_api/src/fmod_atomic_gcc.h
../../../../../../core_api/src/fmod_atomic_legacy.h
../../../../../../core_api/src/fmod_autocleanup.h
../../../../../../core_api/src/fmod_channel.cpp
../../../../../../core_api/src/fmod_channel_emulated.h
../../../../../../core_api/src/fmod_channel_real.cpp
../../../../../../core_api/src/fmod_channel_real.h
../../../../../../core_api/src/fmod_channel_software.cpp
../../../../../../core_api/src/fmod_channel_software.h
../../../../../../core_api/src/fmod_channel_stream.cpp
../../../../../../core_api/src/fmod_channel_stream.h
../../../../../../core_api/src/fmod_channelcontrol.cpp
../../../../../../core_api/src/fmod_channelcontroli.cpp
../../../../../../core_api/src/fmod_channelcontroli.h
../../../../../../core_api/src/fmod_channelgroup.cpp
../../../../../../core_api/src/fmod_channelgroupi.cpp
../../../../../../core_api/src/fmod_channelgroupi.h
../../../../../../core_api/src/fmod_channeli.cpp
../../../../../../core_api/src/fmod_channeli.h
../../../../../../core_api/src/fmod_channelpool.h
../../../../../../core_api/src/fmod_codec.cpp
../../../../../../core_api/src/fmod_codec.h
../../../../../../core_api/src/fmod_codec_aiff.cpp
../../../../../../core_api/src/fmod_codec_aiff.h
../../../../../../core_api/src/fmod_codec_dls.cpp
../../../../../../core_api/src/fmod_codec_dls.h
../../../../../../core_api/src/fmod_codec_fadpcm.cpp
../../../../../../core_api/src/fmod_codec_fadpcm.h
../../../../../../core_api/src/fmod_codec_fadpcm_arm.m4
../../../../../../core_api/src/fmod_codec_flac.cpp
../../../../../../core_api/src/fmod_codec_flac.h
../../../../../../core_api/src/fmod_codec_fsb5.cpp
../../../../../../core_api/src/fmod_codec_fsb5.h
../../../../../../core_api/src/fmod_codec_fsbvorbis.cpp
../../../../../../core_api/src/fmod_codec_fsbvorbis.h
../../../../../../core_api/src/fmod_codec_fsbvorbis_books.cpp
../../../../../../core_api/src/fmod_codec_it.cpp
../../../../../../core_api/src/fmod_codec_it.h
../../../../../../core_api/src/fmod_codec_midi.cpp
../../../../../../core_api/src/fmod_codec_midi.h
../../../../../../core_api/src/fmod_codec_mod.cpp
../../../../../../core_api/src/fmod_codec_mod.h
../../../../../../core_api/src/fmod_codec_mpeg.cpp
../../../../../../core_api/src/fmod_codec_mpeg.h
../../../../../../core_api/src/fmod_codec_mpeg_decode.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer2.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer3.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.h
../../../../../../core_api/src/fmod_codec_playlist.cpp
../../../../../../core_api/src/fmod_codec_playlist.h
../../../../../../core_api/src/fmod_codec_raw.cpp
../../../../../../core_api/src/fmod_codec_raw.h
../../../../../../core_api/src/fmod_codec_s3m.cpp
../../../../../../core_api/src/fmod_codec_s3m.h
../../../../../../core_api/src/fmod_codec_tag.cpp
../../../../../../core_api/src/fmod_codec_tag.h
../../../../../../core_api/src/fmod_codec_user.cpp
../../../../../../core_api/src/fmod_codec_user.h
../../../../../../core_api/src/fmod_codec_wav.cpp
../../../../../../core_api/src/fmod_codec_wav.h
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.cpp
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.h
../../../../../../core_api/src/fmod_codec_wav_riff.cpp
../../../../../../core_api/src/fmod_codec_xm.cpp
../../../../../../core_api/src/fmod_codec_xm.h
../../../../../../core_api/src/fmod_codeci.h
../../../../../../core_api/src/fmod_common.h
../../../../../../core_api/src/fmod_complex.hlsli
../../../../../../core_api/src/fmod_convolution.hlsl
../../../../../../core_api/src/fmod_debug.cpp
../../../../../../core_api/src/fmod_debug.h
../../../../../../core_api/src/fmod_downmix.cpp
../../../../../../core_api/src/fmod_downmix.h
../../../../../../core_api/src/fmod_downmix_dolby_pl2.cpp
../../../../../../core_api/src/fmod_downmix_dolby_pl2.h
../../../../../../core_api/src/fmod_dsp.cpp
../../../../../../core_api/src/fmod_dsp.cs
../../../../../../core_api/src/fmod_dsp.h
../../../../../../core_api/src/fmod_dsp_biquad.cpp
../../../../../../core_api/src/fmod_dsp_biquad.h
../../../../../../core_api/src/fmod_dsp_channelmix.cpp
../../../../../../core_api/src/fmod_dsp_channelmix.h
../../../../../../core_api/src/fmod_dsp_chorus.cpp
../../../../../../core_api/src/fmod_dsp_chorus.h
../../../../../../core_api/src/fmod_dsp_codec.cpp
../../../../../../core_api/src/fmod_dsp_codec.h
../../../../../../core_api/src/fmod_dsp_codecpool.cpp
../../../../../../core_api/src/fmod_dsp_codecpool.h
../../../../../../core_api/src/fmod_dsp_compressor.cpp
../../../../../../core_api/src/fmod_dsp_compressor.h
../../../../../../core_api/src/fmod_dsp_compressor_noopt.cpp
../../../../../../core_api/src/fmod_dsp_compressor_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection.cpp
../../../../../../core_api/src/fmod_dsp_connection_arm.cpp
../../../../../../core_api/src/fmod_dsp_connection_avx.cpp
../../../../../../core_api/src/fmod_dsp_connection_neon.cpp
../../../../../../core_api/src/fmod_dsp_connection_noopt.cpp
../../../../../../core_api/src/fmod_dsp_connection_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection_vfp.m4
../../../../../../core_api/src/fmod_dsp_connectioni.cpp
../../../../../../core_api/src/fmod_dsp_connectioni.h
../../../../../../core_api/src/fmod_dsp_convert.cpp
../../../../../../core_api/src/fmod_dsp_convert.h
../../../../../../core_api/src/fmod_dsp_convert_avx.cpp
../../../../../../core_api/src/fmod_dsp_convert_noopt.cpp
../../../../../../core_api/src/fmod_dsp_convert_sse.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.h
../../../../../../core_api/src/fmod_dsp_convolutionreverb_async.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_avx.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_cpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_gpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_neon.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_sse.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.h
../../../../../../core_api/src/fmod_dsp_delay.cpp
../../../../../../core_api/src/fmod_dsp_delay.h
../../../../../../core_api/src/fmod_dsp_distortion.cpp
../../../../../../core_api/src/fmod_dsp_distortion.h
../../../../../../core_api/src/fmod_dsp_echo.cpp
../../../../../../core_api/src/fmod_dsp_echo.h
../../../../../../core_api/src/fmod_dsp_echo_noopt.cpp
../../../../../../core_api/src/fmod_dsp_echo_sse.cpp
../../../../../../core_api/src/fmod_dsp_effects.h
../../../../../../core_api/src/fmod_dsp_emulated.cpp
../../../../../../core_api/src/fmod_dsp_emulated.h
../../../../../../core_api/src/fmod_dsp_fader.cpp
../../../../../../core_api/src/fmod_dsp_fader.h
../../../../../../core_api/src/fmod_dsp_fft.cpp
../../../../../../core_api/src/fmod_dsp_fft.h
../../../../../../core_api/src/fmod_dsp_flange.cpp
../../../../../../core_api/src/fmod_dsp_flange.h
../../../../../../core_api/src/fmod_dsp_highpass.cpp
../../../../../../core_api/src/fmod_dsp_highpass.h
../../../../../../core_api/src/fmod_dsp_highpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_highpass_simple.h
../../../../../../core_api/src/fmod_dsp_interleave_noopt.cpp
../../../../../../core_api/src/fmod_dsp_interleave_sse.cpp
../../../../../../core_api/src/fmod_dsp_itecho.cpp
../../../../../../core_api/src/fmod_dsp_itecho.h
../../../../../../core_api/src/fmod_dsp_limiter.cpp
../../../../../../core_api/src/fmod_dsp_limiter.h
../../../../../../core_api/src/fmod_dsp_loudness_meter.cpp
../../../../../../core_api/src/fmod_dsp_loudness_meter.h
../../../../../../core_api/src/fmod_dsp_lowpass.cpp
../../../../../../core_api/src/fmod_dsp_lowpass.h
../../../../../../core_api/src/fmod_dsp_lowpass2.cpp
../../../../../../core_api/src/fmod_dsp_lowpass2.h
../../../../../../core_api/src/fmod_dsp_lowpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_lowpass_simple.h
../../../../../../core_api/src/fmod_dsp_matrix.cpp
../../../../../../core_api/src/fmod_dsp_matrix.h
../../../../../../core_api/src/fmod_dsp_metering_noopt.cpp
../../../../../../core_api/src/fmod_dsp_metering_sse.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.h
../../../../../../core_api/src/fmod_dsp_multiband_eq.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq.h
../../../../../../core_api/src/fmod_dsp_multiband_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_normalize.cpp
../../../../../../core_api/src/fmod_dsp_normalize.h
../../../../../../core_api/src/fmod_dsp_objectpan.cpp
../../../../../../core_api/src/fmod_dsp_objectpan.h
../../../../../../core_api/src/fmod_dsp_oscillator.cpp
../../../../../../core_api/src/fmod_dsp_oscillator.h
../../../../../../core_api/src/fmod_dsp_pan.cpp
../../../../../../core_api/src/fmod_dsp_pan.h
../../../../../../core_api/src/fmod_dsp_parameq.cpp
../../../../../../core_api/src/fmod_dsp_parameq.h
../../../../../../core_api/src/fmod_dsp_pitchshift.cpp
../../../../../../core_api/src/fmod_dsp_pitchshift.h
../../../../../../core_api/src/fmod_dsp_porthead.cpp
../../../../../../core_api/src/fmod_dsp_porthead.h
../../../../../../core_api/src/fmod_dsp_resampler.cpp
../../../../../../core_api/src/fmod_dsp_resampler.h
../../../../../../core_api/src/fmod_dsp_resampler_cubic.cpp
../../../../../../core_api/src/fmod_dsp_resampler_cubic.h
../../../../../../core_api/src/fmod_dsp_resampler_linear.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear.h
../../../../../../core_api/src/fmod_dsp_resampler_linear_arm.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx2.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx512.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_neon.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_vfp.m4
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.h
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.h
../../../../../../core_api/src/fmod_dsp_return.cpp
../../../../../../core_api/src/fmod_dsp_return.h
../../../../../../core_api/src/fmod_dsp_send.cpp
../../../../../../core_api/src/fmod_dsp_send.h
../../../../../../core_api/src/fmod_dsp_sfxreverb.cpp
../../../../../../core_api/src/fmod_dsp_sfxreverb.h
../../../../../../core_api/src/fmod_dsp_source.cpp
../../../../../../core_api/src/fmod_dsp_source.h
../../../../../../core_api/src/fmod_dsp_three_eq.cpp
../../../../../../core_api/src/fmod_dsp_three_eq.h
../../../../../../core_api/src/fmod_dsp_three_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_noopt.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.h
../../../../../../core_api/src/fmod_dsp_tremolo.cpp
../../../../../../core_api/src/fmod_dsp_tremolo.h
../../../../../../core_api/src/fmod_dsp_wavetable.cpp
../../../../../../core_api/src/fmod_dsp_wavetable.h
../../../../../../core_api/src/fmod_dspi.cpp
../../../../../../core_api/src/fmod_dspi.h
../../../../../../core_api/src/fmod_endian.h
../../../../../../core_api/src/fmod_errors.cs
../../../../../../core_api/src/fmod_errors.h
../../../../../../core_api/src/fmod_expandingpool.cpp
../../../../../../core_api/src/fmod_expandingpool.h
../../../../../../core_api/src/fmod_fft.cpp
../../../../../../core_api/src/fmod_fft.h
../../../../../../core_api/src/fmod_fft_0.hlsl
../../../../../../core_api/src/fmod_fft_1.hlsl
../../../../../../core_api/src/fmod_fft_common.hlsli
../../../../../../core_api/src/fmod_fft_noopt.cpp
../../../../../../core_api/src/fmod_fft_sse.cpp
../../../../../../core_api/src/fmod_file.cpp
../../../../../../core_api/src/fmod_file.h
../../../../../../core_api/src/fmod_file_disk.cpp
../../../../../../core_api/src/fmod_file_disk.h
../../../../../../core_api/src/fmod_file_memory.cpp
../../../../../../core_api/src/fmod_file_memory.h
../../../../../../core_api/src/fmod_file_net.cpp
../../../../../../core_api/src/fmod_file_net.h
../../../../../../core_api/src/fmod_file_null.cpp
../../../../../../core_api/src/fmod_file_null.h
../../../../../../core_api/src/fmod_file_remote.cpp
../../../../../../core_api/src/fmod_file_remote.h
../../../../../../core_api/src/fmod_file_user.cpp
../../../../../../core_api/src/fmod_file_user.h
../../../../../../core_api/src/fmod_format.cpp
../../../../../../core_api/src/fmod_format.h
../../../../../../core_api/src/fmod_freelist.h
../../../../../../core_api/src/fmod_geometry.cpp
../../../../../../core_api/src/fmod_geometry_mgr.cpp
../../../../../../core_api/src/fmod_geometry_mgr.h
../../../../../../core_api/src/fmod_geometryi.cpp
../../../../../../core_api/src/fmod_geometryi.h
../../../../../../core_api/src/fmod_globals.cpp
../../../../../../core_api/src/fmod_globals.h
../../../../../../core_api/src/fmod_gpu_compute.cpp
../../../../../../core_api/src/fmod_gpu_compute.h
../../../../../../core_api/src/fmod_ifft_0.hlsl
../../../../../../core_api/src/fmod_ifft_1.hlsl
../../../../../../core_api/src/fmod_iterator.h
../../../../../../core_api/src/fmod_linkedlist.h
../../../../../../core_api/src/fmod_listener.cpp
../../../../../../core_api/src/fmod_listener.h
../../../../../../core_api/src/fmod_localcriticalsection.h
../../../../../../core_api/src/fmod_map.h
../../../../../../core_api/src/fmod_memory.cpp
../../../../../../core_api/src/fmod_memory.h
../../../../../../core_api/src/fmod_memory_tracking.cpp
../../../../../../core_api/src/fmod_memory_tracking.h
../../../../../../core_api/src/fmod_metadata.cpp
../../../../../../core_api/src/fmod_metadata.h
../../../../../../core_api/src/fmod_mode.h
../../../../../../core_api/src/fmod_music.cpp
../../../../../../core_api/src/fmod_music.h
../../../../../../core_api/src/fmod_net.cpp
../../../../../../core_api/src/fmod_net.h
../../../../../../core_api/src/fmod_octree.cpp
../../../../../../core_api/src/fmod_octree.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.m4
../../../../../../core_api/src/fmod_os_atomic_gcc_arm64.h
../../../../../../core_api/src/fmod_os_atomic_gcc_x86.h
../../../../../../core_api/src/fmod_os_misc.h
../../../../../../core_api/src/fmod_os_net.h
../../../../../../core_api/src/fmod_os_net_posix.cpp
../../../../../../core_api/src/fmod_os_net_winsock.cpp
../../../../../../core_api/src/fmod_os_output.h
../../../../../../core_api/src/fmod_output.cpp
../../../../../../core_api/src/fmod_output.h
../../../../../../core_api/src/fmod_output_emulated.h
../../../../../../core_api/src/fmod_output_nosound.cpp
../../../../../../core_api/src/fmod_output_nosound.h
../../../../../../core_api/src/fmod_output_nosound_nrt.cpp
../../../../../../core_api/src/fmod_output_nosound_nrt.h
../../../../../../core_api/src/fmod_output_phase.h
../../../../../../core_api/src/fmod_output_phase.mm
../../../../../../core_api/src/fmod_output_software.cpp
../../../../../../core_api/src/fmod_output_software.h
../../../../../../core_api/src/fmod_output_wavwriter.cpp
../../../../../../core_api/src/fmod_output_wavwriter.h
../../../../../../core_api/src/fmod_output_wavwriter_nrt.cpp
../../../../../../core_api/src/fmod_output_wavwriter_nrt.h
../../../../../../core_api/src/fmod_output_winsonic.cpp
../../../../../../core_api/src/fmod_output_winsonic.h
../../../../../../core_api/src/fmod_output_winsonic_compat.h
../../../../../../core_api/src/fmod_outputi.h
../../../../../../core_api/src/fmod_pan.cpp
../../../../../../core_api/src/fmod_pan.h
../../../../../../core_api/src/fmod_pluginfactory.cpp
../../../../../../core_api/src/fmod_pluginfactory.h
../../../../../../core_api/src/fmod_poolallocator.h
../../../../../../core_api/src/fmod_profile.cpp
../../../../../../core_api/src/fmod_profile.h
../../../../../../core_api/src/fmod_profile_channel_pkt.h
../../../../../../core_api/src/fmod_profile_client.cpp
../../../../../../core_api/src/fmod_profile_client.h
../../../../../../core_api/src/fmod_profile_codec_pkt.h
../../../../../../core_api/src/fmod_profile_cpu_pkt.h
../../../../../../core_api/src/fmod_profile_dsp.cpp
../../../../../../core_api/src/fmod_profile_dsp.h
../../../../../../core_api/src/fmod_profile_dsp_pkt.h
../../../../../../core_api/src/fmod_profile_group_pkt.h
../../../../../../core_api/src/fmod_profile_markers.cpp
../../../../../../core_api/src/fmod_profile_markers.h
../../../../../../core_api/src/fmod_profile_pkt.h
../../../../../../core_api/src/fmod_profile_remotefile.cpp
../../../../../../core_api/src/fmod_profile_remotefile.h
../../../../../../core_api/src/fmod_profile_remotefile_pkt.h
../../../../../../core_api/src/fmod_profile_stats.cpp
../../../../../../core_api/src/fmod_profile_stats.h
../../../../../../core_api/src/fmod_profile_stats_pkt.h
../../../../../../core_api/src/fmod_random.h
../../../../../../core_api/src/fmod_reverb.cpp
../../../../../../core_api/src/fmod_reverbi.cpp
../../../../../../core_api/src/fmod_reverbi.h
../../../../../../core_api/src/fmod_rootsignature.hlsl
../../../../../../core_api/src/fmod_sample_software.cpp
../../../../../../core_api/src/fmod_sample_software.h
../../../../../../core_api/src/fmod_settings.h
../../../../../../core_api/src/fmod_shader_compat.hlsli
../../../../../../core_api/src/fmod_simd_util_sse.h
../../../../../../core_api/src/fmod_sound.cpp
../../../../../../core_api/src/fmod_sound_sample.cpp
../../../../../../core_api/src/fmod_sound_sample.h
../../../../../../core_api/src/fmod_sound_stream.cpp
../../../../../../core_api/src/fmod_sound_stream.h
../../../../../../core_api/src/fmod_soundgroup.cpp
../../../../../../core_api/src/fmod_soundgroupi.cpp
../../../../../../core_api/src/fmod_soundgroupi.h
../../../../../../core_api/src/fmod_soundi.cpp
../../../../../../core_api/src/fmod_soundi.h
../../../../../../core_api/src/fmod_speakermap.h
../../../../../../core_api/src/fmod_string.cpp
../../../../../../core_api/src/fmod_string.h
../../../../../../core_api/src/fmod_stringw.cpp
../../../../../../core_api/src/fmod_stringw.h
../../../../../../core_api/src/fmod_syncpoint.h
../../../../../../core_api/src/fmod_system.cpp
../../../../../../core_api/src/fmod_systemi.cpp
../../../../../../core_api/src/fmod_systemi.h
../../../../../../core_api/src/fmod_systemi_channel.cpp
../../../../../../core_api/src/fmod_systemi_driver.cpp
../../../../../../core_api/src/fmod_systemi_dsp.cpp
../../../../../../core_api/src/fmod_systemi_fft.cpp
../../../../../../core_api/src/fmod_systemi_sound.cpp
../../../../../../core_api/src/fmod_systemi_speaker.cpp
../../../../../../core_api/src/fmod_systemi_thread.cpp
../../../../../../core_api/src/fmod_systemi_update.cpp
../../../../../../core_api/src/fmod_thread.cpp
../../../../../../core_api/src/fmod_thread.h
../../../../../../core_api/src/fmod_threadsafe.cpp
../../../../../../core_api/src/fmod_threadsafe.h
../../../../../../core_api/src/fmod_time.cpp
../../../../../../core_api/src/fmod_time.h
../../../../../../core_api/src/fmod_types.h
../../../../../../examples/platforms/linux/src/common_platform.cpp
../../../../../../examples/platforms/linux/src/common_platform.h
../../../../../../examples/src/autotest.cpp
../../../../../../examples/src/common.cpp
../../../../../../examples/src/common.h
../../../../../../examples/src/common_dx12.cpp
../../../../../../examples/src/common_dx12.h
../../../../../../examples/src/common_dx12_ps.h
../../../../../../examples/src/common_dx12_vs.h
../../../../../../examples/src/common_font_glyphs.h
../../../../../../examples/src/common_font_texture.h
../../../../../../examples/src/common_vulkan.cpp
../../../../../../examples/src/common_vulkan.h
../../../../../../examples/src/common_vulkan_fs.h
../../../../../../examples/src/common_vulkan_vs.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/assert.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/callback.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/export.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/format.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/ordinals.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/stream_decoder.h
../../../../../../external/decoders/flac-1.2.1/include/share/alloc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitmath.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitreader.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/cpu.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/crc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/fixed.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/format.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/lpc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/md5.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/memory.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/stream_decoder.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/nasm.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitmath.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitreader.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/cpu.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/crc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/fixed.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/float.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/format.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/lpc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/md5.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/memory.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/protected/stream_decoder.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/ogg.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/os_types.h
../../../../../../external/decoders/ogg_vorbis/ogg/src/bitwise.c
../../../../../../external/decoders/ogg_vorbis/ogg/src/framing.c
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/codec.h
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/vorbisfile.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/backends.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/block.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codec_internal.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/floor1.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/highlevel.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/info.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup_data.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mapping0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/masking.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/misc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/os.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/psy.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/res0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/scales.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/sharedbook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/synthesis.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/vorbisfile.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/floor_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/psych_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/residue_44.h
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.c
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_codec.h
../../../../../../external/decoders/tremor_lowmem/tremor_codec_internal.h
../../../../../../external/decoders/tremor_lowmem/tremor_dsp.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_info.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx512.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct.h
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_misc.h
../../../../../../external/decoders/tremor_lowmem/tremor_os.h
../../../../../../external/decoders/tremor_lowmem/tremor_os_types.h
../../../../../../external/decoders/tremor_lowmem/tremor_res012.c
../../../../../../external/decoders/tremor_lowmem/tremor_window_lookup.h
../../../../../../external/misc/dlmalloc/dlmalloc.cpp
../../../../../../external/misc/dlmalloc/dlmalloc.h
../make/channel_groups.makefile
../channel_groups.cpp

View file

@ -0,0 +1,6 @@
../../../../../../examples/src
../../../../../../examples/platforms/linux/src
../../../../../src
../../../../../../external/misc
../../../../../../external/dsps
../../../../../../external/decoders

View file

@ -0,0 +1,234 @@
/*==============================================================================
FMOD Example Framework
Copyright (c), Firelight Technologies Pty, Ltd 2012-2025.
==============================================================================*/
#include "common.h"
#include "fmod_errors.h"
/* Cross platform OS Functions internal to the FMOD library, exposed for the example framework. */
#ifdef __cplusplus
extern "C" {
#endif
typedef struct FMOD_OS_FILE FMOD_OS_FILE;
typedef struct FMOD_OS_CRITICALSECTION FMOD_OS_CRITICALSECTION;
FMOD_RESULT F_API FMOD_OS_Time_GetUs(unsigned int *us);
FMOD_RESULT F_API FMOD_OS_Debug_Output(const char *format, ...);
FMOD_RESULT F_API FMOD_OS_File_Open(const char *name, int mode, unsigned int *filesize, FMOD_OS_FILE **handle);
FMOD_RESULT F_API FMOD_OS_File_Close(FMOD_OS_FILE *handle);
FMOD_RESULT F_API FMOD_OS_File_Read(FMOD_OS_FILE *handle, void *buf, unsigned int count, unsigned int *read);
FMOD_RESULT F_API FMOD_OS_File_Write(FMOD_OS_FILE *handle, const void *buffer, unsigned int bytesToWrite, bool flush);
FMOD_RESULT F_API FMOD_OS_File_Seek(FMOD_OS_FILE *handle, unsigned int offset);
FMOD_RESULT F_API FMOD_OS_Time_Sleep(unsigned int ms);
FMOD_RESULT F_API FMOD_OS_CriticalSection_Create(FMOD_OS_CRITICALSECTION **crit, bool memorycrit);
FMOD_RESULT F_API FMOD_OS_CriticalSection_Free(FMOD_OS_CRITICALSECTION *crit, bool memorycrit);
FMOD_RESULT F_API FMOD_OS_CriticalSection_Enter(FMOD_OS_CRITICALSECTION *crit);
FMOD_RESULT F_API FMOD_OS_CriticalSection_Leave(FMOD_OS_CRITICALSECTION *crit);
FMOD_RESULT F_API FMOD_OS_CriticalSection_TryEnter(FMOD_OS_CRITICALSECTION *crit, bool *entered);
FMOD_RESULT F_API FMOD_OS_CriticalSection_IsLocked(FMOD_OS_CRITICALSECTION *crit, bool *locked);
FMOD_RESULT F_API FMOD_OS_Thread_Create(const char *name, void (*callback)(void *param), void *param, FMOD_THREAD_AFFINITY affinity, FMOD_THREAD_PRIORITY priority, FMOD_THREAD_STACK_SIZE stacksize, void **handle);
FMOD_RESULT F_API FMOD_OS_Thread_Destroy(void *handle);
#ifdef __cplusplus
}
#endif
void (*Common_Private_Error)(FMOD_RESULT, const char *, int);
void ERRCHECK_fn(FMOD_RESULT result, const char *file, int line)
{
if (result != FMOD_OK)
{
if (Common_Private_Error)
{
Common_Private_Error(result, file, line);
}
Common_Fatal("%s(%d): FMOD error %d - %s", file, line, result, FMOD_ErrorString(result));
}
}
void Common_Format(char *buffer, int bufferSize, const char *formatString...)
{
va_list args;
va_start(args, formatString);
Common_vsnprintf(buffer, bufferSize, formatString, args);
va_end(args);
buffer[bufferSize-1] = '\0';
}
void Common_Fatal(const char *format, ...)
{
char error[1024];
va_list args;
va_start(args, format);
Common_vsnprintf(error, 1024, format, args);
va_end(args);
error[1023] = '\0';
do
{
Common_Draw("A fatal error has occurred...");
Common_Draw("");
Common_Draw("%s", error);
Common_Draw("");
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
Common_Update();
Common_Sleep(50);
} while (!Common_BtnPress(BTN_QUIT));
Common_Exit(0);
}
void Common_Draw(const char *format, ...)
{
char string[1024];
char *stringPtr = string;
va_list args;
va_start(args, format);
Common_vsnprintf(string, 1024, format, args);
va_end(args);
string[1023] = '\0';
unsigned int length = (unsigned int)strlen(string);
do
{
bool consumeNewLine = false;
unsigned int copyLength = length;
// Search for new line characters
char *newLinePtr = strchr(stringPtr, '\n');
if (newLinePtr)
{
consumeNewLine = true;
copyLength = (unsigned int)(newLinePtr - stringPtr);
}
if (copyLength > NUM_COLUMNS)
{
// Hard wrap by default
copyLength = NUM_COLUMNS;
// Loop for a soft wrap
for (int i = NUM_COLUMNS - 1; i >= 0; i--)
{
if (stringPtr[i] == ' ')
{
copyLength = i + 1;
break;
}
}
}
// Null terminate the sub string temporarily by swapping out a char
char tempChar = stringPtr[copyLength];
stringPtr[copyLength] = 0;
Common_DrawText(stringPtr);
stringPtr[copyLength] = tempChar;
copyLength += (consumeNewLine ? 1 : 0);
length -= copyLength;
stringPtr += copyLength;
} while (length > 0);
}
void Common_Time_GetUs(unsigned int *us)
{
FMOD_OS_Time_GetUs(us);
}
void Common_Log(const char *format, ...)
{
char string[1024];
va_list args;
va_start(args, format);
Common_vsnprintf(string, 1024, format, args);
va_end(args);
string[1023] = '\0';
FMOD_OS_Debug_Output(string);
}
void Common_LoadFileMemory(const char *name, void **buff, int *length)
{
FMOD_OS_FILE *file = NULL;
unsigned int len, bytesread;
FMOD_OS_File_Open(name, 0, &len, &file);
void *mem = malloc(len);
FMOD_OS_File_Read(file, mem, len, &bytesread);
FMOD_OS_File_Close(file);
*buff = mem;
*length = bytesread;
}
void Common_UnloadFileMemory(void *buff)
{
free(buff);
}
void Common_Sleep(unsigned int ms)
{
FMOD_OS_Time_Sleep(ms);
}
void Common_File_Open(const char *name, int mode, unsigned int *filesize, void **handle)
{
FMOD_OS_File_Open(name, mode, filesize, (FMOD_OS_FILE **)handle);
}
void Common_File_Close(void *handle)
{
FMOD_OS_File_Close((FMOD_OS_FILE *)handle);
}
void Common_File_Read(void *handle, void *buf, unsigned int length, unsigned int *read)
{
FMOD_OS_File_Read((FMOD_OS_FILE *)handle, buf, length, read);
}
void Common_File_Write(void *handle, void *buf, unsigned int length)
{
FMOD_OS_File_Write((FMOD_OS_FILE *)handle, buf, length, true);
}
void Common_File_Seek(void *handle, unsigned int offset)
{
FMOD_OS_File_Seek((FMOD_OS_FILE *)handle, offset);
}
void Common_Mutex_Create(Common_Mutex *mutex)
{
FMOD_OS_CriticalSection_Create((FMOD_OS_CRITICALSECTION **)&mutex->crit, false);
}
void Common_Mutex_Destroy(Common_Mutex *mutex)
{
FMOD_OS_CriticalSection_Free((FMOD_OS_CRITICALSECTION *)mutex->crit, false);
}
void Common_Mutex_Enter(Common_Mutex *mutex)
{
FMOD_OS_CriticalSection_Enter((FMOD_OS_CRITICALSECTION *)mutex->crit);
}
void Common_Mutex_Leave(Common_Mutex *mutex)
{
FMOD_OS_CriticalSection_Leave((FMOD_OS_CRITICALSECTION *)mutex->crit);
}
void Common_Thread_Create(void (*callback)(void *param), void *param, void **handle)
{
FMOD_OS_Thread_Create("FMOD Example Thread", callback, param, FMOD_THREAD_AFFINITY_GROUP_A, FMOD_THREAD_PRIORITY_MEDIUM, (16 * 1024), handle);
}
void Common_Thread_Destroy(void *handle)
{
FMOD_OS_Thread_Destroy(handle);
}

View file

@ -0,0 +1,93 @@
/*==============================================================================
FMOD Example Framework
Copyright (c), Firelight Technologies Pty, Ltd 2012-2025.
==============================================================================*/
#ifndef FMOD_EXAMPLES_COMMON_H
#define FMOD_EXAMPLES_COMMON_H
#include "common_platform.h"
#include "fmod.h"
#include <stddef.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <stdarg.h>
#include <stdio.h>
#include <assert.h>
#define NUM_COLUMNS 50
#define NUM_ROWS 25
#ifndef Common_Sin
#define Common_Sin sin
#endif
#ifndef Common_snprintf
#define Common_snprintf snprintf
#endif
#ifndef Common_vsnprintf
#define Common_vsnprintf vsnprintf
#endif
enum Common_Button
{
BTN_ACTION1,
BTN_ACTION2,
BTN_ACTION3,
BTN_ACTION4,
BTN_LEFT,
BTN_RIGHT,
BTN_UP,
BTN_DOWN,
BTN_MORE,
BTN_QUIT
};
typedef struct
{
void *crit;
} Common_Mutex;
/* Cross platform functions (common) */
void Common_Format(char *buffer, int bufferSize, const char *formatString...);
void Common_Fatal(const char *format, ...);
void Common_Draw(const char *format, ...);
void Common_Time_GetUs(unsigned int *us);
void Common_Log(const char *format, ...);
void Common_LoadFileMemory(const char *name, void **buff, int *length);
void Common_UnloadFileMemory(void *buff);
void Common_Sleep(unsigned int ms);
void Common_File_Open(const char *name, int mode, unsigned int *filesize, void **handle); // mode : 0 = read, 1 = write.
void Common_File_Close(void *handle);
void Common_File_Read(void *handle, void *buf, unsigned int length, unsigned int *read);
void Common_File_Write(void *handle, void *buf, unsigned int length);
void Common_File_Seek(void *handle, unsigned int offset);
void Common_Mutex_Create(Common_Mutex *mutex);
void Common_Mutex_Destroy(Common_Mutex *mutex);
void Common_Mutex_Enter(Common_Mutex *mutex);
void Common_Mutex_Leave(Common_Mutex *mutex);
void Common_Thread_Create(void (*callback)(void *param), void *param, void **handle);
void Common_Thread_Destroy(void *handle);
void ERRCHECK_fn(FMOD_RESULT result, const char *file, int line);
#define ERRCHECK(_result) ERRCHECK_fn(_result, __FILE__, __LINE__)
#define Common_Max(_a, _b) ((_a) > (_b) ? (_a) : (_b))
#define Common_Min(_a, _b) ((_a) < (_b) ? (_a) : (_b))
#define Common_Clamp(_min, _val, _max) ((_val) < (_min) ? (_min) : ((_val) > (_max) ? (_max) : (_val)))
/* Functions with platform specific implementation (common_platform) */
void Common_Init(void **extraDriverData);
void Common_Close();
void Common_Update();
void Common_Exit(int returnCode);
void Common_DrawText(const char *text);
bool Common_BtnPress(Common_Button btn);
bool Common_BtnDown(Common_Button btn);
const char *Common_BtnStr(Common_Button btn);
const char *Common_MediaPath(const char *fileName);
const char *Common_WritePath(const char *fileName);
#endif

View file

@ -0,0 +1,188 @@
/*==============================================================================
FMOD Example Framework
Copyright (c), Firelight Technologies Pty, Ltd 2014-2025.
==============================================================================*/
#include "common.h"
#include <unistd.h>
#include <termios.h>
#include <vector>
#include <string>
static unsigned int gPressedButtons = 0;
static unsigned int gDownButtons = 0;
static std::string gConsoleText;
static std::vector<char *> gPathList;
static termios originalTerm = {0};
static void RevertTerminal()
{
tcsetattr(STDIN_FILENO, TCSANOW, &originalTerm);
printf("%c[?25h", 0x1B); // Show the cursor
}
void Common_Init(void **extraDriverData)
{
int err = tcgetattr(STDIN_FILENO, &originalTerm);
assert(err == 0);
err = atexit(RevertTerminal); // Register for atexit in case we bail and don't call Common_Close
assert(err == 0);
termios term = {0};
err = tcgetattr(STDIN_FILENO, &term);
assert(err == 0);
term.c_lflag &= ~(ICANON); // Disable special characters, i.e. EOF, EOL, etc
term.c_lflag &= ~(ECHO); // Prevent echo of characters
term.c_cc[VMIN] = 1; // Specify min number of bytes before a read() can return
err = tcsetattr(STDIN_FILENO, TCSANOW, &term);
assert(err == 0);
printf("%c[?25l", 0x1B); // Hide the cursor
}
void Common_Close()
{
for (std::vector<char *>::iterator item = gPathList.begin(); item != gPathList.end(); ++item)
{
free(*item);
}
}
static bool IsKeyPressed()
{
fd_set fileDescMask;
FD_ZERO(&fileDescMask);
FD_SET(STDIN_FILENO, &fileDescMask);
timeval timeSpan = {0, 1000}; // 0s, 1000us
// Check file descriptor provided for read, returns number of ready for read file descriptors
int err = select(1, &fileDescMask, NULL, NULL, &timeSpan);
assert(err >= 0);
return (err > 0);
}
void Common_Update()
{
/*
Capture key input
*/
unsigned int newButtons = 0;
while (IsKeyPressed())
{
unsigned int key = getchar();
if (key == '1') newButtons |= (1 << BTN_ACTION1);
else if (key == '2') newButtons |= (1 << BTN_ACTION2);
else if (key == '3') newButtons |= (1 << BTN_ACTION3);
else if (key == '4') newButtons |= (1 << BTN_ACTION4);
else if (key == 'w') newButtons |= (1 << BTN_UP);
else if (key == 'a') newButtons |= (1 << BTN_LEFT);
else if (key == 's') newButtons |= (1 << BTN_DOWN);
else if (key == 'd') newButtons |= (1 << BTN_RIGHT);
else if (key == 32) newButtons |= (1 << BTN_MORE);
else if (key == 'q') newButtons |= (1 << BTN_QUIT);
}
gPressedButtons = (gDownButtons ^ newButtons) & newButtons;
gDownButtons = newButtons;
/*
Update the screen
*/
printf("%c[H", 0x1B); // Move cursor to home position
printf("%s", gConsoleText.c_str()); // Terminal console is already double buffered, so just print
printf("%c[J", 0x1B); // Clear the rest of the screen
gConsoleText.clear();
}
void Common_Exit(int returnCode)
{
exit(returnCode);
}
void Common_DrawText(const char *text)
{
char s[256];
snprintf(s, sizeof(s), "%s%c[K\n", text, 0x1B); // Print the text and clear the rest of the line
gConsoleText.append(s);
}
bool Common_BtnPress(Common_Button btn)
{
return ((gPressedButtons & (1 << btn)) != 0);
}
bool Common_BtnDown(Common_Button btn)
{
return ((gDownButtons & (1 << btn)) != 0);
}
const char *Common_BtnStr(Common_Button btn)
{
switch (btn)
{
case BTN_ACTION1: return "1";
case BTN_ACTION2: return "2";
case BTN_ACTION3: return "3";
case BTN_ACTION4: return "4";
case BTN_UP: return "W";
case BTN_LEFT: return "A";
case BTN_DOWN: return "S";
case BTN_RIGHT: return "D";
case BTN_MORE: return "SPACE";
case BTN_QUIT: return "Q";
default: return "Unknown";
}
}
const char *Common_MediaPath(const char *fileName)
{
static bool pathInitialized = false;
static char pathPrefix[256] = { };
if (!pathInitialized)
{
pathInitialized = true;
FILE *file = fopen(fileName, "r");
if (file)
{
fclose(file);
pathPrefix[0] = 0;
}
else
{
ssize_t len = readlink("/proc/self/exe", pathPrefix, 256);
assert(len != -1);
char *filePathEnd = strrchr(pathPrefix, '/');
assert (filePathEnd != NULL);
filePathEnd++; // Move past the last slash
filePathEnd[0] = '\0';
strcat(pathPrefix, "../media/");
}
}
if (pathPrefix[0] == 0)
{
return fileName;
}
char *filePath = (char *)calloc(256, sizeof(char));
strcpy(filePath, pathPrefix);
strcat(filePath, fileName);
gPathList.push_back(filePath);
return filePath;
}
const char *Common_WritePath(const char *fileName)
{
return Common_MediaPath(fileName);
}

View file

@ -0,0 +1,12 @@
/*==============================================================================
FMOD Example Framework
Copyright (c), Firelight Technologies Pty, Ltd 2014-2025.
==============================================================================*/
#include <pthread.h>
#include <assert.h>
#include <stdio.h>
#define COMMON_PLATFORM_SUPPORTS_FOPEN
#define FMOD_Main() main(int, char**)
#define Common_TTY(format, ...) fprintf(stderr, format, __VA_ARGS__)

View file

@ -0,0 +1,239 @@
/*==============================================================================
Convolution Reverb Example
Copyright (c), Firelight Technologies Pty, Ltd 2004-2025.
This example shows how to set up a convolution reverb DSP as a global
DSP unit that can be routed into by multiple seperate channels.
Convolution reverb uses data from a real world locations called an
"Impulse Response" to model the reflection of audio waves back
to a listener.
Impulse Response is based on "St Andrew's Church" by
www.openairlib.net
Audiolab, University of York
Damian T. Murphy
http://www.openairlib.net/auralizationdb/content/st-andrews-church
licensed under Attribution Share Alike Creative Commons license
http://creativecommons.org/licenses/by-sa/3.0/
Anechoic sample "Operatic Voice" by
www.openairlib.net
http://www.openairlib.net/anechoicdb/content/operatic-voice
licensed under Attribution Share Alike Creative Commons license
http://creativecommons.org/licenses/by-sa/3.0/
### Features Demonstrated ###
+ FMOD_DSP_CONVOLUTION_REVERB
+ DSP::addInput
For information on using FMOD example code in your own programs, visit
https://www.fmod.com/legal
==============================================================================*/
#include "fmod.hpp"
#include "common.h"
int FMOD_Main()
{
void *extradriverdata = 0;
Common_Init(&extradriverdata);
/*
Create a System object and initialize
*/
FMOD_RESULT result;
FMOD::System* system;
result = FMOD::System_Create(&system);
ERRCHECK(result);
result = system->init(32, FMOD_INIT_NORMAL, extradriverdata);
ERRCHECK(result);
/*
Create a new channel group to hold the convolution DSP unit
*/
FMOD::ChannelGroup* reverbGroup;
result = system->createChannelGroup("reverb", &reverbGroup);
ERRCHECK(result);
/*
Create a new channel group to hold all the channels and process the dry path
*/
FMOD::ChannelGroup* mainGroup;
result = system->createChannelGroup("main", &mainGroup);
ERRCHECK(result);
/*
Create the convultion DSP unit and set it as the tail of the channel group
*/
FMOD::DSP* reverbUnit;
result = system->createDSPByType(FMOD_DSP_TYPE_CONVOLUTIONREVERB, &reverbUnit);
ERRCHECK(result);
result = reverbGroup->addDSP(FMOD_CHANNELCONTROL_DSP_TAIL, reverbUnit);
ERRCHECK(result);
/*
Open the impulse response wav file, but use FMOD_OPENONLY as we want
to read the data into a seperate buffer
*/
FMOD::Sound* irSound;
result = system->createSound(Common_MediaPath("standrews.wav"), FMOD_DEFAULT | FMOD_OPENONLY, NULL, &irSound);
ERRCHECK(result);
/*
Retrieve the sound information for the Impulse Response input file
*/
FMOD_SOUND_FORMAT irSoundFormat;
FMOD_SOUND_TYPE irSoundType;
int irSoundBits, irSoundChannels;
result = irSound->getFormat(&irSoundType, &irSoundFormat, &irSoundChannels, &irSoundBits);
ERRCHECK(result);
unsigned int irSoundLength;
result = irSound->getLength(&irSoundLength, FMOD_TIMEUNIT_PCM);
ERRCHECK(result);
if (irSoundFormat != FMOD_SOUND_FORMAT_PCM16)
{
/*
For simplicity of the example, if the impulse response is the wrong format just display an error
*/
Common_Fatal("Impulse Response file is the wrong audio format");
}
/*
The reverb unit expects a block of data containing a single 16 bit int containing
the number of channels in the impulse response, followed by PCM 16 data
*/
unsigned int irDataLength = sizeof(short) * (irSoundLength * irSoundChannels + 1);
short* irData = (short*)malloc(irDataLength);
irData[0] = (short)irSoundChannels;
unsigned int irDataRead;
result = irSound->readData(&irData[1], irDataLength - sizeof(short), &irDataRead);
ERRCHECK(result);
result = reverbUnit->setParameterData(FMOD_DSP_CONVOLUTION_REVERB_PARAM_IR, irData, irDataLength);
ERRCHECK(result);
/*
Don't pass any dry signal from the reverb unit, instead take the dry part
of the mix from the main signal path
*/
result = reverbUnit->setParameterFloat(FMOD_DSP_CONVOLUTION_REVERB_PARAM_DRY, -80.0f);
ERRCHECK(result);
/*
We can now free our copy of the IR data and release the sound object, the reverb unit
has created it's internal data
*/
free(irData);
result = irSound->release();
ERRCHECK(result);
/*
Load up and play a sample clip recorded in an anechoic chamber
*/
FMOD::Sound* sound;
system->createSound(Common_MediaPath("singing.wav"), FMOD_3D | FMOD_LOOP_NORMAL, NULL, &sound);
ERRCHECK(result);
FMOD::Channel* channel;
system->playSound(sound, mainGroup, true, &channel);
ERRCHECK(result);
/*
Create a send connection between the channel head and the reverb unit
*/
FMOD::DSP* channelHead;
channel->getDSP(FMOD_CHANNELCONTROL_DSP_HEAD, &channelHead);
ERRCHECK(result);
FMOD::DSPConnection* reverbConnection;
result = reverbUnit->addInput(channelHead, &reverbConnection, FMOD_DSPCONNECTION_TYPE_SEND);
ERRCHECK(result);
result = channel->setPaused(false);
ERRCHECK(result);
float wetVolume = 1.0;
float dryVolume = 1.0;
/*
Main loop
*/
do
{
Common_Update();
if (Common_BtnPress(BTN_LEFT))
{
wetVolume = (wetVolume <= 0.0f) ? wetVolume : wetVolume - 0.05f;
}
if (Common_BtnPress(BTN_RIGHT))
{
wetVolume = (wetVolume >= 1.0f) ? wetVolume : wetVolume + 0.05f;
}
if (Common_BtnPress(BTN_DOWN))
{
dryVolume = (dryVolume <= 0.0f) ? dryVolume : dryVolume - 0.05f;
}
if (Common_BtnPress(BTN_UP))
{
dryVolume = (dryVolume >= 1.0f) ? dryVolume : dryVolume + 0.05f;
}
result = system->update();
ERRCHECK(result);
result = reverbConnection->setMix(wetVolume);
ERRCHECK(result);
result = mainGroup->setVolume(dryVolume);
ERRCHECK(result);
Common_Draw("==================================================");
Common_Draw("Convolution Example.");
Common_Draw("Copyright (c) Firelight Technologies 2004-2025.");
Common_Draw("==================================================");
Common_Draw("Press %s and %s to change dry mix", Common_BtnStr(BTN_UP), Common_BtnStr(BTN_DOWN));
Common_Draw("Press %s and %s to change wet mix", Common_BtnStr(BTN_LEFT), Common_BtnStr(BTN_RIGHT));
Common_Draw("wet mix [%.2f] dry mix [%.2f]", wetVolume, dryVolume);
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
Common_Draw("");
Common_Sleep(50);
} while (!Common_BtnPress(BTN_QUIT));
/*
Shut down
*/
result = sound->release();
ERRCHECK(result);
result = mainGroup->release();
ERRCHECK(result);
result = reverbGroup->removeDSP(reverbUnit);
ERRCHECK(result);
result = reverbUnit->disconnectAll(true, true);
ERRCHECK(result);
result = reverbUnit->release();
ERRCHECK(result);
result = reverbGroup->release();
ERRCHECK(result);
result = system->close();
ERRCHECK(result);
result = system->release();
ERRCHECK(result);
Common_Close();
return 0;
}

View file

@ -0,0 +1 @@
-std=c17 -fPIC -fno-trapping-math

View file

@ -0,0 +1 @@
#define FMOD_USE_PLATFORM_HEADERS

View file

@ -0,0 +1,442 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{71064a00-ba92-4c03-affd-e7f374fa3265}</value>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{22e4ca2b-856c-4a9e-96b1-3ef2b55f3da9}</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.4">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=address</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Address Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.5">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=memory</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Memory Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.6">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=thread</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Thread Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.7">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f convolution_reverb.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=undefined</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Undefined Behaviour Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">8</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">%{buildDir}/convolution_reverb</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseTerminal">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory">%{buildDir}/../../../../../examples/media</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View file

@ -0,0 +1 @@
-std=c++17 -fPIC -fno-trapping-math

View file

@ -0,0 +1,514 @@
../../../../../../core_api/src/fmod.cpp
../../../../../../core_api/src/fmod.cs
../../../../../../core_api/src/fmod.h
../../../../../../core_api/src/fmod.hpp
../../../../../../core_api/src/fmod5.cpp
../../../../../../core_api/src/fmod_3d.h
../../../../../../core_api/src/fmod_array.h
../../../../../../core_api/src/fmod_asm_macros.m4
../../../../../../core_api/src/fmod_async.cpp
../../../../../../core_api/src/fmod_async.h
../../../../../../core_api/src/fmod_atomic.h
../../../../../../core_api/src/fmod_atomic_c11.h
../../../../../../core_api/src/fmod_atomic_clang.h
../../../../../../core_api/src/fmod_atomic_cpp11.h
../../../../../../core_api/src/fmod_atomic_gcc.h
../../../../../../core_api/src/fmod_atomic_legacy.h
../../../../../../core_api/src/fmod_autocleanup.h
../../../../../../core_api/src/fmod_channel.cpp
../../../../../../core_api/src/fmod_channel_emulated.h
../../../../../../core_api/src/fmod_channel_real.cpp
../../../../../../core_api/src/fmod_channel_real.h
../../../../../../core_api/src/fmod_channel_software.cpp
../../../../../../core_api/src/fmod_channel_software.h
../../../../../../core_api/src/fmod_channel_stream.cpp
../../../../../../core_api/src/fmod_channel_stream.h
../../../../../../core_api/src/fmod_channelcontrol.cpp
../../../../../../core_api/src/fmod_channelcontroli.cpp
../../../../../../core_api/src/fmod_channelcontroli.h
../../../../../../core_api/src/fmod_channelgroup.cpp
../../../../../../core_api/src/fmod_channelgroupi.cpp
../../../../../../core_api/src/fmod_channelgroupi.h
../../../../../../core_api/src/fmod_channeli.cpp
../../../../../../core_api/src/fmod_channeli.h
../../../../../../core_api/src/fmod_channelpool.h
../../../../../../core_api/src/fmod_codec.cpp
../../../../../../core_api/src/fmod_codec.h
../../../../../../core_api/src/fmod_codec_aiff.cpp
../../../../../../core_api/src/fmod_codec_aiff.h
../../../../../../core_api/src/fmod_codec_dls.cpp
../../../../../../core_api/src/fmod_codec_dls.h
../../../../../../core_api/src/fmod_codec_fadpcm.cpp
../../../../../../core_api/src/fmod_codec_fadpcm.h
../../../../../../core_api/src/fmod_codec_fadpcm_arm.m4
../../../../../../core_api/src/fmod_codec_flac.cpp
../../../../../../core_api/src/fmod_codec_flac.h
../../../../../../core_api/src/fmod_codec_fsb5.cpp
../../../../../../core_api/src/fmod_codec_fsb5.h
../../../../../../core_api/src/fmod_codec_fsbvorbis.cpp
../../../../../../core_api/src/fmod_codec_fsbvorbis.h
../../../../../../core_api/src/fmod_codec_fsbvorbis_books.cpp
../../../../../../core_api/src/fmod_codec_it.cpp
../../../../../../core_api/src/fmod_codec_it.h
../../../../../../core_api/src/fmod_codec_midi.cpp
../../../../../../core_api/src/fmod_codec_midi.h
../../../../../../core_api/src/fmod_codec_mod.cpp
../../../../../../core_api/src/fmod_codec_mod.h
../../../../../../core_api/src/fmod_codec_mpeg.cpp
../../../../../../core_api/src/fmod_codec_mpeg.h
../../../../../../core_api/src/fmod_codec_mpeg_decode.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer2.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer3.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.h
../../../../../../core_api/src/fmod_codec_playlist.cpp
../../../../../../core_api/src/fmod_codec_playlist.h
../../../../../../core_api/src/fmod_codec_raw.cpp
../../../../../../core_api/src/fmod_codec_raw.h
../../../../../../core_api/src/fmod_codec_s3m.cpp
../../../../../../core_api/src/fmod_codec_s3m.h
../../../../../../core_api/src/fmod_codec_tag.cpp
../../../../../../core_api/src/fmod_codec_tag.h
../../../../../../core_api/src/fmod_codec_user.cpp
../../../../../../core_api/src/fmod_codec_user.h
../../../../../../core_api/src/fmod_codec_wav.cpp
../../../../../../core_api/src/fmod_codec_wav.h
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.cpp
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.h
../../../../../../core_api/src/fmod_codec_wav_riff.cpp
../../../../../../core_api/src/fmod_codec_xm.cpp
../../../../../../core_api/src/fmod_codec_xm.h
../../../../../../core_api/src/fmod_codeci.h
../../../../../../core_api/src/fmod_common.h
../../../../../../core_api/src/fmod_complex.hlsli
../../../../../../core_api/src/fmod_convolution.hlsl
../../../../../../core_api/src/fmod_debug.cpp
../../../../../../core_api/src/fmod_debug.h
../../../../../../core_api/src/fmod_downmix.cpp
../../../../../../core_api/src/fmod_downmix.h
../../../../../../core_api/src/fmod_downmix_dolby_pl2.cpp
../../../../../../core_api/src/fmod_downmix_dolby_pl2.h
../../../../../../core_api/src/fmod_dsp.cpp
../../../../../../core_api/src/fmod_dsp.cs
../../../../../../core_api/src/fmod_dsp.h
../../../../../../core_api/src/fmod_dsp_biquad.cpp
../../../../../../core_api/src/fmod_dsp_biquad.h
../../../../../../core_api/src/fmod_dsp_channelmix.cpp
../../../../../../core_api/src/fmod_dsp_channelmix.h
../../../../../../core_api/src/fmod_dsp_chorus.cpp
../../../../../../core_api/src/fmod_dsp_chorus.h
../../../../../../core_api/src/fmod_dsp_codec.cpp
../../../../../../core_api/src/fmod_dsp_codec.h
../../../../../../core_api/src/fmod_dsp_codecpool.cpp
../../../../../../core_api/src/fmod_dsp_codecpool.h
../../../../../../core_api/src/fmod_dsp_compressor.cpp
../../../../../../core_api/src/fmod_dsp_compressor.h
../../../../../../core_api/src/fmod_dsp_compressor_noopt.cpp
../../../../../../core_api/src/fmod_dsp_compressor_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection.cpp
../../../../../../core_api/src/fmod_dsp_connection_arm.cpp
../../../../../../core_api/src/fmod_dsp_connection_avx.cpp
../../../../../../core_api/src/fmod_dsp_connection_neon.cpp
../../../../../../core_api/src/fmod_dsp_connection_noopt.cpp
../../../../../../core_api/src/fmod_dsp_connection_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection_vfp.m4
../../../../../../core_api/src/fmod_dsp_connectioni.cpp
../../../../../../core_api/src/fmod_dsp_connectioni.h
../../../../../../core_api/src/fmod_dsp_convert.cpp
../../../../../../core_api/src/fmod_dsp_convert.h
../../../../../../core_api/src/fmod_dsp_convert_avx.cpp
../../../../../../core_api/src/fmod_dsp_convert_noopt.cpp
../../../../../../core_api/src/fmod_dsp_convert_sse.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.h
../../../../../../core_api/src/fmod_dsp_convolutionreverb_async.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_avx.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_cpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_gpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_neon.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_sse.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.h
../../../../../../core_api/src/fmod_dsp_delay.cpp
../../../../../../core_api/src/fmod_dsp_delay.h
../../../../../../core_api/src/fmod_dsp_distortion.cpp
../../../../../../core_api/src/fmod_dsp_distortion.h
../../../../../../core_api/src/fmod_dsp_echo.cpp
../../../../../../core_api/src/fmod_dsp_echo.h
../../../../../../core_api/src/fmod_dsp_echo_noopt.cpp
../../../../../../core_api/src/fmod_dsp_echo_sse.cpp
../../../../../../core_api/src/fmod_dsp_effects.h
../../../../../../core_api/src/fmod_dsp_emulated.cpp
../../../../../../core_api/src/fmod_dsp_emulated.h
../../../../../../core_api/src/fmod_dsp_fader.cpp
../../../../../../core_api/src/fmod_dsp_fader.h
../../../../../../core_api/src/fmod_dsp_fft.cpp
../../../../../../core_api/src/fmod_dsp_fft.h
../../../../../../core_api/src/fmod_dsp_flange.cpp
../../../../../../core_api/src/fmod_dsp_flange.h
../../../../../../core_api/src/fmod_dsp_highpass.cpp
../../../../../../core_api/src/fmod_dsp_highpass.h
../../../../../../core_api/src/fmod_dsp_highpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_highpass_simple.h
../../../../../../core_api/src/fmod_dsp_interleave_noopt.cpp
../../../../../../core_api/src/fmod_dsp_interleave_sse.cpp
../../../../../../core_api/src/fmod_dsp_itecho.cpp
../../../../../../core_api/src/fmod_dsp_itecho.h
../../../../../../core_api/src/fmod_dsp_limiter.cpp
../../../../../../core_api/src/fmod_dsp_limiter.h
../../../../../../core_api/src/fmod_dsp_loudness_meter.cpp
../../../../../../core_api/src/fmod_dsp_loudness_meter.h
../../../../../../core_api/src/fmod_dsp_lowpass.cpp
../../../../../../core_api/src/fmod_dsp_lowpass.h
../../../../../../core_api/src/fmod_dsp_lowpass2.cpp
../../../../../../core_api/src/fmod_dsp_lowpass2.h
../../../../../../core_api/src/fmod_dsp_lowpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_lowpass_simple.h
../../../../../../core_api/src/fmod_dsp_matrix.cpp
../../../../../../core_api/src/fmod_dsp_matrix.h
../../../../../../core_api/src/fmod_dsp_metering_noopt.cpp
../../../../../../core_api/src/fmod_dsp_metering_sse.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.h
../../../../../../core_api/src/fmod_dsp_multiband_eq.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq.h
../../../../../../core_api/src/fmod_dsp_multiband_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_normalize.cpp
../../../../../../core_api/src/fmod_dsp_normalize.h
../../../../../../core_api/src/fmod_dsp_objectpan.cpp
../../../../../../core_api/src/fmod_dsp_objectpan.h
../../../../../../core_api/src/fmod_dsp_oscillator.cpp
../../../../../../core_api/src/fmod_dsp_oscillator.h
../../../../../../core_api/src/fmod_dsp_pan.cpp
../../../../../../core_api/src/fmod_dsp_pan.h
../../../../../../core_api/src/fmod_dsp_parameq.cpp
../../../../../../core_api/src/fmod_dsp_parameq.h
../../../../../../core_api/src/fmod_dsp_pitchshift.cpp
../../../../../../core_api/src/fmod_dsp_pitchshift.h
../../../../../../core_api/src/fmod_dsp_porthead.cpp
../../../../../../core_api/src/fmod_dsp_porthead.h
../../../../../../core_api/src/fmod_dsp_resampler.cpp
../../../../../../core_api/src/fmod_dsp_resampler.h
../../../../../../core_api/src/fmod_dsp_resampler_cubic.cpp
../../../../../../core_api/src/fmod_dsp_resampler_cubic.h
../../../../../../core_api/src/fmod_dsp_resampler_linear.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear.h
../../../../../../core_api/src/fmod_dsp_resampler_linear_arm.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx2.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx512.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_neon.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_vfp.m4
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.h
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.h
../../../../../../core_api/src/fmod_dsp_return.cpp
../../../../../../core_api/src/fmod_dsp_return.h
../../../../../../core_api/src/fmod_dsp_send.cpp
../../../../../../core_api/src/fmod_dsp_send.h
../../../../../../core_api/src/fmod_dsp_sfxreverb.cpp
../../../../../../core_api/src/fmod_dsp_sfxreverb.h
../../../../../../core_api/src/fmod_dsp_source.cpp
../../../../../../core_api/src/fmod_dsp_source.h
../../../../../../core_api/src/fmod_dsp_three_eq.cpp
../../../../../../core_api/src/fmod_dsp_three_eq.h
../../../../../../core_api/src/fmod_dsp_three_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_noopt.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.h
../../../../../../core_api/src/fmod_dsp_tremolo.cpp
../../../../../../core_api/src/fmod_dsp_tremolo.h
../../../../../../core_api/src/fmod_dsp_wavetable.cpp
../../../../../../core_api/src/fmod_dsp_wavetable.h
../../../../../../core_api/src/fmod_dspi.cpp
../../../../../../core_api/src/fmod_dspi.h
../../../../../../core_api/src/fmod_endian.h
../../../../../../core_api/src/fmod_errors.cs
../../../../../../core_api/src/fmod_errors.h
../../../../../../core_api/src/fmod_expandingpool.cpp
../../../../../../core_api/src/fmod_expandingpool.h
../../../../../../core_api/src/fmod_fft.cpp
../../../../../../core_api/src/fmod_fft.h
../../../../../../core_api/src/fmod_fft_0.hlsl
../../../../../../core_api/src/fmod_fft_1.hlsl
../../../../../../core_api/src/fmod_fft_common.hlsli
../../../../../../core_api/src/fmod_fft_noopt.cpp
../../../../../../core_api/src/fmod_fft_sse.cpp
../../../../../../core_api/src/fmod_file.cpp
../../../../../../core_api/src/fmod_file.h
../../../../../../core_api/src/fmod_file_disk.cpp
../../../../../../core_api/src/fmod_file_disk.h
../../../../../../core_api/src/fmod_file_memory.cpp
../../../../../../core_api/src/fmod_file_memory.h
../../../../../../core_api/src/fmod_file_net.cpp
../../../../../../core_api/src/fmod_file_net.h
../../../../../../core_api/src/fmod_file_null.cpp
../../../../../../core_api/src/fmod_file_null.h
../../../../../../core_api/src/fmod_file_remote.cpp
../../../../../../core_api/src/fmod_file_remote.h
../../../../../../core_api/src/fmod_file_user.cpp
../../../../../../core_api/src/fmod_file_user.h
../../../../../../core_api/src/fmod_format.cpp
../../../../../../core_api/src/fmod_format.h
../../../../../../core_api/src/fmod_freelist.h
../../../../../../core_api/src/fmod_geometry.cpp
../../../../../../core_api/src/fmod_geometry_mgr.cpp
../../../../../../core_api/src/fmod_geometry_mgr.h
../../../../../../core_api/src/fmod_geometryi.cpp
../../../../../../core_api/src/fmod_geometryi.h
../../../../../../core_api/src/fmod_globals.cpp
../../../../../../core_api/src/fmod_globals.h
../../../../../../core_api/src/fmod_gpu_compute.cpp
../../../../../../core_api/src/fmod_gpu_compute.h
../../../../../../core_api/src/fmod_ifft_0.hlsl
../../../../../../core_api/src/fmod_ifft_1.hlsl
../../../../../../core_api/src/fmod_iterator.h
../../../../../../core_api/src/fmod_linkedlist.h
../../../../../../core_api/src/fmod_listener.cpp
../../../../../../core_api/src/fmod_listener.h
../../../../../../core_api/src/fmod_localcriticalsection.h
../../../../../../core_api/src/fmod_map.h
../../../../../../core_api/src/fmod_memory.cpp
../../../../../../core_api/src/fmod_memory.h
../../../../../../core_api/src/fmod_memory_tracking.cpp
../../../../../../core_api/src/fmod_memory_tracking.h
../../../../../../core_api/src/fmod_metadata.cpp
../../../../../../core_api/src/fmod_metadata.h
../../../../../../core_api/src/fmod_mode.h
../../../../../../core_api/src/fmod_music.cpp
../../../../../../core_api/src/fmod_music.h
../../../../../../core_api/src/fmod_net.cpp
../../../../../../core_api/src/fmod_net.h
../../../../../../core_api/src/fmod_octree.cpp
../../../../../../core_api/src/fmod_octree.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.m4
../../../../../../core_api/src/fmod_os_atomic_gcc_arm64.h
../../../../../../core_api/src/fmod_os_atomic_gcc_x86.h
../../../../../../core_api/src/fmod_os_misc.h
../../../../../../core_api/src/fmod_os_net.h
../../../../../../core_api/src/fmod_os_net_posix.cpp
../../../../../../core_api/src/fmod_os_net_winsock.cpp
../../../../../../core_api/src/fmod_os_output.h
../../../../../../core_api/src/fmod_output.cpp
../../../../../../core_api/src/fmod_output.h
../../../../../../core_api/src/fmod_output_emulated.h
../../../../../../core_api/src/fmod_output_nosound.cpp
../../../../../../core_api/src/fmod_output_nosound.h
../../../../../../core_api/src/fmod_output_nosound_nrt.cpp
../../../../../../core_api/src/fmod_output_nosound_nrt.h
../../../../../../core_api/src/fmod_output_phase.h
../../../../../../core_api/src/fmod_output_phase.mm
../../../../../../core_api/src/fmod_output_software.cpp
../../../../../../core_api/src/fmod_output_software.h
../../../../../../core_api/src/fmod_output_wavwriter.cpp
../../../../../../core_api/src/fmod_output_wavwriter.h
../../../../../../core_api/src/fmod_output_wavwriter_nrt.cpp
../../../../../../core_api/src/fmod_output_wavwriter_nrt.h
../../../../../../core_api/src/fmod_output_winsonic.cpp
../../../../../../core_api/src/fmod_output_winsonic.h
../../../../../../core_api/src/fmod_output_winsonic_compat.h
../../../../../../core_api/src/fmod_outputi.h
../../../../../../core_api/src/fmod_pan.cpp
../../../../../../core_api/src/fmod_pan.h
../../../../../../core_api/src/fmod_pluginfactory.cpp
../../../../../../core_api/src/fmod_pluginfactory.h
../../../../../../core_api/src/fmod_poolallocator.h
../../../../../../core_api/src/fmod_profile.cpp
../../../../../../core_api/src/fmod_profile.h
../../../../../../core_api/src/fmod_profile_channel_pkt.h
../../../../../../core_api/src/fmod_profile_client.cpp
../../../../../../core_api/src/fmod_profile_client.h
../../../../../../core_api/src/fmod_profile_codec_pkt.h
../../../../../../core_api/src/fmod_profile_cpu_pkt.h
../../../../../../core_api/src/fmod_profile_dsp.cpp
../../../../../../core_api/src/fmod_profile_dsp.h
../../../../../../core_api/src/fmod_profile_dsp_pkt.h
../../../../../../core_api/src/fmod_profile_group_pkt.h
../../../../../../core_api/src/fmod_profile_markers.cpp
../../../../../../core_api/src/fmod_profile_markers.h
../../../../../../core_api/src/fmod_profile_pkt.h
../../../../../../core_api/src/fmod_profile_remotefile.cpp
../../../../../../core_api/src/fmod_profile_remotefile.h
../../../../../../core_api/src/fmod_profile_remotefile_pkt.h
../../../../../../core_api/src/fmod_profile_stats.cpp
../../../../../../core_api/src/fmod_profile_stats.h
../../../../../../core_api/src/fmod_profile_stats_pkt.h
../../../../../../core_api/src/fmod_random.h
../../../../../../core_api/src/fmod_reverb.cpp
../../../../../../core_api/src/fmod_reverbi.cpp
../../../../../../core_api/src/fmod_reverbi.h
../../../../../../core_api/src/fmod_rootsignature.hlsl
../../../../../../core_api/src/fmod_sample_software.cpp
../../../../../../core_api/src/fmod_sample_software.h
../../../../../../core_api/src/fmod_settings.h
../../../../../../core_api/src/fmod_shader_compat.hlsli
../../../../../../core_api/src/fmod_simd_util_sse.h
../../../../../../core_api/src/fmod_sound.cpp
../../../../../../core_api/src/fmod_sound_sample.cpp
../../../../../../core_api/src/fmod_sound_sample.h
../../../../../../core_api/src/fmod_sound_stream.cpp
../../../../../../core_api/src/fmod_sound_stream.h
../../../../../../core_api/src/fmod_soundgroup.cpp
../../../../../../core_api/src/fmod_soundgroupi.cpp
../../../../../../core_api/src/fmod_soundgroupi.h
../../../../../../core_api/src/fmod_soundi.cpp
../../../../../../core_api/src/fmod_soundi.h
../../../../../../core_api/src/fmod_speakermap.h
../../../../../../core_api/src/fmod_string.cpp
../../../../../../core_api/src/fmod_string.h
../../../../../../core_api/src/fmod_stringw.cpp
../../../../../../core_api/src/fmod_stringw.h
../../../../../../core_api/src/fmod_syncpoint.h
../../../../../../core_api/src/fmod_system.cpp
../../../../../../core_api/src/fmod_systemi.cpp
../../../../../../core_api/src/fmod_systemi.h
../../../../../../core_api/src/fmod_systemi_channel.cpp
../../../../../../core_api/src/fmod_systemi_driver.cpp
../../../../../../core_api/src/fmod_systemi_dsp.cpp
../../../../../../core_api/src/fmod_systemi_fft.cpp
../../../../../../core_api/src/fmod_systemi_sound.cpp
../../../../../../core_api/src/fmod_systemi_speaker.cpp
../../../../../../core_api/src/fmod_systemi_thread.cpp
../../../../../../core_api/src/fmod_systemi_update.cpp
../../../../../../core_api/src/fmod_thread.cpp
../../../../../../core_api/src/fmod_thread.h
../../../../../../core_api/src/fmod_threadsafe.cpp
../../../../../../core_api/src/fmod_threadsafe.h
../../../../../../core_api/src/fmod_time.cpp
../../../../../../core_api/src/fmod_time.h
../../../../../../core_api/src/fmod_types.h
../../../../../../examples/platforms/linux/src/common_platform.cpp
../../../../../../examples/platforms/linux/src/common_platform.h
../../../../../../examples/src/autotest.cpp
../../../../../../examples/src/common.cpp
../../../../../../examples/src/common.h
../../../../../../examples/src/common_dx12.cpp
../../../../../../examples/src/common_dx12.h
../../../../../../examples/src/common_dx12_ps.h
../../../../../../examples/src/common_dx12_vs.h
../../../../../../examples/src/common_font_glyphs.h
../../../../../../examples/src/common_font_texture.h
../../../../../../examples/src/common_vulkan.cpp
../../../../../../examples/src/common_vulkan.h
../../../../../../examples/src/common_vulkan_fs.h
../../../../../../examples/src/common_vulkan_vs.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/assert.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/callback.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/export.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/format.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/ordinals.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/stream_decoder.h
../../../../../../external/decoders/flac-1.2.1/include/share/alloc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitmath.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitreader.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/cpu.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/crc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/fixed.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/format.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/lpc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/md5.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/memory.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/stream_decoder.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/nasm.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitmath.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitreader.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/cpu.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/crc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/fixed.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/float.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/format.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/lpc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/md5.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/memory.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/protected/stream_decoder.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/ogg.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/os_types.h
../../../../../../external/decoders/ogg_vorbis/ogg/src/bitwise.c
../../../../../../external/decoders/ogg_vorbis/ogg/src/framing.c
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/codec.h
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/vorbisfile.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/backends.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/block.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codec_internal.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/floor1.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/highlevel.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/info.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup_data.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mapping0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/masking.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/misc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/os.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/psy.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/res0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/scales.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/sharedbook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/synthesis.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/vorbisfile.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/floor_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/psych_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/residue_44.h
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.c
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_codec.h
../../../../../../external/decoders/tremor_lowmem/tremor_codec_internal.h
../../../../../../external/decoders/tremor_lowmem/tremor_dsp.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_info.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx512.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct.h
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_misc.h
../../../../../../external/decoders/tremor_lowmem/tremor_os.h
../../../../../../external/decoders/tremor_lowmem/tremor_os_types.h
../../../../../../external/decoders/tremor_lowmem/tremor_res012.c
../../../../../../external/decoders/tremor_lowmem/tremor_window_lookup.h
../../../../../../external/misc/dlmalloc/dlmalloc.cpp
../../../../../../external/misc/dlmalloc/dlmalloc.h
../make/convolution_reverb.makefile
../convolution_reverb.cpp

View file

@ -0,0 +1,6 @@
../../../../../../examples/src
../../../../../../examples/platforms/linux/src
../../../../../src
../../../../../../external/misc
../../../../../../external/dsps
../../../../../../external/decoders

View file

@ -0,0 +1,362 @@
/*==============================================================================
Custom DSP Example
Copyright (c), Firelight Technologies Pty, Ltd 2004-2025.
This example shows how to add a user created DSP callback to process audio
data. The read callback is executed at runtime, and can be added anywhere in
the DSP network.
For information on using FMOD example code in your own programs, visit
https://www.fmod.com/legal
==============================================================================*/
#include "fmod.hpp"
#include "common.h"
typedef struct
{
float *buffer;
float volume_linear;
int length_samples;
int channels;
} mydsp_data_t;
FMOD_RESULT F_CALL myDSPCallback(FMOD_DSP_STATE *dsp_state, float *inbuffer, float *outbuffer, unsigned int length, int inchannels, int *outchannels)
{
mydsp_data_t *data = (mydsp_data_t *)dsp_state->plugindata;
/*
This loop assumes inchannels = outchannels, which it will be if the DSP is created with '0'
as the number of channels in FMOD_DSP_DESCRIPTION.
Specifying an actual channel count will mean you have to take care of any number of channels coming in,
but outputting the number of channels specified. Generally it is best to keep the channel
count at 0 for maximum compatibility.
*/
for (unsigned int samp = 0; samp < length; samp++)
{
/*
Feel free to unroll this.
*/
for (int chan = 0; chan < *outchannels; chan++)
{
/*
This DSP filter just halves the volume!
Input is modified, and sent to output.
*/
data->buffer[(samp * *outchannels) + chan] = outbuffer[(samp * inchannels) + chan] = inbuffer[(samp * inchannels) + chan] * data->volume_linear;
}
}
data->channels = inchannels;
return FMOD_OK;
}
/*
Callback called when DSP is created. This implementation creates a structure which is attached to the dsp state's 'plugindata' member.
*/
FMOD_RESULT F_CALL myDSPCreateCallback(FMOD_DSP_STATE *dsp_state)
{
unsigned int blocksize;
FMOD_RESULT result;
result = dsp_state->functions->getblocksize(dsp_state, &blocksize);
ERRCHECK(result);
mydsp_data_t *data = (mydsp_data_t *)calloc(sizeof(mydsp_data_t), 1);
if (!data)
{
return FMOD_ERR_MEMORY;
}
dsp_state->plugindata = data;
data->volume_linear = 1.0f;
data->length_samples = blocksize;
data->buffer = (float *)malloc(blocksize * 8 * sizeof(float)); // *8 = maximum size allowing room for 7.1. Could ask dsp_state->functions->getspeakermode for the right speakermode to get real speaker count.
if (!data->buffer)
{
return FMOD_ERR_MEMORY;
}
return FMOD_OK;
}
/*
Callback called when DSP is destroyed. The memory allocated in the create callback can be freed here.
*/
FMOD_RESULT F_CALL myDSPReleaseCallback(FMOD_DSP_STATE *dsp_state)
{
if (dsp_state->plugindata)
{
mydsp_data_t *data = (mydsp_data_t *)dsp_state->plugindata;
if (data->buffer)
{
free(data->buffer);
}
free(data);
}
return FMOD_OK;
}
/*
Callback called when DSP::getParameterData is called. This returns a pointer to the raw floating point PCM data.
We have set up 'parameter 0' to be the data parameter, so it checks to make sure the passed in index is 0, and nothing else.
*/
FMOD_RESULT F_CALL myDSPGetParameterDataCallback(FMOD_DSP_STATE *dsp_state, int index, void **data, unsigned int *length, char *)
{
if (index == 0)
{
unsigned int blocksize;
FMOD_RESULT result;
mydsp_data_t *mydata = (mydsp_data_t *)dsp_state->plugindata;
result = dsp_state->functions->getblocksize(dsp_state, &blocksize);
ERRCHECK(result);
*data = (void *)mydata;
*length = blocksize * 2 * sizeof(float);
return FMOD_OK;
}
return FMOD_ERR_INVALID_PARAM;
}
/*
Callback called when DSP::setParameterFloat is called. This accepts a floating point 0 to 1 volume value, and stores it.
We have set up 'parameter 1' to be the volume parameter, so it checks to make sure the passed in index is 1, and nothing else.
*/
FMOD_RESULT F_CALL myDSPSetParameterFloatCallback(FMOD_DSP_STATE *dsp_state, int index, float value)
{
if (index == 1)
{
mydsp_data_t *mydata = (mydsp_data_t *)dsp_state->plugindata;
mydata->volume_linear = value;
return FMOD_OK;
}
return FMOD_ERR_INVALID_PARAM;
}
/*
Callback called when DSP::getParameterFloat is called. This returns a floating point 0 to 1 volume value.
We have set up 'parameter 1' to be the volume parameter, so it checks to make sure the passed in index is 1, and nothing else.
An alternate way of displaying the data is provided, as a string, so the main app can use it.
*/
FMOD_RESULT F_CALL myDSPGetParameterFloatCallback(FMOD_DSP_STATE *dsp_state, int index, float *value, char *valstr)
{
if (index == 1)
{
mydsp_data_t *mydata = (mydsp_data_t *)dsp_state->plugindata;
*value = mydata->volume_linear;
if (valstr)
{
snprintf(valstr, FMOD_DSP_GETPARAM_VALUESTR_LENGTH, "%d", (int)((*value * 100.0f)+0.5f));
}
return FMOD_OK;
}
return FMOD_ERR_INVALID_PARAM;
}
int FMOD_Main()
{
FMOD::System *system;
FMOD::Sound *sound;
FMOD::Channel *channel;
FMOD::DSP *mydsp;
FMOD::ChannelGroup *mastergroup;
FMOD_RESULT result;
void *extradriverdata = 0;
Common_Init(&extradriverdata);
/*
Create a System object and initialize.
*/
result = FMOD::System_Create(&system);
ERRCHECK(result);
result = system->init(32, FMOD_INIT_NORMAL, extradriverdata);
ERRCHECK(result);
result = system->createSound(Common_MediaPath("stereo.ogg"), FMOD_LOOP_NORMAL, 0, &sound);
ERRCHECK(result);
result = system->playSound(sound, 0, false, &channel);
ERRCHECK(result);
/*
Create the DSP effect.
*/
{
FMOD_DSP_DESCRIPTION dspdesc;
memset(&dspdesc, 0, sizeof(dspdesc));
FMOD_DSP_PARAMETER_DESC wavedata_desc;
FMOD_DSP_PARAMETER_DESC volume_desc;
FMOD_DSP_PARAMETER_DESC *paramdesc[2] =
{
&wavedata_desc,
&volume_desc
};
FMOD_DSP_INIT_PARAMDESC_DATA(wavedata_desc, "wave data", "", "wave data", FMOD_DSP_PARAMETER_DATA_TYPE_USER);
FMOD_DSP_INIT_PARAMDESC_FLOAT(volume_desc, "volume", "%", "linear volume in percent", 0, 1, 1);
strncpy(dspdesc.name, "My first DSP unit", sizeof(dspdesc.name));
dspdesc.version = 0x00010000;
dspdesc.numinputbuffers = 1;
dspdesc.numoutputbuffers = 1;
dspdesc.read = myDSPCallback;
dspdesc.create = myDSPCreateCallback;
dspdesc.release = myDSPReleaseCallback;
dspdesc.getparameterdata = myDSPGetParameterDataCallback;
dspdesc.setparameterfloat = myDSPSetParameterFloatCallback;
dspdesc.getparameterfloat = myDSPGetParameterFloatCallback;
dspdesc.numparameters = 2;
dspdesc.paramdesc = paramdesc;
result = system->createDSP(&dspdesc, &mydsp);
ERRCHECK(result);
}
result = system->getMasterChannelGroup(&mastergroup);
ERRCHECK(result);
result = mastergroup->addDSP(0, mydsp);
ERRCHECK(result);
/*
Main loop.
*/
do
{
bool bypass;
Common_Update();
result = mydsp->getBypass(&bypass);
ERRCHECK(result);
if (Common_BtnPress(BTN_ACTION1))
{
bypass = !bypass;
result = mydsp->setBypass(bypass);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_ACTION2))
{
float vol;
result = mydsp->getParameterFloat(1, &vol, 0, 0);
ERRCHECK(result);
if (vol > 0.0f)
{
vol -= 0.1f;
}
result = mydsp->setParameterFloat(1, vol);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_ACTION3))
{
float vol;
result = mydsp->getParameterFloat(1, &vol, 0, 0);
ERRCHECK(result);
if (vol < 1.0f)
{
vol += 0.1f;
}
result = mydsp->setParameterFloat(1, vol);
ERRCHECK(result);
}
result = system->update();
ERRCHECK(result);
{
char volstr[32] = { 0 };
FMOD_DSP_PARAMETER_DESC *desc;
mydsp_data_t *data;
result = mydsp->getParameterInfo(1, &desc);
ERRCHECK(result);
result = mydsp->getParameterFloat(1, 0, volstr, 32);
ERRCHECK(result);
result = mydsp->getParameterData(0, (void **)&data, 0, 0, 0);
ERRCHECK(result);
Common_Draw("==================================================");
Common_Draw("Custom DSP Example.");
Common_Draw("Copyright (c) Firelight Technologies 2004-2025.");
Common_Draw("==================================================");
Common_Draw("");
Common_Draw("Press %s to toggle filter bypass", Common_BtnStr(BTN_ACTION1));
Common_Draw("Press %s to decrease volume 10%%", Common_BtnStr(BTN_ACTION2));
Common_Draw("Press %s to increase volume 10%%", Common_BtnStr(BTN_ACTION3));
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
Common_Draw("");
Common_Draw("Filter is %s", bypass ? "inactive" : "active");
Common_Draw("Volume is %s%s", volstr, desc->label);
if (data->channels)
{
char display[80] = { 0 };
int channel;
for (channel = 0; channel < data->channels; channel++)
{
int count,level;
float max = 0;
for (count = 0; count < data->length_samples; count++)
{
if (fabsf(data->buffer[(count * data->channels) + channel]) > max)
{
max = fabsf(data->buffer[(count * data->channels) + channel]);
}
}
level = (int)(max * 40.0f);
snprintf(display, sizeof(display), "%2d ", channel);
for (count = 0; count < level; count++) display[count + 3] = '=';
Common_Draw(display);
}
}
}
Common_Sleep(50);
} while (!Common_BtnPress(BTN_QUIT));
/*
Shut down
*/
result = sound->release();
ERRCHECK(result);
result = mastergroup->removeDSP(mydsp);
ERRCHECK(result);
result = mydsp->release();
ERRCHECK(result);
result = system->close();
ERRCHECK(result);
result = system->release();
ERRCHECK(result);
Common_Close();
return 0;
}

View file

@ -0,0 +1 @@
-std=c17 -fPIC -fno-trapping-math

View file

@ -0,0 +1 @@
#define FMOD_USE_PLATFORM_HEADERS

View file

@ -0,0 +1,442 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{71064a00-ba92-4c03-affd-e7f374fa3265}</value>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{22e4ca2b-856c-4a9e-96b1-3ef2b55f3da9}</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.4">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=address</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Address Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.5">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=memory</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Memory Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.6">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=thread</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Thread Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.7">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_custom.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=undefined</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Undefined Behaviour Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">8</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">%{buildDir}/dsp_custom</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseTerminal">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory">%{buildDir}/../../../../../examples/media</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View file

@ -0,0 +1 @@
-std=c++17 -fPIC -fno-trapping-math

View file

@ -0,0 +1,514 @@
../../../../../../core_api/src/fmod.cpp
../../../../../../core_api/src/fmod.cs
../../../../../../core_api/src/fmod.h
../../../../../../core_api/src/fmod.hpp
../../../../../../core_api/src/fmod5.cpp
../../../../../../core_api/src/fmod_3d.h
../../../../../../core_api/src/fmod_array.h
../../../../../../core_api/src/fmod_asm_macros.m4
../../../../../../core_api/src/fmod_async.cpp
../../../../../../core_api/src/fmod_async.h
../../../../../../core_api/src/fmod_atomic.h
../../../../../../core_api/src/fmod_atomic_c11.h
../../../../../../core_api/src/fmod_atomic_clang.h
../../../../../../core_api/src/fmod_atomic_cpp11.h
../../../../../../core_api/src/fmod_atomic_gcc.h
../../../../../../core_api/src/fmod_atomic_legacy.h
../../../../../../core_api/src/fmod_autocleanup.h
../../../../../../core_api/src/fmod_channel.cpp
../../../../../../core_api/src/fmod_channel_emulated.h
../../../../../../core_api/src/fmod_channel_real.cpp
../../../../../../core_api/src/fmod_channel_real.h
../../../../../../core_api/src/fmod_channel_software.cpp
../../../../../../core_api/src/fmod_channel_software.h
../../../../../../core_api/src/fmod_channel_stream.cpp
../../../../../../core_api/src/fmod_channel_stream.h
../../../../../../core_api/src/fmod_channelcontrol.cpp
../../../../../../core_api/src/fmod_channelcontroli.cpp
../../../../../../core_api/src/fmod_channelcontroli.h
../../../../../../core_api/src/fmod_channelgroup.cpp
../../../../../../core_api/src/fmod_channelgroupi.cpp
../../../../../../core_api/src/fmod_channelgroupi.h
../../../../../../core_api/src/fmod_channeli.cpp
../../../../../../core_api/src/fmod_channeli.h
../../../../../../core_api/src/fmod_channelpool.h
../../../../../../core_api/src/fmod_codec.cpp
../../../../../../core_api/src/fmod_codec.h
../../../../../../core_api/src/fmod_codec_aiff.cpp
../../../../../../core_api/src/fmod_codec_aiff.h
../../../../../../core_api/src/fmod_codec_dls.cpp
../../../../../../core_api/src/fmod_codec_dls.h
../../../../../../core_api/src/fmod_codec_fadpcm.cpp
../../../../../../core_api/src/fmod_codec_fadpcm.h
../../../../../../core_api/src/fmod_codec_fadpcm_arm.m4
../../../../../../core_api/src/fmod_codec_flac.cpp
../../../../../../core_api/src/fmod_codec_flac.h
../../../../../../core_api/src/fmod_codec_fsb5.cpp
../../../../../../core_api/src/fmod_codec_fsb5.h
../../../../../../core_api/src/fmod_codec_fsbvorbis.cpp
../../../../../../core_api/src/fmod_codec_fsbvorbis.h
../../../../../../core_api/src/fmod_codec_fsbvorbis_books.cpp
../../../../../../core_api/src/fmod_codec_it.cpp
../../../../../../core_api/src/fmod_codec_it.h
../../../../../../core_api/src/fmod_codec_midi.cpp
../../../../../../core_api/src/fmod_codec_midi.h
../../../../../../core_api/src/fmod_codec_mod.cpp
../../../../../../core_api/src/fmod_codec_mod.h
../../../../../../core_api/src/fmod_codec_mpeg.cpp
../../../../../../core_api/src/fmod_codec_mpeg.h
../../../../../../core_api/src/fmod_codec_mpeg_decode.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer2.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer3.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.h
../../../../../../core_api/src/fmod_codec_playlist.cpp
../../../../../../core_api/src/fmod_codec_playlist.h
../../../../../../core_api/src/fmod_codec_raw.cpp
../../../../../../core_api/src/fmod_codec_raw.h
../../../../../../core_api/src/fmod_codec_s3m.cpp
../../../../../../core_api/src/fmod_codec_s3m.h
../../../../../../core_api/src/fmod_codec_tag.cpp
../../../../../../core_api/src/fmod_codec_tag.h
../../../../../../core_api/src/fmod_codec_user.cpp
../../../../../../core_api/src/fmod_codec_user.h
../../../../../../core_api/src/fmod_codec_wav.cpp
../../../../../../core_api/src/fmod_codec_wav.h
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.cpp
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.h
../../../../../../core_api/src/fmod_codec_wav_riff.cpp
../../../../../../core_api/src/fmod_codec_xm.cpp
../../../../../../core_api/src/fmod_codec_xm.h
../../../../../../core_api/src/fmod_codeci.h
../../../../../../core_api/src/fmod_common.h
../../../../../../core_api/src/fmod_complex.hlsli
../../../../../../core_api/src/fmod_convolution.hlsl
../../../../../../core_api/src/fmod_debug.cpp
../../../../../../core_api/src/fmod_debug.h
../../../../../../core_api/src/fmod_downmix.cpp
../../../../../../core_api/src/fmod_downmix.h
../../../../../../core_api/src/fmod_downmix_dolby_pl2.cpp
../../../../../../core_api/src/fmod_downmix_dolby_pl2.h
../../../../../../core_api/src/fmod_dsp.cpp
../../../../../../core_api/src/fmod_dsp.cs
../../../../../../core_api/src/fmod_dsp.h
../../../../../../core_api/src/fmod_dsp_biquad.cpp
../../../../../../core_api/src/fmod_dsp_biquad.h
../../../../../../core_api/src/fmod_dsp_channelmix.cpp
../../../../../../core_api/src/fmod_dsp_channelmix.h
../../../../../../core_api/src/fmod_dsp_chorus.cpp
../../../../../../core_api/src/fmod_dsp_chorus.h
../../../../../../core_api/src/fmod_dsp_codec.cpp
../../../../../../core_api/src/fmod_dsp_codec.h
../../../../../../core_api/src/fmod_dsp_codecpool.cpp
../../../../../../core_api/src/fmod_dsp_codecpool.h
../../../../../../core_api/src/fmod_dsp_compressor.cpp
../../../../../../core_api/src/fmod_dsp_compressor.h
../../../../../../core_api/src/fmod_dsp_compressor_noopt.cpp
../../../../../../core_api/src/fmod_dsp_compressor_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection.cpp
../../../../../../core_api/src/fmod_dsp_connection_arm.cpp
../../../../../../core_api/src/fmod_dsp_connection_avx.cpp
../../../../../../core_api/src/fmod_dsp_connection_neon.cpp
../../../../../../core_api/src/fmod_dsp_connection_noopt.cpp
../../../../../../core_api/src/fmod_dsp_connection_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection_vfp.m4
../../../../../../core_api/src/fmod_dsp_connectioni.cpp
../../../../../../core_api/src/fmod_dsp_connectioni.h
../../../../../../core_api/src/fmod_dsp_convert.cpp
../../../../../../core_api/src/fmod_dsp_convert.h
../../../../../../core_api/src/fmod_dsp_convert_avx.cpp
../../../../../../core_api/src/fmod_dsp_convert_noopt.cpp
../../../../../../core_api/src/fmod_dsp_convert_sse.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.h
../../../../../../core_api/src/fmod_dsp_convolutionreverb_async.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_avx.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_cpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_gpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_neon.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_sse.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.h
../../../../../../core_api/src/fmod_dsp_delay.cpp
../../../../../../core_api/src/fmod_dsp_delay.h
../../../../../../core_api/src/fmod_dsp_distortion.cpp
../../../../../../core_api/src/fmod_dsp_distortion.h
../../../../../../core_api/src/fmod_dsp_echo.cpp
../../../../../../core_api/src/fmod_dsp_echo.h
../../../../../../core_api/src/fmod_dsp_echo_noopt.cpp
../../../../../../core_api/src/fmod_dsp_echo_sse.cpp
../../../../../../core_api/src/fmod_dsp_effects.h
../../../../../../core_api/src/fmod_dsp_emulated.cpp
../../../../../../core_api/src/fmod_dsp_emulated.h
../../../../../../core_api/src/fmod_dsp_fader.cpp
../../../../../../core_api/src/fmod_dsp_fader.h
../../../../../../core_api/src/fmod_dsp_fft.cpp
../../../../../../core_api/src/fmod_dsp_fft.h
../../../../../../core_api/src/fmod_dsp_flange.cpp
../../../../../../core_api/src/fmod_dsp_flange.h
../../../../../../core_api/src/fmod_dsp_highpass.cpp
../../../../../../core_api/src/fmod_dsp_highpass.h
../../../../../../core_api/src/fmod_dsp_highpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_highpass_simple.h
../../../../../../core_api/src/fmod_dsp_interleave_noopt.cpp
../../../../../../core_api/src/fmod_dsp_interleave_sse.cpp
../../../../../../core_api/src/fmod_dsp_itecho.cpp
../../../../../../core_api/src/fmod_dsp_itecho.h
../../../../../../core_api/src/fmod_dsp_limiter.cpp
../../../../../../core_api/src/fmod_dsp_limiter.h
../../../../../../core_api/src/fmod_dsp_loudness_meter.cpp
../../../../../../core_api/src/fmod_dsp_loudness_meter.h
../../../../../../core_api/src/fmod_dsp_lowpass.cpp
../../../../../../core_api/src/fmod_dsp_lowpass.h
../../../../../../core_api/src/fmod_dsp_lowpass2.cpp
../../../../../../core_api/src/fmod_dsp_lowpass2.h
../../../../../../core_api/src/fmod_dsp_lowpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_lowpass_simple.h
../../../../../../core_api/src/fmod_dsp_matrix.cpp
../../../../../../core_api/src/fmod_dsp_matrix.h
../../../../../../core_api/src/fmod_dsp_metering_noopt.cpp
../../../../../../core_api/src/fmod_dsp_metering_sse.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.h
../../../../../../core_api/src/fmod_dsp_multiband_eq.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq.h
../../../../../../core_api/src/fmod_dsp_multiband_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_normalize.cpp
../../../../../../core_api/src/fmod_dsp_normalize.h
../../../../../../core_api/src/fmod_dsp_objectpan.cpp
../../../../../../core_api/src/fmod_dsp_objectpan.h
../../../../../../core_api/src/fmod_dsp_oscillator.cpp
../../../../../../core_api/src/fmod_dsp_oscillator.h
../../../../../../core_api/src/fmod_dsp_pan.cpp
../../../../../../core_api/src/fmod_dsp_pan.h
../../../../../../core_api/src/fmod_dsp_parameq.cpp
../../../../../../core_api/src/fmod_dsp_parameq.h
../../../../../../core_api/src/fmod_dsp_pitchshift.cpp
../../../../../../core_api/src/fmod_dsp_pitchshift.h
../../../../../../core_api/src/fmod_dsp_porthead.cpp
../../../../../../core_api/src/fmod_dsp_porthead.h
../../../../../../core_api/src/fmod_dsp_resampler.cpp
../../../../../../core_api/src/fmod_dsp_resampler.h
../../../../../../core_api/src/fmod_dsp_resampler_cubic.cpp
../../../../../../core_api/src/fmod_dsp_resampler_cubic.h
../../../../../../core_api/src/fmod_dsp_resampler_linear.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear.h
../../../../../../core_api/src/fmod_dsp_resampler_linear_arm.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx2.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx512.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_neon.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_vfp.m4
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.h
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.h
../../../../../../core_api/src/fmod_dsp_return.cpp
../../../../../../core_api/src/fmod_dsp_return.h
../../../../../../core_api/src/fmod_dsp_send.cpp
../../../../../../core_api/src/fmod_dsp_send.h
../../../../../../core_api/src/fmod_dsp_sfxreverb.cpp
../../../../../../core_api/src/fmod_dsp_sfxreverb.h
../../../../../../core_api/src/fmod_dsp_source.cpp
../../../../../../core_api/src/fmod_dsp_source.h
../../../../../../core_api/src/fmod_dsp_three_eq.cpp
../../../../../../core_api/src/fmod_dsp_three_eq.h
../../../../../../core_api/src/fmod_dsp_three_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_noopt.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.h
../../../../../../core_api/src/fmod_dsp_tremolo.cpp
../../../../../../core_api/src/fmod_dsp_tremolo.h
../../../../../../core_api/src/fmod_dsp_wavetable.cpp
../../../../../../core_api/src/fmod_dsp_wavetable.h
../../../../../../core_api/src/fmod_dspi.cpp
../../../../../../core_api/src/fmod_dspi.h
../../../../../../core_api/src/fmod_endian.h
../../../../../../core_api/src/fmod_errors.cs
../../../../../../core_api/src/fmod_errors.h
../../../../../../core_api/src/fmod_expandingpool.cpp
../../../../../../core_api/src/fmod_expandingpool.h
../../../../../../core_api/src/fmod_fft.cpp
../../../../../../core_api/src/fmod_fft.h
../../../../../../core_api/src/fmod_fft_0.hlsl
../../../../../../core_api/src/fmod_fft_1.hlsl
../../../../../../core_api/src/fmod_fft_common.hlsli
../../../../../../core_api/src/fmod_fft_noopt.cpp
../../../../../../core_api/src/fmod_fft_sse.cpp
../../../../../../core_api/src/fmod_file.cpp
../../../../../../core_api/src/fmod_file.h
../../../../../../core_api/src/fmod_file_disk.cpp
../../../../../../core_api/src/fmod_file_disk.h
../../../../../../core_api/src/fmod_file_memory.cpp
../../../../../../core_api/src/fmod_file_memory.h
../../../../../../core_api/src/fmod_file_net.cpp
../../../../../../core_api/src/fmod_file_net.h
../../../../../../core_api/src/fmod_file_null.cpp
../../../../../../core_api/src/fmod_file_null.h
../../../../../../core_api/src/fmod_file_remote.cpp
../../../../../../core_api/src/fmod_file_remote.h
../../../../../../core_api/src/fmod_file_user.cpp
../../../../../../core_api/src/fmod_file_user.h
../../../../../../core_api/src/fmod_format.cpp
../../../../../../core_api/src/fmod_format.h
../../../../../../core_api/src/fmod_freelist.h
../../../../../../core_api/src/fmod_geometry.cpp
../../../../../../core_api/src/fmod_geometry_mgr.cpp
../../../../../../core_api/src/fmod_geometry_mgr.h
../../../../../../core_api/src/fmod_geometryi.cpp
../../../../../../core_api/src/fmod_geometryi.h
../../../../../../core_api/src/fmod_globals.cpp
../../../../../../core_api/src/fmod_globals.h
../../../../../../core_api/src/fmod_gpu_compute.cpp
../../../../../../core_api/src/fmod_gpu_compute.h
../../../../../../core_api/src/fmod_ifft_0.hlsl
../../../../../../core_api/src/fmod_ifft_1.hlsl
../../../../../../core_api/src/fmod_iterator.h
../../../../../../core_api/src/fmod_linkedlist.h
../../../../../../core_api/src/fmod_listener.cpp
../../../../../../core_api/src/fmod_listener.h
../../../../../../core_api/src/fmod_localcriticalsection.h
../../../../../../core_api/src/fmod_map.h
../../../../../../core_api/src/fmod_memory.cpp
../../../../../../core_api/src/fmod_memory.h
../../../../../../core_api/src/fmod_memory_tracking.cpp
../../../../../../core_api/src/fmod_memory_tracking.h
../../../../../../core_api/src/fmod_metadata.cpp
../../../../../../core_api/src/fmod_metadata.h
../../../../../../core_api/src/fmod_mode.h
../../../../../../core_api/src/fmod_music.cpp
../../../../../../core_api/src/fmod_music.h
../../../../../../core_api/src/fmod_net.cpp
../../../../../../core_api/src/fmod_net.h
../../../../../../core_api/src/fmod_octree.cpp
../../../../../../core_api/src/fmod_octree.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.m4
../../../../../../core_api/src/fmod_os_atomic_gcc_arm64.h
../../../../../../core_api/src/fmod_os_atomic_gcc_x86.h
../../../../../../core_api/src/fmod_os_misc.h
../../../../../../core_api/src/fmod_os_net.h
../../../../../../core_api/src/fmod_os_net_posix.cpp
../../../../../../core_api/src/fmod_os_net_winsock.cpp
../../../../../../core_api/src/fmod_os_output.h
../../../../../../core_api/src/fmod_output.cpp
../../../../../../core_api/src/fmod_output.h
../../../../../../core_api/src/fmod_output_emulated.h
../../../../../../core_api/src/fmod_output_nosound.cpp
../../../../../../core_api/src/fmod_output_nosound.h
../../../../../../core_api/src/fmod_output_nosound_nrt.cpp
../../../../../../core_api/src/fmod_output_nosound_nrt.h
../../../../../../core_api/src/fmod_output_phase.h
../../../../../../core_api/src/fmod_output_phase.mm
../../../../../../core_api/src/fmod_output_software.cpp
../../../../../../core_api/src/fmod_output_software.h
../../../../../../core_api/src/fmod_output_wavwriter.cpp
../../../../../../core_api/src/fmod_output_wavwriter.h
../../../../../../core_api/src/fmod_output_wavwriter_nrt.cpp
../../../../../../core_api/src/fmod_output_wavwriter_nrt.h
../../../../../../core_api/src/fmod_output_winsonic.cpp
../../../../../../core_api/src/fmod_output_winsonic.h
../../../../../../core_api/src/fmod_output_winsonic_compat.h
../../../../../../core_api/src/fmod_outputi.h
../../../../../../core_api/src/fmod_pan.cpp
../../../../../../core_api/src/fmod_pan.h
../../../../../../core_api/src/fmod_pluginfactory.cpp
../../../../../../core_api/src/fmod_pluginfactory.h
../../../../../../core_api/src/fmod_poolallocator.h
../../../../../../core_api/src/fmod_profile.cpp
../../../../../../core_api/src/fmod_profile.h
../../../../../../core_api/src/fmod_profile_channel_pkt.h
../../../../../../core_api/src/fmod_profile_client.cpp
../../../../../../core_api/src/fmod_profile_client.h
../../../../../../core_api/src/fmod_profile_codec_pkt.h
../../../../../../core_api/src/fmod_profile_cpu_pkt.h
../../../../../../core_api/src/fmod_profile_dsp.cpp
../../../../../../core_api/src/fmod_profile_dsp.h
../../../../../../core_api/src/fmod_profile_dsp_pkt.h
../../../../../../core_api/src/fmod_profile_group_pkt.h
../../../../../../core_api/src/fmod_profile_markers.cpp
../../../../../../core_api/src/fmod_profile_markers.h
../../../../../../core_api/src/fmod_profile_pkt.h
../../../../../../core_api/src/fmod_profile_remotefile.cpp
../../../../../../core_api/src/fmod_profile_remotefile.h
../../../../../../core_api/src/fmod_profile_remotefile_pkt.h
../../../../../../core_api/src/fmod_profile_stats.cpp
../../../../../../core_api/src/fmod_profile_stats.h
../../../../../../core_api/src/fmod_profile_stats_pkt.h
../../../../../../core_api/src/fmod_random.h
../../../../../../core_api/src/fmod_reverb.cpp
../../../../../../core_api/src/fmod_reverbi.cpp
../../../../../../core_api/src/fmod_reverbi.h
../../../../../../core_api/src/fmod_rootsignature.hlsl
../../../../../../core_api/src/fmod_sample_software.cpp
../../../../../../core_api/src/fmod_sample_software.h
../../../../../../core_api/src/fmod_settings.h
../../../../../../core_api/src/fmod_shader_compat.hlsli
../../../../../../core_api/src/fmod_simd_util_sse.h
../../../../../../core_api/src/fmod_sound.cpp
../../../../../../core_api/src/fmod_sound_sample.cpp
../../../../../../core_api/src/fmod_sound_sample.h
../../../../../../core_api/src/fmod_sound_stream.cpp
../../../../../../core_api/src/fmod_sound_stream.h
../../../../../../core_api/src/fmod_soundgroup.cpp
../../../../../../core_api/src/fmod_soundgroupi.cpp
../../../../../../core_api/src/fmod_soundgroupi.h
../../../../../../core_api/src/fmod_soundi.cpp
../../../../../../core_api/src/fmod_soundi.h
../../../../../../core_api/src/fmod_speakermap.h
../../../../../../core_api/src/fmod_string.cpp
../../../../../../core_api/src/fmod_string.h
../../../../../../core_api/src/fmod_stringw.cpp
../../../../../../core_api/src/fmod_stringw.h
../../../../../../core_api/src/fmod_syncpoint.h
../../../../../../core_api/src/fmod_system.cpp
../../../../../../core_api/src/fmod_systemi.cpp
../../../../../../core_api/src/fmod_systemi.h
../../../../../../core_api/src/fmod_systemi_channel.cpp
../../../../../../core_api/src/fmod_systemi_driver.cpp
../../../../../../core_api/src/fmod_systemi_dsp.cpp
../../../../../../core_api/src/fmod_systemi_fft.cpp
../../../../../../core_api/src/fmod_systemi_sound.cpp
../../../../../../core_api/src/fmod_systemi_speaker.cpp
../../../../../../core_api/src/fmod_systemi_thread.cpp
../../../../../../core_api/src/fmod_systemi_update.cpp
../../../../../../core_api/src/fmod_thread.cpp
../../../../../../core_api/src/fmod_thread.h
../../../../../../core_api/src/fmod_threadsafe.cpp
../../../../../../core_api/src/fmod_threadsafe.h
../../../../../../core_api/src/fmod_time.cpp
../../../../../../core_api/src/fmod_time.h
../../../../../../core_api/src/fmod_types.h
../../../../../../examples/platforms/linux/src/common_platform.cpp
../../../../../../examples/platforms/linux/src/common_platform.h
../../../../../../examples/src/autotest.cpp
../../../../../../examples/src/common.cpp
../../../../../../examples/src/common.h
../../../../../../examples/src/common_dx12.cpp
../../../../../../examples/src/common_dx12.h
../../../../../../examples/src/common_dx12_ps.h
../../../../../../examples/src/common_dx12_vs.h
../../../../../../examples/src/common_font_glyphs.h
../../../../../../examples/src/common_font_texture.h
../../../../../../examples/src/common_vulkan.cpp
../../../../../../examples/src/common_vulkan.h
../../../../../../examples/src/common_vulkan_fs.h
../../../../../../examples/src/common_vulkan_vs.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/assert.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/callback.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/export.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/format.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/ordinals.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/stream_decoder.h
../../../../../../external/decoders/flac-1.2.1/include/share/alloc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitmath.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitreader.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/cpu.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/crc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/fixed.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/format.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/lpc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/md5.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/memory.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/stream_decoder.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/nasm.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitmath.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitreader.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/cpu.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/crc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/fixed.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/float.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/format.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/lpc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/md5.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/memory.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/protected/stream_decoder.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/ogg.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/os_types.h
../../../../../../external/decoders/ogg_vorbis/ogg/src/bitwise.c
../../../../../../external/decoders/ogg_vorbis/ogg/src/framing.c
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/codec.h
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/vorbisfile.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/backends.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/block.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codec_internal.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/floor1.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/highlevel.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/info.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup_data.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mapping0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/masking.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/misc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/os.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/psy.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/res0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/scales.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/sharedbook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/synthesis.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/vorbisfile.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/floor_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/psych_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/residue_44.h
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.c
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_codec.h
../../../../../../external/decoders/tremor_lowmem/tremor_codec_internal.h
../../../../../../external/decoders/tremor_lowmem/tremor_dsp.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_info.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx512.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct.h
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_misc.h
../../../../../../external/decoders/tremor_lowmem/tremor_os.h
../../../../../../external/decoders/tremor_lowmem/tremor_os_types.h
../../../../../../external/decoders/tremor_lowmem/tremor_res012.c
../../../../../../external/decoders/tremor_lowmem/tremor_window_lookup.h
../../../../../../external/misc/dlmalloc/dlmalloc.cpp
../../../../../../external/misc/dlmalloc/dlmalloc.h
../make/dsp_custom.makefile
../dsp_custom.cpp

View file

@ -0,0 +1,6 @@
../../../../../../examples/src
../../../../../../examples/platforms/linux/src
../../../../../src
../../../../../../external/misc
../../../../../../external/dsps
../../../../../../external/decoders

View file

@ -0,0 +1,276 @@
/*==============================================================================
DSP Effect Per Speaker Example
Copyright (c), Firelight Technologies Pty, Ltd 2004-2025.
This example shows how to manipulate a DSP network and as an example, creates 2
DSP effects, splitting a single sound into 2 audio paths, which it then filters
seperately.
To only have each audio path come out of one speaker each,
DSPConnection::setMixMatrix is used just before the 2 branches merge back together
again.
For more speakers:
* Use System::setSoftwareFormat
* Create more effects, currently 2 for stereo (lowpass and highpass), create one
per speaker.
* Under the 'Now connect the 2 effects to channeldsp head.' section, connect
the extra effects by duplicating the code more times.
* Filter each effect to each speaker by calling DSPConnection::setMixMatrix.
Expand the existing code by extending the matrices from 2 in and 2 out, to the
number of speakers you require.
For information on using FMOD example code in your own programs, visit
https://www.fmod.com/legal
==============================================================================*/
#include "fmod.hpp"
#include "common.h"
int FMOD_Main()
{
FMOD::System *system;
FMOD::Sound *sound;
FMOD::Channel *channel;
FMOD::ChannelGroup *mastergroup;
FMOD::DSP *dsplowpass, *dsphighpass, *dsphead, *dspchannelmixer;
FMOD::DSPConnection *dsplowpassconnection, *dsphighpassconnection;
FMOD_RESULT result;
float pan = 0.0f;
void *extradriverdata = 0;
Common_Init(&extradriverdata);
/*
Create a System object and initialize.
*/
result = FMOD::System_Create(&system);
ERRCHECK(result);
/*
In this special case we want to use stereo output and not worry about varying matrix sizes depending on user speaker mode.
*/
system->setSoftwareFormat(48000, FMOD_SPEAKERMODE_STEREO, 0);
ERRCHECK(result);
/*
Initialize FMOD
*/
result = system->init(32, FMOD_INIT_NORMAL, extradriverdata);
ERRCHECK(result);
result = system->createSound(Common_MediaPath("drumloop.wav"), FMOD_LOOP_NORMAL, 0, &sound);
ERRCHECK(result);
result = system->playSound(sound, 0, false, &channel);
ERRCHECK(result);
/*
Create the DSP effects.
*/
result = system->createDSPByType(FMOD_DSP_TYPE_LOWPASS, &dsplowpass);
ERRCHECK(result);
result = dsplowpass->setParameterFloat(FMOD_DSP_LOWPASS_CUTOFF, 1000.0f);
ERRCHECK(result);
result = dsplowpass->setParameterFloat(FMOD_DSP_LOWPASS_RESONANCE, 4.0f);
ERRCHECK(result);
result = system->createDSPByType(FMOD_DSP_TYPE_HIGHPASS, &dsphighpass);
ERRCHECK(result);
result = dsphighpass->setParameterFloat(FMOD_DSP_HIGHPASS_CUTOFF, 4000.0f);
ERRCHECK(result);
result = dsphighpass->setParameterFloat(FMOD_DSP_HIGHPASS_RESONANCE, 4.0f);
ERRCHECK(result);
/*
Connect up the DSP network
*/
/*
When a sound is played, a subnetwork is set up in the DSP network which looks like this.
Wavetable is the drumloop sound, and it feeds its data from right to left.
[DSPHEAD]<------------[DSPCHANNELMIXER]<------------[CHANNEL HEAD]<------------[WAVETABLE - DRUMLOOP.WAV]
*/
result = system->getMasterChannelGroup(&mastergroup);
ERRCHECK(result);
result = mastergroup->getDSP(FMOD_CHANNELCONTROL_DSP_HEAD, &dsphead);
ERRCHECK(result);
result = dsphead->getInput(0, &dspchannelmixer, 0);
ERRCHECK(result);
/*
Now disconnect channeldsp head from wavetable to look like this.
[DSPHEAD] [DSPCHANNELMIXER]<------------[CHANNEL HEAD]<------------[WAVETABLE - DRUMLOOP.WAV]
*/
result = dsphead->disconnectFrom(dspchannelmixer);
ERRCHECK(result);
/*
Now connect the 2 effects to channeldsp head.
Store the 2 connections this makes so we can set their matrix later.
[DSPLOWPASS]
/x
[DSPHEAD] [DSPCHANNELMIXER]<------------[CHANNEL HEAD]<------------[WAVETABLE - DRUMLOOP.WAV]
\y
[DSPHIGHPASS]
*/
result = dsphead->addInput(dsplowpass, &dsplowpassconnection); /* x = dsplowpassconnection */
ERRCHECK(result);
result = dsphead->addInput(dsphighpass, &dsphighpassconnection); /* y = dsphighpassconnection */
ERRCHECK(result);
/*
Now connect the channelmixer to the 2 effects
[DSPLOWPASS]
/x \
[DSPHEAD] [DSPCHANNELMIXER]<------------[CHANNEL HEAD]<------------[WAVETABLE - DRUMLOOP.WAV]
\y /
[DSPHIGHPASS]
*/
result = dsplowpass->addInput(dspchannelmixer); /* Ignore connection - we dont care about it. */
ERRCHECK(result);
result = dsphighpass->addInput(dspchannelmixer); /* Ignore connection - we dont care about it. */
ERRCHECK(result);
/*
Now the drumloop will be twice as loud, because it is being split into 2, then recombined at the end.
What we really want is to only feed the dsphead<-dsplowpass through the left speaker for that effect, and
dsphead<-dsphighpass to the right speaker for that effect.
We can do that simply by setting the pan, or speaker matrix of the connections.
[DSPLOWPASS]
/x=1,0 \
[DSPHEAD] [DSPCHANNELMIXER]<------------[CHANNEL HEAD]<------------[WAVETABLE - DRUMLOOP.WAV]
\y=0,1 /
[DSPHIGHPASS]
*/
{
float lowpassmatrix[2][2] = {
{ 1.0f, 0.0f }, // <- output to front left. Take front left input signal at 1.0.
{ 0.0f, 0.0f } // <- output to front right. Silence
};
float highpassmatrix[2][2] = {
{ 0.0f, 0.0f }, // <- output to front left. Silence
{ 0.0f, 1.0f } // <- output to front right. Take front right input signal at 1.0
};
/*
Upgrade the signal coming from the channel mixer from mono to stereo. Otherwise the lowpass and highpass will get mono signals
*/
result = dspchannelmixer->setChannelFormat(0, 0, FMOD_SPEAKERMODE_STEREO);
ERRCHECK(result);
/*
Now set the above matrices.
*/
result = dsplowpassconnection->setMixMatrix(&lowpassmatrix[0][0], 2, 2);
ERRCHECK(result);
result = dsphighpassconnection->setMixMatrix(&highpassmatrix[0][0], 2, 2);
ERRCHECK(result);
}
result = dsplowpass->setBypass(true);
ERRCHECK(result);
result = dsphighpass->setBypass(true);
ERRCHECK(result);
result = dsplowpass->setActive(true);
ERRCHECK(result);
result = dsphighpass->setActive(true);
ERRCHECK(result);
/*
Main loop.
*/
do
{
bool lowpassbypass, highpassbypass;
Common_Update();
result = dsplowpass->getBypass(&lowpassbypass);
ERRCHECK(result);
result = dsphighpass->getBypass(&highpassbypass);
ERRCHECK(result);
if (Common_BtnPress(BTN_ACTION1))
{
lowpassbypass = !lowpassbypass;
result = dsplowpass->setBypass(lowpassbypass);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_ACTION2))
{
highpassbypass = !highpassbypass;
result = dsphighpass->setBypass(highpassbypass);
ERRCHECK(result);
}
if (Common_BtnDown(BTN_LEFT))
{
pan = (pan <= -0.9f) ? -1.0f : pan - 0.1f;
result = channel->setPan(pan);
ERRCHECK(result);
}
if (Common_BtnDown(BTN_RIGHT))
{
pan = (pan >= 0.9f) ? 1.0f : pan + 0.1f;
result = channel->setPan(pan);
ERRCHECK(result);
}
result = system->update();
ERRCHECK(result);
Common_Draw("==================================================");
Common_Draw("DSP Effect Per Speaker Example.");
Common_Draw("Copyright (c) Firelight Technologies 2004-2025.");
Common_Draw("==================================================");
Common_Draw("");
Common_Draw("Press %s to toggle lowpass (left speaker)", Common_BtnStr(BTN_ACTION1));
Common_Draw("Press %s to toggle highpass (right speaker)", Common_BtnStr(BTN_ACTION2));
Common_Draw("Press %s or %s to pan sound", Common_BtnStr(BTN_LEFT), Common_BtnStr(BTN_RIGHT));
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
Common_Draw("");
Common_Draw("Lowpass (left) is %s", lowpassbypass ? "inactive" : "active");
Common_Draw("Highpass (right) is %s", highpassbypass ? "inactive" : "active");
Common_Draw("Pan is %0.2f", pan);
Common_Sleep(50);
} while (!Common_BtnPress(BTN_QUIT));
/*
Shut down
*/
result = sound->release();
ERRCHECK(result);
result = dsplowpass->release();
ERRCHECK(result);
result = dsphighpass->release();
ERRCHECK(result);
result = system->close();
ERRCHECK(result);
result = system->release();
ERRCHECK(result);
Common_Close();
return 0;
}

View file

@ -0,0 +1 @@
-std=c17 -fPIC -fno-trapping-math

View file

@ -0,0 +1 @@
#define FMOD_USE_PLATFORM_HEADERS

View file

@ -0,0 +1,442 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{71064a00-ba92-4c03-affd-e7f374fa3265}</value>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{22e4ca2b-856c-4a9e-96b1-3ef2b55f3da9}</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.4">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=address</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Address Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.5">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=memory</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Memory Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.6">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=thread</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Thread Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.7">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_effect_per_speaker.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=undefined</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Undefined Behaviour Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">8</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">%{buildDir}/dsp_effect_per_speaker</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseTerminal">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory">%{buildDir}/../../../../../examples/media</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View file

@ -0,0 +1 @@
-std=c++17 -fPIC -fno-trapping-math

View file

@ -0,0 +1,514 @@
../../../../../../core_api/src/fmod.cpp
../../../../../../core_api/src/fmod.cs
../../../../../../core_api/src/fmod.h
../../../../../../core_api/src/fmod.hpp
../../../../../../core_api/src/fmod5.cpp
../../../../../../core_api/src/fmod_3d.h
../../../../../../core_api/src/fmod_array.h
../../../../../../core_api/src/fmod_asm_macros.m4
../../../../../../core_api/src/fmod_async.cpp
../../../../../../core_api/src/fmod_async.h
../../../../../../core_api/src/fmod_atomic.h
../../../../../../core_api/src/fmod_atomic_c11.h
../../../../../../core_api/src/fmod_atomic_clang.h
../../../../../../core_api/src/fmod_atomic_cpp11.h
../../../../../../core_api/src/fmod_atomic_gcc.h
../../../../../../core_api/src/fmod_atomic_legacy.h
../../../../../../core_api/src/fmod_autocleanup.h
../../../../../../core_api/src/fmod_channel.cpp
../../../../../../core_api/src/fmod_channel_emulated.h
../../../../../../core_api/src/fmod_channel_real.cpp
../../../../../../core_api/src/fmod_channel_real.h
../../../../../../core_api/src/fmod_channel_software.cpp
../../../../../../core_api/src/fmod_channel_software.h
../../../../../../core_api/src/fmod_channel_stream.cpp
../../../../../../core_api/src/fmod_channel_stream.h
../../../../../../core_api/src/fmod_channelcontrol.cpp
../../../../../../core_api/src/fmod_channelcontroli.cpp
../../../../../../core_api/src/fmod_channelcontroli.h
../../../../../../core_api/src/fmod_channelgroup.cpp
../../../../../../core_api/src/fmod_channelgroupi.cpp
../../../../../../core_api/src/fmod_channelgroupi.h
../../../../../../core_api/src/fmod_channeli.cpp
../../../../../../core_api/src/fmod_channeli.h
../../../../../../core_api/src/fmod_channelpool.h
../../../../../../core_api/src/fmod_codec.cpp
../../../../../../core_api/src/fmod_codec.h
../../../../../../core_api/src/fmod_codec_aiff.cpp
../../../../../../core_api/src/fmod_codec_aiff.h
../../../../../../core_api/src/fmod_codec_dls.cpp
../../../../../../core_api/src/fmod_codec_dls.h
../../../../../../core_api/src/fmod_codec_fadpcm.cpp
../../../../../../core_api/src/fmod_codec_fadpcm.h
../../../../../../core_api/src/fmod_codec_fadpcm_arm.m4
../../../../../../core_api/src/fmod_codec_flac.cpp
../../../../../../core_api/src/fmod_codec_flac.h
../../../../../../core_api/src/fmod_codec_fsb5.cpp
../../../../../../core_api/src/fmod_codec_fsb5.h
../../../../../../core_api/src/fmod_codec_fsbvorbis.cpp
../../../../../../core_api/src/fmod_codec_fsbvorbis.h
../../../../../../core_api/src/fmod_codec_fsbvorbis_books.cpp
../../../../../../core_api/src/fmod_codec_it.cpp
../../../../../../core_api/src/fmod_codec_it.h
../../../../../../core_api/src/fmod_codec_midi.cpp
../../../../../../core_api/src/fmod_codec_midi.h
../../../../../../core_api/src/fmod_codec_mod.cpp
../../../../../../core_api/src/fmod_codec_mod.h
../../../../../../core_api/src/fmod_codec_mpeg.cpp
../../../../../../core_api/src/fmod_codec_mpeg.h
../../../../../../core_api/src/fmod_codec_mpeg_decode.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer2.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer3.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.h
../../../../../../core_api/src/fmod_codec_playlist.cpp
../../../../../../core_api/src/fmod_codec_playlist.h
../../../../../../core_api/src/fmod_codec_raw.cpp
../../../../../../core_api/src/fmod_codec_raw.h
../../../../../../core_api/src/fmod_codec_s3m.cpp
../../../../../../core_api/src/fmod_codec_s3m.h
../../../../../../core_api/src/fmod_codec_tag.cpp
../../../../../../core_api/src/fmod_codec_tag.h
../../../../../../core_api/src/fmod_codec_user.cpp
../../../../../../core_api/src/fmod_codec_user.h
../../../../../../core_api/src/fmod_codec_wav.cpp
../../../../../../core_api/src/fmod_codec_wav.h
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.cpp
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.h
../../../../../../core_api/src/fmod_codec_wav_riff.cpp
../../../../../../core_api/src/fmod_codec_xm.cpp
../../../../../../core_api/src/fmod_codec_xm.h
../../../../../../core_api/src/fmod_codeci.h
../../../../../../core_api/src/fmod_common.h
../../../../../../core_api/src/fmod_complex.hlsli
../../../../../../core_api/src/fmod_convolution.hlsl
../../../../../../core_api/src/fmod_debug.cpp
../../../../../../core_api/src/fmod_debug.h
../../../../../../core_api/src/fmod_downmix.cpp
../../../../../../core_api/src/fmod_downmix.h
../../../../../../core_api/src/fmod_downmix_dolby_pl2.cpp
../../../../../../core_api/src/fmod_downmix_dolby_pl2.h
../../../../../../core_api/src/fmod_dsp.cpp
../../../../../../core_api/src/fmod_dsp.cs
../../../../../../core_api/src/fmod_dsp.h
../../../../../../core_api/src/fmod_dsp_biquad.cpp
../../../../../../core_api/src/fmod_dsp_biquad.h
../../../../../../core_api/src/fmod_dsp_channelmix.cpp
../../../../../../core_api/src/fmod_dsp_channelmix.h
../../../../../../core_api/src/fmod_dsp_chorus.cpp
../../../../../../core_api/src/fmod_dsp_chorus.h
../../../../../../core_api/src/fmod_dsp_codec.cpp
../../../../../../core_api/src/fmod_dsp_codec.h
../../../../../../core_api/src/fmod_dsp_codecpool.cpp
../../../../../../core_api/src/fmod_dsp_codecpool.h
../../../../../../core_api/src/fmod_dsp_compressor.cpp
../../../../../../core_api/src/fmod_dsp_compressor.h
../../../../../../core_api/src/fmod_dsp_compressor_noopt.cpp
../../../../../../core_api/src/fmod_dsp_compressor_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection.cpp
../../../../../../core_api/src/fmod_dsp_connection_arm.cpp
../../../../../../core_api/src/fmod_dsp_connection_avx.cpp
../../../../../../core_api/src/fmod_dsp_connection_neon.cpp
../../../../../../core_api/src/fmod_dsp_connection_noopt.cpp
../../../../../../core_api/src/fmod_dsp_connection_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection_vfp.m4
../../../../../../core_api/src/fmod_dsp_connectioni.cpp
../../../../../../core_api/src/fmod_dsp_connectioni.h
../../../../../../core_api/src/fmod_dsp_convert.cpp
../../../../../../core_api/src/fmod_dsp_convert.h
../../../../../../core_api/src/fmod_dsp_convert_avx.cpp
../../../../../../core_api/src/fmod_dsp_convert_noopt.cpp
../../../../../../core_api/src/fmod_dsp_convert_sse.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.h
../../../../../../core_api/src/fmod_dsp_convolutionreverb_async.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_avx.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_cpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_gpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_neon.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_sse.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.h
../../../../../../core_api/src/fmod_dsp_delay.cpp
../../../../../../core_api/src/fmod_dsp_delay.h
../../../../../../core_api/src/fmod_dsp_distortion.cpp
../../../../../../core_api/src/fmod_dsp_distortion.h
../../../../../../core_api/src/fmod_dsp_echo.cpp
../../../../../../core_api/src/fmod_dsp_echo.h
../../../../../../core_api/src/fmod_dsp_echo_noopt.cpp
../../../../../../core_api/src/fmod_dsp_echo_sse.cpp
../../../../../../core_api/src/fmod_dsp_effects.h
../../../../../../core_api/src/fmod_dsp_emulated.cpp
../../../../../../core_api/src/fmod_dsp_emulated.h
../../../../../../core_api/src/fmod_dsp_fader.cpp
../../../../../../core_api/src/fmod_dsp_fader.h
../../../../../../core_api/src/fmod_dsp_fft.cpp
../../../../../../core_api/src/fmod_dsp_fft.h
../../../../../../core_api/src/fmod_dsp_flange.cpp
../../../../../../core_api/src/fmod_dsp_flange.h
../../../../../../core_api/src/fmod_dsp_highpass.cpp
../../../../../../core_api/src/fmod_dsp_highpass.h
../../../../../../core_api/src/fmod_dsp_highpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_highpass_simple.h
../../../../../../core_api/src/fmod_dsp_interleave_noopt.cpp
../../../../../../core_api/src/fmod_dsp_interleave_sse.cpp
../../../../../../core_api/src/fmod_dsp_itecho.cpp
../../../../../../core_api/src/fmod_dsp_itecho.h
../../../../../../core_api/src/fmod_dsp_limiter.cpp
../../../../../../core_api/src/fmod_dsp_limiter.h
../../../../../../core_api/src/fmod_dsp_loudness_meter.cpp
../../../../../../core_api/src/fmod_dsp_loudness_meter.h
../../../../../../core_api/src/fmod_dsp_lowpass.cpp
../../../../../../core_api/src/fmod_dsp_lowpass.h
../../../../../../core_api/src/fmod_dsp_lowpass2.cpp
../../../../../../core_api/src/fmod_dsp_lowpass2.h
../../../../../../core_api/src/fmod_dsp_lowpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_lowpass_simple.h
../../../../../../core_api/src/fmod_dsp_matrix.cpp
../../../../../../core_api/src/fmod_dsp_matrix.h
../../../../../../core_api/src/fmod_dsp_metering_noopt.cpp
../../../../../../core_api/src/fmod_dsp_metering_sse.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.h
../../../../../../core_api/src/fmod_dsp_multiband_eq.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq.h
../../../../../../core_api/src/fmod_dsp_multiband_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_normalize.cpp
../../../../../../core_api/src/fmod_dsp_normalize.h
../../../../../../core_api/src/fmod_dsp_objectpan.cpp
../../../../../../core_api/src/fmod_dsp_objectpan.h
../../../../../../core_api/src/fmod_dsp_oscillator.cpp
../../../../../../core_api/src/fmod_dsp_oscillator.h
../../../../../../core_api/src/fmod_dsp_pan.cpp
../../../../../../core_api/src/fmod_dsp_pan.h
../../../../../../core_api/src/fmod_dsp_parameq.cpp
../../../../../../core_api/src/fmod_dsp_parameq.h
../../../../../../core_api/src/fmod_dsp_pitchshift.cpp
../../../../../../core_api/src/fmod_dsp_pitchshift.h
../../../../../../core_api/src/fmod_dsp_porthead.cpp
../../../../../../core_api/src/fmod_dsp_porthead.h
../../../../../../core_api/src/fmod_dsp_resampler.cpp
../../../../../../core_api/src/fmod_dsp_resampler.h
../../../../../../core_api/src/fmod_dsp_resampler_cubic.cpp
../../../../../../core_api/src/fmod_dsp_resampler_cubic.h
../../../../../../core_api/src/fmod_dsp_resampler_linear.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear.h
../../../../../../core_api/src/fmod_dsp_resampler_linear_arm.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx2.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx512.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_neon.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_vfp.m4
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.h
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.h
../../../../../../core_api/src/fmod_dsp_return.cpp
../../../../../../core_api/src/fmod_dsp_return.h
../../../../../../core_api/src/fmod_dsp_send.cpp
../../../../../../core_api/src/fmod_dsp_send.h
../../../../../../core_api/src/fmod_dsp_sfxreverb.cpp
../../../../../../core_api/src/fmod_dsp_sfxreverb.h
../../../../../../core_api/src/fmod_dsp_source.cpp
../../../../../../core_api/src/fmod_dsp_source.h
../../../../../../core_api/src/fmod_dsp_three_eq.cpp
../../../../../../core_api/src/fmod_dsp_three_eq.h
../../../../../../core_api/src/fmod_dsp_three_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_noopt.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.h
../../../../../../core_api/src/fmod_dsp_tremolo.cpp
../../../../../../core_api/src/fmod_dsp_tremolo.h
../../../../../../core_api/src/fmod_dsp_wavetable.cpp
../../../../../../core_api/src/fmod_dsp_wavetable.h
../../../../../../core_api/src/fmod_dspi.cpp
../../../../../../core_api/src/fmod_dspi.h
../../../../../../core_api/src/fmod_endian.h
../../../../../../core_api/src/fmod_errors.cs
../../../../../../core_api/src/fmod_errors.h
../../../../../../core_api/src/fmod_expandingpool.cpp
../../../../../../core_api/src/fmod_expandingpool.h
../../../../../../core_api/src/fmod_fft.cpp
../../../../../../core_api/src/fmod_fft.h
../../../../../../core_api/src/fmod_fft_0.hlsl
../../../../../../core_api/src/fmod_fft_1.hlsl
../../../../../../core_api/src/fmod_fft_common.hlsli
../../../../../../core_api/src/fmod_fft_noopt.cpp
../../../../../../core_api/src/fmod_fft_sse.cpp
../../../../../../core_api/src/fmod_file.cpp
../../../../../../core_api/src/fmod_file.h
../../../../../../core_api/src/fmod_file_disk.cpp
../../../../../../core_api/src/fmod_file_disk.h
../../../../../../core_api/src/fmod_file_memory.cpp
../../../../../../core_api/src/fmod_file_memory.h
../../../../../../core_api/src/fmod_file_net.cpp
../../../../../../core_api/src/fmod_file_net.h
../../../../../../core_api/src/fmod_file_null.cpp
../../../../../../core_api/src/fmod_file_null.h
../../../../../../core_api/src/fmod_file_remote.cpp
../../../../../../core_api/src/fmod_file_remote.h
../../../../../../core_api/src/fmod_file_user.cpp
../../../../../../core_api/src/fmod_file_user.h
../../../../../../core_api/src/fmod_format.cpp
../../../../../../core_api/src/fmod_format.h
../../../../../../core_api/src/fmod_freelist.h
../../../../../../core_api/src/fmod_geometry.cpp
../../../../../../core_api/src/fmod_geometry_mgr.cpp
../../../../../../core_api/src/fmod_geometry_mgr.h
../../../../../../core_api/src/fmod_geometryi.cpp
../../../../../../core_api/src/fmod_geometryi.h
../../../../../../core_api/src/fmod_globals.cpp
../../../../../../core_api/src/fmod_globals.h
../../../../../../core_api/src/fmod_gpu_compute.cpp
../../../../../../core_api/src/fmod_gpu_compute.h
../../../../../../core_api/src/fmod_ifft_0.hlsl
../../../../../../core_api/src/fmod_ifft_1.hlsl
../../../../../../core_api/src/fmod_iterator.h
../../../../../../core_api/src/fmod_linkedlist.h
../../../../../../core_api/src/fmod_listener.cpp
../../../../../../core_api/src/fmod_listener.h
../../../../../../core_api/src/fmod_localcriticalsection.h
../../../../../../core_api/src/fmod_map.h
../../../../../../core_api/src/fmod_memory.cpp
../../../../../../core_api/src/fmod_memory.h
../../../../../../core_api/src/fmod_memory_tracking.cpp
../../../../../../core_api/src/fmod_memory_tracking.h
../../../../../../core_api/src/fmod_metadata.cpp
../../../../../../core_api/src/fmod_metadata.h
../../../../../../core_api/src/fmod_mode.h
../../../../../../core_api/src/fmod_music.cpp
../../../../../../core_api/src/fmod_music.h
../../../../../../core_api/src/fmod_net.cpp
../../../../../../core_api/src/fmod_net.h
../../../../../../core_api/src/fmod_octree.cpp
../../../../../../core_api/src/fmod_octree.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.m4
../../../../../../core_api/src/fmod_os_atomic_gcc_arm64.h
../../../../../../core_api/src/fmod_os_atomic_gcc_x86.h
../../../../../../core_api/src/fmod_os_misc.h
../../../../../../core_api/src/fmod_os_net.h
../../../../../../core_api/src/fmod_os_net_posix.cpp
../../../../../../core_api/src/fmod_os_net_winsock.cpp
../../../../../../core_api/src/fmod_os_output.h
../../../../../../core_api/src/fmod_output.cpp
../../../../../../core_api/src/fmod_output.h
../../../../../../core_api/src/fmod_output_emulated.h
../../../../../../core_api/src/fmod_output_nosound.cpp
../../../../../../core_api/src/fmod_output_nosound.h
../../../../../../core_api/src/fmod_output_nosound_nrt.cpp
../../../../../../core_api/src/fmod_output_nosound_nrt.h
../../../../../../core_api/src/fmod_output_phase.h
../../../../../../core_api/src/fmod_output_phase.mm
../../../../../../core_api/src/fmod_output_software.cpp
../../../../../../core_api/src/fmod_output_software.h
../../../../../../core_api/src/fmod_output_wavwriter.cpp
../../../../../../core_api/src/fmod_output_wavwriter.h
../../../../../../core_api/src/fmod_output_wavwriter_nrt.cpp
../../../../../../core_api/src/fmod_output_wavwriter_nrt.h
../../../../../../core_api/src/fmod_output_winsonic.cpp
../../../../../../core_api/src/fmod_output_winsonic.h
../../../../../../core_api/src/fmod_output_winsonic_compat.h
../../../../../../core_api/src/fmod_outputi.h
../../../../../../core_api/src/fmod_pan.cpp
../../../../../../core_api/src/fmod_pan.h
../../../../../../core_api/src/fmod_pluginfactory.cpp
../../../../../../core_api/src/fmod_pluginfactory.h
../../../../../../core_api/src/fmod_poolallocator.h
../../../../../../core_api/src/fmod_profile.cpp
../../../../../../core_api/src/fmod_profile.h
../../../../../../core_api/src/fmod_profile_channel_pkt.h
../../../../../../core_api/src/fmod_profile_client.cpp
../../../../../../core_api/src/fmod_profile_client.h
../../../../../../core_api/src/fmod_profile_codec_pkt.h
../../../../../../core_api/src/fmod_profile_cpu_pkt.h
../../../../../../core_api/src/fmod_profile_dsp.cpp
../../../../../../core_api/src/fmod_profile_dsp.h
../../../../../../core_api/src/fmod_profile_dsp_pkt.h
../../../../../../core_api/src/fmod_profile_group_pkt.h
../../../../../../core_api/src/fmod_profile_markers.cpp
../../../../../../core_api/src/fmod_profile_markers.h
../../../../../../core_api/src/fmod_profile_pkt.h
../../../../../../core_api/src/fmod_profile_remotefile.cpp
../../../../../../core_api/src/fmod_profile_remotefile.h
../../../../../../core_api/src/fmod_profile_remotefile_pkt.h
../../../../../../core_api/src/fmod_profile_stats.cpp
../../../../../../core_api/src/fmod_profile_stats.h
../../../../../../core_api/src/fmod_profile_stats_pkt.h
../../../../../../core_api/src/fmod_random.h
../../../../../../core_api/src/fmod_reverb.cpp
../../../../../../core_api/src/fmod_reverbi.cpp
../../../../../../core_api/src/fmod_reverbi.h
../../../../../../core_api/src/fmod_rootsignature.hlsl
../../../../../../core_api/src/fmod_sample_software.cpp
../../../../../../core_api/src/fmod_sample_software.h
../../../../../../core_api/src/fmod_settings.h
../../../../../../core_api/src/fmod_shader_compat.hlsli
../../../../../../core_api/src/fmod_simd_util_sse.h
../../../../../../core_api/src/fmod_sound.cpp
../../../../../../core_api/src/fmod_sound_sample.cpp
../../../../../../core_api/src/fmod_sound_sample.h
../../../../../../core_api/src/fmod_sound_stream.cpp
../../../../../../core_api/src/fmod_sound_stream.h
../../../../../../core_api/src/fmod_soundgroup.cpp
../../../../../../core_api/src/fmod_soundgroupi.cpp
../../../../../../core_api/src/fmod_soundgroupi.h
../../../../../../core_api/src/fmod_soundi.cpp
../../../../../../core_api/src/fmod_soundi.h
../../../../../../core_api/src/fmod_speakermap.h
../../../../../../core_api/src/fmod_string.cpp
../../../../../../core_api/src/fmod_string.h
../../../../../../core_api/src/fmod_stringw.cpp
../../../../../../core_api/src/fmod_stringw.h
../../../../../../core_api/src/fmod_syncpoint.h
../../../../../../core_api/src/fmod_system.cpp
../../../../../../core_api/src/fmod_systemi.cpp
../../../../../../core_api/src/fmod_systemi.h
../../../../../../core_api/src/fmod_systemi_channel.cpp
../../../../../../core_api/src/fmod_systemi_driver.cpp
../../../../../../core_api/src/fmod_systemi_dsp.cpp
../../../../../../core_api/src/fmod_systemi_fft.cpp
../../../../../../core_api/src/fmod_systemi_sound.cpp
../../../../../../core_api/src/fmod_systemi_speaker.cpp
../../../../../../core_api/src/fmod_systemi_thread.cpp
../../../../../../core_api/src/fmod_systemi_update.cpp
../../../../../../core_api/src/fmod_thread.cpp
../../../../../../core_api/src/fmod_thread.h
../../../../../../core_api/src/fmod_threadsafe.cpp
../../../../../../core_api/src/fmod_threadsafe.h
../../../../../../core_api/src/fmod_time.cpp
../../../../../../core_api/src/fmod_time.h
../../../../../../core_api/src/fmod_types.h
../../../../../../examples/platforms/linux/src/common_platform.cpp
../../../../../../examples/platforms/linux/src/common_platform.h
../../../../../../examples/src/autotest.cpp
../../../../../../examples/src/common.cpp
../../../../../../examples/src/common.h
../../../../../../examples/src/common_dx12.cpp
../../../../../../examples/src/common_dx12.h
../../../../../../examples/src/common_dx12_ps.h
../../../../../../examples/src/common_dx12_vs.h
../../../../../../examples/src/common_font_glyphs.h
../../../../../../examples/src/common_font_texture.h
../../../../../../examples/src/common_vulkan.cpp
../../../../../../examples/src/common_vulkan.h
../../../../../../examples/src/common_vulkan_fs.h
../../../../../../examples/src/common_vulkan_vs.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/assert.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/callback.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/export.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/format.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/ordinals.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/stream_decoder.h
../../../../../../external/decoders/flac-1.2.1/include/share/alloc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitmath.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitreader.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/cpu.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/crc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/fixed.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/format.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/lpc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/md5.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/memory.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/stream_decoder.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/nasm.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitmath.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitreader.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/cpu.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/crc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/fixed.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/float.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/format.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/lpc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/md5.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/memory.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/protected/stream_decoder.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/ogg.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/os_types.h
../../../../../../external/decoders/ogg_vorbis/ogg/src/bitwise.c
../../../../../../external/decoders/ogg_vorbis/ogg/src/framing.c
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/codec.h
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/vorbisfile.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/backends.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/block.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codec_internal.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/floor1.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/highlevel.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/info.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup_data.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mapping0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/masking.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/misc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/os.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/psy.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/res0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/scales.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/sharedbook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/synthesis.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/vorbisfile.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/floor_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/psych_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/residue_44.h
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.c
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_codec.h
../../../../../../external/decoders/tremor_lowmem/tremor_codec_internal.h
../../../../../../external/decoders/tremor_lowmem/tremor_dsp.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_info.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx512.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct.h
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_misc.h
../../../../../../external/decoders/tremor_lowmem/tremor_os.h
../../../../../../external/decoders/tremor_lowmem/tremor_os_types.h
../../../../../../external/decoders/tremor_lowmem/tremor_res012.c
../../../../../../external/decoders/tremor_lowmem/tremor_window_lookup.h
../../../../../../external/misc/dlmalloc/dlmalloc.cpp
../../../../../../external/misc/dlmalloc/dlmalloc.h
../make/dsp_effect_per_speaker.makefile
../dsp_effect_per_speaker.cpp

View file

@ -0,0 +1,6 @@
../../../../../../examples/src
../../../../../../examples/platforms/linux/src
../../../../../src
../../../../../../external/misc
../../../../../../external/dsps
../../../../../../external/decoders

View file

@ -0,0 +1,331 @@
/*==============================================================================
Plug-in Inspector Example
Copyright (c), Firelight Technologies Pty, Ltd 2004-2025.
This example shows how to enumerate loaded plug-ins and their parameters.
For information on using FMOD example code in your own programs, visit
https://www.fmod.com/legal
==============================================================================*/
#include "fmod.hpp"
#include "common.h"
const int INTERFACE_UPDATETIME = 50; // 50ms update for interface
const int MAX_PLUGINS_IN_VIEW = 5;
const int MAX_PARAMETERS_IN_VIEW = 14;
enum InspectorState
{
PLUGIN_SELECTOR,
PARAMETER_VIEWER
};
struct PluginSelectorState
{
FMOD::System *system;
int numplugins;
int cursor;
};
struct ParameterViewerState
{
FMOD::DSP *dsp;
int numparams;
int scroll;
};
void drawTitle()
{
Common_Draw("==================================================");
Common_Draw("Plug-in Inspector Example.");
Common_Draw("Copyright (c) Firelight Technologies 2004-2025.");
Common_Draw("==================================================");
Common_Draw("");
}
bool hasDataParameter(const FMOD_DSP_DESCRIPTION *desc, FMOD_DSP_PARAMETER_DATA_TYPE type)
{
for (int i = 0; i < desc->numparameters; i++)
{
if (desc->paramdesc[i]->type == FMOD_DSP_PARAMETER_TYPE_DATA && ((type >= 0 && desc->paramdesc[i]->datadesc.datatype >= 0) || desc->paramdesc[i]->datadesc.datatype == type))
{
return true;
}
}
return false;
}
void drawDSPInfo(const FMOD_DSP_DESCRIPTION *desc)
{
Common_Draw("Name (Version) : %s (%x)", desc->name, desc->version);
Common_Draw("SDK Version : %d", desc->pluginsdkversion);
Common_Draw("Type : %s", desc->numinputbuffers ? "Effect" : "Sound Generator");
Common_Draw("Parameters : %d", desc->numparameters);
Common_Draw("Audio Callback : %s", desc->process ? "process()" : "read()");
Common_Draw("");
Common_Draw(" Reset | Side-Chain | 3D | Audibility | User Data");
Common_Draw(" %s | %s | %s | %s | %s ",
desc->reset ? "Y " : "--",
hasDataParameter(desc, FMOD_DSP_PARAMETER_DATA_TYPE_SIDECHAIN) ? "Y " : "--",
hasDataParameter(desc, FMOD_DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES) || hasDataParameter(desc, FMOD_DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES_MULTI) ? "Y " : "--",
hasDataParameter(desc, FMOD_DSP_PARAMETER_DATA_TYPE_OVERALLGAIN) ? "Y " : "--",
hasDataParameter(desc, FMOD_DSP_PARAMETER_DATA_TYPE_USER) || desc->userdata ? "Y " : "--");
}
void drawDSPList(PluginSelectorState *state)
{
unsigned int pluginhandle;
char pluginname[256];
FMOD_RESULT result;
Common_Draw("Press %s to select the next plug-in", Common_BtnStr(BTN_DOWN));
Common_Draw("Press %s to select the previous plug-in", Common_BtnStr(BTN_UP));
Common_Draw("Press %s to view the plug-in parameters", Common_BtnStr(BTN_RIGHT));
Common_Draw("");
int start = Common_Clamp(0, state->cursor - (MAX_PLUGINS_IN_VIEW - 1) / 2, state->numplugins - MAX_PLUGINS_IN_VIEW);
for (int i = start; i < start + MAX_PLUGINS_IN_VIEW; i++)
{
result = state->system->getPluginHandle(FMOD_PLUGINTYPE_DSP, i, &pluginhandle);
ERRCHECK(result);
result = state->system->getPluginInfo(pluginhandle, 0, pluginname, 256, 0);
ERRCHECK(result);
Common_Draw("%s %s", i == state->cursor ? ">" : " ", pluginname);
}
Common_Draw("");
Common_Draw("==================================================");
Common_Draw("");
result = state->system->getPluginHandle(FMOD_PLUGINTYPE_DSP, state->cursor, &pluginhandle);
ERRCHECK(result);
const FMOD_DSP_DESCRIPTION *description;
result = state->system->getDSPInfoByPlugin(pluginhandle, &description);
ERRCHECK(result);
drawDSPInfo(description);
}
void drawDSPParameters(ParameterViewerState *state)
{
FMOD_RESULT result;
FMOD_DSP_PARAMETER_DESC *paramdesc;
char pluginname[256];
Common_Draw("Press %s to scroll down", Common_BtnStr(BTN_DOWN));
Common_Draw("Press %s to scroll up", Common_BtnStr(BTN_UP));
Common_Draw("Press %s to return to the plug-in list", Common_BtnStr(BTN_LEFT));
Common_Draw("");
result = state->dsp->getInfo(pluginname, 0, 0, 0, 0);
ERRCHECK(result);
Common_Draw("%s Parameters:", pluginname);
Common_Draw("--------------------------------------------------");
for (int i = state->scroll; i < state->numparams; i++)
{
result = state->dsp->getParameterInfo(i, &paramdesc);
ERRCHECK(result);
switch (paramdesc->type)
{
case FMOD_DSP_PARAMETER_TYPE_FLOAT:
{
char *units = paramdesc->label;
Common_Draw("%2d: %-15s [%g, %g] (%.2f%s)", i, paramdesc->name, paramdesc->floatdesc.min, paramdesc->floatdesc.max, paramdesc->floatdesc.defaultval, units);
break;
}
case FMOD_DSP_PARAMETER_TYPE_INT:
{
if (paramdesc->intdesc.valuenames)
{
int lengthremaining = 1024;
char enums[1024];
char *s = enums;
for (int j = 0; j < paramdesc->intdesc.max - paramdesc->intdesc.min; ++j)
{
int len = Common_snprintf(s, lengthremaining, "%s, ", paramdesc->intdesc.valuenames[j]);
if (!len)
{
break;
}
s += len;
lengthremaining -= len;
}
if (lengthremaining)
{
Common_snprintf(s, lengthremaining, "%s", paramdesc->intdesc.valuenames[paramdesc->intdesc.max - paramdesc->intdesc.min]);
}
Common_Draw("%2d: %-15s [%s] (%s)", i, paramdesc->name, enums, paramdesc->intdesc.valuenames[paramdesc->intdesc.defaultval - paramdesc->intdesc.min]);
}
else
{
char *units = paramdesc->label;
Common_Draw("%2d: %-15s [%d, %d] (%d%s)", i, paramdesc->name, paramdesc->intdesc.min, paramdesc->intdesc.max, paramdesc->intdesc.defaultval, units);
}
break;
}
case FMOD_DSP_PARAMETER_TYPE_BOOL:
{
if (paramdesc->booldesc.valuenames)
{
Common_Draw("%2d: %-15s [%s, %s] (%s)", i, paramdesc->name, paramdesc->booldesc.valuenames[0], paramdesc->booldesc.valuenames[1], paramdesc->booldesc.valuenames[paramdesc->booldesc.defaultval ? 1 : 0]);
}
else
{
Common_Draw("%2d: %-15s [On, Off] (%s)", i, paramdesc->name, paramdesc->booldesc.defaultval ? "On" : "Off");
}
break;
}
case FMOD_DSP_PARAMETER_TYPE_DATA:
{
Common_Draw("%2d: %-15s (Data type: %d)", i, paramdesc->name, paramdesc->datadesc.datatype);
break;
}
default:
break;
}
}
}
InspectorState pluginSelectorDo(PluginSelectorState *state)
{
if (Common_BtnPress(BTN_UP))
{
state->cursor = (state->cursor - 1 + state->numplugins) % state->numplugins;
}
if (Common_BtnPress(BTN_DOWN))
{
state->cursor = (state->cursor + 1) % state->numplugins;
}
if (Common_BtnPress(BTN_RIGHT))
{
return PARAMETER_VIEWER;
}
drawTitle();
drawDSPList(state);
return PLUGIN_SELECTOR;
}
InspectorState parameterViewerDo(ParameterViewerState *state)
{
if (state->numparams > MAX_PARAMETERS_IN_VIEW)
{
if (Common_BtnPress(BTN_UP))
{
state->scroll--;
state->scroll = Common_Max(state->scroll, 0);
}
if (Common_BtnPress(BTN_DOWN))
{
state->scroll++;
state->scroll = Common_Min(state->scroll, state->numparams - MAX_PARAMETERS_IN_VIEW);
}
}
if (Common_BtnPress(BTN_LEFT))
{
return PLUGIN_SELECTOR;
}
drawTitle();
drawDSPParameters(state);
return PARAMETER_VIEWER;
}
int FMOD_Main()
{
FMOD::System *system = 0;
FMOD_RESULT result;
void *extradriverdata = 0;
unsigned int pluginhandle;
InspectorState state = PLUGIN_SELECTOR;
PluginSelectorState pluginselector = { 0 };
ParameterViewerState parameterviewer = { 0 };
Common_Init(&extradriverdata);
/*
Create a System object and initialize
*/
result = FMOD::System_Create(&system);
ERRCHECK(result);
result = system->init(32, FMOD_INIT_NORMAL, extradriverdata);
ERRCHECK(result);
result = system->getNumPlugins(FMOD_PLUGINTYPE_DSP, &pluginselector.numplugins);
ERRCHECK(result);
pluginselector.system = system;
do
{
Common_Update();
if (state == PLUGIN_SELECTOR)
{
state = pluginSelectorDo(&pluginselector);
if (state == PARAMETER_VIEWER)
{
result = pluginselector.system->getPluginHandle(FMOD_PLUGINTYPE_DSP, pluginselector.cursor, &pluginhandle);
ERRCHECK(result);
result = pluginselector.system->createDSPByPlugin(pluginhandle, &parameterviewer.dsp);
ERRCHECK(result);
FMOD_RESULT result = parameterviewer.dsp->getNumParameters(&parameterviewer.numparams);
ERRCHECK(result);
parameterviewer.scroll = 0;
}
}
else if (state == PARAMETER_VIEWER)
{
state = parameterViewerDo(&parameterviewer);
if (state == PLUGIN_SELECTOR)
{
result = parameterviewer.dsp->release();
ERRCHECK(result);
parameterviewer.dsp = 0;
}
}
result = system->update();
ERRCHECK(result);
Common_Sleep(INTERFACE_UPDATETIME - 1);
} while (!Common_BtnPress(BTN_QUIT));
if (parameterviewer.dsp)
{
result = parameterviewer.dsp->release();
ERRCHECK(result);
}
result = system->close();
ERRCHECK(result);
result = system->release();
ERRCHECK(result);
Common_Close();
return 0;
}

View file

@ -0,0 +1 @@
-std=c17 -fPIC -fno-trapping-math

View file

@ -0,0 +1 @@
#define FMOD_USE_PLATFORM_HEADERS

View file

@ -0,0 +1,442 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{71064a00-ba92-4c03-affd-e7f374fa3265}</value>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{22e4ca2b-856c-4a9e-96b1-3ef2b55f3da9}</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.4">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=address</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Address Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.5">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=memory</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Memory Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.6">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=thread</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Thread Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.7">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f dsp_inspector.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=undefined</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Undefined Behaviour Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">8</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">%{buildDir}/dsp_inspector</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseTerminal">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory">%{buildDir}/../../../../../examples/media</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View file

@ -0,0 +1 @@
-std=c++17 -fPIC -fno-trapping-math

View file

@ -0,0 +1,514 @@
../../../../../../core_api/src/fmod.cpp
../../../../../../core_api/src/fmod.cs
../../../../../../core_api/src/fmod.h
../../../../../../core_api/src/fmod.hpp
../../../../../../core_api/src/fmod5.cpp
../../../../../../core_api/src/fmod_3d.h
../../../../../../core_api/src/fmod_array.h
../../../../../../core_api/src/fmod_asm_macros.m4
../../../../../../core_api/src/fmod_async.cpp
../../../../../../core_api/src/fmod_async.h
../../../../../../core_api/src/fmod_atomic.h
../../../../../../core_api/src/fmod_atomic_c11.h
../../../../../../core_api/src/fmod_atomic_clang.h
../../../../../../core_api/src/fmod_atomic_cpp11.h
../../../../../../core_api/src/fmod_atomic_gcc.h
../../../../../../core_api/src/fmod_atomic_legacy.h
../../../../../../core_api/src/fmod_autocleanup.h
../../../../../../core_api/src/fmod_channel.cpp
../../../../../../core_api/src/fmod_channel_emulated.h
../../../../../../core_api/src/fmod_channel_real.cpp
../../../../../../core_api/src/fmod_channel_real.h
../../../../../../core_api/src/fmod_channel_software.cpp
../../../../../../core_api/src/fmod_channel_software.h
../../../../../../core_api/src/fmod_channel_stream.cpp
../../../../../../core_api/src/fmod_channel_stream.h
../../../../../../core_api/src/fmod_channelcontrol.cpp
../../../../../../core_api/src/fmod_channelcontroli.cpp
../../../../../../core_api/src/fmod_channelcontroli.h
../../../../../../core_api/src/fmod_channelgroup.cpp
../../../../../../core_api/src/fmod_channelgroupi.cpp
../../../../../../core_api/src/fmod_channelgroupi.h
../../../../../../core_api/src/fmod_channeli.cpp
../../../../../../core_api/src/fmod_channeli.h
../../../../../../core_api/src/fmod_channelpool.h
../../../../../../core_api/src/fmod_codec.cpp
../../../../../../core_api/src/fmod_codec.h
../../../../../../core_api/src/fmod_codec_aiff.cpp
../../../../../../core_api/src/fmod_codec_aiff.h
../../../../../../core_api/src/fmod_codec_dls.cpp
../../../../../../core_api/src/fmod_codec_dls.h
../../../../../../core_api/src/fmod_codec_fadpcm.cpp
../../../../../../core_api/src/fmod_codec_fadpcm.h
../../../../../../core_api/src/fmod_codec_fadpcm_arm.m4
../../../../../../core_api/src/fmod_codec_flac.cpp
../../../../../../core_api/src/fmod_codec_flac.h
../../../../../../core_api/src/fmod_codec_fsb5.cpp
../../../../../../core_api/src/fmod_codec_fsb5.h
../../../../../../core_api/src/fmod_codec_fsbvorbis.cpp
../../../../../../core_api/src/fmod_codec_fsbvorbis.h
../../../../../../core_api/src/fmod_codec_fsbvorbis_books.cpp
../../../../../../core_api/src/fmod_codec_it.cpp
../../../../../../core_api/src/fmod_codec_it.h
../../../../../../core_api/src/fmod_codec_midi.cpp
../../../../../../core_api/src/fmod_codec_midi.h
../../../../../../core_api/src/fmod_codec_mod.cpp
../../../../../../core_api/src/fmod_codec_mod.h
../../../../../../core_api/src/fmod_codec_mpeg.cpp
../../../../../../core_api/src/fmod_codec_mpeg.h
../../../../../../core_api/src/fmod_codec_mpeg_decode.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer2.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer3.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.h
../../../../../../core_api/src/fmod_codec_playlist.cpp
../../../../../../core_api/src/fmod_codec_playlist.h
../../../../../../core_api/src/fmod_codec_raw.cpp
../../../../../../core_api/src/fmod_codec_raw.h
../../../../../../core_api/src/fmod_codec_s3m.cpp
../../../../../../core_api/src/fmod_codec_s3m.h
../../../../../../core_api/src/fmod_codec_tag.cpp
../../../../../../core_api/src/fmod_codec_tag.h
../../../../../../core_api/src/fmod_codec_user.cpp
../../../../../../core_api/src/fmod_codec_user.h
../../../../../../core_api/src/fmod_codec_wav.cpp
../../../../../../core_api/src/fmod_codec_wav.h
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.cpp
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.h
../../../../../../core_api/src/fmod_codec_wav_riff.cpp
../../../../../../core_api/src/fmod_codec_xm.cpp
../../../../../../core_api/src/fmod_codec_xm.h
../../../../../../core_api/src/fmod_codeci.h
../../../../../../core_api/src/fmod_common.h
../../../../../../core_api/src/fmod_complex.hlsli
../../../../../../core_api/src/fmod_convolution.hlsl
../../../../../../core_api/src/fmod_debug.cpp
../../../../../../core_api/src/fmod_debug.h
../../../../../../core_api/src/fmod_downmix.cpp
../../../../../../core_api/src/fmod_downmix.h
../../../../../../core_api/src/fmod_downmix_dolby_pl2.cpp
../../../../../../core_api/src/fmod_downmix_dolby_pl2.h
../../../../../../core_api/src/fmod_dsp.cpp
../../../../../../core_api/src/fmod_dsp.cs
../../../../../../core_api/src/fmod_dsp.h
../../../../../../core_api/src/fmod_dsp_biquad.cpp
../../../../../../core_api/src/fmod_dsp_biquad.h
../../../../../../core_api/src/fmod_dsp_channelmix.cpp
../../../../../../core_api/src/fmod_dsp_channelmix.h
../../../../../../core_api/src/fmod_dsp_chorus.cpp
../../../../../../core_api/src/fmod_dsp_chorus.h
../../../../../../core_api/src/fmod_dsp_codec.cpp
../../../../../../core_api/src/fmod_dsp_codec.h
../../../../../../core_api/src/fmod_dsp_codecpool.cpp
../../../../../../core_api/src/fmod_dsp_codecpool.h
../../../../../../core_api/src/fmod_dsp_compressor.cpp
../../../../../../core_api/src/fmod_dsp_compressor.h
../../../../../../core_api/src/fmod_dsp_compressor_noopt.cpp
../../../../../../core_api/src/fmod_dsp_compressor_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection.cpp
../../../../../../core_api/src/fmod_dsp_connection_arm.cpp
../../../../../../core_api/src/fmod_dsp_connection_avx.cpp
../../../../../../core_api/src/fmod_dsp_connection_neon.cpp
../../../../../../core_api/src/fmod_dsp_connection_noopt.cpp
../../../../../../core_api/src/fmod_dsp_connection_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection_vfp.m4
../../../../../../core_api/src/fmod_dsp_connectioni.cpp
../../../../../../core_api/src/fmod_dsp_connectioni.h
../../../../../../core_api/src/fmod_dsp_convert.cpp
../../../../../../core_api/src/fmod_dsp_convert.h
../../../../../../core_api/src/fmod_dsp_convert_avx.cpp
../../../../../../core_api/src/fmod_dsp_convert_noopt.cpp
../../../../../../core_api/src/fmod_dsp_convert_sse.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.h
../../../../../../core_api/src/fmod_dsp_convolutionreverb_async.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_avx.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_cpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_gpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_neon.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_sse.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.h
../../../../../../core_api/src/fmod_dsp_delay.cpp
../../../../../../core_api/src/fmod_dsp_delay.h
../../../../../../core_api/src/fmod_dsp_distortion.cpp
../../../../../../core_api/src/fmod_dsp_distortion.h
../../../../../../core_api/src/fmod_dsp_echo.cpp
../../../../../../core_api/src/fmod_dsp_echo.h
../../../../../../core_api/src/fmod_dsp_echo_noopt.cpp
../../../../../../core_api/src/fmod_dsp_echo_sse.cpp
../../../../../../core_api/src/fmod_dsp_effects.h
../../../../../../core_api/src/fmod_dsp_emulated.cpp
../../../../../../core_api/src/fmod_dsp_emulated.h
../../../../../../core_api/src/fmod_dsp_fader.cpp
../../../../../../core_api/src/fmod_dsp_fader.h
../../../../../../core_api/src/fmod_dsp_fft.cpp
../../../../../../core_api/src/fmod_dsp_fft.h
../../../../../../core_api/src/fmod_dsp_flange.cpp
../../../../../../core_api/src/fmod_dsp_flange.h
../../../../../../core_api/src/fmod_dsp_highpass.cpp
../../../../../../core_api/src/fmod_dsp_highpass.h
../../../../../../core_api/src/fmod_dsp_highpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_highpass_simple.h
../../../../../../core_api/src/fmod_dsp_interleave_noopt.cpp
../../../../../../core_api/src/fmod_dsp_interleave_sse.cpp
../../../../../../core_api/src/fmod_dsp_itecho.cpp
../../../../../../core_api/src/fmod_dsp_itecho.h
../../../../../../core_api/src/fmod_dsp_limiter.cpp
../../../../../../core_api/src/fmod_dsp_limiter.h
../../../../../../core_api/src/fmod_dsp_loudness_meter.cpp
../../../../../../core_api/src/fmod_dsp_loudness_meter.h
../../../../../../core_api/src/fmod_dsp_lowpass.cpp
../../../../../../core_api/src/fmod_dsp_lowpass.h
../../../../../../core_api/src/fmod_dsp_lowpass2.cpp
../../../../../../core_api/src/fmod_dsp_lowpass2.h
../../../../../../core_api/src/fmod_dsp_lowpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_lowpass_simple.h
../../../../../../core_api/src/fmod_dsp_matrix.cpp
../../../../../../core_api/src/fmod_dsp_matrix.h
../../../../../../core_api/src/fmod_dsp_metering_noopt.cpp
../../../../../../core_api/src/fmod_dsp_metering_sse.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.h
../../../../../../core_api/src/fmod_dsp_multiband_eq.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq.h
../../../../../../core_api/src/fmod_dsp_multiband_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_normalize.cpp
../../../../../../core_api/src/fmod_dsp_normalize.h
../../../../../../core_api/src/fmod_dsp_objectpan.cpp
../../../../../../core_api/src/fmod_dsp_objectpan.h
../../../../../../core_api/src/fmod_dsp_oscillator.cpp
../../../../../../core_api/src/fmod_dsp_oscillator.h
../../../../../../core_api/src/fmod_dsp_pan.cpp
../../../../../../core_api/src/fmod_dsp_pan.h
../../../../../../core_api/src/fmod_dsp_parameq.cpp
../../../../../../core_api/src/fmod_dsp_parameq.h
../../../../../../core_api/src/fmod_dsp_pitchshift.cpp
../../../../../../core_api/src/fmod_dsp_pitchshift.h
../../../../../../core_api/src/fmod_dsp_porthead.cpp
../../../../../../core_api/src/fmod_dsp_porthead.h
../../../../../../core_api/src/fmod_dsp_resampler.cpp
../../../../../../core_api/src/fmod_dsp_resampler.h
../../../../../../core_api/src/fmod_dsp_resampler_cubic.cpp
../../../../../../core_api/src/fmod_dsp_resampler_cubic.h
../../../../../../core_api/src/fmod_dsp_resampler_linear.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear.h
../../../../../../core_api/src/fmod_dsp_resampler_linear_arm.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx2.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx512.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_neon.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_vfp.m4
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.h
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.h
../../../../../../core_api/src/fmod_dsp_return.cpp
../../../../../../core_api/src/fmod_dsp_return.h
../../../../../../core_api/src/fmod_dsp_send.cpp
../../../../../../core_api/src/fmod_dsp_send.h
../../../../../../core_api/src/fmod_dsp_sfxreverb.cpp
../../../../../../core_api/src/fmod_dsp_sfxreverb.h
../../../../../../core_api/src/fmod_dsp_source.cpp
../../../../../../core_api/src/fmod_dsp_source.h
../../../../../../core_api/src/fmod_dsp_three_eq.cpp
../../../../../../core_api/src/fmod_dsp_three_eq.h
../../../../../../core_api/src/fmod_dsp_three_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_noopt.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.h
../../../../../../core_api/src/fmod_dsp_tremolo.cpp
../../../../../../core_api/src/fmod_dsp_tremolo.h
../../../../../../core_api/src/fmod_dsp_wavetable.cpp
../../../../../../core_api/src/fmod_dsp_wavetable.h
../../../../../../core_api/src/fmod_dspi.cpp
../../../../../../core_api/src/fmod_dspi.h
../../../../../../core_api/src/fmod_endian.h
../../../../../../core_api/src/fmod_errors.cs
../../../../../../core_api/src/fmod_errors.h
../../../../../../core_api/src/fmod_expandingpool.cpp
../../../../../../core_api/src/fmod_expandingpool.h
../../../../../../core_api/src/fmod_fft.cpp
../../../../../../core_api/src/fmod_fft.h
../../../../../../core_api/src/fmod_fft_0.hlsl
../../../../../../core_api/src/fmod_fft_1.hlsl
../../../../../../core_api/src/fmod_fft_common.hlsli
../../../../../../core_api/src/fmod_fft_noopt.cpp
../../../../../../core_api/src/fmod_fft_sse.cpp
../../../../../../core_api/src/fmod_file.cpp
../../../../../../core_api/src/fmod_file.h
../../../../../../core_api/src/fmod_file_disk.cpp
../../../../../../core_api/src/fmod_file_disk.h
../../../../../../core_api/src/fmod_file_memory.cpp
../../../../../../core_api/src/fmod_file_memory.h
../../../../../../core_api/src/fmod_file_net.cpp
../../../../../../core_api/src/fmod_file_net.h
../../../../../../core_api/src/fmod_file_null.cpp
../../../../../../core_api/src/fmod_file_null.h
../../../../../../core_api/src/fmod_file_remote.cpp
../../../../../../core_api/src/fmod_file_remote.h
../../../../../../core_api/src/fmod_file_user.cpp
../../../../../../core_api/src/fmod_file_user.h
../../../../../../core_api/src/fmod_format.cpp
../../../../../../core_api/src/fmod_format.h
../../../../../../core_api/src/fmod_freelist.h
../../../../../../core_api/src/fmod_geometry.cpp
../../../../../../core_api/src/fmod_geometry_mgr.cpp
../../../../../../core_api/src/fmod_geometry_mgr.h
../../../../../../core_api/src/fmod_geometryi.cpp
../../../../../../core_api/src/fmod_geometryi.h
../../../../../../core_api/src/fmod_globals.cpp
../../../../../../core_api/src/fmod_globals.h
../../../../../../core_api/src/fmod_gpu_compute.cpp
../../../../../../core_api/src/fmod_gpu_compute.h
../../../../../../core_api/src/fmod_ifft_0.hlsl
../../../../../../core_api/src/fmod_ifft_1.hlsl
../../../../../../core_api/src/fmod_iterator.h
../../../../../../core_api/src/fmod_linkedlist.h
../../../../../../core_api/src/fmod_listener.cpp
../../../../../../core_api/src/fmod_listener.h
../../../../../../core_api/src/fmod_localcriticalsection.h
../../../../../../core_api/src/fmod_map.h
../../../../../../core_api/src/fmod_memory.cpp
../../../../../../core_api/src/fmod_memory.h
../../../../../../core_api/src/fmod_memory_tracking.cpp
../../../../../../core_api/src/fmod_memory_tracking.h
../../../../../../core_api/src/fmod_metadata.cpp
../../../../../../core_api/src/fmod_metadata.h
../../../../../../core_api/src/fmod_mode.h
../../../../../../core_api/src/fmod_music.cpp
../../../../../../core_api/src/fmod_music.h
../../../../../../core_api/src/fmod_net.cpp
../../../../../../core_api/src/fmod_net.h
../../../../../../core_api/src/fmod_octree.cpp
../../../../../../core_api/src/fmod_octree.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.m4
../../../../../../core_api/src/fmod_os_atomic_gcc_arm64.h
../../../../../../core_api/src/fmod_os_atomic_gcc_x86.h
../../../../../../core_api/src/fmod_os_misc.h
../../../../../../core_api/src/fmod_os_net.h
../../../../../../core_api/src/fmod_os_net_posix.cpp
../../../../../../core_api/src/fmod_os_net_winsock.cpp
../../../../../../core_api/src/fmod_os_output.h
../../../../../../core_api/src/fmod_output.cpp
../../../../../../core_api/src/fmod_output.h
../../../../../../core_api/src/fmod_output_emulated.h
../../../../../../core_api/src/fmod_output_nosound.cpp
../../../../../../core_api/src/fmod_output_nosound.h
../../../../../../core_api/src/fmod_output_nosound_nrt.cpp
../../../../../../core_api/src/fmod_output_nosound_nrt.h
../../../../../../core_api/src/fmod_output_phase.h
../../../../../../core_api/src/fmod_output_phase.mm
../../../../../../core_api/src/fmod_output_software.cpp
../../../../../../core_api/src/fmod_output_software.h
../../../../../../core_api/src/fmod_output_wavwriter.cpp
../../../../../../core_api/src/fmod_output_wavwriter.h
../../../../../../core_api/src/fmod_output_wavwriter_nrt.cpp
../../../../../../core_api/src/fmod_output_wavwriter_nrt.h
../../../../../../core_api/src/fmod_output_winsonic.cpp
../../../../../../core_api/src/fmod_output_winsonic.h
../../../../../../core_api/src/fmod_output_winsonic_compat.h
../../../../../../core_api/src/fmod_outputi.h
../../../../../../core_api/src/fmod_pan.cpp
../../../../../../core_api/src/fmod_pan.h
../../../../../../core_api/src/fmod_pluginfactory.cpp
../../../../../../core_api/src/fmod_pluginfactory.h
../../../../../../core_api/src/fmod_poolallocator.h
../../../../../../core_api/src/fmod_profile.cpp
../../../../../../core_api/src/fmod_profile.h
../../../../../../core_api/src/fmod_profile_channel_pkt.h
../../../../../../core_api/src/fmod_profile_client.cpp
../../../../../../core_api/src/fmod_profile_client.h
../../../../../../core_api/src/fmod_profile_codec_pkt.h
../../../../../../core_api/src/fmod_profile_cpu_pkt.h
../../../../../../core_api/src/fmod_profile_dsp.cpp
../../../../../../core_api/src/fmod_profile_dsp.h
../../../../../../core_api/src/fmod_profile_dsp_pkt.h
../../../../../../core_api/src/fmod_profile_group_pkt.h
../../../../../../core_api/src/fmod_profile_markers.cpp
../../../../../../core_api/src/fmod_profile_markers.h
../../../../../../core_api/src/fmod_profile_pkt.h
../../../../../../core_api/src/fmod_profile_remotefile.cpp
../../../../../../core_api/src/fmod_profile_remotefile.h
../../../../../../core_api/src/fmod_profile_remotefile_pkt.h
../../../../../../core_api/src/fmod_profile_stats.cpp
../../../../../../core_api/src/fmod_profile_stats.h
../../../../../../core_api/src/fmod_profile_stats_pkt.h
../../../../../../core_api/src/fmod_random.h
../../../../../../core_api/src/fmod_reverb.cpp
../../../../../../core_api/src/fmod_reverbi.cpp
../../../../../../core_api/src/fmod_reverbi.h
../../../../../../core_api/src/fmod_rootsignature.hlsl
../../../../../../core_api/src/fmod_sample_software.cpp
../../../../../../core_api/src/fmod_sample_software.h
../../../../../../core_api/src/fmod_settings.h
../../../../../../core_api/src/fmod_shader_compat.hlsli
../../../../../../core_api/src/fmod_simd_util_sse.h
../../../../../../core_api/src/fmod_sound.cpp
../../../../../../core_api/src/fmod_sound_sample.cpp
../../../../../../core_api/src/fmod_sound_sample.h
../../../../../../core_api/src/fmod_sound_stream.cpp
../../../../../../core_api/src/fmod_sound_stream.h
../../../../../../core_api/src/fmod_soundgroup.cpp
../../../../../../core_api/src/fmod_soundgroupi.cpp
../../../../../../core_api/src/fmod_soundgroupi.h
../../../../../../core_api/src/fmod_soundi.cpp
../../../../../../core_api/src/fmod_soundi.h
../../../../../../core_api/src/fmod_speakermap.h
../../../../../../core_api/src/fmod_string.cpp
../../../../../../core_api/src/fmod_string.h
../../../../../../core_api/src/fmod_stringw.cpp
../../../../../../core_api/src/fmod_stringw.h
../../../../../../core_api/src/fmod_syncpoint.h
../../../../../../core_api/src/fmod_system.cpp
../../../../../../core_api/src/fmod_systemi.cpp
../../../../../../core_api/src/fmod_systemi.h
../../../../../../core_api/src/fmod_systemi_channel.cpp
../../../../../../core_api/src/fmod_systemi_driver.cpp
../../../../../../core_api/src/fmod_systemi_dsp.cpp
../../../../../../core_api/src/fmod_systemi_fft.cpp
../../../../../../core_api/src/fmod_systemi_sound.cpp
../../../../../../core_api/src/fmod_systemi_speaker.cpp
../../../../../../core_api/src/fmod_systemi_thread.cpp
../../../../../../core_api/src/fmod_systemi_update.cpp
../../../../../../core_api/src/fmod_thread.cpp
../../../../../../core_api/src/fmod_thread.h
../../../../../../core_api/src/fmod_threadsafe.cpp
../../../../../../core_api/src/fmod_threadsafe.h
../../../../../../core_api/src/fmod_time.cpp
../../../../../../core_api/src/fmod_time.h
../../../../../../core_api/src/fmod_types.h
../../../../../../examples/platforms/linux/src/common_platform.cpp
../../../../../../examples/platforms/linux/src/common_platform.h
../../../../../../examples/src/autotest.cpp
../../../../../../examples/src/common.cpp
../../../../../../examples/src/common.h
../../../../../../examples/src/common_dx12.cpp
../../../../../../examples/src/common_dx12.h
../../../../../../examples/src/common_dx12_ps.h
../../../../../../examples/src/common_dx12_vs.h
../../../../../../examples/src/common_font_glyphs.h
../../../../../../examples/src/common_font_texture.h
../../../../../../examples/src/common_vulkan.cpp
../../../../../../examples/src/common_vulkan.h
../../../../../../examples/src/common_vulkan_fs.h
../../../../../../examples/src/common_vulkan_vs.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/assert.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/callback.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/export.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/format.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/ordinals.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/stream_decoder.h
../../../../../../external/decoders/flac-1.2.1/include/share/alloc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitmath.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitreader.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/cpu.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/crc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/fixed.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/format.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/lpc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/md5.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/memory.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/stream_decoder.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/nasm.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitmath.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitreader.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/cpu.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/crc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/fixed.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/float.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/format.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/lpc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/md5.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/memory.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/protected/stream_decoder.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/ogg.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/os_types.h
../../../../../../external/decoders/ogg_vorbis/ogg/src/bitwise.c
../../../../../../external/decoders/ogg_vorbis/ogg/src/framing.c
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/codec.h
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/vorbisfile.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/backends.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/block.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codec_internal.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/floor1.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/highlevel.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/info.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup_data.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mapping0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/masking.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/misc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/os.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/psy.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/res0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/scales.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/sharedbook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/synthesis.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/vorbisfile.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/floor_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/psych_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/residue_44.h
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.c
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_codec.h
../../../../../../external/decoders/tremor_lowmem/tremor_codec_internal.h
../../../../../../external/decoders/tremor_lowmem/tremor_dsp.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_info.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx512.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct.h
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_misc.h
../../../../../../external/decoders/tremor_lowmem/tremor_os.h
../../../../../../external/decoders/tremor_lowmem/tremor_os_types.h
../../../../../../external/decoders/tremor_lowmem/tremor_res012.c
../../../../../../external/decoders/tremor_lowmem/tremor_window_lookup.h
../../../../../../external/misc/dlmalloc/dlmalloc.cpp
../../../../../../external/misc/dlmalloc/dlmalloc.h
../make/dsp_inspector.makefile
../dsp_inspector.cpp

View file

@ -0,0 +1,6 @@
../../../../../../examples/src
../../../../../../examples/platforms/linux/src
../../../../../src
../../../../../../external/misc
../../../../../../external/dsps
../../../../../../external/decoders

View file

@ -0,0 +1,237 @@
/*==============================================================================
Effects Example
Copyright (c), Firelight Technologies Pty, Ltd 2004-2025.
This example shows how to apply some of the built in software effects to sounds
by applying them to the master channel group. All software sounds played here
would be filtered in the same way. To filter per channel, and not have other
channels affected, simply apply the same functions to the FMOD::Channel instead
of the FMOD::ChannelGroup.
For information on using FMOD example code in your own programs, visit
https://www.fmod.com/legal
==============================================================================*/
#include "fmod.hpp"
#include "common.h"
int FMOD_Main()
{
FMOD::System *system = 0;
FMOD::Sound *sound = 0;
FMOD::Channel *channel = 0;
FMOD::ChannelGroup *mastergroup = 0;
FMOD::DSP *dsplowpass = 0;
FMOD::DSP *dsphighpass = 0;
FMOD::DSP *dspecho = 0;
FMOD::DSP *dspflange = 0;
FMOD_RESULT result;
void *extradriverdata = 0;
Common_Init(&extradriverdata);
/*
Create a System object and initialize
*/
result = FMOD::System_Create(&system);
ERRCHECK(result);
result = system->init(32, FMOD_INIT_NORMAL, extradriverdata);
ERRCHECK(result);
result = system->getMasterChannelGroup(&mastergroup);
ERRCHECK(result);
result = system->createSound(Common_MediaPath("drumloop.wav"), FMOD_DEFAULT, 0, &sound);
ERRCHECK(result);
result = system->playSound(sound, 0, false, &channel);
ERRCHECK(result);
/*
Create some effects to play with
*/
result = system->createDSPByType(FMOD_DSP_TYPE_LOWPASS, &dsplowpass);
ERRCHECK(result);
result = system->createDSPByType(FMOD_DSP_TYPE_HIGHPASS, &dsphighpass);
ERRCHECK(result);
result = system->createDSPByType(FMOD_DSP_TYPE_ECHO, &dspecho);
ERRCHECK(result);
result = system->createDSPByType(FMOD_DSP_TYPE_FLANGE, &dspflange);
ERRCHECK(result);
/*
Add them to the master channel group. Each time an effect is added (to position 0) it pushes the others down the list.
*/
result = mastergroup->addDSP(0, dsplowpass);
ERRCHECK(result);
result = mastergroup->addDSP(0, dsphighpass);
ERRCHECK(result);
result = mastergroup->addDSP(0, dspecho);
ERRCHECK(result);
result = mastergroup->addDSP(0, dspflange);
ERRCHECK(result);
/*
By default, bypass all effects. This means let the original signal go through without processing.
It will sound 'dry' until effects are enabled by the user.
*/
result = dsplowpass->setBypass(true);
ERRCHECK(result);
result = dsphighpass->setBypass(true);
ERRCHECK(result);
result = dspecho->setBypass(true);
ERRCHECK(result);
result = dspflange->setBypass(true);
ERRCHECK(result);
/*
Main loop
*/
do
{
Common_Update();
if (Common_BtnPress(BTN_MORE))
{
bool paused;
result = channel->getPaused(&paused);
ERRCHECK(result);
paused = !paused;
result = channel->setPaused(paused);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_ACTION1))
{
bool bypass;
result = dsplowpass->getBypass(&bypass);
ERRCHECK(result);
bypass = !bypass;
result = dsplowpass->setBypass(bypass);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_ACTION2))
{
bool bypass;
result = dsphighpass->getBypass(&bypass);
ERRCHECK(result);
bypass = !bypass;
result = dsphighpass->setBypass(bypass);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_ACTION3))
{
bool bypass;
result = dspecho->getBypass(&bypass);
ERRCHECK(result);
bypass = !bypass;
result = dspecho->setBypass(bypass);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_ACTION4))
{
bool bypass;
result = dspflange->getBypass(&bypass);
ERRCHECK(result);
bypass = !bypass;
result = dspflange->setBypass(bypass);
ERRCHECK(result);
}
result = system->update();
ERRCHECK(result);
{
bool paused = 0;
bool dsplowpass_bypass;
bool dsphighpass_bypass;
bool dspecho_bypass;
bool dspflange_bypass;
dsplowpass ->getBypass(&dsplowpass_bypass);
dsphighpass ->getBypass(&dsphighpass_bypass);
dspecho ->getBypass(&dspecho_bypass);
dspflange ->getBypass(&dspflange_bypass);
if (channel)
{
result = channel->getPaused(&paused);
if ((result != FMOD_OK) && (result != FMOD_ERR_INVALID_HANDLE) && (result != FMOD_ERR_CHANNEL_STOLEN))
{
ERRCHECK(result);
}
}
Common_Draw("==================================================");
Common_Draw("Effects Example.");
Common_Draw("Copyright (c) Firelight Technologies 2004-2025.");
Common_Draw("==================================================");
Common_Draw("");
Common_Draw("Press %s to pause/unpause sound", Common_BtnStr(BTN_MORE));
Common_Draw("Press %s to toggle dsplowpass effect", Common_BtnStr(BTN_ACTION1));
Common_Draw("Press %s to toggle dsphighpass effect", Common_BtnStr(BTN_ACTION2));
Common_Draw("Press %s to toggle dspecho effect", Common_BtnStr(BTN_ACTION3));
Common_Draw("Press %s to toggle dspflange effect", Common_BtnStr(BTN_ACTION4));
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
Common_Draw("");
Common_Draw("%s : lowpass[%c] highpass[%c] echo[%c] flange[%c]",
paused ? "Paused " : "Playing",
dsplowpass_bypass ? ' ' : 'x',
dsphighpass_bypass ? ' ' : 'x',
dspecho_bypass ? ' ' : 'x',
dspflange_bypass ? ' ' : 'x');
}
Common_Sleep(50);
} while (!Common_BtnPress(BTN_QUIT));
/*
Shut down
*/
result = mastergroup->removeDSP(dsplowpass);
ERRCHECK(result);
result = mastergroup->removeDSP(dsphighpass);
ERRCHECK(result);
result = mastergroup->removeDSP(dspecho);
ERRCHECK(result);
result = mastergroup->removeDSP(dspflange);
ERRCHECK(result);
result = dsplowpass->release();
ERRCHECK(result);
result = dsphighpass->release();
ERRCHECK(result);
result = dspecho->release();
ERRCHECK(result);
result = dspflange->release();
ERRCHECK(result);
result = sound->release();
ERRCHECK(result);
result = system->close();
ERRCHECK(result);
result = system->release();
ERRCHECK(result);
Common_Close();
return 0;
}

View file

@ -0,0 +1 @@
-std=c17 -fPIC -fno-trapping-math

View file

@ -0,0 +1 @@
#define FMOD_USE_PLATFORM_HEADERS

View file

@ -0,0 +1,442 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{71064a00-ba92-4c03-affd-e7f374fa3265}</value>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{22e4ca2b-856c-4a9e-96b1-3ef2b55f3da9}</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.4">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=address</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Address Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.5">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=memory</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Memory Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.6">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=thread</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Thread Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.7">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f effects.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=undefined</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Undefined Behaviour Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">8</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">%{buildDir}/effects</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseTerminal">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory">%{buildDir}/../../../../../examples/media</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View file

@ -0,0 +1 @@
-std=c++17 -fPIC -fno-trapping-math

View file

@ -0,0 +1,514 @@
../../../../../../core_api/src/fmod.cpp
../../../../../../core_api/src/fmod.cs
../../../../../../core_api/src/fmod.h
../../../../../../core_api/src/fmod.hpp
../../../../../../core_api/src/fmod5.cpp
../../../../../../core_api/src/fmod_3d.h
../../../../../../core_api/src/fmod_array.h
../../../../../../core_api/src/fmod_asm_macros.m4
../../../../../../core_api/src/fmod_async.cpp
../../../../../../core_api/src/fmod_async.h
../../../../../../core_api/src/fmod_atomic.h
../../../../../../core_api/src/fmod_atomic_c11.h
../../../../../../core_api/src/fmod_atomic_clang.h
../../../../../../core_api/src/fmod_atomic_cpp11.h
../../../../../../core_api/src/fmod_atomic_gcc.h
../../../../../../core_api/src/fmod_atomic_legacy.h
../../../../../../core_api/src/fmod_autocleanup.h
../../../../../../core_api/src/fmod_channel.cpp
../../../../../../core_api/src/fmod_channel_emulated.h
../../../../../../core_api/src/fmod_channel_real.cpp
../../../../../../core_api/src/fmod_channel_real.h
../../../../../../core_api/src/fmod_channel_software.cpp
../../../../../../core_api/src/fmod_channel_software.h
../../../../../../core_api/src/fmod_channel_stream.cpp
../../../../../../core_api/src/fmod_channel_stream.h
../../../../../../core_api/src/fmod_channelcontrol.cpp
../../../../../../core_api/src/fmod_channelcontroli.cpp
../../../../../../core_api/src/fmod_channelcontroli.h
../../../../../../core_api/src/fmod_channelgroup.cpp
../../../../../../core_api/src/fmod_channelgroupi.cpp
../../../../../../core_api/src/fmod_channelgroupi.h
../../../../../../core_api/src/fmod_channeli.cpp
../../../../../../core_api/src/fmod_channeli.h
../../../../../../core_api/src/fmod_channelpool.h
../../../../../../core_api/src/fmod_codec.cpp
../../../../../../core_api/src/fmod_codec.h
../../../../../../core_api/src/fmod_codec_aiff.cpp
../../../../../../core_api/src/fmod_codec_aiff.h
../../../../../../core_api/src/fmod_codec_dls.cpp
../../../../../../core_api/src/fmod_codec_dls.h
../../../../../../core_api/src/fmod_codec_fadpcm.cpp
../../../../../../core_api/src/fmod_codec_fadpcm.h
../../../../../../core_api/src/fmod_codec_fadpcm_arm.m4
../../../../../../core_api/src/fmod_codec_flac.cpp
../../../../../../core_api/src/fmod_codec_flac.h
../../../../../../core_api/src/fmod_codec_fsb5.cpp
../../../../../../core_api/src/fmod_codec_fsb5.h
../../../../../../core_api/src/fmod_codec_fsbvorbis.cpp
../../../../../../core_api/src/fmod_codec_fsbvorbis.h
../../../../../../core_api/src/fmod_codec_fsbvorbis_books.cpp
../../../../../../core_api/src/fmod_codec_it.cpp
../../../../../../core_api/src/fmod_codec_it.h
../../../../../../core_api/src/fmod_codec_midi.cpp
../../../../../../core_api/src/fmod_codec_midi.h
../../../../../../core_api/src/fmod_codec_mod.cpp
../../../../../../core_api/src/fmod_codec_mod.h
../../../../../../core_api/src/fmod_codec_mpeg.cpp
../../../../../../core_api/src/fmod_codec_mpeg.h
../../../../../../core_api/src/fmod_codec_mpeg_decode.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer2.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer3.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.h
../../../../../../core_api/src/fmod_codec_playlist.cpp
../../../../../../core_api/src/fmod_codec_playlist.h
../../../../../../core_api/src/fmod_codec_raw.cpp
../../../../../../core_api/src/fmod_codec_raw.h
../../../../../../core_api/src/fmod_codec_s3m.cpp
../../../../../../core_api/src/fmod_codec_s3m.h
../../../../../../core_api/src/fmod_codec_tag.cpp
../../../../../../core_api/src/fmod_codec_tag.h
../../../../../../core_api/src/fmod_codec_user.cpp
../../../../../../core_api/src/fmod_codec_user.h
../../../../../../core_api/src/fmod_codec_wav.cpp
../../../../../../core_api/src/fmod_codec_wav.h
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.cpp
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.h
../../../../../../core_api/src/fmod_codec_wav_riff.cpp
../../../../../../core_api/src/fmod_codec_xm.cpp
../../../../../../core_api/src/fmod_codec_xm.h
../../../../../../core_api/src/fmod_codeci.h
../../../../../../core_api/src/fmod_common.h
../../../../../../core_api/src/fmod_complex.hlsli
../../../../../../core_api/src/fmod_convolution.hlsl
../../../../../../core_api/src/fmod_debug.cpp
../../../../../../core_api/src/fmod_debug.h
../../../../../../core_api/src/fmod_downmix.cpp
../../../../../../core_api/src/fmod_downmix.h
../../../../../../core_api/src/fmod_downmix_dolby_pl2.cpp
../../../../../../core_api/src/fmod_downmix_dolby_pl2.h
../../../../../../core_api/src/fmod_dsp.cpp
../../../../../../core_api/src/fmod_dsp.cs
../../../../../../core_api/src/fmod_dsp.h
../../../../../../core_api/src/fmod_dsp_biquad.cpp
../../../../../../core_api/src/fmod_dsp_biquad.h
../../../../../../core_api/src/fmod_dsp_channelmix.cpp
../../../../../../core_api/src/fmod_dsp_channelmix.h
../../../../../../core_api/src/fmod_dsp_chorus.cpp
../../../../../../core_api/src/fmod_dsp_chorus.h
../../../../../../core_api/src/fmod_dsp_codec.cpp
../../../../../../core_api/src/fmod_dsp_codec.h
../../../../../../core_api/src/fmod_dsp_codecpool.cpp
../../../../../../core_api/src/fmod_dsp_codecpool.h
../../../../../../core_api/src/fmod_dsp_compressor.cpp
../../../../../../core_api/src/fmod_dsp_compressor.h
../../../../../../core_api/src/fmod_dsp_compressor_noopt.cpp
../../../../../../core_api/src/fmod_dsp_compressor_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection.cpp
../../../../../../core_api/src/fmod_dsp_connection_arm.cpp
../../../../../../core_api/src/fmod_dsp_connection_avx.cpp
../../../../../../core_api/src/fmod_dsp_connection_neon.cpp
../../../../../../core_api/src/fmod_dsp_connection_noopt.cpp
../../../../../../core_api/src/fmod_dsp_connection_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection_vfp.m4
../../../../../../core_api/src/fmod_dsp_connectioni.cpp
../../../../../../core_api/src/fmod_dsp_connectioni.h
../../../../../../core_api/src/fmod_dsp_convert.cpp
../../../../../../core_api/src/fmod_dsp_convert.h
../../../../../../core_api/src/fmod_dsp_convert_avx.cpp
../../../../../../core_api/src/fmod_dsp_convert_noopt.cpp
../../../../../../core_api/src/fmod_dsp_convert_sse.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.h
../../../../../../core_api/src/fmod_dsp_convolutionreverb_async.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_avx.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_cpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_gpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_neon.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_sse.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.h
../../../../../../core_api/src/fmod_dsp_delay.cpp
../../../../../../core_api/src/fmod_dsp_delay.h
../../../../../../core_api/src/fmod_dsp_distortion.cpp
../../../../../../core_api/src/fmod_dsp_distortion.h
../../../../../../core_api/src/fmod_dsp_echo.cpp
../../../../../../core_api/src/fmod_dsp_echo.h
../../../../../../core_api/src/fmod_dsp_echo_noopt.cpp
../../../../../../core_api/src/fmod_dsp_echo_sse.cpp
../../../../../../core_api/src/fmod_dsp_effects.h
../../../../../../core_api/src/fmod_dsp_emulated.cpp
../../../../../../core_api/src/fmod_dsp_emulated.h
../../../../../../core_api/src/fmod_dsp_fader.cpp
../../../../../../core_api/src/fmod_dsp_fader.h
../../../../../../core_api/src/fmod_dsp_fft.cpp
../../../../../../core_api/src/fmod_dsp_fft.h
../../../../../../core_api/src/fmod_dsp_flange.cpp
../../../../../../core_api/src/fmod_dsp_flange.h
../../../../../../core_api/src/fmod_dsp_highpass.cpp
../../../../../../core_api/src/fmod_dsp_highpass.h
../../../../../../core_api/src/fmod_dsp_highpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_highpass_simple.h
../../../../../../core_api/src/fmod_dsp_interleave_noopt.cpp
../../../../../../core_api/src/fmod_dsp_interleave_sse.cpp
../../../../../../core_api/src/fmod_dsp_itecho.cpp
../../../../../../core_api/src/fmod_dsp_itecho.h
../../../../../../core_api/src/fmod_dsp_limiter.cpp
../../../../../../core_api/src/fmod_dsp_limiter.h
../../../../../../core_api/src/fmod_dsp_loudness_meter.cpp
../../../../../../core_api/src/fmod_dsp_loudness_meter.h
../../../../../../core_api/src/fmod_dsp_lowpass.cpp
../../../../../../core_api/src/fmod_dsp_lowpass.h
../../../../../../core_api/src/fmod_dsp_lowpass2.cpp
../../../../../../core_api/src/fmod_dsp_lowpass2.h
../../../../../../core_api/src/fmod_dsp_lowpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_lowpass_simple.h
../../../../../../core_api/src/fmod_dsp_matrix.cpp
../../../../../../core_api/src/fmod_dsp_matrix.h
../../../../../../core_api/src/fmod_dsp_metering_noopt.cpp
../../../../../../core_api/src/fmod_dsp_metering_sse.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.h
../../../../../../core_api/src/fmod_dsp_multiband_eq.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq.h
../../../../../../core_api/src/fmod_dsp_multiband_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_normalize.cpp
../../../../../../core_api/src/fmod_dsp_normalize.h
../../../../../../core_api/src/fmod_dsp_objectpan.cpp
../../../../../../core_api/src/fmod_dsp_objectpan.h
../../../../../../core_api/src/fmod_dsp_oscillator.cpp
../../../../../../core_api/src/fmod_dsp_oscillator.h
../../../../../../core_api/src/fmod_dsp_pan.cpp
../../../../../../core_api/src/fmod_dsp_pan.h
../../../../../../core_api/src/fmod_dsp_parameq.cpp
../../../../../../core_api/src/fmod_dsp_parameq.h
../../../../../../core_api/src/fmod_dsp_pitchshift.cpp
../../../../../../core_api/src/fmod_dsp_pitchshift.h
../../../../../../core_api/src/fmod_dsp_porthead.cpp
../../../../../../core_api/src/fmod_dsp_porthead.h
../../../../../../core_api/src/fmod_dsp_resampler.cpp
../../../../../../core_api/src/fmod_dsp_resampler.h
../../../../../../core_api/src/fmod_dsp_resampler_cubic.cpp
../../../../../../core_api/src/fmod_dsp_resampler_cubic.h
../../../../../../core_api/src/fmod_dsp_resampler_linear.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear.h
../../../../../../core_api/src/fmod_dsp_resampler_linear_arm.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx2.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx512.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_neon.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_vfp.m4
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.h
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.h
../../../../../../core_api/src/fmod_dsp_return.cpp
../../../../../../core_api/src/fmod_dsp_return.h
../../../../../../core_api/src/fmod_dsp_send.cpp
../../../../../../core_api/src/fmod_dsp_send.h
../../../../../../core_api/src/fmod_dsp_sfxreverb.cpp
../../../../../../core_api/src/fmod_dsp_sfxreverb.h
../../../../../../core_api/src/fmod_dsp_source.cpp
../../../../../../core_api/src/fmod_dsp_source.h
../../../../../../core_api/src/fmod_dsp_three_eq.cpp
../../../../../../core_api/src/fmod_dsp_three_eq.h
../../../../../../core_api/src/fmod_dsp_three_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_noopt.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.h
../../../../../../core_api/src/fmod_dsp_tremolo.cpp
../../../../../../core_api/src/fmod_dsp_tremolo.h
../../../../../../core_api/src/fmod_dsp_wavetable.cpp
../../../../../../core_api/src/fmod_dsp_wavetable.h
../../../../../../core_api/src/fmod_dspi.cpp
../../../../../../core_api/src/fmod_dspi.h
../../../../../../core_api/src/fmod_endian.h
../../../../../../core_api/src/fmod_errors.cs
../../../../../../core_api/src/fmod_errors.h
../../../../../../core_api/src/fmod_expandingpool.cpp
../../../../../../core_api/src/fmod_expandingpool.h
../../../../../../core_api/src/fmod_fft.cpp
../../../../../../core_api/src/fmod_fft.h
../../../../../../core_api/src/fmod_fft_0.hlsl
../../../../../../core_api/src/fmod_fft_1.hlsl
../../../../../../core_api/src/fmod_fft_common.hlsli
../../../../../../core_api/src/fmod_fft_noopt.cpp
../../../../../../core_api/src/fmod_fft_sse.cpp
../../../../../../core_api/src/fmod_file.cpp
../../../../../../core_api/src/fmod_file.h
../../../../../../core_api/src/fmod_file_disk.cpp
../../../../../../core_api/src/fmod_file_disk.h
../../../../../../core_api/src/fmod_file_memory.cpp
../../../../../../core_api/src/fmod_file_memory.h
../../../../../../core_api/src/fmod_file_net.cpp
../../../../../../core_api/src/fmod_file_net.h
../../../../../../core_api/src/fmod_file_null.cpp
../../../../../../core_api/src/fmod_file_null.h
../../../../../../core_api/src/fmod_file_remote.cpp
../../../../../../core_api/src/fmod_file_remote.h
../../../../../../core_api/src/fmod_file_user.cpp
../../../../../../core_api/src/fmod_file_user.h
../../../../../../core_api/src/fmod_format.cpp
../../../../../../core_api/src/fmod_format.h
../../../../../../core_api/src/fmod_freelist.h
../../../../../../core_api/src/fmod_geometry.cpp
../../../../../../core_api/src/fmod_geometry_mgr.cpp
../../../../../../core_api/src/fmod_geometry_mgr.h
../../../../../../core_api/src/fmod_geometryi.cpp
../../../../../../core_api/src/fmod_geometryi.h
../../../../../../core_api/src/fmod_globals.cpp
../../../../../../core_api/src/fmod_globals.h
../../../../../../core_api/src/fmod_gpu_compute.cpp
../../../../../../core_api/src/fmod_gpu_compute.h
../../../../../../core_api/src/fmod_ifft_0.hlsl
../../../../../../core_api/src/fmod_ifft_1.hlsl
../../../../../../core_api/src/fmod_iterator.h
../../../../../../core_api/src/fmod_linkedlist.h
../../../../../../core_api/src/fmod_listener.cpp
../../../../../../core_api/src/fmod_listener.h
../../../../../../core_api/src/fmod_localcriticalsection.h
../../../../../../core_api/src/fmod_map.h
../../../../../../core_api/src/fmod_memory.cpp
../../../../../../core_api/src/fmod_memory.h
../../../../../../core_api/src/fmod_memory_tracking.cpp
../../../../../../core_api/src/fmod_memory_tracking.h
../../../../../../core_api/src/fmod_metadata.cpp
../../../../../../core_api/src/fmod_metadata.h
../../../../../../core_api/src/fmod_mode.h
../../../../../../core_api/src/fmod_music.cpp
../../../../../../core_api/src/fmod_music.h
../../../../../../core_api/src/fmod_net.cpp
../../../../../../core_api/src/fmod_net.h
../../../../../../core_api/src/fmod_octree.cpp
../../../../../../core_api/src/fmod_octree.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.m4
../../../../../../core_api/src/fmod_os_atomic_gcc_arm64.h
../../../../../../core_api/src/fmod_os_atomic_gcc_x86.h
../../../../../../core_api/src/fmod_os_misc.h
../../../../../../core_api/src/fmod_os_net.h
../../../../../../core_api/src/fmod_os_net_posix.cpp
../../../../../../core_api/src/fmod_os_net_winsock.cpp
../../../../../../core_api/src/fmod_os_output.h
../../../../../../core_api/src/fmod_output.cpp
../../../../../../core_api/src/fmod_output.h
../../../../../../core_api/src/fmod_output_emulated.h
../../../../../../core_api/src/fmod_output_nosound.cpp
../../../../../../core_api/src/fmod_output_nosound.h
../../../../../../core_api/src/fmod_output_nosound_nrt.cpp
../../../../../../core_api/src/fmod_output_nosound_nrt.h
../../../../../../core_api/src/fmod_output_phase.h
../../../../../../core_api/src/fmod_output_phase.mm
../../../../../../core_api/src/fmod_output_software.cpp
../../../../../../core_api/src/fmod_output_software.h
../../../../../../core_api/src/fmod_output_wavwriter.cpp
../../../../../../core_api/src/fmod_output_wavwriter.h
../../../../../../core_api/src/fmod_output_wavwriter_nrt.cpp
../../../../../../core_api/src/fmod_output_wavwriter_nrt.h
../../../../../../core_api/src/fmod_output_winsonic.cpp
../../../../../../core_api/src/fmod_output_winsonic.h
../../../../../../core_api/src/fmod_output_winsonic_compat.h
../../../../../../core_api/src/fmod_outputi.h
../../../../../../core_api/src/fmod_pan.cpp
../../../../../../core_api/src/fmod_pan.h
../../../../../../core_api/src/fmod_pluginfactory.cpp
../../../../../../core_api/src/fmod_pluginfactory.h
../../../../../../core_api/src/fmod_poolallocator.h
../../../../../../core_api/src/fmod_profile.cpp
../../../../../../core_api/src/fmod_profile.h
../../../../../../core_api/src/fmod_profile_channel_pkt.h
../../../../../../core_api/src/fmod_profile_client.cpp
../../../../../../core_api/src/fmod_profile_client.h
../../../../../../core_api/src/fmod_profile_codec_pkt.h
../../../../../../core_api/src/fmod_profile_cpu_pkt.h
../../../../../../core_api/src/fmod_profile_dsp.cpp
../../../../../../core_api/src/fmod_profile_dsp.h
../../../../../../core_api/src/fmod_profile_dsp_pkt.h
../../../../../../core_api/src/fmod_profile_group_pkt.h
../../../../../../core_api/src/fmod_profile_markers.cpp
../../../../../../core_api/src/fmod_profile_markers.h
../../../../../../core_api/src/fmod_profile_pkt.h
../../../../../../core_api/src/fmod_profile_remotefile.cpp
../../../../../../core_api/src/fmod_profile_remotefile.h
../../../../../../core_api/src/fmod_profile_remotefile_pkt.h
../../../../../../core_api/src/fmod_profile_stats.cpp
../../../../../../core_api/src/fmod_profile_stats.h
../../../../../../core_api/src/fmod_profile_stats_pkt.h
../../../../../../core_api/src/fmod_random.h
../../../../../../core_api/src/fmod_reverb.cpp
../../../../../../core_api/src/fmod_reverbi.cpp
../../../../../../core_api/src/fmod_reverbi.h
../../../../../../core_api/src/fmod_rootsignature.hlsl
../../../../../../core_api/src/fmod_sample_software.cpp
../../../../../../core_api/src/fmod_sample_software.h
../../../../../../core_api/src/fmod_settings.h
../../../../../../core_api/src/fmod_shader_compat.hlsli
../../../../../../core_api/src/fmod_simd_util_sse.h
../../../../../../core_api/src/fmod_sound.cpp
../../../../../../core_api/src/fmod_sound_sample.cpp
../../../../../../core_api/src/fmod_sound_sample.h
../../../../../../core_api/src/fmod_sound_stream.cpp
../../../../../../core_api/src/fmod_sound_stream.h
../../../../../../core_api/src/fmod_soundgroup.cpp
../../../../../../core_api/src/fmod_soundgroupi.cpp
../../../../../../core_api/src/fmod_soundgroupi.h
../../../../../../core_api/src/fmod_soundi.cpp
../../../../../../core_api/src/fmod_soundi.h
../../../../../../core_api/src/fmod_speakermap.h
../../../../../../core_api/src/fmod_string.cpp
../../../../../../core_api/src/fmod_string.h
../../../../../../core_api/src/fmod_stringw.cpp
../../../../../../core_api/src/fmod_stringw.h
../../../../../../core_api/src/fmod_syncpoint.h
../../../../../../core_api/src/fmod_system.cpp
../../../../../../core_api/src/fmod_systemi.cpp
../../../../../../core_api/src/fmod_systemi.h
../../../../../../core_api/src/fmod_systemi_channel.cpp
../../../../../../core_api/src/fmod_systemi_driver.cpp
../../../../../../core_api/src/fmod_systemi_dsp.cpp
../../../../../../core_api/src/fmod_systemi_fft.cpp
../../../../../../core_api/src/fmod_systemi_sound.cpp
../../../../../../core_api/src/fmod_systemi_speaker.cpp
../../../../../../core_api/src/fmod_systemi_thread.cpp
../../../../../../core_api/src/fmod_systemi_update.cpp
../../../../../../core_api/src/fmod_thread.cpp
../../../../../../core_api/src/fmod_thread.h
../../../../../../core_api/src/fmod_threadsafe.cpp
../../../../../../core_api/src/fmod_threadsafe.h
../../../../../../core_api/src/fmod_time.cpp
../../../../../../core_api/src/fmod_time.h
../../../../../../core_api/src/fmod_types.h
../../../../../../examples/platforms/linux/src/common_platform.cpp
../../../../../../examples/platforms/linux/src/common_platform.h
../../../../../../examples/src/autotest.cpp
../../../../../../examples/src/common.cpp
../../../../../../examples/src/common.h
../../../../../../examples/src/common_dx12.cpp
../../../../../../examples/src/common_dx12.h
../../../../../../examples/src/common_dx12_ps.h
../../../../../../examples/src/common_dx12_vs.h
../../../../../../examples/src/common_font_glyphs.h
../../../../../../examples/src/common_font_texture.h
../../../../../../examples/src/common_vulkan.cpp
../../../../../../examples/src/common_vulkan.h
../../../../../../examples/src/common_vulkan_fs.h
../../../../../../examples/src/common_vulkan_vs.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/assert.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/callback.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/export.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/format.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/ordinals.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/stream_decoder.h
../../../../../../external/decoders/flac-1.2.1/include/share/alloc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitmath.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitreader.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/cpu.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/crc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/fixed.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/format.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/lpc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/md5.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/memory.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/stream_decoder.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/nasm.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitmath.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitreader.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/cpu.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/crc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/fixed.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/float.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/format.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/lpc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/md5.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/memory.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/protected/stream_decoder.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/ogg.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/os_types.h
../../../../../../external/decoders/ogg_vorbis/ogg/src/bitwise.c
../../../../../../external/decoders/ogg_vorbis/ogg/src/framing.c
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/codec.h
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/vorbisfile.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/backends.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/block.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codec_internal.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/floor1.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/highlevel.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/info.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup_data.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mapping0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/masking.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/misc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/os.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/psy.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/res0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/scales.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/sharedbook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/synthesis.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/vorbisfile.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/floor_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/psych_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/residue_44.h
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.c
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_codec.h
../../../../../../external/decoders/tremor_lowmem/tremor_codec_internal.h
../../../../../../external/decoders/tremor_lowmem/tremor_dsp.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_info.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx512.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct.h
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_misc.h
../../../../../../external/decoders/tremor_lowmem/tremor_os.h
../../../../../../external/decoders/tremor_lowmem/tremor_os_types.h
../../../../../../external/decoders/tremor_lowmem/tremor_res012.c
../../../../../../external/decoders/tremor_lowmem/tremor_window_lookup.h
../../../../../../external/misc/dlmalloc/dlmalloc.cpp
../../../../../../external/misc/dlmalloc/dlmalloc.h
../make/effects.makefile
../effects.cpp

View file

@ -0,0 +1,6 @@
../../../../../../examples/src
../../../../../../examples/platforms/linux/src
../../../../../src
../../../../../../external/misc
../../../../../../external/dsps
../../../../../../external/decoders

View file

@ -0,0 +1,269 @@
/*==============================================================================
Gapless Playback Example
Copyright (c), Firelight Technologies Pty, Ltd 2004-2025.
This example shows how to schedule channel playback into the future with sample
accuracy. Use several scheduled channels to synchronize 2 or more sounds.
For information on using FMOD example code in your own programs, visit
https://www.fmod.com/legal
==============================================================================*/
#include "fmod.hpp"
#include "common.h"
enum NOTE
{
NOTE_C,
NOTE_D,
NOTE_E,
};
NOTE note[] =
{
NOTE_E, /* Ma- */
NOTE_D, /* ry */
NOTE_C, /* had */
NOTE_D, /* a */
NOTE_E, /* lit- */
NOTE_E, /* tle */
NOTE_E, /* lamb, */
NOTE_E, /* ..... */
NOTE_D, /* lit- */
NOTE_D, /* tle */
NOTE_D, /* lamb, */
NOTE_D, /* ..... */
NOTE_E, /* lit- */
NOTE_E, /* tle */
NOTE_E, /* lamb, */
NOTE_E, /* ..... */
NOTE_E, /* Ma- */
NOTE_D, /* ry */
NOTE_C, /* had */
NOTE_D, /* a */
NOTE_E, /* lit- */
NOTE_E, /* tle */
NOTE_E, /* lamb, */
NOTE_E, /* its */
NOTE_D, /* fleece */
NOTE_D, /* was */
NOTE_E, /* white */
NOTE_D, /* as */
NOTE_C, /* snow. */
NOTE_C, /* ..... */
NOTE_C, /* ..... */
NOTE_C, /* ..... */
};
int FMOD_Main()
{
FMOD::System *system;
FMOD::Sound *sound[3];
FMOD::Channel *channel = 0;
FMOD::ChannelGroup *channelgroup = 0;
FMOD_RESULT result;
unsigned int dsp_block_len, count;
int outputrate = 0;
void *extradriverdata = 0;
Common_Init(&extradriverdata);
/*
Create a System object and initialize.
*/
result = FMOD::System_Create(&system);
ERRCHECK(result);
result = system->init(100, FMOD_INIT_NORMAL, extradriverdata);
ERRCHECK(result);
/*
Get information needed later for scheduling. The mixer block size, and the output rate of the mixer.
*/
result = system->getDSPBufferSize(&dsp_block_len, 0);
ERRCHECK(result);
result = system->getSoftwareFormat(&outputrate, 0, 0);
ERRCHECK(result);
/*
Load 3 sounds - these are just sine wave tones at different frequencies. C, D and E on the musical scale.
*/
result = system->createSound(Common_MediaPath("c.ogg"), FMOD_DEFAULT, 0, &sound[NOTE_C]);
ERRCHECK(result);
result = system->createSound(Common_MediaPath("d.ogg"), FMOD_DEFAULT, 0, &sound[NOTE_D]);
ERRCHECK(result);
result = system->createSound(Common_MediaPath("e.ogg"), FMOD_DEFAULT, 0, &sound[NOTE_E]);
ERRCHECK(result);
/*
Create a channelgroup that the channels will play on. We can use this channelgroup as our clock reference.
It also means we can pause and pitch bend the channelgroup, without affecting the offsets of the delays, because the channelgroup clock
which the channels feed off, will be pausing and speeding up/slowing down and still keeping the children in sync.
*/
result = system->createChannelGroup("Parent", &channelgroup);
ERRCHECK(result);
unsigned int numsounds = sizeof(note) / sizeof(note[0]);
/*
Play all the sounds at once! Space them apart with set delay though so that they sound like they play in order.
*/
for (count = 0; count < numsounds; count++)
{
static unsigned long long clock_start = 0;
unsigned int slen;
FMOD::Sound *s = sound[note[count]]; /* Pick a note from our tune. */
result = system->playSound(s, channelgroup, true, &channel); /* Play the sound on the channelgroup we want to use as the parent clock reference (for setDelay further down) */
ERRCHECK(result);
if (!clock_start)
{
result = channel->getDSPClock(0, &clock_start);
ERRCHECK(result);
clock_start += (dsp_block_len * 2); /* Start the sound into the future, by 2 mixer blocks worth. */
/* Should be enough to avoid the mixer catching up and hitting the clock value before we've finished setting up everything. */
/* Alternatively the channelgroup we're basing the clock on could be paused to stop it ticking. */
}
else
{
float freq;
result = s->getLength(&slen, FMOD_TIMEUNIT_PCM); /* Get the length of the sound in samples. */
ERRCHECK(result);
result = s->getDefaults(&freq, 0); /* Get the default frequency that the sound was recorded at. */
ERRCHECK(result);
slen = (unsigned int)((float)slen / freq * outputrate); /* Convert the length of the sound to 'output samples' for the output timeline. */
clock_start += slen; /* Place the sound clock start time to this value after the last one. */
}
result = channel->setDelay(clock_start, 0, false); /* Schedule the channel to start in the future at the newly calculated channelgroup clock value. */
ERRCHECK(result);
result = channel->setPaused(false); /* Unpause the sound. Note that you won't hear the sounds, they are scheduled into the future. */
ERRCHECK(result);
}
/*
Main loop.
*/
do
{
Common_Update();
if (Common_BtnPress(BTN_ACTION1)) /* Pausing the channelgroup as the clock parent, will pause any scheduled sounds from continuing */
{ /* If you paused the channel, this would not stop the clock it is delayed against from ticking, */
bool paused; /* and you'd have to recalculate the delay for the channel into the future again before it was unpaused. */
result = channelgroup->getPaused(&paused);
ERRCHECK(result);
result = channelgroup->setPaused(!paused);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_ACTION2))
{
for (count = 0; count < 50; count++)
{
float pitch;
result = channelgroup->getPitch(&pitch);
ERRCHECK(result);
pitch += 0.01f;
result = channelgroup->setPitch(pitch);
ERRCHECK(result);
result = system->update();
ERRCHECK(result);
Common_Sleep(10);
}
}
if (Common_BtnPress(BTN_ACTION3))
{
for (count = 0; count < 50; count++)
{
float pitch;
result = channelgroup->getPitch(&pitch);
ERRCHECK(result);
if (pitch > 0.1f)
{
pitch -= 0.01f;
}
result = channelgroup->setPitch(pitch);
ERRCHECK(result);
result = system->update();
ERRCHECK(result);
Common_Sleep(10);
}
}
result = system->update();
ERRCHECK(result);
/*
Print some information
*/
{
bool playing = false;
bool paused = false;
int chansplaying;
if (channelgroup)
{
result = channelgroup->isPlaying(&playing);
if ((result != FMOD_OK) && (result != FMOD_ERR_INVALID_HANDLE))
{
ERRCHECK(result);
}
result = channelgroup->getPaused(&paused);
if ((result != FMOD_OK) && (result != FMOD_ERR_INVALID_HANDLE))
{
ERRCHECK(result);
}
}
result = system->getChannelsPlaying(&chansplaying, NULL);
ERRCHECK(result);
Common_Draw("==================================================");
Common_Draw("Gapless Playback example.");
Common_Draw("Copyright (c) Firelight Technologies 2004-2025.");
Common_Draw("==================================================");
Common_Draw("");
Common_Draw("Press %s to toggle pause", Common_BtnStr(BTN_ACTION1));
Common_Draw("Press %s to increase pitch", Common_BtnStr(BTN_ACTION2));
Common_Draw("Press %s to decrease pitch", Common_BtnStr(BTN_ACTION3));
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
Common_Draw("");
Common_Draw("Channels Playing %d : %s", chansplaying, paused ? "Paused " : playing ? "Playing" : "Stopped");
}
Common_Sleep(50);
} while (!Common_BtnPress(BTN_QUIT));
/*
Shut down
*/
result = sound[NOTE_C]->release();
ERRCHECK(result);
result = sound[NOTE_D]->release();
ERRCHECK(result);
result = sound[NOTE_E]->release();
ERRCHECK(result);
result = system->close();
ERRCHECK(result);
result = system->release();
ERRCHECK(result);
Common_Close();
return 0;
}

View file

@ -0,0 +1 @@
-std=c17 -fPIC -fno-trapping-math

View file

@ -0,0 +1 @@
#define FMOD_USE_PLATFORM_HEADERS

View file

@ -0,0 +1,442 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{71064a00-ba92-4c03-affd-e7f374fa3265}</value>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{22e4ca2b-856c-4a9e-96b1-3ef2b55f3da9}</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.4">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=address</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Address Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.5">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=memory</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Memory Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.6">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=thread</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Thread Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.7">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f gapless_playback.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=undefined</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Undefined Behaviour Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">8</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">%{buildDir}/gapless_playback</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseTerminal">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory">%{buildDir}/../../../../../examples/media</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View file

@ -0,0 +1 @@
-std=c++17 -fPIC -fno-trapping-math

View file

@ -0,0 +1,514 @@
../../../../../../core_api/src/fmod.cpp
../../../../../../core_api/src/fmod.cs
../../../../../../core_api/src/fmod.h
../../../../../../core_api/src/fmod.hpp
../../../../../../core_api/src/fmod5.cpp
../../../../../../core_api/src/fmod_3d.h
../../../../../../core_api/src/fmod_array.h
../../../../../../core_api/src/fmod_asm_macros.m4
../../../../../../core_api/src/fmod_async.cpp
../../../../../../core_api/src/fmod_async.h
../../../../../../core_api/src/fmod_atomic.h
../../../../../../core_api/src/fmod_atomic_c11.h
../../../../../../core_api/src/fmod_atomic_clang.h
../../../../../../core_api/src/fmod_atomic_cpp11.h
../../../../../../core_api/src/fmod_atomic_gcc.h
../../../../../../core_api/src/fmod_atomic_legacy.h
../../../../../../core_api/src/fmod_autocleanup.h
../../../../../../core_api/src/fmod_channel.cpp
../../../../../../core_api/src/fmod_channel_emulated.h
../../../../../../core_api/src/fmod_channel_real.cpp
../../../../../../core_api/src/fmod_channel_real.h
../../../../../../core_api/src/fmod_channel_software.cpp
../../../../../../core_api/src/fmod_channel_software.h
../../../../../../core_api/src/fmod_channel_stream.cpp
../../../../../../core_api/src/fmod_channel_stream.h
../../../../../../core_api/src/fmod_channelcontrol.cpp
../../../../../../core_api/src/fmod_channelcontroli.cpp
../../../../../../core_api/src/fmod_channelcontroli.h
../../../../../../core_api/src/fmod_channelgroup.cpp
../../../../../../core_api/src/fmod_channelgroupi.cpp
../../../../../../core_api/src/fmod_channelgroupi.h
../../../../../../core_api/src/fmod_channeli.cpp
../../../../../../core_api/src/fmod_channeli.h
../../../../../../core_api/src/fmod_channelpool.h
../../../../../../core_api/src/fmod_codec.cpp
../../../../../../core_api/src/fmod_codec.h
../../../../../../core_api/src/fmod_codec_aiff.cpp
../../../../../../core_api/src/fmod_codec_aiff.h
../../../../../../core_api/src/fmod_codec_dls.cpp
../../../../../../core_api/src/fmod_codec_dls.h
../../../../../../core_api/src/fmod_codec_fadpcm.cpp
../../../../../../core_api/src/fmod_codec_fadpcm.h
../../../../../../core_api/src/fmod_codec_fadpcm_arm.m4
../../../../../../core_api/src/fmod_codec_flac.cpp
../../../../../../core_api/src/fmod_codec_flac.h
../../../../../../core_api/src/fmod_codec_fsb5.cpp
../../../../../../core_api/src/fmod_codec_fsb5.h
../../../../../../core_api/src/fmod_codec_fsbvorbis.cpp
../../../../../../core_api/src/fmod_codec_fsbvorbis.h
../../../../../../core_api/src/fmod_codec_fsbvorbis_books.cpp
../../../../../../core_api/src/fmod_codec_it.cpp
../../../../../../core_api/src/fmod_codec_it.h
../../../../../../core_api/src/fmod_codec_midi.cpp
../../../../../../core_api/src/fmod_codec_midi.h
../../../../../../core_api/src/fmod_codec_mod.cpp
../../../../../../core_api/src/fmod_codec_mod.h
../../../../../../core_api/src/fmod_codec_mpeg.cpp
../../../../../../core_api/src/fmod_codec_mpeg.h
../../../../../../core_api/src/fmod_codec_mpeg_decode.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer2.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer3.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.h
../../../../../../core_api/src/fmod_codec_playlist.cpp
../../../../../../core_api/src/fmod_codec_playlist.h
../../../../../../core_api/src/fmod_codec_raw.cpp
../../../../../../core_api/src/fmod_codec_raw.h
../../../../../../core_api/src/fmod_codec_s3m.cpp
../../../../../../core_api/src/fmod_codec_s3m.h
../../../../../../core_api/src/fmod_codec_tag.cpp
../../../../../../core_api/src/fmod_codec_tag.h
../../../../../../core_api/src/fmod_codec_user.cpp
../../../../../../core_api/src/fmod_codec_user.h
../../../../../../core_api/src/fmod_codec_wav.cpp
../../../../../../core_api/src/fmod_codec_wav.h
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.cpp
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.h
../../../../../../core_api/src/fmod_codec_wav_riff.cpp
../../../../../../core_api/src/fmod_codec_xm.cpp
../../../../../../core_api/src/fmod_codec_xm.h
../../../../../../core_api/src/fmod_codeci.h
../../../../../../core_api/src/fmod_common.h
../../../../../../core_api/src/fmod_complex.hlsli
../../../../../../core_api/src/fmod_convolution.hlsl
../../../../../../core_api/src/fmod_debug.cpp
../../../../../../core_api/src/fmod_debug.h
../../../../../../core_api/src/fmod_downmix.cpp
../../../../../../core_api/src/fmod_downmix.h
../../../../../../core_api/src/fmod_downmix_dolby_pl2.cpp
../../../../../../core_api/src/fmod_downmix_dolby_pl2.h
../../../../../../core_api/src/fmod_dsp.cpp
../../../../../../core_api/src/fmod_dsp.cs
../../../../../../core_api/src/fmod_dsp.h
../../../../../../core_api/src/fmod_dsp_biquad.cpp
../../../../../../core_api/src/fmod_dsp_biquad.h
../../../../../../core_api/src/fmod_dsp_channelmix.cpp
../../../../../../core_api/src/fmod_dsp_channelmix.h
../../../../../../core_api/src/fmod_dsp_chorus.cpp
../../../../../../core_api/src/fmod_dsp_chorus.h
../../../../../../core_api/src/fmod_dsp_codec.cpp
../../../../../../core_api/src/fmod_dsp_codec.h
../../../../../../core_api/src/fmod_dsp_codecpool.cpp
../../../../../../core_api/src/fmod_dsp_codecpool.h
../../../../../../core_api/src/fmod_dsp_compressor.cpp
../../../../../../core_api/src/fmod_dsp_compressor.h
../../../../../../core_api/src/fmod_dsp_compressor_noopt.cpp
../../../../../../core_api/src/fmod_dsp_compressor_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection.cpp
../../../../../../core_api/src/fmod_dsp_connection_arm.cpp
../../../../../../core_api/src/fmod_dsp_connection_avx.cpp
../../../../../../core_api/src/fmod_dsp_connection_neon.cpp
../../../../../../core_api/src/fmod_dsp_connection_noopt.cpp
../../../../../../core_api/src/fmod_dsp_connection_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection_vfp.m4
../../../../../../core_api/src/fmod_dsp_connectioni.cpp
../../../../../../core_api/src/fmod_dsp_connectioni.h
../../../../../../core_api/src/fmod_dsp_convert.cpp
../../../../../../core_api/src/fmod_dsp_convert.h
../../../../../../core_api/src/fmod_dsp_convert_avx.cpp
../../../../../../core_api/src/fmod_dsp_convert_noopt.cpp
../../../../../../core_api/src/fmod_dsp_convert_sse.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.h
../../../../../../core_api/src/fmod_dsp_convolutionreverb_async.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_avx.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_cpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_gpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_neon.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_sse.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.h
../../../../../../core_api/src/fmod_dsp_delay.cpp
../../../../../../core_api/src/fmod_dsp_delay.h
../../../../../../core_api/src/fmod_dsp_distortion.cpp
../../../../../../core_api/src/fmod_dsp_distortion.h
../../../../../../core_api/src/fmod_dsp_echo.cpp
../../../../../../core_api/src/fmod_dsp_echo.h
../../../../../../core_api/src/fmod_dsp_echo_noopt.cpp
../../../../../../core_api/src/fmod_dsp_echo_sse.cpp
../../../../../../core_api/src/fmod_dsp_effects.h
../../../../../../core_api/src/fmod_dsp_emulated.cpp
../../../../../../core_api/src/fmod_dsp_emulated.h
../../../../../../core_api/src/fmod_dsp_fader.cpp
../../../../../../core_api/src/fmod_dsp_fader.h
../../../../../../core_api/src/fmod_dsp_fft.cpp
../../../../../../core_api/src/fmod_dsp_fft.h
../../../../../../core_api/src/fmod_dsp_flange.cpp
../../../../../../core_api/src/fmod_dsp_flange.h
../../../../../../core_api/src/fmod_dsp_highpass.cpp
../../../../../../core_api/src/fmod_dsp_highpass.h
../../../../../../core_api/src/fmod_dsp_highpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_highpass_simple.h
../../../../../../core_api/src/fmod_dsp_interleave_noopt.cpp
../../../../../../core_api/src/fmod_dsp_interleave_sse.cpp
../../../../../../core_api/src/fmod_dsp_itecho.cpp
../../../../../../core_api/src/fmod_dsp_itecho.h
../../../../../../core_api/src/fmod_dsp_limiter.cpp
../../../../../../core_api/src/fmod_dsp_limiter.h
../../../../../../core_api/src/fmod_dsp_loudness_meter.cpp
../../../../../../core_api/src/fmod_dsp_loudness_meter.h
../../../../../../core_api/src/fmod_dsp_lowpass.cpp
../../../../../../core_api/src/fmod_dsp_lowpass.h
../../../../../../core_api/src/fmod_dsp_lowpass2.cpp
../../../../../../core_api/src/fmod_dsp_lowpass2.h
../../../../../../core_api/src/fmod_dsp_lowpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_lowpass_simple.h
../../../../../../core_api/src/fmod_dsp_matrix.cpp
../../../../../../core_api/src/fmod_dsp_matrix.h
../../../../../../core_api/src/fmod_dsp_metering_noopt.cpp
../../../../../../core_api/src/fmod_dsp_metering_sse.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.h
../../../../../../core_api/src/fmod_dsp_multiband_eq.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq.h
../../../../../../core_api/src/fmod_dsp_multiband_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_normalize.cpp
../../../../../../core_api/src/fmod_dsp_normalize.h
../../../../../../core_api/src/fmod_dsp_objectpan.cpp
../../../../../../core_api/src/fmod_dsp_objectpan.h
../../../../../../core_api/src/fmod_dsp_oscillator.cpp
../../../../../../core_api/src/fmod_dsp_oscillator.h
../../../../../../core_api/src/fmod_dsp_pan.cpp
../../../../../../core_api/src/fmod_dsp_pan.h
../../../../../../core_api/src/fmod_dsp_parameq.cpp
../../../../../../core_api/src/fmod_dsp_parameq.h
../../../../../../core_api/src/fmod_dsp_pitchshift.cpp
../../../../../../core_api/src/fmod_dsp_pitchshift.h
../../../../../../core_api/src/fmod_dsp_porthead.cpp
../../../../../../core_api/src/fmod_dsp_porthead.h
../../../../../../core_api/src/fmod_dsp_resampler.cpp
../../../../../../core_api/src/fmod_dsp_resampler.h
../../../../../../core_api/src/fmod_dsp_resampler_cubic.cpp
../../../../../../core_api/src/fmod_dsp_resampler_cubic.h
../../../../../../core_api/src/fmod_dsp_resampler_linear.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear.h
../../../../../../core_api/src/fmod_dsp_resampler_linear_arm.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx2.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx512.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_neon.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_vfp.m4
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.h
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.h
../../../../../../core_api/src/fmod_dsp_return.cpp
../../../../../../core_api/src/fmod_dsp_return.h
../../../../../../core_api/src/fmod_dsp_send.cpp
../../../../../../core_api/src/fmod_dsp_send.h
../../../../../../core_api/src/fmod_dsp_sfxreverb.cpp
../../../../../../core_api/src/fmod_dsp_sfxreverb.h
../../../../../../core_api/src/fmod_dsp_source.cpp
../../../../../../core_api/src/fmod_dsp_source.h
../../../../../../core_api/src/fmod_dsp_three_eq.cpp
../../../../../../core_api/src/fmod_dsp_three_eq.h
../../../../../../core_api/src/fmod_dsp_three_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_noopt.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.h
../../../../../../core_api/src/fmod_dsp_tremolo.cpp
../../../../../../core_api/src/fmod_dsp_tremolo.h
../../../../../../core_api/src/fmod_dsp_wavetable.cpp
../../../../../../core_api/src/fmod_dsp_wavetable.h
../../../../../../core_api/src/fmod_dspi.cpp
../../../../../../core_api/src/fmod_dspi.h
../../../../../../core_api/src/fmod_endian.h
../../../../../../core_api/src/fmod_errors.cs
../../../../../../core_api/src/fmod_errors.h
../../../../../../core_api/src/fmod_expandingpool.cpp
../../../../../../core_api/src/fmod_expandingpool.h
../../../../../../core_api/src/fmod_fft.cpp
../../../../../../core_api/src/fmod_fft.h
../../../../../../core_api/src/fmod_fft_0.hlsl
../../../../../../core_api/src/fmod_fft_1.hlsl
../../../../../../core_api/src/fmod_fft_common.hlsli
../../../../../../core_api/src/fmod_fft_noopt.cpp
../../../../../../core_api/src/fmod_fft_sse.cpp
../../../../../../core_api/src/fmod_file.cpp
../../../../../../core_api/src/fmod_file.h
../../../../../../core_api/src/fmod_file_disk.cpp
../../../../../../core_api/src/fmod_file_disk.h
../../../../../../core_api/src/fmod_file_memory.cpp
../../../../../../core_api/src/fmod_file_memory.h
../../../../../../core_api/src/fmod_file_net.cpp
../../../../../../core_api/src/fmod_file_net.h
../../../../../../core_api/src/fmod_file_null.cpp
../../../../../../core_api/src/fmod_file_null.h
../../../../../../core_api/src/fmod_file_remote.cpp
../../../../../../core_api/src/fmod_file_remote.h
../../../../../../core_api/src/fmod_file_user.cpp
../../../../../../core_api/src/fmod_file_user.h
../../../../../../core_api/src/fmod_format.cpp
../../../../../../core_api/src/fmod_format.h
../../../../../../core_api/src/fmod_freelist.h
../../../../../../core_api/src/fmod_geometry.cpp
../../../../../../core_api/src/fmod_geometry_mgr.cpp
../../../../../../core_api/src/fmod_geometry_mgr.h
../../../../../../core_api/src/fmod_geometryi.cpp
../../../../../../core_api/src/fmod_geometryi.h
../../../../../../core_api/src/fmod_globals.cpp
../../../../../../core_api/src/fmod_globals.h
../../../../../../core_api/src/fmod_gpu_compute.cpp
../../../../../../core_api/src/fmod_gpu_compute.h
../../../../../../core_api/src/fmod_ifft_0.hlsl
../../../../../../core_api/src/fmod_ifft_1.hlsl
../../../../../../core_api/src/fmod_iterator.h
../../../../../../core_api/src/fmod_linkedlist.h
../../../../../../core_api/src/fmod_listener.cpp
../../../../../../core_api/src/fmod_listener.h
../../../../../../core_api/src/fmod_localcriticalsection.h
../../../../../../core_api/src/fmod_map.h
../../../../../../core_api/src/fmod_memory.cpp
../../../../../../core_api/src/fmod_memory.h
../../../../../../core_api/src/fmod_memory_tracking.cpp
../../../../../../core_api/src/fmod_memory_tracking.h
../../../../../../core_api/src/fmod_metadata.cpp
../../../../../../core_api/src/fmod_metadata.h
../../../../../../core_api/src/fmod_mode.h
../../../../../../core_api/src/fmod_music.cpp
../../../../../../core_api/src/fmod_music.h
../../../../../../core_api/src/fmod_net.cpp
../../../../../../core_api/src/fmod_net.h
../../../../../../core_api/src/fmod_octree.cpp
../../../../../../core_api/src/fmod_octree.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.m4
../../../../../../core_api/src/fmod_os_atomic_gcc_arm64.h
../../../../../../core_api/src/fmod_os_atomic_gcc_x86.h
../../../../../../core_api/src/fmod_os_misc.h
../../../../../../core_api/src/fmod_os_net.h
../../../../../../core_api/src/fmod_os_net_posix.cpp
../../../../../../core_api/src/fmod_os_net_winsock.cpp
../../../../../../core_api/src/fmod_os_output.h
../../../../../../core_api/src/fmod_output.cpp
../../../../../../core_api/src/fmod_output.h
../../../../../../core_api/src/fmod_output_emulated.h
../../../../../../core_api/src/fmod_output_nosound.cpp
../../../../../../core_api/src/fmod_output_nosound.h
../../../../../../core_api/src/fmod_output_nosound_nrt.cpp
../../../../../../core_api/src/fmod_output_nosound_nrt.h
../../../../../../core_api/src/fmod_output_phase.h
../../../../../../core_api/src/fmod_output_phase.mm
../../../../../../core_api/src/fmod_output_software.cpp
../../../../../../core_api/src/fmod_output_software.h
../../../../../../core_api/src/fmod_output_wavwriter.cpp
../../../../../../core_api/src/fmod_output_wavwriter.h
../../../../../../core_api/src/fmod_output_wavwriter_nrt.cpp
../../../../../../core_api/src/fmod_output_wavwriter_nrt.h
../../../../../../core_api/src/fmod_output_winsonic.cpp
../../../../../../core_api/src/fmod_output_winsonic.h
../../../../../../core_api/src/fmod_output_winsonic_compat.h
../../../../../../core_api/src/fmod_outputi.h
../../../../../../core_api/src/fmod_pan.cpp
../../../../../../core_api/src/fmod_pan.h
../../../../../../core_api/src/fmod_pluginfactory.cpp
../../../../../../core_api/src/fmod_pluginfactory.h
../../../../../../core_api/src/fmod_poolallocator.h
../../../../../../core_api/src/fmod_profile.cpp
../../../../../../core_api/src/fmod_profile.h
../../../../../../core_api/src/fmod_profile_channel_pkt.h
../../../../../../core_api/src/fmod_profile_client.cpp
../../../../../../core_api/src/fmod_profile_client.h
../../../../../../core_api/src/fmod_profile_codec_pkt.h
../../../../../../core_api/src/fmod_profile_cpu_pkt.h
../../../../../../core_api/src/fmod_profile_dsp.cpp
../../../../../../core_api/src/fmod_profile_dsp.h
../../../../../../core_api/src/fmod_profile_dsp_pkt.h
../../../../../../core_api/src/fmod_profile_group_pkt.h
../../../../../../core_api/src/fmod_profile_markers.cpp
../../../../../../core_api/src/fmod_profile_markers.h
../../../../../../core_api/src/fmod_profile_pkt.h
../../../../../../core_api/src/fmod_profile_remotefile.cpp
../../../../../../core_api/src/fmod_profile_remotefile.h
../../../../../../core_api/src/fmod_profile_remotefile_pkt.h
../../../../../../core_api/src/fmod_profile_stats.cpp
../../../../../../core_api/src/fmod_profile_stats.h
../../../../../../core_api/src/fmod_profile_stats_pkt.h
../../../../../../core_api/src/fmod_random.h
../../../../../../core_api/src/fmod_reverb.cpp
../../../../../../core_api/src/fmod_reverbi.cpp
../../../../../../core_api/src/fmod_reverbi.h
../../../../../../core_api/src/fmod_rootsignature.hlsl
../../../../../../core_api/src/fmod_sample_software.cpp
../../../../../../core_api/src/fmod_sample_software.h
../../../../../../core_api/src/fmod_settings.h
../../../../../../core_api/src/fmod_shader_compat.hlsli
../../../../../../core_api/src/fmod_simd_util_sse.h
../../../../../../core_api/src/fmod_sound.cpp
../../../../../../core_api/src/fmod_sound_sample.cpp
../../../../../../core_api/src/fmod_sound_sample.h
../../../../../../core_api/src/fmod_sound_stream.cpp
../../../../../../core_api/src/fmod_sound_stream.h
../../../../../../core_api/src/fmod_soundgroup.cpp
../../../../../../core_api/src/fmod_soundgroupi.cpp
../../../../../../core_api/src/fmod_soundgroupi.h
../../../../../../core_api/src/fmod_soundi.cpp
../../../../../../core_api/src/fmod_soundi.h
../../../../../../core_api/src/fmod_speakermap.h
../../../../../../core_api/src/fmod_string.cpp
../../../../../../core_api/src/fmod_string.h
../../../../../../core_api/src/fmod_stringw.cpp
../../../../../../core_api/src/fmod_stringw.h
../../../../../../core_api/src/fmod_syncpoint.h
../../../../../../core_api/src/fmod_system.cpp
../../../../../../core_api/src/fmod_systemi.cpp
../../../../../../core_api/src/fmod_systemi.h
../../../../../../core_api/src/fmod_systemi_channel.cpp
../../../../../../core_api/src/fmod_systemi_driver.cpp
../../../../../../core_api/src/fmod_systemi_dsp.cpp
../../../../../../core_api/src/fmod_systemi_fft.cpp
../../../../../../core_api/src/fmod_systemi_sound.cpp
../../../../../../core_api/src/fmod_systemi_speaker.cpp
../../../../../../core_api/src/fmod_systemi_thread.cpp
../../../../../../core_api/src/fmod_systemi_update.cpp
../../../../../../core_api/src/fmod_thread.cpp
../../../../../../core_api/src/fmod_thread.h
../../../../../../core_api/src/fmod_threadsafe.cpp
../../../../../../core_api/src/fmod_threadsafe.h
../../../../../../core_api/src/fmod_time.cpp
../../../../../../core_api/src/fmod_time.h
../../../../../../core_api/src/fmod_types.h
../../../../../../examples/platforms/linux/src/common_platform.cpp
../../../../../../examples/platforms/linux/src/common_platform.h
../../../../../../examples/src/autotest.cpp
../../../../../../examples/src/common.cpp
../../../../../../examples/src/common.h
../../../../../../examples/src/common_dx12.cpp
../../../../../../examples/src/common_dx12.h
../../../../../../examples/src/common_dx12_ps.h
../../../../../../examples/src/common_dx12_vs.h
../../../../../../examples/src/common_font_glyphs.h
../../../../../../examples/src/common_font_texture.h
../../../../../../examples/src/common_vulkan.cpp
../../../../../../examples/src/common_vulkan.h
../../../../../../examples/src/common_vulkan_fs.h
../../../../../../examples/src/common_vulkan_vs.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/assert.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/callback.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/export.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/format.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/ordinals.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/stream_decoder.h
../../../../../../external/decoders/flac-1.2.1/include/share/alloc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitmath.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitreader.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/cpu.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/crc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/fixed.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/format.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/lpc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/md5.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/memory.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/stream_decoder.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/nasm.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitmath.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitreader.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/cpu.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/crc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/fixed.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/float.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/format.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/lpc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/md5.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/memory.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/protected/stream_decoder.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/ogg.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/os_types.h
../../../../../../external/decoders/ogg_vorbis/ogg/src/bitwise.c
../../../../../../external/decoders/ogg_vorbis/ogg/src/framing.c
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/codec.h
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/vorbisfile.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/backends.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/block.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codec_internal.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/floor1.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/highlevel.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/info.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup_data.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mapping0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/masking.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/misc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/os.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/psy.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/res0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/scales.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/sharedbook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/synthesis.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/vorbisfile.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/floor_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/psych_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/residue_44.h
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.c
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_codec.h
../../../../../../external/decoders/tremor_lowmem/tremor_codec_internal.h
../../../../../../external/decoders/tremor_lowmem/tremor_dsp.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_info.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx512.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct.h
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_misc.h
../../../../../../external/decoders/tremor_lowmem/tremor_os.h
../../../../../../external/decoders/tremor_lowmem/tremor_os_types.h
../../../../../../external/decoders/tremor_lowmem/tremor_res012.c
../../../../../../external/decoders/tremor_lowmem/tremor_window_lookup.h
../../../../../../external/misc/dlmalloc/dlmalloc.cpp
../../../../../../external/misc/dlmalloc/dlmalloc.h
../make/gapless_playback.makefile
../gapless_playback.cpp

View file

@ -0,0 +1,6 @@
../../../../../../examples/src
../../../../../../examples/platforms/linux/src
../../../../../src
../../../../../../external/misc
../../../../../../external/dsps
../../../../../../external/decoders

View file

@ -0,0 +1,213 @@
/*==============================================================================
Generate Tone Example
Copyright (c), Firelight Technologies Pty, Ltd 2004-2025.
This example shows how to play generated tones using System::playDSP
instead of manually connecting and disconnecting DSP units.
For information on using FMOD example code in your own programs, visit
https://www.fmod.com/legal
==============================================================================*/
#include "fmod.hpp"
#include "common.h"
int FMOD_Main()
{
FMOD::System *system;
FMOD::Channel *channel = 0;
FMOD::DSP *dsp;
FMOD_RESULT result;
void *extradriverdata = 0;
Common_Init(&extradriverdata);
/*
Create a System object and initialize.
*/
result = FMOD::System_Create(&system);
ERRCHECK(result);
result = system->init(32, FMOD_INIT_NORMAL, extradriverdata);
ERRCHECK(result);
/*
Create an oscillator DSP units for the tone.
*/
result = system->createDSPByType(FMOD_DSP_TYPE_OSCILLATOR, &dsp);
ERRCHECK(result);
result = dsp->setParameterFloat(FMOD_DSP_OSCILLATOR_RATE, 440.0f); /* Musical note 'A' */
ERRCHECK(result);
/*
Main loop
*/
do
{
Common_Update();
if (Common_BtnPress(BTN_ACTION1))
{
if (channel)
{
result = channel->stop();
ERRCHECK(result);
}
result = system->playDSP(dsp, 0, true, &channel);
ERRCHECK(result);
result = channel->setVolume(0.5f);
ERRCHECK(result);
result = dsp->setParameterInt(FMOD_DSP_OSCILLATOR_TYPE, 0);
ERRCHECK(result);
result = channel->setPaused(false);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_ACTION2))
{
if (channel)
{
result = channel->stop();
ERRCHECK(result);
}
result = system->playDSP(dsp, 0, true, &channel);
ERRCHECK(result);
result = channel->setVolume(0.125f);
ERRCHECK(result);
result = dsp->setParameterInt(FMOD_DSP_OSCILLATOR_TYPE, 1);
ERRCHECK(result);
result = channel->setPaused(false);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_ACTION3))
{
if (channel)
{
result = channel->stop();
ERRCHECK(result);
}
result = system->playDSP(dsp, 0, true, &channel);
ERRCHECK(result);
result = channel->setVolume(0.125f);
ERRCHECK(result);
result = dsp->setParameterInt(FMOD_DSP_OSCILLATOR_TYPE, 2);
ERRCHECK(result);
result = channel->setPaused(false);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_ACTION4))
{
if (channel)
{
result = channel->stop();
ERRCHECK(result);
}
result = system->playDSP(dsp, 0, true, &channel);
ERRCHECK(result);
result = channel->setVolume(0.5f);
ERRCHECK(result);
result = dsp->setParameterInt(FMOD_DSP_OSCILLATOR_TYPE, 4);
ERRCHECK(result);
result = channel->setPaused(false);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_MORE))
{
if (channel)
{
result = channel->stop();
ERRCHECK(result);
channel = 0;
}
}
if (channel)
{
if (Common_BtnDown(BTN_UP) || Common_BtnDown(BTN_DOWN))
{
float volume;
result = channel->getVolume(&volume);
ERRCHECK(result);
volume += (Common_BtnDown(BTN_UP) ? +0.1f : -0.1f);
volume = (volume > 1.0f) ? 1.0f : volume;
volume = (volume < 0.0f) ? 0.0f : volume;
result = channel->setVolume(volume);
ERRCHECK(result);
}
if (Common_BtnDown(BTN_LEFT) || Common_BtnDown(BTN_RIGHT))
{
float frequency;
result = channel->getFrequency(&frequency);
ERRCHECK(result);
frequency += (Common_BtnDown(BTN_RIGHT) ? +500.0f : -500.0f);
result = channel->setFrequency(frequency);
ERRCHECK(result);
}
}
result = system->update();
ERRCHECK(result);
{
float frequency = 0.0f, volume = 0.0f;
bool playing = false;
if (channel)
{
result = channel->getFrequency(&frequency);
ERRCHECK(result);
result = channel->getVolume(&volume);
ERRCHECK(result);
result = channel->isPlaying(&playing);
ERRCHECK(result);
}
Common_Draw("==================================================");
Common_Draw("Generate Tone Example.");
Common_Draw("Copyright (c) Firelight Technologies 2004-2025.");
Common_Draw("==================================================");
Common_Draw("");
Common_Draw("Press %s to play a sine wave", Common_BtnStr(BTN_ACTION1));
Common_Draw("Press %s to play a square wave", Common_BtnStr(BTN_ACTION2));
Common_Draw("Press %s to play a saw wave", Common_BtnStr(BTN_ACTION3));
Common_Draw("Press %s to play a triangle wave", Common_BtnStr(BTN_ACTION4));
Common_Draw("Press %s to stop the channel", Common_BtnStr(BTN_MORE));
Common_Draw("Press %s and %s to change volume", Common_BtnStr(BTN_UP), Common_BtnStr(BTN_DOWN));
Common_Draw("Press %s and %s to change frequency", Common_BtnStr(BTN_LEFT), Common_BtnStr(BTN_RIGHT));
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
Common_Draw("");
Common_Draw("Channel is %s", playing ? "playing" : "stopped");
Common_Draw("Volume %0.2f", volume);
Common_Draw("Frequency %0.2f", frequency);
}
Common_Sleep(50);
} while (!Common_BtnPress(BTN_QUIT));
/*
Shut down
*/
result = dsp->release();
ERRCHECK(result);
result = system->close();
ERRCHECK(result);
result = system->release();
ERRCHECK(result);
Common_Close();
return 0;
}

View file

@ -0,0 +1 @@
-std=c17 -fPIC -fno-trapping-math

View file

@ -0,0 +1 @@
#define FMOD_USE_PLATFORM_HEADERS

View file

@ -0,0 +1,442 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{71064a00-ba92-4c03-affd-e7f374fa3265}</value>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{22e4ca2b-856c-4a9e-96b1-3ef2b55f3da9}</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.4">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=address</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Address Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.5">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=memory</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Memory Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.6">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=thread</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Thread Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.7">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f generate_tone.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=undefined</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Undefined Behaviour Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">8</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">%{buildDir}/generate_tone</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseTerminal">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory">%{buildDir}/../../../../../examples/media</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View file

@ -0,0 +1 @@
-std=c++17 -fPIC -fno-trapping-math

View file

@ -0,0 +1,514 @@
../../../../../../core_api/src/fmod.cpp
../../../../../../core_api/src/fmod.cs
../../../../../../core_api/src/fmod.h
../../../../../../core_api/src/fmod.hpp
../../../../../../core_api/src/fmod5.cpp
../../../../../../core_api/src/fmod_3d.h
../../../../../../core_api/src/fmod_array.h
../../../../../../core_api/src/fmod_asm_macros.m4
../../../../../../core_api/src/fmod_async.cpp
../../../../../../core_api/src/fmod_async.h
../../../../../../core_api/src/fmod_atomic.h
../../../../../../core_api/src/fmod_atomic_c11.h
../../../../../../core_api/src/fmod_atomic_clang.h
../../../../../../core_api/src/fmod_atomic_cpp11.h
../../../../../../core_api/src/fmod_atomic_gcc.h
../../../../../../core_api/src/fmod_atomic_legacy.h
../../../../../../core_api/src/fmod_autocleanup.h
../../../../../../core_api/src/fmod_channel.cpp
../../../../../../core_api/src/fmod_channel_emulated.h
../../../../../../core_api/src/fmod_channel_real.cpp
../../../../../../core_api/src/fmod_channel_real.h
../../../../../../core_api/src/fmod_channel_software.cpp
../../../../../../core_api/src/fmod_channel_software.h
../../../../../../core_api/src/fmod_channel_stream.cpp
../../../../../../core_api/src/fmod_channel_stream.h
../../../../../../core_api/src/fmod_channelcontrol.cpp
../../../../../../core_api/src/fmod_channelcontroli.cpp
../../../../../../core_api/src/fmod_channelcontroli.h
../../../../../../core_api/src/fmod_channelgroup.cpp
../../../../../../core_api/src/fmod_channelgroupi.cpp
../../../../../../core_api/src/fmod_channelgroupi.h
../../../../../../core_api/src/fmod_channeli.cpp
../../../../../../core_api/src/fmod_channeli.h
../../../../../../core_api/src/fmod_channelpool.h
../../../../../../core_api/src/fmod_codec.cpp
../../../../../../core_api/src/fmod_codec.h
../../../../../../core_api/src/fmod_codec_aiff.cpp
../../../../../../core_api/src/fmod_codec_aiff.h
../../../../../../core_api/src/fmod_codec_dls.cpp
../../../../../../core_api/src/fmod_codec_dls.h
../../../../../../core_api/src/fmod_codec_fadpcm.cpp
../../../../../../core_api/src/fmod_codec_fadpcm.h
../../../../../../core_api/src/fmod_codec_fadpcm_arm.m4
../../../../../../core_api/src/fmod_codec_flac.cpp
../../../../../../core_api/src/fmod_codec_flac.h
../../../../../../core_api/src/fmod_codec_fsb5.cpp
../../../../../../core_api/src/fmod_codec_fsb5.h
../../../../../../core_api/src/fmod_codec_fsbvorbis.cpp
../../../../../../core_api/src/fmod_codec_fsbvorbis.h
../../../../../../core_api/src/fmod_codec_fsbvorbis_books.cpp
../../../../../../core_api/src/fmod_codec_it.cpp
../../../../../../core_api/src/fmod_codec_it.h
../../../../../../core_api/src/fmod_codec_midi.cpp
../../../../../../core_api/src/fmod_codec_midi.h
../../../../../../core_api/src/fmod_codec_mod.cpp
../../../../../../core_api/src/fmod_codec_mod.h
../../../../../../core_api/src/fmod_codec_mpeg.cpp
../../../../../../core_api/src/fmod_codec_mpeg.h
../../../../../../core_api/src/fmod_codec_mpeg_decode.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer2.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer3.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.h
../../../../../../core_api/src/fmod_codec_playlist.cpp
../../../../../../core_api/src/fmod_codec_playlist.h
../../../../../../core_api/src/fmod_codec_raw.cpp
../../../../../../core_api/src/fmod_codec_raw.h
../../../../../../core_api/src/fmod_codec_s3m.cpp
../../../../../../core_api/src/fmod_codec_s3m.h
../../../../../../core_api/src/fmod_codec_tag.cpp
../../../../../../core_api/src/fmod_codec_tag.h
../../../../../../core_api/src/fmod_codec_user.cpp
../../../../../../core_api/src/fmod_codec_user.h
../../../../../../core_api/src/fmod_codec_wav.cpp
../../../../../../core_api/src/fmod_codec_wav.h
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.cpp
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.h
../../../../../../core_api/src/fmod_codec_wav_riff.cpp
../../../../../../core_api/src/fmod_codec_xm.cpp
../../../../../../core_api/src/fmod_codec_xm.h
../../../../../../core_api/src/fmod_codeci.h
../../../../../../core_api/src/fmod_common.h
../../../../../../core_api/src/fmod_complex.hlsli
../../../../../../core_api/src/fmod_convolution.hlsl
../../../../../../core_api/src/fmod_debug.cpp
../../../../../../core_api/src/fmod_debug.h
../../../../../../core_api/src/fmod_downmix.cpp
../../../../../../core_api/src/fmod_downmix.h
../../../../../../core_api/src/fmod_downmix_dolby_pl2.cpp
../../../../../../core_api/src/fmod_downmix_dolby_pl2.h
../../../../../../core_api/src/fmod_dsp.cpp
../../../../../../core_api/src/fmod_dsp.cs
../../../../../../core_api/src/fmod_dsp.h
../../../../../../core_api/src/fmod_dsp_biquad.cpp
../../../../../../core_api/src/fmod_dsp_biquad.h
../../../../../../core_api/src/fmod_dsp_channelmix.cpp
../../../../../../core_api/src/fmod_dsp_channelmix.h
../../../../../../core_api/src/fmod_dsp_chorus.cpp
../../../../../../core_api/src/fmod_dsp_chorus.h
../../../../../../core_api/src/fmod_dsp_codec.cpp
../../../../../../core_api/src/fmod_dsp_codec.h
../../../../../../core_api/src/fmod_dsp_codecpool.cpp
../../../../../../core_api/src/fmod_dsp_codecpool.h
../../../../../../core_api/src/fmod_dsp_compressor.cpp
../../../../../../core_api/src/fmod_dsp_compressor.h
../../../../../../core_api/src/fmod_dsp_compressor_noopt.cpp
../../../../../../core_api/src/fmod_dsp_compressor_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection.cpp
../../../../../../core_api/src/fmod_dsp_connection_arm.cpp
../../../../../../core_api/src/fmod_dsp_connection_avx.cpp
../../../../../../core_api/src/fmod_dsp_connection_neon.cpp
../../../../../../core_api/src/fmod_dsp_connection_noopt.cpp
../../../../../../core_api/src/fmod_dsp_connection_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection_vfp.m4
../../../../../../core_api/src/fmod_dsp_connectioni.cpp
../../../../../../core_api/src/fmod_dsp_connectioni.h
../../../../../../core_api/src/fmod_dsp_convert.cpp
../../../../../../core_api/src/fmod_dsp_convert.h
../../../../../../core_api/src/fmod_dsp_convert_avx.cpp
../../../../../../core_api/src/fmod_dsp_convert_noopt.cpp
../../../../../../core_api/src/fmod_dsp_convert_sse.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.h
../../../../../../core_api/src/fmod_dsp_convolutionreverb_async.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_avx.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_cpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_gpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_neon.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_sse.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.h
../../../../../../core_api/src/fmod_dsp_delay.cpp
../../../../../../core_api/src/fmod_dsp_delay.h
../../../../../../core_api/src/fmod_dsp_distortion.cpp
../../../../../../core_api/src/fmod_dsp_distortion.h
../../../../../../core_api/src/fmod_dsp_echo.cpp
../../../../../../core_api/src/fmod_dsp_echo.h
../../../../../../core_api/src/fmod_dsp_echo_noopt.cpp
../../../../../../core_api/src/fmod_dsp_echo_sse.cpp
../../../../../../core_api/src/fmod_dsp_effects.h
../../../../../../core_api/src/fmod_dsp_emulated.cpp
../../../../../../core_api/src/fmod_dsp_emulated.h
../../../../../../core_api/src/fmod_dsp_fader.cpp
../../../../../../core_api/src/fmod_dsp_fader.h
../../../../../../core_api/src/fmod_dsp_fft.cpp
../../../../../../core_api/src/fmod_dsp_fft.h
../../../../../../core_api/src/fmod_dsp_flange.cpp
../../../../../../core_api/src/fmod_dsp_flange.h
../../../../../../core_api/src/fmod_dsp_highpass.cpp
../../../../../../core_api/src/fmod_dsp_highpass.h
../../../../../../core_api/src/fmod_dsp_highpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_highpass_simple.h
../../../../../../core_api/src/fmod_dsp_interleave_noopt.cpp
../../../../../../core_api/src/fmod_dsp_interleave_sse.cpp
../../../../../../core_api/src/fmod_dsp_itecho.cpp
../../../../../../core_api/src/fmod_dsp_itecho.h
../../../../../../core_api/src/fmod_dsp_limiter.cpp
../../../../../../core_api/src/fmod_dsp_limiter.h
../../../../../../core_api/src/fmod_dsp_loudness_meter.cpp
../../../../../../core_api/src/fmod_dsp_loudness_meter.h
../../../../../../core_api/src/fmod_dsp_lowpass.cpp
../../../../../../core_api/src/fmod_dsp_lowpass.h
../../../../../../core_api/src/fmod_dsp_lowpass2.cpp
../../../../../../core_api/src/fmod_dsp_lowpass2.h
../../../../../../core_api/src/fmod_dsp_lowpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_lowpass_simple.h
../../../../../../core_api/src/fmod_dsp_matrix.cpp
../../../../../../core_api/src/fmod_dsp_matrix.h
../../../../../../core_api/src/fmod_dsp_metering_noopt.cpp
../../../../../../core_api/src/fmod_dsp_metering_sse.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.h
../../../../../../core_api/src/fmod_dsp_multiband_eq.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq.h
../../../../../../core_api/src/fmod_dsp_multiband_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_normalize.cpp
../../../../../../core_api/src/fmod_dsp_normalize.h
../../../../../../core_api/src/fmod_dsp_objectpan.cpp
../../../../../../core_api/src/fmod_dsp_objectpan.h
../../../../../../core_api/src/fmod_dsp_oscillator.cpp
../../../../../../core_api/src/fmod_dsp_oscillator.h
../../../../../../core_api/src/fmod_dsp_pan.cpp
../../../../../../core_api/src/fmod_dsp_pan.h
../../../../../../core_api/src/fmod_dsp_parameq.cpp
../../../../../../core_api/src/fmod_dsp_parameq.h
../../../../../../core_api/src/fmod_dsp_pitchshift.cpp
../../../../../../core_api/src/fmod_dsp_pitchshift.h
../../../../../../core_api/src/fmod_dsp_porthead.cpp
../../../../../../core_api/src/fmod_dsp_porthead.h
../../../../../../core_api/src/fmod_dsp_resampler.cpp
../../../../../../core_api/src/fmod_dsp_resampler.h
../../../../../../core_api/src/fmod_dsp_resampler_cubic.cpp
../../../../../../core_api/src/fmod_dsp_resampler_cubic.h
../../../../../../core_api/src/fmod_dsp_resampler_linear.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear.h
../../../../../../core_api/src/fmod_dsp_resampler_linear_arm.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx2.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx512.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_neon.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_vfp.m4
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.h
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.h
../../../../../../core_api/src/fmod_dsp_return.cpp
../../../../../../core_api/src/fmod_dsp_return.h
../../../../../../core_api/src/fmod_dsp_send.cpp
../../../../../../core_api/src/fmod_dsp_send.h
../../../../../../core_api/src/fmod_dsp_sfxreverb.cpp
../../../../../../core_api/src/fmod_dsp_sfxreverb.h
../../../../../../core_api/src/fmod_dsp_source.cpp
../../../../../../core_api/src/fmod_dsp_source.h
../../../../../../core_api/src/fmod_dsp_three_eq.cpp
../../../../../../core_api/src/fmod_dsp_three_eq.h
../../../../../../core_api/src/fmod_dsp_three_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_noopt.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.h
../../../../../../core_api/src/fmod_dsp_tremolo.cpp
../../../../../../core_api/src/fmod_dsp_tremolo.h
../../../../../../core_api/src/fmod_dsp_wavetable.cpp
../../../../../../core_api/src/fmod_dsp_wavetable.h
../../../../../../core_api/src/fmod_dspi.cpp
../../../../../../core_api/src/fmod_dspi.h
../../../../../../core_api/src/fmod_endian.h
../../../../../../core_api/src/fmod_errors.cs
../../../../../../core_api/src/fmod_errors.h
../../../../../../core_api/src/fmod_expandingpool.cpp
../../../../../../core_api/src/fmod_expandingpool.h
../../../../../../core_api/src/fmod_fft.cpp
../../../../../../core_api/src/fmod_fft.h
../../../../../../core_api/src/fmod_fft_0.hlsl
../../../../../../core_api/src/fmod_fft_1.hlsl
../../../../../../core_api/src/fmod_fft_common.hlsli
../../../../../../core_api/src/fmod_fft_noopt.cpp
../../../../../../core_api/src/fmod_fft_sse.cpp
../../../../../../core_api/src/fmod_file.cpp
../../../../../../core_api/src/fmod_file.h
../../../../../../core_api/src/fmod_file_disk.cpp
../../../../../../core_api/src/fmod_file_disk.h
../../../../../../core_api/src/fmod_file_memory.cpp
../../../../../../core_api/src/fmod_file_memory.h
../../../../../../core_api/src/fmod_file_net.cpp
../../../../../../core_api/src/fmod_file_net.h
../../../../../../core_api/src/fmod_file_null.cpp
../../../../../../core_api/src/fmod_file_null.h
../../../../../../core_api/src/fmod_file_remote.cpp
../../../../../../core_api/src/fmod_file_remote.h
../../../../../../core_api/src/fmod_file_user.cpp
../../../../../../core_api/src/fmod_file_user.h
../../../../../../core_api/src/fmod_format.cpp
../../../../../../core_api/src/fmod_format.h
../../../../../../core_api/src/fmod_freelist.h
../../../../../../core_api/src/fmod_geometry.cpp
../../../../../../core_api/src/fmod_geometry_mgr.cpp
../../../../../../core_api/src/fmod_geometry_mgr.h
../../../../../../core_api/src/fmod_geometryi.cpp
../../../../../../core_api/src/fmod_geometryi.h
../../../../../../core_api/src/fmod_globals.cpp
../../../../../../core_api/src/fmod_globals.h
../../../../../../core_api/src/fmod_gpu_compute.cpp
../../../../../../core_api/src/fmod_gpu_compute.h
../../../../../../core_api/src/fmod_ifft_0.hlsl
../../../../../../core_api/src/fmod_ifft_1.hlsl
../../../../../../core_api/src/fmod_iterator.h
../../../../../../core_api/src/fmod_linkedlist.h
../../../../../../core_api/src/fmod_listener.cpp
../../../../../../core_api/src/fmod_listener.h
../../../../../../core_api/src/fmod_localcriticalsection.h
../../../../../../core_api/src/fmod_map.h
../../../../../../core_api/src/fmod_memory.cpp
../../../../../../core_api/src/fmod_memory.h
../../../../../../core_api/src/fmod_memory_tracking.cpp
../../../../../../core_api/src/fmod_memory_tracking.h
../../../../../../core_api/src/fmod_metadata.cpp
../../../../../../core_api/src/fmod_metadata.h
../../../../../../core_api/src/fmod_mode.h
../../../../../../core_api/src/fmod_music.cpp
../../../../../../core_api/src/fmod_music.h
../../../../../../core_api/src/fmod_net.cpp
../../../../../../core_api/src/fmod_net.h
../../../../../../core_api/src/fmod_octree.cpp
../../../../../../core_api/src/fmod_octree.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.m4
../../../../../../core_api/src/fmod_os_atomic_gcc_arm64.h
../../../../../../core_api/src/fmod_os_atomic_gcc_x86.h
../../../../../../core_api/src/fmod_os_misc.h
../../../../../../core_api/src/fmod_os_net.h
../../../../../../core_api/src/fmod_os_net_posix.cpp
../../../../../../core_api/src/fmod_os_net_winsock.cpp
../../../../../../core_api/src/fmod_os_output.h
../../../../../../core_api/src/fmod_output.cpp
../../../../../../core_api/src/fmod_output.h
../../../../../../core_api/src/fmod_output_emulated.h
../../../../../../core_api/src/fmod_output_nosound.cpp
../../../../../../core_api/src/fmod_output_nosound.h
../../../../../../core_api/src/fmod_output_nosound_nrt.cpp
../../../../../../core_api/src/fmod_output_nosound_nrt.h
../../../../../../core_api/src/fmod_output_phase.h
../../../../../../core_api/src/fmod_output_phase.mm
../../../../../../core_api/src/fmod_output_software.cpp
../../../../../../core_api/src/fmod_output_software.h
../../../../../../core_api/src/fmod_output_wavwriter.cpp
../../../../../../core_api/src/fmod_output_wavwriter.h
../../../../../../core_api/src/fmod_output_wavwriter_nrt.cpp
../../../../../../core_api/src/fmod_output_wavwriter_nrt.h
../../../../../../core_api/src/fmod_output_winsonic.cpp
../../../../../../core_api/src/fmod_output_winsonic.h
../../../../../../core_api/src/fmod_output_winsonic_compat.h
../../../../../../core_api/src/fmod_outputi.h
../../../../../../core_api/src/fmod_pan.cpp
../../../../../../core_api/src/fmod_pan.h
../../../../../../core_api/src/fmod_pluginfactory.cpp
../../../../../../core_api/src/fmod_pluginfactory.h
../../../../../../core_api/src/fmod_poolallocator.h
../../../../../../core_api/src/fmod_profile.cpp
../../../../../../core_api/src/fmod_profile.h
../../../../../../core_api/src/fmod_profile_channel_pkt.h
../../../../../../core_api/src/fmod_profile_client.cpp
../../../../../../core_api/src/fmod_profile_client.h
../../../../../../core_api/src/fmod_profile_codec_pkt.h
../../../../../../core_api/src/fmod_profile_cpu_pkt.h
../../../../../../core_api/src/fmod_profile_dsp.cpp
../../../../../../core_api/src/fmod_profile_dsp.h
../../../../../../core_api/src/fmod_profile_dsp_pkt.h
../../../../../../core_api/src/fmod_profile_group_pkt.h
../../../../../../core_api/src/fmod_profile_markers.cpp
../../../../../../core_api/src/fmod_profile_markers.h
../../../../../../core_api/src/fmod_profile_pkt.h
../../../../../../core_api/src/fmod_profile_remotefile.cpp
../../../../../../core_api/src/fmod_profile_remotefile.h
../../../../../../core_api/src/fmod_profile_remotefile_pkt.h
../../../../../../core_api/src/fmod_profile_stats.cpp
../../../../../../core_api/src/fmod_profile_stats.h
../../../../../../core_api/src/fmod_profile_stats_pkt.h
../../../../../../core_api/src/fmod_random.h
../../../../../../core_api/src/fmod_reverb.cpp
../../../../../../core_api/src/fmod_reverbi.cpp
../../../../../../core_api/src/fmod_reverbi.h
../../../../../../core_api/src/fmod_rootsignature.hlsl
../../../../../../core_api/src/fmod_sample_software.cpp
../../../../../../core_api/src/fmod_sample_software.h
../../../../../../core_api/src/fmod_settings.h
../../../../../../core_api/src/fmod_shader_compat.hlsli
../../../../../../core_api/src/fmod_simd_util_sse.h
../../../../../../core_api/src/fmod_sound.cpp
../../../../../../core_api/src/fmod_sound_sample.cpp
../../../../../../core_api/src/fmod_sound_sample.h
../../../../../../core_api/src/fmod_sound_stream.cpp
../../../../../../core_api/src/fmod_sound_stream.h
../../../../../../core_api/src/fmod_soundgroup.cpp
../../../../../../core_api/src/fmod_soundgroupi.cpp
../../../../../../core_api/src/fmod_soundgroupi.h
../../../../../../core_api/src/fmod_soundi.cpp
../../../../../../core_api/src/fmod_soundi.h
../../../../../../core_api/src/fmod_speakermap.h
../../../../../../core_api/src/fmod_string.cpp
../../../../../../core_api/src/fmod_string.h
../../../../../../core_api/src/fmod_stringw.cpp
../../../../../../core_api/src/fmod_stringw.h
../../../../../../core_api/src/fmod_syncpoint.h
../../../../../../core_api/src/fmod_system.cpp
../../../../../../core_api/src/fmod_systemi.cpp
../../../../../../core_api/src/fmod_systemi.h
../../../../../../core_api/src/fmod_systemi_channel.cpp
../../../../../../core_api/src/fmod_systemi_driver.cpp
../../../../../../core_api/src/fmod_systemi_dsp.cpp
../../../../../../core_api/src/fmod_systemi_fft.cpp
../../../../../../core_api/src/fmod_systemi_sound.cpp
../../../../../../core_api/src/fmod_systemi_speaker.cpp
../../../../../../core_api/src/fmod_systemi_thread.cpp
../../../../../../core_api/src/fmod_systemi_update.cpp
../../../../../../core_api/src/fmod_thread.cpp
../../../../../../core_api/src/fmod_thread.h
../../../../../../core_api/src/fmod_threadsafe.cpp
../../../../../../core_api/src/fmod_threadsafe.h
../../../../../../core_api/src/fmod_time.cpp
../../../../../../core_api/src/fmod_time.h
../../../../../../core_api/src/fmod_types.h
../../../../../../examples/platforms/linux/src/common_platform.cpp
../../../../../../examples/platforms/linux/src/common_platform.h
../../../../../../examples/src/autotest.cpp
../../../../../../examples/src/common.cpp
../../../../../../examples/src/common.h
../../../../../../examples/src/common_dx12.cpp
../../../../../../examples/src/common_dx12.h
../../../../../../examples/src/common_dx12_ps.h
../../../../../../examples/src/common_dx12_vs.h
../../../../../../examples/src/common_font_glyphs.h
../../../../../../examples/src/common_font_texture.h
../../../../../../examples/src/common_vulkan.cpp
../../../../../../examples/src/common_vulkan.h
../../../../../../examples/src/common_vulkan_fs.h
../../../../../../examples/src/common_vulkan_vs.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/assert.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/callback.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/export.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/format.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/ordinals.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/stream_decoder.h
../../../../../../external/decoders/flac-1.2.1/include/share/alloc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitmath.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitreader.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/cpu.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/crc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/fixed.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/format.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/lpc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/md5.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/memory.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/stream_decoder.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/nasm.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitmath.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitreader.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/cpu.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/crc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/fixed.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/float.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/format.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/lpc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/md5.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/memory.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/protected/stream_decoder.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/ogg.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/os_types.h
../../../../../../external/decoders/ogg_vorbis/ogg/src/bitwise.c
../../../../../../external/decoders/ogg_vorbis/ogg/src/framing.c
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/codec.h
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/vorbisfile.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/backends.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/block.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codec_internal.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/floor1.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/highlevel.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/info.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup_data.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mapping0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/masking.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/misc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/os.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/psy.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/res0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/scales.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/sharedbook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/synthesis.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/vorbisfile.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/floor_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/psych_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/residue_44.h
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.c
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_codec.h
../../../../../../external/decoders/tremor_lowmem/tremor_codec_internal.h
../../../../../../external/decoders/tremor_lowmem/tremor_dsp.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_info.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx512.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct.h
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_misc.h
../../../../../../external/decoders/tremor_lowmem/tremor_os.h
../../../../../../external/decoders/tremor_lowmem/tremor_os_types.h
../../../../../../external/decoders/tremor_lowmem/tremor_res012.c
../../../../../../external/decoders/tremor_lowmem/tremor_window_lookup.h
../../../../../../external/misc/dlmalloc/dlmalloc.cpp
../../../../../../external/misc/dlmalloc/dlmalloc.h
../make/generate_tone.makefile
../generate_tone.cpp

View file

@ -0,0 +1,6 @@
../../../../../../examples/src
../../../../../../examples/platforms/linux/src
../../../../../src
../../../../../../external/misc
../../../../../../external/dsps
../../../../../../external/decoders

View file

@ -0,0 +1,278 @@
/*==============================================================================
Granular Synthesis Example
Copyright (c), Firelight Technologies Pty, Ltd 2004-2025.
This example shows how you can play a string of sounds together without gaps,
using the setDelay command, to produce a granular synthesis style truck engine
effect.
The basic operation is:
* Play 2 sounds initially at the same time, the first sound immediately, and
the 2nd sound with a delay calculated by the length of the first sound.
* Call setDelay to initiate the delayed playback. setDelay is sample accurate
and uses -output- samples as the time frame, not source samples. These
samples are a fixed amount per second regardless of the source sound format,
for example, 48000 samples per second if FMOD is initialized to 48khz output.
* Output samples are calculated from source samples with a simple
source->output sample rate conversion. i.e.
sound_length *= output_rate
sound_length /= sound_frequency
* When the first sound finishes, the second one should have automatically
started. This is a good oppurtunity to queue up the next sound. Repeat
step 2.
* Make sure the framerate is high enough to queue up a new sound before the
other one finishes otherwise you will get gaps.
These sounds are not limited by format, channel count or bit depth like the
realtimestitching example is, and can also be modified to allow for overlap,
by reducing the delay from the first sound playing to the second by the overlap
amount.
#define USE_STREAMS = Use 2 stream instances, created while they play.
#define USE_STREAMS = Use 6 static wavs, all loaded into memory.
For information on using FMOD example code in your own programs, visit
https://www.fmod.com/legal
==============================================================================*/
#include "fmod.hpp"
#include "common.h"
//#define USE_STREAMS
FMOD::System *gSystem;
#ifdef USE_STREAMS
#define NUMSOUNDS 3 /* Use some longer sounds, free and load them on the fly. */
FMOD::Sound *sound[2] = { 0, 0 }; /* 2 streams active, double buffer them. */
const char *soundname[NUMSOUNDS] = { Common_MediaPath("c.ogg"),
Common_MediaPath("d.ogg"),
Common_MediaPath("e.ogg") };
#else
#define NUMSOUNDS 6 /* These sounds will be loaded into memory statically. */
FMOD::Sound *sound[NUMSOUNDS] = { 0, 0, 0, 0, 0, 0 }; /* 6 sounds active, one for each wav. */
const char *soundname[NUMSOUNDS] = { Common_MediaPath("granular/truck_idle_off_01.wav"),
Common_MediaPath("granular/truck_idle_off_02.wav"),
Common_MediaPath("granular/truck_idle_off_03.wav"),
Common_MediaPath("granular/truck_idle_off_04.wav"),
Common_MediaPath("granular/truck_idle_off_05.wav"),
Common_MediaPath("granular/truck_idle_off_06.wav") };
#endif
FMOD::Channel *queue_next_sound(int outputrate, FMOD::Channel *playingchannel, int newindex, int slot)
{
FMOD_RESULT result;
FMOD::Channel *newchannel;
FMOD::Sound *newsound;
#ifdef USE_STREAMS /* Create a new stream */
FMOD_CREATESOUNDEXINFO info;
memset(&info, 0, sizeof(FMOD_CREATESOUNDEXINFO));
info.cbsize = sizeof(FMOD_CREATESOUNDEXINFO);
info.suggestedsoundtype = FMOD_SOUND_TYPE_OGGVORBIS;
result = gSystem->createStream(soundname[newindex], FMOD_IGNORETAGS | FMOD_LOWMEM, &info, &sound[slot]);
ERRCHECK(result);
newsound = sound[slot];
#else /* Use an existing sound that was passed into us */
(void)slot;
newsound = sound[newindex];
#endif
result = gSystem->playSound(newsound, 0, true, &newchannel);
ERRCHECK(result);
if (playingchannel)
{
unsigned long long startdelay = 0;
unsigned int soundlength = 0;
float soundfrequency;
FMOD::Sound *playingsound;
/*
Get the start time of the playing channel.
*/
result = playingchannel->getDelay(&startdelay, 0);
ERRCHECK(result);
/*
Grab the length of the playing sound, and its frequency, so we can caluate where to place the new sound on the time line.
*/
result = playingchannel->getCurrentSound(&playingsound);
ERRCHECK(result);
result = playingsound->getLength(&soundlength, FMOD_TIMEUNIT_PCM);
ERRCHECK(result);
result = playingchannel->getFrequency(&soundfrequency);
ERRCHECK(result);
/*
Now calculate the length of the sound in 'output samples'.
Ie if a 44khz sound is 22050 samples long, and the output rate is 48khz, then we want to delay by 24000 output samples.
*/
soundlength *= outputrate;
soundlength /= (int)soundfrequency;
startdelay += soundlength; /* Add output rate adjusted sound length, to the clock value of the sound that is currently playing */
result = newchannel->setDelay(startdelay, 0); /* Set the delay of the new sound to the end of the old sound */
ERRCHECK(result);
}
else
{
unsigned int bufferlength;
unsigned long long startdelay;
result = gSystem->getDSPBufferSize(&bufferlength, 0);
ERRCHECK(result);
result = newchannel->getDSPClock(0, &startdelay);
ERRCHECK(result);
startdelay += (2 * bufferlength);
result = newchannel->setDelay(startdelay, 0);
ERRCHECK(result);
}
{
float val, variation;
/*
Randomize pitch/volume to make it sound more realistic / random.
*/
result = newchannel->getFrequency(&val);
ERRCHECK(result);
variation = (((float)(rand()%10000) / 5000.0f) - 1.0f); /* -1.0 to +1.0 */
val *= (1.0f + (variation * 0.02f)); /* @22khz, range fluctuates from 21509 to 22491 */
result = newchannel->setFrequency(val);
ERRCHECK(result);
result = newchannel->getVolume(&val);
ERRCHECK(result);
variation = ((float)(rand()%10000) / 10000.0f); /* 0.0 to 1.0 */
val *= (1.0f - (variation * 0.2f)); /* 0.8 to 1.0 */
result = newchannel->setVolume(val);
ERRCHECK(result);
}
result = newchannel->setPaused(false);
ERRCHECK(result);
return newchannel;
}
int FMOD_Main()
{
FMOD::Channel *channel[2] = { 0,0 };
FMOD_RESULT result;
int outputrate, slot = 0;
void *extradriverdata = 0;
bool paused = false;
Common_Init(&extradriverdata);
result = FMOD::System_Create(&gSystem);
ERRCHECK(result);
result = gSystem->init(100, FMOD_INIT_NORMAL, extradriverdata);
ERRCHECK(result);
result = gSystem->getSoftwareFormat(&outputrate, 0, 0);
ERRCHECK(result);
#if !defined(USE_STREAMS)
for (unsigned int count = 0; count < NUMSOUNDS; count++)
{
result = gSystem->createSound(soundname[count], FMOD_IGNORETAGS, 0, &sound[count]);
ERRCHECK(result);
}
#endif
/*
Kick off the first 2 sounds. First one is immediate, second one will be triggered to start after the first one.
*/
channel[slot] = queue_next_sound(outputrate, channel[1-slot], rand()%NUMSOUNDS, slot);
slot = 1-slot; /* flip */
channel[slot] = queue_next_sound(outputrate, channel[1-slot], rand()%NUMSOUNDS, slot);
slot = 1-slot; /* flip */
do
{
bool isplaying = false;
Common_Update();
if (Common_BtnPress(BTN_ACTION1))
{
FMOD::ChannelGroup *mastergroup;
paused = !paused;
result = gSystem->getMasterChannelGroup(&mastergroup);
ERRCHECK(result);
result = mastergroup->setPaused(paused);
ERRCHECK(result);
}
result = gSystem->update();
ERRCHECK(result);
/*
Replace the sound that just finished with a new sound, to create endless seamless stitching!
*/
result = channel[slot]->isPlaying(&isplaying);
if (result != FMOD_ERR_INVALID_HANDLE)
{
ERRCHECK(result);
}
if (!isplaying && !paused)
{
#ifdef USE_STREAMS
/*
Release the sound that isn't playing any more.
*/
result = sound[slot]->release();
ERRCHECK(result);
sound[slot] = 0;
#endif
/*
Replace sound that just ended with a new sound, queued up to trigger exactly after the other sound ends.
*/
channel[slot] = queue_next_sound(outputrate, channel[1-slot], rand()%NUMSOUNDS, slot);
slot = 1-slot; /* flip */
}
Common_Draw("==================================================");
Common_Draw("Granular Synthesis SetDelay Example.");
Common_Draw("Copyright (c) Firelight Technologies 2004-2025.");
Common_Draw("==================================================");
Common_Draw("");
Common_Draw("Toggle #define USE_STREAM on/off in code to switch between streams and static samples.");
Common_Draw("");
Common_Draw("Press %s to pause", Common_BtnStr(BTN_ACTION1));
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
Common_Draw("");
Common_Draw("Channels are %s", paused ? "paused" : "playing");
Common_Sleep(10); /* If you wait too long, ie longer than the length of the shortest sound, you will get gaps. */
} while (!Common_BtnPress(BTN_QUIT));
/*
Shut down
*/
for (unsigned int count = 0; count < sizeof(sound) / sizeof(sound[0]); count++)
{
if (sound[count])
{
result = sound[count]->release();
ERRCHECK(result);
}
}
result = gSystem->release();
ERRCHECK(result);
Common_Close();
return 0;
}

View file

@ -0,0 +1 @@
-std=c17 -fPIC -fno-trapping-math

View file

@ -0,0 +1 @@
#define FMOD_USE_PLATFORM_HEADERS

View file

@ -0,0 +1,442 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{71064a00-ba92-4c03-affd-e7f374fa3265}</value>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{22e4ca2b-856c-4a9e-96b1-3ef2b55f3da9}</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.4">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=address</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Address Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.5">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=memory</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Memory Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.6">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=thread</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Thread Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.7">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f granular_synth.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=undefined</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Undefined Behaviour Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">8</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">%{buildDir}/granular_synth</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseTerminal">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory">%{buildDir}/../../../../../examples/media</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View file

@ -0,0 +1 @@
-std=c++17 -fPIC -fno-trapping-math

View file

@ -0,0 +1,514 @@
../../../../../../core_api/src/fmod.cpp
../../../../../../core_api/src/fmod.cs
../../../../../../core_api/src/fmod.h
../../../../../../core_api/src/fmod.hpp
../../../../../../core_api/src/fmod5.cpp
../../../../../../core_api/src/fmod_3d.h
../../../../../../core_api/src/fmod_array.h
../../../../../../core_api/src/fmod_asm_macros.m4
../../../../../../core_api/src/fmod_async.cpp
../../../../../../core_api/src/fmod_async.h
../../../../../../core_api/src/fmod_atomic.h
../../../../../../core_api/src/fmod_atomic_c11.h
../../../../../../core_api/src/fmod_atomic_clang.h
../../../../../../core_api/src/fmod_atomic_cpp11.h
../../../../../../core_api/src/fmod_atomic_gcc.h
../../../../../../core_api/src/fmod_atomic_legacy.h
../../../../../../core_api/src/fmod_autocleanup.h
../../../../../../core_api/src/fmod_channel.cpp
../../../../../../core_api/src/fmod_channel_emulated.h
../../../../../../core_api/src/fmod_channel_real.cpp
../../../../../../core_api/src/fmod_channel_real.h
../../../../../../core_api/src/fmod_channel_software.cpp
../../../../../../core_api/src/fmod_channel_software.h
../../../../../../core_api/src/fmod_channel_stream.cpp
../../../../../../core_api/src/fmod_channel_stream.h
../../../../../../core_api/src/fmod_channelcontrol.cpp
../../../../../../core_api/src/fmod_channelcontroli.cpp
../../../../../../core_api/src/fmod_channelcontroli.h
../../../../../../core_api/src/fmod_channelgroup.cpp
../../../../../../core_api/src/fmod_channelgroupi.cpp
../../../../../../core_api/src/fmod_channelgroupi.h
../../../../../../core_api/src/fmod_channeli.cpp
../../../../../../core_api/src/fmod_channeli.h
../../../../../../core_api/src/fmod_channelpool.h
../../../../../../core_api/src/fmod_codec.cpp
../../../../../../core_api/src/fmod_codec.h
../../../../../../core_api/src/fmod_codec_aiff.cpp
../../../../../../core_api/src/fmod_codec_aiff.h
../../../../../../core_api/src/fmod_codec_dls.cpp
../../../../../../core_api/src/fmod_codec_dls.h
../../../../../../core_api/src/fmod_codec_fadpcm.cpp
../../../../../../core_api/src/fmod_codec_fadpcm.h
../../../../../../core_api/src/fmod_codec_fadpcm_arm.m4
../../../../../../core_api/src/fmod_codec_flac.cpp
../../../../../../core_api/src/fmod_codec_flac.h
../../../../../../core_api/src/fmod_codec_fsb5.cpp
../../../../../../core_api/src/fmod_codec_fsb5.h
../../../../../../core_api/src/fmod_codec_fsbvorbis.cpp
../../../../../../core_api/src/fmod_codec_fsbvorbis.h
../../../../../../core_api/src/fmod_codec_fsbvorbis_books.cpp
../../../../../../core_api/src/fmod_codec_it.cpp
../../../../../../core_api/src/fmod_codec_it.h
../../../../../../core_api/src/fmod_codec_midi.cpp
../../../../../../core_api/src/fmod_codec_midi.h
../../../../../../core_api/src/fmod_codec_mod.cpp
../../../../../../core_api/src/fmod_codec_mod.h
../../../../../../core_api/src/fmod_codec_mpeg.cpp
../../../../../../core_api/src/fmod_codec_mpeg.h
../../../../../../core_api/src/fmod_codec_mpeg_decode.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer2.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer3.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.h
../../../../../../core_api/src/fmod_codec_playlist.cpp
../../../../../../core_api/src/fmod_codec_playlist.h
../../../../../../core_api/src/fmod_codec_raw.cpp
../../../../../../core_api/src/fmod_codec_raw.h
../../../../../../core_api/src/fmod_codec_s3m.cpp
../../../../../../core_api/src/fmod_codec_s3m.h
../../../../../../core_api/src/fmod_codec_tag.cpp
../../../../../../core_api/src/fmod_codec_tag.h
../../../../../../core_api/src/fmod_codec_user.cpp
../../../../../../core_api/src/fmod_codec_user.h
../../../../../../core_api/src/fmod_codec_wav.cpp
../../../../../../core_api/src/fmod_codec_wav.h
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.cpp
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.h
../../../../../../core_api/src/fmod_codec_wav_riff.cpp
../../../../../../core_api/src/fmod_codec_xm.cpp
../../../../../../core_api/src/fmod_codec_xm.h
../../../../../../core_api/src/fmod_codeci.h
../../../../../../core_api/src/fmod_common.h
../../../../../../core_api/src/fmod_complex.hlsli
../../../../../../core_api/src/fmod_convolution.hlsl
../../../../../../core_api/src/fmod_debug.cpp
../../../../../../core_api/src/fmod_debug.h
../../../../../../core_api/src/fmod_downmix.cpp
../../../../../../core_api/src/fmod_downmix.h
../../../../../../core_api/src/fmod_downmix_dolby_pl2.cpp
../../../../../../core_api/src/fmod_downmix_dolby_pl2.h
../../../../../../core_api/src/fmod_dsp.cpp
../../../../../../core_api/src/fmod_dsp.cs
../../../../../../core_api/src/fmod_dsp.h
../../../../../../core_api/src/fmod_dsp_biquad.cpp
../../../../../../core_api/src/fmod_dsp_biquad.h
../../../../../../core_api/src/fmod_dsp_channelmix.cpp
../../../../../../core_api/src/fmod_dsp_channelmix.h
../../../../../../core_api/src/fmod_dsp_chorus.cpp
../../../../../../core_api/src/fmod_dsp_chorus.h
../../../../../../core_api/src/fmod_dsp_codec.cpp
../../../../../../core_api/src/fmod_dsp_codec.h
../../../../../../core_api/src/fmod_dsp_codecpool.cpp
../../../../../../core_api/src/fmod_dsp_codecpool.h
../../../../../../core_api/src/fmod_dsp_compressor.cpp
../../../../../../core_api/src/fmod_dsp_compressor.h
../../../../../../core_api/src/fmod_dsp_compressor_noopt.cpp
../../../../../../core_api/src/fmod_dsp_compressor_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection.cpp
../../../../../../core_api/src/fmod_dsp_connection_arm.cpp
../../../../../../core_api/src/fmod_dsp_connection_avx.cpp
../../../../../../core_api/src/fmod_dsp_connection_neon.cpp
../../../../../../core_api/src/fmod_dsp_connection_noopt.cpp
../../../../../../core_api/src/fmod_dsp_connection_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection_vfp.m4
../../../../../../core_api/src/fmod_dsp_connectioni.cpp
../../../../../../core_api/src/fmod_dsp_connectioni.h
../../../../../../core_api/src/fmod_dsp_convert.cpp
../../../../../../core_api/src/fmod_dsp_convert.h
../../../../../../core_api/src/fmod_dsp_convert_avx.cpp
../../../../../../core_api/src/fmod_dsp_convert_noopt.cpp
../../../../../../core_api/src/fmod_dsp_convert_sse.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.h
../../../../../../core_api/src/fmod_dsp_convolutionreverb_async.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_avx.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_cpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_gpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_neon.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_sse.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.h
../../../../../../core_api/src/fmod_dsp_delay.cpp
../../../../../../core_api/src/fmod_dsp_delay.h
../../../../../../core_api/src/fmod_dsp_distortion.cpp
../../../../../../core_api/src/fmod_dsp_distortion.h
../../../../../../core_api/src/fmod_dsp_echo.cpp
../../../../../../core_api/src/fmod_dsp_echo.h
../../../../../../core_api/src/fmod_dsp_echo_noopt.cpp
../../../../../../core_api/src/fmod_dsp_echo_sse.cpp
../../../../../../core_api/src/fmod_dsp_effects.h
../../../../../../core_api/src/fmod_dsp_emulated.cpp
../../../../../../core_api/src/fmod_dsp_emulated.h
../../../../../../core_api/src/fmod_dsp_fader.cpp
../../../../../../core_api/src/fmod_dsp_fader.h
../../../../../../core_api/src/fmod_dsp_fft.cpp
../../../../../../core_api/src/fmod_dsp_fft.h
../../../../../../core_api/src/fmod_dsp_flange.cpp
../../../../../../core_api/src/fmod_dsp_flange.h
../../../../../../core_api/src/fmod_dsp_highpass.cpp
../../../../../../core_api/src/fmod_dsp_highpass.h
../../../../../../core_api/src/fmod_dsp_highpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_highpass_simple.h
../../../../../../core_api/src/fmod_dsp_interleave_noopt.cpp
../../../../../../core_api/src/fmod_dsp_interleave_sse.cpp
../../../../../../core_api/src/fmod_dsp_itecho.cpp
../../../../../../core_api/src/fmod_dsp_itecho.h
../../../../../../core_api/src/fmod_dsp_limiter.cpp
../../../../../../core_api/src/fmod_dsp_limiter.h
../../../../../../core_api/src/fmod_dsp_loudness_meter.cpp
../../../../../../core_api/src/fmod_dsp_loudness_meter.h
../../../../../../core_api/src/fmod_dsp_lowpass.cpp
../../../../../../core_api/src/fmod_dsp_lowpass.h
../../../../../../core_api/src/fmod_dsp_lowpass2.cpp
../../../../../../core_api/src/fmod_dsp_lowpass2.h
../../../../../../core_api/src/fmod_dsp_lowpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_lowpass_simple.h
../../../../../../core_api/src/fmod_dsp_matrix.cpp
../../../../../../core_api/src/fmod_dsp_matrix.h
../../../../../../core_api/src/fmod_dsp_metering_noopt.cpp
../../../../../../core_api/src/fmod_dsp_metering_sse.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.h
../../../../../../core_api/src/fmod_dsp_multiband_eq.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq.h
../../../../../../core_api/src/fmod_dsp_multiband_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_normalize.cpp
../../../../../../core_api/src/fmod_dsp_normalize.h
../../../../../../core_api/src/fmod_dsp_objectpan.cpp
../../../../../../core_api/src/fmod_dsp_objectpan.h
../../../../../../core_api/src/fmod_dsp_oscillator.cpp
../../../../../../core_api/src/fmod_dsp_oscillator.h
../../../../../../core_api/src/fmod_dsp_pan.cpp
../../../../../../core_api/src/fmod_dsp_pan.h
../../../../../../core_api/src/fmod_dsp_parameq.cpp
../../../../../../core_api/src/fmod_dsp_parameq.h
../../../../../../core_api/src/fmod_dsp_pitchshift.cpp
../../../../../../core_api/src/fmod_dsp_pitchshift.h
../../../../../../core_api/src/fmod_dsp_porthead.cpp
../../../../../../core_api/src/fmod_dsp_porthead.h
../../../../../../core_api/src/fmod_dsp_resampler.cpp
../../../../../../core_api/src/fmod_dsp_resampler.h
../../../../../../core_api/src/fmod_dsp_resampler_cubic.cpp
../../../../../../core_api/src/fmod_dsp_resampler_cubic.h
../../../../../../core_api/src/fmod_dsp_resampler_linear.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear.h
../../../../../../core_api/src/fmod_dsp_resampler_linear_arm.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx2.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx512.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_neon.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_vfp.m4
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.h
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.h
../../../../../../core_api/src/fmod_dsp_return.cpp
../../../../../../core_api/src/fmod_dsp_return.h
../../../../../../core_api/src/fmod_dsp_send.cpp
../../../../../../core_api/src/fmod_dsp_send.h
../../../../../../core_api/src/fmod_dsp_sfxreverb.cpp
../../../../../../core_api/src/fmod_dsp_sfxreverb.h
../../../../../../core_api/src/fmod_dsp_source.cpp
../../../../../../core_api/src/fmod_dsp_source.h
../../../../../../core_api/src/fmod_dsp_three_eq.cpp
../../../../../../core_api/src/fmod_dsp_three_eq.h
../../../../../../core_api/src/fmod_dsp_three_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_noopt.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.h
../../../../../../core_api/src/fmod_dsp_tremolo.cpp
../../../../../../core_api/src/fmod_dsp_tremolo.h
../../../../../../core_api/src/fmod_dsp_wavetable.cpp
../../../../../../core_api/src/fmod_dsp_wavetable.h
../../../../../../core_api/src/fmod_dspi.cpp
../../../../../../core_api/src/fmod_dspi.h
../../../../../../core_api/src/fmod_endian.h
../../../../../../core_api/src/fmod_errors.cs
../../../../../../core_api/src/fmod_errors.h
../../../../../../core_api/src/fmod_expandingpool.cpp
../../../../../../core_api/src/fmod_expandingpool.h
../../../../../../core_api/src/fmod_fft.cpp
../../../../../../core_api/src/fmod_fft.h
../../../../../../core_api/src/fmod_fft_0.hlsl
../../../../../../core_api/src/fmod_fft_1.hlsl
../../../../../../core_api/src/fmod_fft_common.hlsli
../../../../../../core_api/src/fmod_fft_noopt.cpp
../../../../../../core_api/src/fmod_fft_sse.cpp
../../../../../../core_api/src/fmod_file.cpp
../../../../../../core_api/src/fmod_file.h
../../../../../../core_api/src/fmod_file_disk.cpp
../../../../../../core_api/src/fmod_file_disk.h
../../../../../../core_api/src/fmod_file_memory.cpp
../../../../../../core_api/src/fmod_file_memory.h
../../../../../../core_api/src/fmod_file_net.cpp
../../../../../../core_api/src/fmod_file_net.h
../../../../../../core_api/src/fmod_file_null.cpp
../../../../../../core_api/src/fmod_file_null.h
../../../../../../core_api/src/fmod_file_remote.cpp
../../../../../../core_api/src/fmod_file_remote.h
../../../../../../core_api/src/fmod_file_user.cpp
../../../../../../core_api/src/fmod_file_user.h
../../../../../../core_api/src/fmod_format.cpp
../../../../../../core_api/src/fmod_format.h
../../../../../../core_api/src/fmod_freelist.h
../../../../../../core_api/src/fmod_geometry.cpp
../../../../../../core_api/src/fmod_geometry_mgr.cpp
../../../../../../core_api/src/fmod_geometry_mgr.h
../../../../../../core_api/src/fmod_geometryi.cpp
../../../../../../core_api/src/fmod_geometryi.h
../../../../../../core_api/src/fmod_globals.cpp
../../../../../../core_api/src/fmod_globals.h
../../../../../../core_api/src/fmod_gpu_compute.cpp
../../../../../../core_api/src/fmod_gpu_compute.h
../../../../../../core_api/src/fmod_ifft_0.hlsl
../../../../../../core_api/src/fmod_ifft_1.hlsl
../../../../../../core_api/src/fmod_iterator.h
../../../../../../core_api/src/fmod_linkedlist.h
../../../../../../core_api/src/fmod_listener.cpp
../../../../../../core_api/src/fmod_listener.h
../../../../../../core_api/src/fmod_localcriticalsection.h
../../../../../../core_api/src/fmod_map.h
../../../../../../core_api/src/fmod_memory.cpp
../../../../../../core_api/src/fmod_memory.h
../../../../../../core_api/src/fmod_memory_tracking.cpp
../../../../../../core_api/src/fmod_memory_tracking.h
../../../../../../core_api/src/fmod_metadata.cpp
../../../../../../core_api/src/fmod_metadata.h
../../../../../../core_api/src/fmod_mode.h
../../../../../../core_api/src/fmod_music.cpp
../../../../../../core_api/src/fmod_music.h
../../../../../../core_api/src/fmod_net.cpp
../../../../../../core_api/src/fmod_net.h
../../../../../../core_api/src/fmod_octree.cpp
../../../../../../core_api/src/fmod_octree.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.m4
../../../../../../core_api/src/fmod_os_atomic_gcc_arm64.h
../../../../../../core_api/src/fmod_os_atomic_gcc_x86.h
../../../../../../core_api/src/fmod_os_misc.h
../../../../../../core_api/src/fmod_os_net.h
../../../../../../core_api/src/fmod_os_net_posix.cpp
../../../../../../core_api/src/fmod_os_net_winsock.cpp
../../../../../../core_api/src/fmod_os_output.h
../../../../../../core_api/src/fmod_output.cpp
../../../../../../core_api/src/fmod_output.h
../../../../../../core_api/src/fmod_output_emulated.h
../../../../../../core_api/src/fmod_output_nosound.cpp
../../../../../../core_api/src/fmod_output_nosound.h
../../../../../../core_api/src/fmod_output_nosound_nrt.cpp
../../../../../../core_api/src/fmod_output_nosound_nrt.h
../../../../../../core_api/src/fmod_output_phase.h
../../../../../../core_api/src/fmod_output_phase.mm
../../../../../../core_api/src/fmod_output_software.cpp
../../../../../../core_api/src/fmod_output_software.h
../../../../../../core_api/src/fmod_output_wavwriter.cpp
../../../../../../core_api/src/fmod_output_wavwriter.h
../../../../../../core_api/src/fmod_output_wavwriter_nrt.cpp
../../../../../../core_api/src/fmod_output_wavwriter_nrt.h
../../../../../../core_api/src/fmod_output_winsonic.cpp
../../../../../../core_api/src/fmod_output_winsonic.h
../../../../../../core_api/src/fmod_output_winsonic_compat.h
../../../../../../core_api/src/fmod_outputi.h
../../../../../../core_api/src/fmod_pan.cpp
../../../../../../core_api/src/fmod_pan.h
../../../../../../core_api/src/fmod_pluginfactory.cpp
../../../../../../core_api/src/fmod_pluginfactory.h
../../../../../../core_api/src/fmod_poolallocator.h
../../../../../../core_api/src/fmod_profile.cpp
../../../../../../core_api/src/fmod_profile.h
../../../../../../core_api/src/fmod_profile_channel_pkt.h
../../../../../../core_api/src/fmod_profile_client.cpp
../../../../../../core_api/src/fmod_profile_client.h
../../../../../../core_api/src/fmod_profile_codec_pkt.h
../../../../../../core_api/src/fmod_profile_cpu_pkt.h
../../../../../../core_api/src/fmod_profile_dsp.cpp
../../../../../../core_api/src/fmod_profile_dsp.h
../../../../../../core_api/src/fmod_profile_dsp_pkt.h
../../../../../../core_api/src/fmod_profile_group_pkt.h
../../../../../../core_api/src/fmod_profile_markers.cpp
../../../../../../core_api/src/fmod_profile_markers.h
../../../../../../core_api/src/fmod_profile_pkt.h
../../../../../../core_api/src/fmod_profile_remotefile.cpp
../../../../../../core_api/src/fmod_profile_remotefile.h
../../../../../../core_api/src/fmod_profile_remotefile_pkt.h
../../../../../../core_api/src/fmod_profile_stats.cpp
../../../../../../core_api/src/fmod_profile_stats.h
../../../../../../core_api/src/fmod_profile_stats_pkt.h
../../../../../../core_api/src/fmod_random.h
../../../../../../core_api/src/fmod_reverb.cpp
../../../../../../core_api/src/fmod_reverbi.cpp
../../../../../../core_api/src/fmod_reverbi.h
../../../../../../core_api/src/fmod_rootsignature.hlsl
../../../../../../core_api/src/fmod_sample_software.cpp
../../../../../../core_api/src/fmod_sample_software.h
../../../../../../core_api/src/fmod_settings.h
../../../../../../core_api/src/fmod_shader_compat.hlsli
../../../../../../core_api/src/fmod_simd_util_sse.h
../../../../../../core_api/src/fmod_sound.cpp
../../../../../../core_api/src/fmod_sound_sample.cpp
../../../../../../core_api/src/fmod_sound_sample.h
../../../../../../core_api/src/fmod_sound_stream.cpp
../../../../../../core_api/src/fmod_sound_stream.h
../../../../../../core_api/src/fmod_soundgroup.cpp
../../../../../../core_api/src/fmod_soundgroupi.cpp
../../../../../../core_api/src/fmod_soundgroupi.h
../../../../../../core_api/src/fmod_soundi.cpp
../../../../../../core_api/src/fmod_soundi.h
../../../../../../core_api/src/fmod_speakermap.h
../../../../../../core_api/src/fmod_string.cpp
../../../../../../core_api/src/fmod_string.h
../../../../../../core_api/src/fmod_stringw.cpp
../../../../../../core_api/src/fmod_stringw.h
../../../../../../core_api/src/fmod_syncpoint.h
../../../../../../core_api/src/fmod_system.cpp
../../../../../../core_api/src/fmod_systemi.cpp
../../../../../../core_api/src/fmod_systemi.h
../../../../../../core_api/src/fmod_systemi_channel.cpp
../../../../../../core_api/src/fmod_systemi_driver.cpp
../../../../../../core_api/src/fmod_systemi_dsp.cpp
../../../../../../core_api/src/fmod_systemi_fft.cpp
../../../../../../core_api/src/fmod_systemi_sound.cpp
../../../../../../core_api/src/fmod_systemi_speaker.cpp
../../../../../../core_api/src/fmod_systemi_thread.cpp
../../../../../../core_api/src/fmod_systemi_update.cpp
../../../../../../core_api/src/fmod_thread.cpp
../../../../../../core_api/src/fmod_thread.h
../../../../../../core_api/src/fmod_threadsafe.cpp
../../../../../../core_api/src/fmod_threadsafe.h
../../../../../../core_api/src/fmod_time.cpp
../../../../../../core_api/src/fmod_time.h
../../../../../../core_api/src/fmod_types.h
../../../../../../examples/platforms/linux/src/common_platform.cpp
../../../../../../examples/platforms/linux/src/common_platform.h
../../../../../../examples/src/autotest.cpp
../../../../../../examples/src/common.cpp
../../../../../../examples/src/common.h
../../../../../../examples/src/common_dx12.cpp
../../../../../../examples/src/common_dx12.h
../../../../../../examples/src/common_dx12_ps.h
../../../../../../examples/src/common_dx12_vs.h
../../../../../../examples/src/common_font_glyphs.h
../../../../../../examples/src/common_font_texture.h
../../../../../../examples/src/common_vulkan.cpp
../../../../../../examples/src/common_vulkan.h
../../../../../../examples/src/common_vulkan_fs.h
../../../../../../examples/src/common_vulkan_vs.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/assert.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/callback.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/export.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/format.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/ordinals.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/stream_decoder.h
../../../../../../external/decoders/flac-1.2.1/include/share/alloc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitmath.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitreader.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/cpu.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/crc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/fixed.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/format.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/lpc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/md5.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/memory.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/stream_decoder.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/nasm.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitmath.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitreader.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/cpu.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/crc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/fixed.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/float.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/format.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/lpc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/md5.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/memory.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/protected/stream_decoder.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/ogg.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/os_types.h
../../../../../../external/decoders/ogg_vorbis/ogg/src/bitwise.c
../../../../../../external/decoders/ogg_vorbis/ogg/src/framing.c
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/codec.h
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/vorbisfile.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/backends.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/block.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codec_internal.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/floor1.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/highlevel.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/info.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup_data.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mapping0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/masking.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/misc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/os.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/psy.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/res0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/scales.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/sharedbook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/synthesis.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/vorbisfile.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/floor_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/psych_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/residue_44.h
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.c
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_codec.h
../../../../../../external/decoders/tremor_lowmem/tremor_codec_internal.h
../../../../../../external/decoders/tremor_lowmem/tremor_dsp.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_info.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx512.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct.h
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_misc.h
../../../../../../external/decoders/tremor_lowmem/tremor_os.h
../../../../../../external/decoders/tremor_lowmem/tremor_os_types.h
../../../../../../external/decoders/tremor_lowmem/tremor_res012.c
../../../../../../external/decoders/tremor_lowmem/tremor_window_lookup.h
../../../../../../external/misc/dlmalloc/dlmalloc.cpp
../../../../../../external/misc/dlmalloc/dlmalloc.h
../make/granular_synth.makefile
../granular_synth.cpp

View file

@ -0,0 +1,6 @@
../../../../../../examples/src
../../../../../../examples/platforms/linux/src
../../../../../src
../../../../../../external/misc
../../../../../../external/dsps
../../../../../../external/decoders

View file

@ -0,0 +1,168 @@
/*==============================================================================
Load From Memory Example
Copyright (c), Firelight Technologies Pty, Ltd 2004-2025.
This example is simply a variant of the [Play Sound Example](play_sound.html),
but it loads the data into memory then uses the 'load from memory' feature of
System::createSound.
For information on using FMOD example code in your own programs, visit
https://www.fmod.com/legal
==============================================================================*/
#include "fmod.hpp"
#include "common.h"
int FMOD_Main()
{
FMOD::System *system;
FMOD::Sound *sound1, *sound2, *sound3;
FMOD::Channel *channel = 0;
FMOD_RESULT result;
void *extradriverdata = 0;
void *buff = 0;
int length = 0;
FMOD_CREATESOUNDEXINFO exinfo;
Common_Init(&extradriverdata);
/*
Create a System object and initialize
*/
result = FMOD::System_Create(&system);
ERRCHECK(result);
result = system->init(32, FMOD_INIT_NORMAL, extradriverdata);
ERRCHECK(result);
Common_LoadFileMemory(Common_MediaPath("drumloop.wav"), &buff, &length);
memset(&exinfo, 0, sizeof(FMOD_CREATESOUNDEXINFO));
exinfo.cbsize = sizeof(FMOD_CREATESOUNDEXINFO);
exinfo.length = length;
result = system->createSound((const char *)buff, FMOD_OPENMEMORY | FMOD_LOOP_OFF, &exinfo, &sound1);
ERRCHECK(result);
Common_UnloadFileMemory(buff); // don't need the original memory any more. Note! If loading as a stream, the memory must stay active so do not free it!
Common_LoadFileMemory(Common_MediaPath("jaguar.wav"), &buff, &length);
memset(&exinfo, 0, sizeof(FMOD_CREATESOUNDEXINFO));
exinfo.cbsize = sizeof(FMOD_CREATESOUNDEXINFO);
exinfo.length = length;
result = system->createSound((const char *)buff, FMOD_OPENMEMORY, &exinfo, &sound2);
ERRCHECK(result);
Common_UnloadFileMemory(buff); // don't need the original memory any more. Note! If loading as a stream, the memory must stay active so do not free it!
Common_LoadFileMemory(Common_MediaPath("swish.wav"), &buff, &length);
memset(&exinfo, 0, sizeof(FMOD_CREATESOUNDEXINFO));
exinfo.cbsize = sizeof(FMOD_CREATESOUNDEXINFO);
exinfo.length = length;
result = system->createSound((const char *)buff, FMOD_OPENMEMORY, &exinfo, &sound3);
ERRCHECK(result);
Common_UnloadFileMemory(buff); // don't need the original memory any more. Note! If loading as a stream, the memory must stay active so do not free it!
/*
Main loop
*/
do
{
Common_Update();
if (Common_BtnPress(BTN_ACTION1))
{
result = system->playSound(sound1, 0, false, &channel);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_ACTION2))
{
result = system->playSound(sound2, 0, false, &channel);
ERRCHECK(result);
}
if (Common_BtnPress(BTN_ACTION3))
{
result = system->playSound(sound3, 0, false, &channel);
ERRCHECK(result);
}
result = system->update();
ERRCHECK(result);
{
unsigned int ms = 0;
unsigned int lenms = 0;
bool playing = 0;
bool paused = 0;
int channelsplaying = 0;
if (channel)
{
FMOD::Sound *currentsound = 0;
result = channel->isPlaying(&playing);
if ((result != FMOD_OK) && (result != FMOD_ERR_INVALID_HANDLE) && (result != FMOD_ERR_CHANNEL_STOLEN))
{
ERRCHECK(result);
}
result = channel->getPaused(&paused);
if ((result != FMOD_OK) && (result != FMOD_ERR_INVALID_HANDLE) && (result != FMOD_ERR_CHANNEL_STOLEN))
{
ERRCHECK(result);
}
result = channel->getPosition(&ms, FMOD_TIMEUNIT_MS);
if ((result != FMOD_OK) && (result != FMOD_ERR_INVALID_HANDLE) && (result != FMOD_ERR_CHANNEL_STOLEN))
{
ERRCHECK(result);
}
channel->getCurrentSound(&currentsound);
if (currentsound)
{
result = currentsound->getLength(&lenms, FMOD_TIMEUNIT_MS);
if ((result != FMOD_OK) && (result != FMOD_ERR_INVALID_HANDLE) && (result != FMOD_ERR_CHANNEL_STOLEN))
{
ERRCHECK(result);
}
}
}
system->getChannelsPlaying(&channelsplaying, NULL);
Common_Draw("==================================================");
Common_Draw("Load From Memory Example.");
Common_Draw("Copyright (c) Firelight Technologies 2004-2025.");
Common_Draw("==================================================");
Common_Draw("");
Common_Draw("Press %s to play a mono sound (drumloop)", Common_BtnStr(BTN_ACTION1));
Common_Draw("Press %s to play a mono sound (jaguar)", Common_BtnStr(BTN_ACTION2));
Common_Draw("Press %s to play a stereo sound (swish)", Common_BtnStr(BTN_ACTION3));
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
Common_Draw("");
Common_Draw("Time %02d:%02d:%02d/%02d:%02d:%02d : %s", ms / 1000 / 60, ms / 1000 % 60, ms / 10 % 100, lenms / 1000 / 60, lenms / 1000 % 60, lenms / 10 % 100, paused ? "Paused " : playing ? "Playing" : "Stopped");
Common_Draw("Channels Playing %2d", channelsplaying);
}
Common_Sleep(50);
} while (!Common_BtnPress(BTN_QUIT));
/*
Shut down
*/
result = sound1->release();
ERRCHECK(result);
result = sound2->release();
ERRCHECK(result);
result = sound3->release();
ERRCHECK(result);
result = system->close();
ERRCHECK(result);
result = system->release();
ERRCHECK(result);
Common_Close();
return 0;
}

View file

@ -0,0 +1 @@
-std=c17 -fPIC -fno-trapping-math

View file

@ -0,0 +1 @@
#define FMOD_USE_PLATFORM_HEADERS

View file

@ -0,0 +1,442 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{71064a00-ba92-4c03-affd-e7f374fa3265}</value>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{22e4ca2b-856c-4a9e-96b1-3ef2b55f3da9}</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x64</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Debug</value>
<value type="QString">CPU=x86</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug x86</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.4">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=address</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Address Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.5">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=memory</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Memory Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.6">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=thread</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Thread Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.7">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">%{sourceDir}/../make</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-f load_from_memory.makefile CPU=$CPU CONFIG=$CONFIGURATION SANITIZE=$SANITIZER</value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">CONFIGURATION=Release</value>
<value type="QString">CPU=x86_64</value>
<value type="QString">SANITIZER=undefined</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Undefined Behaviour Sanitizer</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">8</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable">%{buildDir}/load_from_memory</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseTerminal">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory">%{buildDir}/../../../../../examples/media</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View file

@ -0,0 +1 @@
-std=c++17 -fPIC -fno-trapping-math

View file

@ -0,0 +1,514 @@
../../../../../../core_api/src/fmod.cpp
../../../../../../core_api/src/fmod.cs
../../../../../../core_api/src/fmod.h
../../../../../../core_api/src/fmod.hpp
../../../../../../core_api/src/fmod5.cpp
../../../../../../core_api/src/fmod_3d.h
../../../../../../core_api/src/fmod_array.h
../../../../../../core_api/src/fmod_asm_macros.m4
../../../../../../core_api/src/fmod_async.cpp
../../../../../../core_api/src/fmod_async.h
../../../../../../core_api/src/fmod_atomic.h
../../../../../../core_api/src/fmod_atomic_c11.h
../../../../../../core_api/src/fmod_atomic_clang.h
../../../../../../core_api/src/fmod_atomic_cpp11.h
../../../../../../core_api/src/fmod_atomic_gcc.h
../../../../../../core_api/src/fmod_atomic_legacy.h
../../../../../../core_api/src/fmod_autocleanup.h
../../../../../../core_api/src/fmod_channel.cpp
../../../../../../core_api/src/fmod_channel_emulated.h
../../../../../../core_api/src/fmod_channel_real.cpp
../../../../../../core_api/src/fmod_channel_real.h
../../../../../../core_api/src/fmod_channel_software.cpp
../../../../../../core_api/src/fmod_channel_software.h
../../../../../../core_api/src/fmod_channel_stream.cpp
../../../../../../core_api/src/fmod_channel_stream.h
../../../../../../core_api/src/fmod_channelcontrol.cpp
../../../../../../core_api/src/fmod_channelcontroli.cpp
../../../../../../core_api/src/fmod_channelcontroli.h
../../../../../../core_api/src/fmod_channelgroup.cpp
../../../../../../core_api/src/fmod_channelgroupi.cpp
../../../../../../core_api/src/fmod_channelgroupi.h
../../../../../../core_api/src/fmod_channeli.cpp
../../../../../../core_api/src/fmod_channeli.h
../../../../../../core_api/src/fmod_channelpool.h
../../../../../../core_api/src/fmod_codec.cpp
../../../../../../core_api/src/fmod_codec.h
../../../../../../core_api/src/fmod_codec_aiff.cpp
../../../../../../core_api/src/fmod_codec_aiff.h
../../../../../../core_api/src/fmod_codec_dls.cpp
../../../../../../core_api/src/fmod_codec_dls.h
../../../../../../core_api/src/fmod_codec_fadpcm.cpp
../../../../../../core_api/src/fmod_codec_fadpcm.h
../../../../../../core_api/src/fmod_codec_fadpcm_arm.m4
../../../../../../core_api/src/fmod_codec_flac.cpp
../../../../../../core_api/src/fmod_codec_flac.h
../../../../../../core_api/src/fmod_codec_fsb5.cpp
../../../../../../core_api/src/fmod_codec_fsb5.h
../../../../../../core_api/src/fmod_codec_fsbvorbis.cpp
../../../../../../core_api/src/fmod_codec_fsbvorbis.h
../../../../../../core_api/src/fmod_codec_fsbvorbis_books.cpp
../../../../../../core_api/src/fmod_codec_it.cpp
../../../../../../core_api/src/fmod_codec_it.h
../../../../../../core_api/src/fmod_codec_midi.cpp
../../../../../../core_api/src/fmod_codec_midi.h
../../../../../../core_api/src/fmod_codec_mod.cpp
../../../../../../core_api/src/fmod_codec_mod.h
../../../../../../core_api/src/fmod_codec_mpeg.cpp
../../../../../../core_api/src/fmod_codec_mpeg.h
../../../../../../core_api/src/fmod_codec_mpeg_decode.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer2.cpp
../../../../../../core_api/src/fmod_codec_mpeg_layer3.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.cpp
../../../../../../core_api/src/fmod_codec_oggvorbis.h
../../../../../../core_api/src/fmod_codec_playlist.cpp
../../../../../../core_api/src/fmod_codec_playlist.h
../../../../../../core_api/src/fmod_codec_raw.cpp
../../../../../../core_api/src/fmod_codec_raw.h
../../../../../../core_api/src/fmod_codec_s3m.cpp
../../../../../../core_api/src/fmod_codec_s3m.h
../../../../../../core_api/src/fmod_codec_tag.cpp
../../../../../../core_api/src/fmod_codec_tag.h
../../../../../../core_api/src/fmod_codec_user.cpp
../../../../../../core_api/src/fmod_codec_user.h
../../../../../../core_api/src/fmod_codec_wav.cpp
../../../../../../core_api/src/fmod_codec_wav.h
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.cpp
../../../../../../core_api/src/fmod_codec_wav_imaadpcm.h
../../../../../../core_api/src/fmod_codec_wav_riff.cpp
../../../../../../core_api/src/fmod_codec_xm.cpp
../../../../../../core_api/src/fmod_codec_xm.h
../../../../../../core_api/src/fmod_codeci.h
../../../../../../core_api/src/fmod_common.h
../../../../../../core_api/src/fmod_complex.hlsli
../../../../../../core_api/src/fmod_convolution.hlsl
../../../../../../core_api/src/fmod_debug.cpp
../../../../../../core_api/src/fmod_debug.h
../../../../../../core_api/src/fmod_downmix.cpp
../../../../../../core_api/src/fmod_downmix.h
../../../../../../core_api/src/fmod_downmix_dolby_pl2.cpp
../../../../../../core_api/src/fmod_downmix_dolby_pl2.h
../../../../../../core_api/src/fmod_dsp.cpp
../../../../../../core_api/src/fmod_dsp.cs
../../../../../../core_api/src/fmod_dsp.h
../../../../../../core_api/src/fmod_dsp_biquad.cpp
../../../../../../core_api/src/fmod_dsp_biquad.h
../../../../../../core_api/src/fmod_dsp_channelmix.cpp
../../../../../../core_api/src/fmod_dsp_channelmix.h
../../../../../../core_api/src/fmod_dsp_chorus.cpp
../../../../../../core_api/src/fmod_dsp_chorus.h
../../../../../../core_api/src/fmod_dsp_codec.cpp
../../../../../../core_api/src/fmod_dsp_codec.h
../../../../../../core_api/src/fmod_dsp_codecpool.cpp
../../../../../../core_api/src/fmod_dsp_codecpool.h
../../../../../../core_api/src/fmod_dsp_compressor.cpp
../../../../../../core_api/src/fmod_dsp_compressor.h
../../../../../../core_api/src/fmod_dsp_compressor_noopt.cpp
../../../../../../core_api/src/fmod_dsp_compressor_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection.cpp
../../../../../../core_api/src/fmod_dsp_connection_arm.cpp
../../../../../../core_api/src/fmod_dsp_connection_avx.cpp
../../../../../../core_api/src/fmod_dsp_connection_neon.cpp
../../../../../../core_api/src/fmod_dsp_connection_noopt.cpp
../../../../../../core_api/src/fmod_dsp_connection_sse.cpp
../../../../../../core_api/src/fmod_dsp_connection_vfp.m4
../../../../../../core_api/src/fmod_dsp_connectioni.cpp
../../../../../../core_api/src/fmod_dsp_connectioni.h
../../../../../../core_api/src/fmod_dsp_convert.cpp
../../../../../../core_api/src/fmod_dsp_convert.h
../../../../../../core_api/src/fmod_dsp_convert_avx.cpp
../../../../../../core_api/src/fmod_dsp_convert_noopt.cpp
../../../../../../core_api/src/fmod_dsp_convert_sse.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb.h
../../../../../../core_api/src/fmod_dsp_convolutionreverb_async.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_avx.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_cpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_gpu.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_neon.cpp
../../../../../../core_api/src/fmod_dsp_convolutionreverb_sse.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.cpp
../../../../../../core_api/src/fmod_dsp_defaultmatrix.h
../../../../../../core_api/src/fmod_dsp_delay.cpp
../../../../../../core_api/src/fmod_dsp_delay.h
../../../../../../core_api/src/fmod_dsp_distortion.cpp
../../../../../../core_api/src/fmod_dsp_distortion.h
../../../../../../core_api/src/fmod_dsp_echo.cpp
../../../../../../core_api/src/fmod_dsp_echo.h
../../../../../../core_api/src/fmod_dsp_echo_noopt.cpp
../../../../../../core_api/src/fmod_dsp_echo_sse.cpp
../../../../../../core_api/src/fmod_dsp_effects.h
../../../../../../core_api/src/fmod_dsp_emulated.cpp
../../../../../../core_api/src/fmod_dsp_emulated.h
../../../../../../core_api/src/fmod_dsp_fader.cpp
../../../../../../core_api/src/fmod_dsp_fader.h
../../../../../../core_api/src/fmod_dsp_fft.cpp
../../../../../../core_api/src/fmod_dsp_fft.h
../../../../../../core_api/src/fmod_dsp_flange.cpp
../../../../../../core_api/src/fmod_dsp_flange.h
../../../../../../core_api/src/fmod_dsp_highpass.cpp
../../../../../../core_api/src/fmod_dsp_highpass.h
../../../../../../core_api/src/fmod_dsp_highpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_highpass_simple.h
../../../../../../core_api/src/fmod_dsp_interleave_noopt.cpp
../../../../../../core_api/src/fmod_dsp_interleave_sse.cpp
../../../../../../core_api/src/fmod_dsp_itecho.cpp
../../../../../../core_api/src/fmod_dsp_itecho.h
../../../../../../core_api/src/fmod_dsp_limiter.cpp
../../../../../../core_api/src/fmod_dsp_limiter.h
../../../../../../core_api/src/fmod_dsp_loudness_meter.cpp
../../../../../../core_api/src/fmod_dsp_loudness_meter.h
../../../../../../core_api/src/fmod_dsp_lowpass.cpp
../../../../../../core_api/src/fmod_dsp_lowpass.h
../../../../../../core_api/src/fmod_dsp_lowpass2.cpp
../../../../../../core_api/src/fmod_dsp_lowpass2.h
../../../../../../core_api/src/fmod_dsp_lowpass_simple.cpp
../../../../../../core_api/src/fmod_dsp_lowpass_simple.h
../../../../../../core_api/src/fmod_dsp_matrix.cpp
../../../../../../core_api/src/fmod_dsp_matrix.h
../../../../../../core_api/src/fmod_dsp_metering_noopt.cpp
../../../../../../core_api/src/fmod_dsp_metering_sse.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.cpp
../../../../../../core_api/src/fmod_dsp_multiband_dynamics.h
../../../../../../core_api/src/fmod_dsp_multiband_eq.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq.h
../../../../../../core_api/src/fmod_dsp_multiband_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_multiband_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_normalize.cpp
../../../../../../core_api/src/fmod_dsp_normalize.h
../../../../../../core_api/src/fmod_dsp_objectpan.cpp
../../../../../../core_api/src/fmod_dsp_objectpan.h
../../../../../../core_api/src/fmod_dsp_oscillator.cpp
../../../../../../core_api/src/fmod_dsp_oscillator.h
../../../../../../core_api/src/fmod_dsp_pan.cpp
../../../../../../core_api/src/fmod_dsp_pan.h
../../../../../../core_api/src/fmod_dsp_parameq.cpp
../../../../../../core_api/src/fmod_dsp_parameq.h
../../../../../../core_api/src/fmod_dsp_pitchshift.cpp
../../../../../../core_api/src/fmod_dsp_pitchshift.h
../../../../../../core_api/src/fmod_dsp_porthead.cpp
../../../../../../core_api/src/fmod_dsp_porthead.h
../../../../../../core_api/src/fmod_dsp_resampler.cpp
../../../../../../core_api/src/fmod_dsp_resampler.h
../../../../../../core_api/src/fmod_dsp_resampler_cubic.cpp
../../../../../../core_api/src/fmod_dsp_resampler_cubic.h
../../../../../../core_api/src/fmod_dsp_resampler_linear.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear.h
../../../../../../core_api/src/fmod_dsp_resampler_linear_arm.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx2.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_avx512.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_neon.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_linear_vfp.m4
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp.h
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_noopt.cpp
../../../../../../core_api/src/fmod_dsp_resampler_nointerp_sse.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.cpp
../../../../../../core_api/src/fmod_dsp_resampler_spline.h
../../../../../../core_api/src/fmod_dsp_return.cpp
../../../../../../core_api/src/fmod_dsp_return.h
../../../../../../core_api/src/fmod_dsp_send.cpp
../../../../../../core_api/src/fmod_dsp_send.h
../../../../../../core_api/src/fmod_dsp_sfxreverb.cpp
../../../../../../core_api/src/fmod_dsp_sfxreverb.h
../../../../../../core_api/src/fmod_dsp_source.cpp
../../../../../../core_api/src/fmod_dsp_source.h
../../../../../../core_api/src/fmod_dsp_three_eq.cpp
../../../../../../core_api/src/fmod_dsp_three_eq.h
../../../../../../core_api/src/fmod_dsp_three_eq_neon.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_noopt.cpp
../../../../../../core_api/src/fmod_dsp_three_eq_sse.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.cpp
../../../../../../core_api/src/fmod_dsp_transceiver.h
../../../../../../core_api/src/fmod_dsp_tremolo.cpp
../../../../../../core_api/src/fmod_dsp_tremolo.h
../../../../../../core_api/src/fmod_dsp_wavetable.cpp
../../../../../../core_api/src/fmod_dsp_wavetable.h
../../../../../../core_api/src/fmod_dspi.cpp
../../../../../../core_api/src/fmod_dspi.h
../../../../../../core_api/src/fmod_endian.h
../../../../../../core_api/src/fmod_errors.cs
../../../../../../core_api/src/fmod_errors.h
../../../../../../core_api/src/fmod_expandingpool.cpp
../../../../../../core_api/src/fmod_expandingpool.h
../../../../../../core_api/src/fmod_fft.cpp
../../../../../../core_api/src/fmod_fft.h
../../../../../../core_api/src/fmod_fft_0.hlsl
../../../../../../core_api/src/fmod_fft_1.hlsl
../../../../../../core_api/src/fmod_fft_common.hlsli
../../../../../../core_api/src/fmod_fft_noopt.cpp
../../../../../../core_api/src/fmod_fft_sse.cpp
../../../../../../core_api/src/fmod_file.cpp
../../../../../../core_api/src/fmod_file.h
../../../../../../core_api/src/fmod_file_disk.cpp
../../../../../../core_api/src/fmod_file_disk.h
../../../../../../core_api/src/fmod_file_memory.cpp
../../../../../../core_api/src/fmod_file_memory.h
../../../../../../core_api/src/fmod_file_net.cpp
../../../../../../core_api/src/fmod_file_net.h
../../../../../../core_api/src/fmod_file_null.cpp
../../../../../../core_api/src/fmod_file_null.h
../../../../../../core_api/src/fmod_file_remote.cpp
../../../../../../core_api/src/fmod_file_remote.h
../../../../../../core_api/src/fmod_file_user.cpp
../../../../../../core_api/src/fmod_file_user.h
../../../../../../core_api/src/fmod_format.cpp
../../../../../../core_api/src/fmod_format.h
../../../../../../core_api/src/fmod_freelist.h
../../../../../../core_api/src/fmod_geometry.cpp
../../../../../../core_api/src/fmod_geometry_mgr.cpp
../../../../../../core_api/src/fmod_geometry_mgr.h
../../../../../../core_api/src/fmod_geometryi.cpp
../../../../../../core_api/src/fmod_geometryi.h
../../../../../../core_api/src/fmod_globals.cpp
../../../../../../core_api/src/fmod_globals.h
../../../../../../core_api/src/fmod_gpu_compute.cpp
../../../../../../core_api/src/fmod_gpu_compute.h
../../../../../../core_api/src/fmod_ifft_0.hlsl
../../../../../../core_api/src/fmod_ifft_1.hlsl
../../../../../../core_api/src/fmod_iterator.h
../../../../../../core_api/src/fmod_linkedlist.h
../../../../../../core_api/src/fmod_listener.cpp
../../../../../../core_api/src/fmod_listener.h
../../../../../../core_api/src/fmod_localcriticalsection.h
../../../../../../core_api/src/fmod_map.h
../../../../../../core_api/src/fmod_memory.cpp
../../../../../../core_api/src/fmod_memory.h
../../../../../../core_api/src/fmod_memory_tracking.cpp
../../../../../../core_api/src/fmod_memory_tracking.h
../../../../../../core_api/src/fmod_metadata.cpp
../../../../../../core_api/src/fmod_metadata.h
../../../../../../core_api/src/fmod_mode.h
../../../../../../core_api/src/fmod_music.cpp
../../../../../../core_api/src/fmod_music.h
../../../../../../core_api/src/fmod_net.cpp
../../../../../../core_api/src/fmod_net.h
../../../../../../core_api/src/fmod_octree.cpp
../../../../../../core_api/src/fmod_octree.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.h
../../../../../../core_api/src/fmod_os_atomic_gcc_arm.m4
../../../../../../core_api/src/fmod_os_atomic_gcc_arm64.h
../../../../../../core_api/src/fmod_os_atomic_gcc_x86.h
../../../../../../core_api/src/fmod_os_misc.h
../../../../../../core_api/src/fmod_os_net.h
../../../../../../core_api/src/fmod_os_net_posix.cpp
../../../../../../core_api/src/fmod_os_net_winsock.cpp
../../../../../../core_api/src/fmod_os_output.h
../../../../../../core_api/src/fmod_output.cpp
../../../../../../core_api/src/fmod_output.h
../../../../../../core_api/src/fmod_output_emulated.h
../../../../../../core_api/src/fmod_output_nosound.cpp
../../../../../../core_api/src/fmod_output_nosound.h
../../../../../../core_api/src/fmod_output_nosound_nrt.cpp
../../../../../../core_api/src/fmod_output_nosound_nrt.h
../../../../../../core_api/src/fmod_output_phase.h
../../../../../../core_api/src/fmod_output_phase.mm
../../../../../../core_api/src/fmod_output_software.cpp
../../../../../../core_api/src/fmod_output_software.h
../../../../../../core_api/src/fmod_output_wavwriter.cpp
../../../../../../core_api/src/fmod_output_wavwriter.h
../../../../../../core_api/src/fmod_output_wavwriter_nrt.cpp
../../../../../../core_api/src/fmod_output_wavwriter_nrt.h
../../../../../../core_api/src/fmod_output_winsonic.cpp
../../../../../../core_api/src/fmod_output_winsonic.h
../../../../../../core_api/src/fmod_output_winsonic_compat.h
../../../../../../core_api/src/fmod_outputi.h
../../../../../../core_api/src/fmod_pan.cpp
../../../../../../core_api/src/fmod_pan.h
../../../../../../core_api/src/fmod_pluginfactory.cpp
../../../../../../core_api/src/fmod_pluginfactory.h
../../../../../../core_api/src/fmod_poolallocator.h
../../../../../../core_api/src/fmod_profile.cpp
../../../../../../core_api/src/fmod_profile.h
../../../../../../core_api/src/fmod_profile_channel_pkt.h
../../../../../../core_api/src/fmod_profile_client.cpp
../../../../../../core_api/src/fmod_profile_client.h
../../../../../../core_api/src/fmod_profile_codec_pkt.h
../../../../../../core_api/src/fmod_profile_cpu_pkt.h
../../../../../../core_api/src/fmod_profile_dsp.cpp
../../../../../../core_api/src/fmod_profile_dsp.h
../../../../../../core_api/src/fmod_profile_dsp_pkt.h
../../../../../../core_api/src/fmod_profile_group_pkt.h
../../../../../../core_api/src/fmod_profile_markers.cpp
../../../../../../core_api/src/fmod_profile_markers.h
../../../../../../core_api/src/fmod_profile_pkt.h
../../../../../../core_api/src/fmod_profile_remotefile.cpp
../../../../../../core_api/src/fmod_profile_remotefile.h
../../../../../../core_api/src/fmod_profile_remotefile_pkt.h
../../../../../../core_api/src/fmod_profile_stats.cpp
../../../../../../core_api/src/fmod_profile_stats.h
../../../../../../core_api/src/fmod_profile_stats_pkt.h
../../../../../../core_api/src/fmod_random.h
../../../../../../core_api/src/fmod_reverb.cpp
../../../../../../core_api/src/fmod_reverbi.cpp
../../../../../../core_api/src/fmod_reverbi.h
../../../../../../core_api/src/fmod_rootsignature.hlsl
../../../../../../core_api/src/fmod_sample_software.cpp
../../../../../../core_api/src/fmod_sample_software.h
../../../../../../core_api/src/fmod_settings.h
../../../../../../core_api/src/fmod_shader_compat.hlsli
../../../../../../core_api/src/fmod_simd_util_sse.h
../../../../../../core_api/src/fmod_sound.cpp
../../../../../../core_api/src/fmod_sound_sample.cpp
../../../../../../core_api/src/fmod_sound_sample.h
../../../../../../core_api/src/fmod_sound_stream.cpp
../../../../../../core_api/src/fmod_sound_stream.h
../../../../../../core_api/src/fmod_soundgroup.cpp
../../../../../../core_api/src/fmod_soundgroupi.cpp
../../../../../../core_api/src/fmod_soundgroupi.h
../../../../../../core_api/src/fmod_soundi.cpp
../../../../../../core_api/src/fmod_soundi.h
../../../../../../core_api/src/fmod_speakermap.h
../../../../../../core_api/src/fmod_string.cpp
../../../../../../core_api/src/fmod_string.h
../../../../../../core_api/src/fmod_stringw.cpp
../../../../../../core_api/src/fmod_stringw.h
../../../../../../core_api/src/fmod_syncpoint.h
../../../../../../core_api/src/fmod_system.cpp
../../../../../../core_api/src/fmod_systemi.cpp
../../../../../../core_api/src/fmod_systemi.h
../../../../../../core_api/src/fmod_systemi_channel.cpp
../../../../../../core_api/src/fmod_systemi_driver.cpp
../../../../../../core_api/src/fmod_systemi_dsp.cpp
../../../../../../core_api/src/fmod_systemi_fft.cpp
../../../../../../core_api/src/fmod_systemi_sound.cpp
../../../../../../core_api/src/fmod_systemi_speaker.cpp
../../../../../../core_api/src/fmod_systemi_thread.cpp
../../../../../../core_api/src/fmod_systemi_update.cpp
../../../../../../core_api/src/fmod_thread.cpp
../../../../../../core_api/src/fmod_thread.h
../../../../../../core_api/src/fmod_threadsafe.cpp
../../../../../../core_api/src/fmod_threadsafe.h
../../../../../../core_api/src/fmod_time.cpp
../../../../../../core_api/src/fmod_time.h
../../../../../../core_api/src/fmod_types.h
../../../../../../examples/platforms/linux/src/common_platform.cpp
../../../../../../examples/platforms/linux/src/common_platform.h
../../../../../../examples/src/autotest.cpp
../../../../../../examples/src/common.cpp
../../../../../../examples/src/common.h
../../../../../../examples/src/common_dx12.cpp
../../../../../../examples/src/common_dx12.h
../../../../../../examples/src/common_dx12_ps.h
../../../../../../examples/src/common_dx12_vs.h
../../../../../../examples/src/common_font_glyphs.h
../../../../../../examples/src/common_font_texture.h
../../../../../../examples/src/common_vulkan.cpp
../../../../../../examples/src/common_vulkan.h
../../../../../../examples/src/common_vulkan_fs.h
../../../../../../examples/src/common_vulkan_vs.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/assert.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/callback.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/export.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/format.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/ordinals.h
../../../../../../external/decoders/flac-1.2.1/include/FLAC/stream_decoder.h
../../../../../../external/decoders/flac-1.2.1/include/share/alloc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitmath.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/bitreader.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/cpu.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/crc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/fixed.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/format.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/lpc.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/md5.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/memory.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/stream_decoder.c
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/ia32/nasm.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitmath.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/bitreader.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/cpu.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/crc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/fixed.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/float.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/format.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/lpc.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/md5.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/private/memory.h
../../../../../../external/decoders/flac-1.2.1/src/libFLAC/include/protected/stream_decoder.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/ogg.h
../../../../../../external/decoders/ogg_vorbis/ogg/include/ogg/os_types.h
../../../../../../external/decoders/ogg_vorbis/ogg/src/bitwise.c
../../../../../../external/decoders/ogg_vorbis/ogg/src/framing.c
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/codec.h
../../../../../../external/decoders/ogg_vorbis/vorbis/include/vorbis/vorbisfile.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/backends.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/block.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codebook.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/codec_internal.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/floor1.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/highlevel.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/info.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lookup_data.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lpc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/lsp.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mapping0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/masking.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/mdct.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/misc.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/os.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/psy.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/registry.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/res0.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/scales.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/sharedbook.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/smallft.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/synthesis.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/vorbisfile.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.c
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/window.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/floor_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/psych_44.h
../../../../../../external/decoders/ogg_vorbis/vorbis/lib/modes/residue_44.h
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.c
../../../../../../external/decoders/tremor_lowmem/tremor_bitwise.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook.h
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_codebook_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_codec.h
../../../../../../external/decoders/tremor_lowmem/tremor_codec_internal.h
../../../../../../external/decoders/tremor_lowmem/tremor_dsp.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_dsp_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor1_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_floor_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_info.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_avx512.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_neon.c
../../../../../../external/decoders/tremor_lowmem/tremor_mapping0_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct.h
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_avx2.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_float_lookup.c
../../../../../../external/decoders/tremor_lowmem/tremor_mdct_sse.c
../../../../../../external/decoders/tremor_lowmem/tremor_misc.h
../../../../../../external/decoders/tremor_lowmem/tremor_os.h
../../../../../../external/decoders/tremor_lowmem/tremor_os_types.h
../../../../../../external/decoders/tremor_lowmem/tremor_res012.c
../../../../../../external/decoders/tremor_lowmem/tremor_window_lookup.h
../../../../../../external/misc/dlmalloc/dlmalloc.cpp
../../../../../../external/misc/dlmalloc/dlmalloc.h
../make/load_from_memory.makefile
../load_from_memory.cpp

Some files were not shown because too many files have changed in this diff Show more