Committing Changes(?)

Committing changes that aren't mine but Git is saying they're mine (Events for footsteps). Shouldn't mess anything up.
This commit is contained in:
Hozach (Audio)
2025-04-25 13:35:28 -04:00
parent fae2bf06dd
commit aac996d671
351 changed files with 1972 additions and 667 deletions

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
using UnrealBuildTool;
using System.IO;

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#include "FMODAudioLinkComponent.h"
#include "FMODAudioLinkFactory.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#include "FMODAudioLinkFactory.h"
#include "FMODAudioLinkSynchronizer.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#include "FMODAudioLinkInputClient.h"
#include "FMODAudioLinkLog.h"
@ -98,7 +98,7 @@ FFMODAudioLinkInputClient::~FFMODAudioLinkInputClient()
Unregister();
}
FMOD_RESULT F_CALLBACK pcmreadcallback(FMOD_SOUND* inSound, void* data, unsigned int datalen)
FMOD_RESULT F_CALL pcmreadcallback(FMOD_SOUND* inSound, void* data, unsigned int datalen)
{
FMOD::Sound* sound = (FMOD::Sound*)inSound;
FFMODAudioLinkInputClient* ConsumerSP;
@ -109,7 +109,7 @@ FMOD_RESULT F_CALLBACK pcmreadcallback(FMOD_SOUND* inSound, void* data, unsigned
return FMOD_OK;
}
FMOD_RESULT F_CALLBACK SoundCallback(FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE* event, void* parameters)
FMOD_RESULT F_CALL SoundCallback(FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE* event, void* parameters)
{
FMOD_RESULT result = FMOD_OK;
FMOD::Studio::EventInstance* eventInstance = (FMOD::Studio::EventInstance*)event;
@ -202,7 +202,20 @@ void FFMODAudioLinkInputClient::Start(USceneComponent* InComponent)
InputClientRef* callbackMemory = new InputClientRef(SelfSP);
EventInst->setUserData(callbackMemory);
EventInst->start();
bool bIs3d = 0;
EventDesc->is3D(&bIs3d);
if (bIs3d)
{
// delay start
SelfSP->bShouldDelayStart = true;
UE_LOG(LogFMODAudioLink, Verbose, TEXT("FFMODAudioLinkInputClient::Start: Delaying start of 3D EventInstance."));
}
else
{
SelfSP->bShouldDelayStart = false;
EventInst->start();
}
}
}
};
@ -240,6 +253,12 @@ void FFMODAudioLinkInputClient::UpdateWorldState(const FWorldState& InParams)
// TODO: velocity
EventInstance->set3DAttributes(&attr);
if (bShouldDelayStart)
{
EventInstance->start();
UE_LOG(LogFMODAudioLink, Verbose, TEXT("FFMODAudioLinkInputClient::UpdateWorldState: Starting EventInstance."));
bShouldDelayStart = false;
}
}
}

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#pragma once
@ -40,6 +40,7 @@ public:
FName GetProducerName() const { return ProducerName; }
FMOD::Studio::EventInstance* EventInstance;
bool bShouldDelayStart = 0;
private:
void Register(const FName& NameOfProducingSource);

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#include "FMODAudioLinkLog.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#include "FMODAudioLinkSettings.h"
#include "FMODAudioLinkFactory.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#include "FMODAudioLinkSourcePushed.h"
#include "FMODAudioLinkSettings.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#pragma once
#include "FMODAudioLinkInputClient.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#include "FMODAudioLinkSynchronizer.h"
#include "fmod_studio.hpp"
@ -7,7 +7,7 @@
#include "AudioDeviceManager.h"
FMOD_RESULT F_CALLBACK MixCallback(FMOD_SYSTEM* system, FMOD_SYSTEM_CALLBACK_TYPE type, void* commanddata1, void* commanddata2, void* userdata)
FMOD_RESULT F_CALL MixCallback(FMOD_SYSTEM* system, FMOD_SYSTEM_CALLBACK_TYPE type, void* commanddata1, void* commanddata2, void* userdata)
{
FFMODAudioLinkSynchronizer *Synchro = static_cast<FFMODAudioLinkSynchronizer*>(userdata);
if (Synchro)

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#pragma once
@ -54,5 +54,5 @@ struct FFMODAudioLinkSynchronizer : IAudioLinkSynchronizer, TSharedFromThis<FFMO
#undef MAKE_DELEGATE_FUNC
friend FMOD_RESULT F_CALLBACK MixCallback(FMOD_SYSTEM* system, FMOD_SYSTEM_CALLBACK_TYPE type, void* commanddata1, void* commanddata2, void* userdata);
friend FMOD_RESULT F_CALL MixCallback(FMOD_SYSTEM* system, FMOD_SYSTEM_CALLBACK_TYPE type, void* commanddata1, void* commanddata2, void* userdata);
};

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#include "Modules/ModuleInterface.h"
#include "Modules/ModuleManager.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
using UnrealBuildTool;
using System;

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#include "FMODAudioLinkSettingsFactory.h"
#include "FMODAudioLinkSettings.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025-2025.
#include "Modules/ModuleInterface.h"
#include "FMODAudioLinkSettingsFactory.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once
@ -140,7 +140,7 @@ class FMODSTUDIO_API UFMODAudioComponent : public USceneComponent
friend struct FFMODEventControlExecutionToken;
friend struct FPlayingToken;
friend FMOD_RESULT F_CALLBACK UFMODAudioComponent_EventCallback(FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE *event, void *parameters);
friend FMOD_RESULT F_CALL UFMODAudioComponent_EventCallback(FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE *event, void *parameters);
public:
/** The event asset to use for this sound. */

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once
@ -104,34 +104,6 @@ namespace EFMODCodec
};
}
USTRUCT()
struct FCustomPoolSizes
{
GENERATED_USTRUCT_BODY()
/** Default = 0 (Disabled) units in bytes*/
UPROPERTY(config, EditAnywhere, Category = InitSettings, meta = (ClampMin = "0"))
int32 Desktop;
/** Default = 0 (Disabled) units in bytes*/
UPROPERTY(config, EditAnywhere, Category = InitSettings, meta = (ClampMin = "0"))
int32 Mobile;
/** Default = 0 (Disabled) units in bytes*/
UPROPERTY(config, EditAnywhere, Category = InitSettings, meta = (ClampMin = "0"))
int32 PS4;
/** Default = 0 (Disabled) units in bytes*/
UPROPERTY(config, EditAnywhere, Category = InitSettings, meta = (ClampMin = "0"))
int32 Switch;
/** Default = 0 (Disabled) units in bytes*/
UPROPERTY(config, EditAnywhere, Category = InitSettings, meta = (ClampMin = "0"))
int32 XboxOne;
FCustomPoolSizes()
: Desktop(0)
, Mobile(0)
, PS4(0)
, Switch(0)
, XboxOne(0)
{}
};
USTRUCT()
struct FFMODPlatformSettings
{
@ -159,12 +131,13 @@ struct FFMODPlatformSettings
* Use specified memory pool size, units in bytes. Disabled by default.
* FMOD may become unstable if the limit is exceeded!
*/
UPROPERTY(config, EditAnywhere, Category = PlatformSettings, meta = (ClampMin = "0"))
UPROPERTY(config, EditAnywhere, Category = PlatformSettings, meta = (ClampMin = "0", DisplayName = "Memory Pool Size"))
int32 CustomPoolSize;
/* Codecs
*/
UPROPERTY(config, EditAnywhere, Category = PlatformSettings, meta = (ClampMin = "0"))
TMap<TEnumAsByte<EFMODCodec::Type>, int32> Codecs;
FFMODPlatformSettings()
: RealChannelCount(64)
, SampleRate(0)
@ -193,6 +166,7 @@ struct FFMODProjectLocale
*/
UPROPERTY(config, EditAnywhere, Category = Localization)
bool bDefault;
FFMODProjectLocale()
: bDefault(false)
{}
@ -330,8 +304,14 @@ public:
* Use specified memory pool size for platform, units in bytes. Disabled by default.
* FMOD may become unstable if the limit is exceeded!
*/
UPROPERTY(config, EditAnywhere, Category = InitSettings)
FCustomPoolSizes MemoryPoolSizes;
UPROPERTY(config, EditAnywhere, Category = InitSettings, meta = (ClampMin = "0"))
int32 MemoryPoolSize;
/**
* Codecs
*/
UPROPERTY(config, EditAnywhere, Category = InitSettings, meta = (ClampMin = "0"))
TMap<TEnumAsByte<EFMODCodec::Type>, int32> Codecs;
/**
* Live update port to use, or 0 for default.
@ -480,7 +460,7 @@ private:
int32 GetRealChannelCount() const;
/** Set the maximum codecs for the current platform. */
bool SetCodecs(FMOD_ADVANCEDSETTINGS& advSettings) const;
TMap<TEnumAsByte<EFMODCodec::Type>, int32> GetCodecs() const;
/** List of generated folder names that contain FMOD uassets. */
TArray<FString> GeneratedFolders = {

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
using UnrealBuildTool;
using System;
using System.IO;

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODAmbientSound.h"
#include "FMODEvent.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODAsset.h"
#include "FMODStudioModule.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODAssetTable.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODAudioComponent.h"
#include "FMODStudioModule.h"
@ -532,7 +532,7 @@ void UFMODAudioComponent::Deactivate()
Super::Deactivate();
}
FMOD_RESULT F_CALLBACK UFMODAudioComponent_EventCallback(FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE *event, void *parameters)
FMOD_RESULT F_CALL UFMODAudioComponent_EventCallback(FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE *event, void *parameters)
{
UFMODAudioComponent *Component = nullptr;
FMOD::Studio::EventInstance *Instance = (FMOD::Studio::EventInstance *)event;
@ -572,7 +572,7 @@ void UFMODAudioComponent_ReleaseProgrammerSound(FMOD_STUDIO_PROGRAMMER_SOUND_PRO
}
}
FMOD_RESULT F_CALLBACK UFMODAudioComponent_EventCallbackDestroyProgrammerSound(FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE *event, void *parameters)
FMOD_RESULT F_CALL UFMODAudioComponent_EventCallbackDestroyProgrammerSound(FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE *event, void *parameters)
{
UFMODAudioComponent_ReleaseProgrammerSound((FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES *)parameters);
return FMOD_OK;

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODBank.h"
#include "FMODStudioModule.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODBlueprintStatics.h"
#include "FMODAudioComponent.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODBus.h"
#include "FMODStudioModule.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODEvent.h"
#include "FMODStudioModule.h"

View File

@ -10,7 +10,7 @@
#include "Misc/ScopeLock.h"
#include "FMODStudioPrivatePCH.h"
FMOD_RESULT F_CALLBACK FMODLogCallback(FMOD_DEBUG_FLAGS flags, const char *file, int line, const char *func, const char *message)
FMOD_RESULT F_CALL FMODLogCallback(FMOD_DEBUG_FLAGS flags, const char *file, int line, const char *func, const char *message)
{
if (flags & FMOD_DEBUG_LEVEL_ERROR)
{
@ -43,12 +43,12 @@ FMOD_RESULT F_CALLBACK FMODLogCallback(FMOD_DEBUG_FLAGS flags, const char *file,
return FMOD_OK;
}
FMOD_RESULT F_CALLBACK FMODErrorCallback(FMOD_SYSTEM *system, FMOD_SYSTEM_CALLBACK_TYPE type, void *commanddata1, void* commanddata2, void *userdata)
FMOD_RESULT F_CALL FMODErrorCallback(FMOD_SYSTEM *system, FMOD_SYSTEM_CALLBACK_TYPE type, void *commanddata1, void* commanddata2, void *userdata)
{
FMOD_ERRORCALLBACK_INFO *callbackInfo = (FMOD_ERRORCALLBACK_INFO *)commanddata1;
if ((callbackInfo->instancetype == FMOD_ERRORCALLBACK_INSTANCETYPE_CHANNEL || callbackInfo->instancetype == FMOD_ERRORCALLBACK_INSTANCETYPE_CHANNELCONTROL)
&& callbackInfo->result == FMOD_ERR_INVALID_HANDLE)
&& (callbackInfo->result == FMOD_ERR_INVALID_HANDLE || callbackInfo->result == FMOD_ERR_CHANNEL_STOLEN))
{
return FMOD_OK;
}
@ -80,10 +80,10 @@ public:
{
}
static FMOD_RESULT F_CALLBACK OpenCallback(const char *name, unsigned int *filesize, void **handle, void * /*userdata*/);
static FMOD_RESULT F_CALLBACK CloseCallback(void *handle, void * /*userdata*/);
static FMOD_RESULT F_CALLBACK ReadCallback(void *handle, void *buffer, unsigned int sizebytes, unsigned int *bytesread, void * /*userdata*/);
static FMOD_RESULT F_CALLBACK SeekCallback(void *handle, unsigned int pos, void * /*userdata*/);
static FMOD_RESULT F_CALL OpenCallback(const char *name, unsigned int *filesize, void **handle, void * /*userdata*/);
static FMOD_RESULT F_CALL CloseCallback(void *handle, void * /*userdata*/);
static FMOD_RESULT F_CALL ReadCallback(void *handle, void *buffer, unsigned int sizebytes, unsigned int *bytesread, void * /*userdata*/);
static FMOD_RESULT F_CALL SeekCallback(void *handle, unsigned int pos, void * /*userdata*/);
static FMOD_RESULT OpenInternal(const char *name, unsigned int *filesize, void **handle);
static FMOD_RESULT CloseInternal(void *handle);
@ -221,7 +221,7 @@ private:
static FFMODFileSystem gFileSystem;
FMOD_RESULT F_CALLBACK FFMODFileSystem::OpenCallback(const char *name, unsigned int *filesize, void **handle, void * /*userdata*/)
FMOD_RESULT F_CALL FFMODFileSystem::OpenCallback(const char *name, unsigned int *filesize, void **handle, void * /*userdata*/)
{
FScopeLock lock(&gFileSystem.mCrit);
gFileSystem.mName = name;
@ -249,7 +249,7 @@ FMOD_RESULT FFMODFileSystem::OpenInternal(const char *name, unsigned int *filesi
return FMOD_OK;
}
FMOD_RESULT F_CALLBACK FFMODFileSystem::CloseCallback(void *handle, void * /*userdata*/)
FMOD_RESULT F_CALL FFMODFileSystem::CloseCallback(void *handle, void * /*userdata*/)
{
FScopeLock lock(&gFileSystem.mCrit);
gFileSystem.mHandleIn = handle;
@ -271,7 +271,7 @@ FMOD_RESULT FFMODFileSystem::CloseInternal(void *handle)
return FMOD_OK;
}
FMOD_RESULT F_CALLBACK FFMODFileSystem::ReadCallback(void *handle, void *buffer, unsigned int sizebytes, unsigned int *bytesread, void * /*userdata*/)
FMOD_RESULT F_CALL FFMODFileSystem::ReadCallback(void *handle, void *buffer, unsigned int sizebytes, unsigned int *bytesread, void * /*userdata*/)
{
FScopeLock lock(&gFileSystem.mCrit);
gFileSystem.mHandleIn = handle;
@ -308,7 +308,7 @@ FMOD_RESULT FFMODFileSystem::ReadInternal(void *handle, void *buffer, unsigned i
return FMOD_OK;
}
FMOD_RESULT F_CALLBACK FFMODFileSystem::SeekCallback(void *handle, unsigned int pos, void * /*userdata*/)
FMOD_RESULT F_CALL FFMODFileSystem::SeekCallback(void *handle, unsigned int pos, void * /*userdata*/)
{
FScopeLock lock(&gFileSystem.mCrit);
gFileSystem.mHandleIn = handle;

View File

@ -1,12 +1,12 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once
#include "fmod.hpp"
#include "GenericPlatform/GenericPlatform.h"
FMOD_RESULT F_CALLBACK FMODLogCallback(FMOD_DEBUG_FLAGS flags, const char *file, int line, const char *func, const char *message);
FMOD_RESULT F_CALLBACK FMODErrorCallback(FMOD_SYSTEM *system, FMOD_SYSTEM_CALLBACK_TYPE type, void *commanddata1, void *commanddata2, void *userdata);
FMOD_RESULT F_CALL FMODLogCallback(FMOD_DEBUG_FLAGS flags, const char *file, int line, const char *func, const char *message);
FMOD_RESULT F_CALL FMODErrorCallback(FMOD_SYSTEM *system, FMOD_SYSTEM_CALLBACK_TYPE type, void *commanddata1, void *commanddata2, void *userdata);
void AcquireFMODFileSystem();
void ReleaseFMODFileSystem();

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODListener.h"
#include "Misc/App.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once
#include "Containers/UnrealString.h"
@ -11,10 +11,6 @@ EFMODPlatforms::Type FMODPlatform_CurrentPlatform();
FString FMODPlatform_PlatformName();
void FMODPlatform_SetRealChannelCount(FMOD_ADVANCEDSETTINGS* advSettings);
int FMODPlatform_MemoryPoolSize();
#ifdef FMOD_PLATFORM_LOAD_DLL
void* FMODPlatformLoadDll(const TCHAR* LibToLoad);
#endif

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODPort.h"
#include "FMODStudioModule.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODSettings.h"
#include "Misc/Paths.h"
@ -257,7 +257,7 @@ int32 UFMODSettings::GetSampleRate() const
int32 UFMODSettings::GetMemoryPoolSize() const
{
return (Platforms.Contains(CurrentPlatform()) ? Platforms.Find(CurrentPlatform())->CustomPoolSize : 0);
return (Platforms.Contains(CurrentPlatform()) ? Platforms.Find(CurrentPlatform())->CustomPoolSize : MemoryPoolSize);
}
int32 UFMODSettings::GetRealChannelCount() const
@ -265,36 +265,7 @@ int32 UFMODSettings::GetRealChannelCount() const
return Platforms.Contains(CurrentPlatform()) ? Platforms.Find(CurrentPlatform())->RealChannelCount : RealChannelCount;
}
bool UFMODSettings::SetCodecs(FMOD_ADVANCEDSETTINGS& advSettings) const
TMap<TEnumAsByte<EFMODCodec::Type>, int32> UFMODSettings::GetCodecs() const
{
const FFMODPlatformSettings* platform = Platforms.Find(CurrentPlatform());
if (platform == nullptr)
{
return false;
}
TMap<TEnumAsByte<EFMODCodec::Type>, int32> codecList = platform->Codecs;
for (const TPair<TEnumAsByte<EFMODCodec::Type>, int32>& pair : codecList)
{
switch (pair.Key)
{
case EFMODCodec::XMA:
advSettings.maxXMACodecs = pair.Value;
break;
case EFMODCodec::AT9:
advSettings.maxAT9Codecs = pair.Value;
break;
case EFMODCodec::FADPCM:
advSettings.maxFADPCMCodecs = pair.Value;
break;
case EFMODCodec::OPUS:
advSettings.maxOpusCodecs = pair.Value;
break;
case EFMODCodec::VORBIS:
default:
advSettings.maxVorbisCodecs = pair.Value;
break;
}
}
return true;
return Platforms.Contains(CurrentPlatform()) ? Platforms.Find(CurrentPlatform())->Codecs : Codecs;
}

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODSnapshot.h"
#include "FMODStudioModule.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODSnapshotReverb.h"

View File

@ -62,15 +62,15 @@ const TCHAR *FMODSystemContextNames[EFMODSystemContext::Max] = {
TEXT("Auditioning"), TEXT("Runtime"), TEXT("Editor"),
};
void *F_CALLBACK FMODMemoryAlloc(unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr)
void *F_CALL FMODMemoryAlloc(unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr)
{
return FMemory::Malloc(size);
}
void *F_CALLBACK FMODMemoryRealloc(void *ptr, unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr)
void *F_CALL FMODMemoryRealloc(void *ptr, unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr)
{
return FMemory::Realloc(ptr, size);
}
void F_CALLBACK FMODMemoryFree(void *ptr, FMOD_MEMORY_TYPE type, const char *sourcestr)
void F_CALL FMODMemoryFree(void *ptr, FMOD_MEMORY_TYPE type, const char *sourcestr)
{
FMemory::Free(ptr);
}
@ -168,7 +168,6 @@ public:
, bUseSound(true)
, bListenerMoved(true)
, bAllowLiveUpdate(true)
, bBanksLoaded(false)
, LowLevelLibHandle(nullptr)
, StudioLibHandle(nullptr)
, bMixerPaused(false)
@ -177,6 +176,7 @@ public:
for (int i = 0; i < EFMODSystemContext::Max; ++i)
{
StudioSystem[i] = nullptr;
bBanksLoaded[i] = false;
}
}
@ -320,7 +320,7 @@ public:
/** True if we allow live update */
bool bAllowLiveUpdate;
bool bBanksLoaded;
bool bBanksLoaded[EFMODSystemContext::Max];
/** Dynamic library */
FString BaseLibPath;
@ -463,7 +463,7 @@ void FFMODStudioModule::StartupModule()
if (FParse::Param(FCommandLine::Get(), TEXT("nosound")) || FApp::IsBenchmarking() || IsRunningDedicatedServer() || IsRunningCommandlet())
{
bUseSound = false;
UE_LOG(LogFMOD, Log, TEXT("Running in nosound mode"));
UE_LOG(LogFMOD, Log, TEXT("Disabling FMOD Runtime."));
}
if (FParse::Param(FCommandLine::Get(), TEXT("noliveupdate")))
@ -476,20 +476,8 @@ void FFMODStudioModule::StartupModule()
verifyfmod(FMOD::Debug_Initialize(FMOD_DEBUG_LEVEL_WARNING, FMOD_DEBUG_MODE_CALLBACK, FMODLogCallback));
const UFMODSettings &Settings = *GetDefault<UFMODSettings>();
int32 size = Settings.GetMemoryPoolSize();
if (size == 0)
{
#if defined(FMOD_PLATFORM_HEADER)
size = FMODPlatform_MemoryPoolSize();
#elif PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_ANDROID
size = Settings.MemoryPoolSizes.Mobile;
#else
size = Settings.MemoryPoolSizes.Desktop;
#endif
}
if (!GIsEditor && size > 0)
{
MemPool = FMemory::Malloc(size);
@ -702,16 +690,12 @@ void FFMODStudioModule::CreateStudioSystem(EFMODSystemContext::Type Type)
advSettings.cbSize = sizeof(FMOD_ADVANCEDSETTINGS);
advSettings.vol0virtualvol = Settings.Vol0VirtualLevel;
if (!Settings.SetCodecs(advSettings))
{
#if defined(FMOD_PLATFORM_HEADER)
FMODPlatform_SetRealChannelCount(&advSettings);
#elif PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_ANDROID
advSettings.maxFADPCMCodecs = Settings.RealChannelCount;
#else
advSettings.maxVorbisCodecs = Settings.RealChannelCount;
#endif
}
TMap<TEnumAsByte<EFMODCodec::Type>, int32> Codecs = Settings.GetCodecs();
advSettings.maxXMACodecs = Codecs.Contains(EFMODCodec::XMA) ? Codecs[EFMODCodec::XMA] : 0;
advSettings.maxVorbisCodecs = Codecs.Contains(EFMODCodec::VORBIS) ? Codecs[EFMODCodec::VORBIS] : 0;
advSettings.maxAT9Codecs = Codecs.Contains(EFMODCodec::AT9) ? Codecs[EFMODCodec::AT9] : 0;
advSettings.maxFADPCMCodecs = Codecs.Contains(EFMODCodec::FADPCM) ? Codecs[EFMODCodec::FADPCM] : 0;
advSettings.maxOpusCodecs = Codecs.Contains(EFMODCodec::OPUS) ? Codecs[EFMODCodec::OPUS] : 0;
if (Type == EFMODSystemContext::Runtime)
{
@ -809,20 +793,8 @@ void FFMODStudioModule::UnloadBanks(EFMODSystemContext::Type Type)
{
if (StudioSystem[Type])
{
int bankCount;
verifyfmod(StudioSystem[Type]->getBankCount(&bankCount));
if (bankCount > 0)
{
TArray<FMOD::Studio::Bank*> bankArray;
bankArray.SetNumUninitialized(bankCount, false);
verifyfmod(StudioSystem[Type]->getBankList(bankArray.GetData(), bankCount, &bankCount));
for (int i = 0; i < bankCount; i++)
{
verifyfmod(bankArray[i]->unload());
}
}
verifyfmod(StudioSystem[Type]->unloadAll());
bBanksLoaded[Type] = false;
}
}
@ -1300,7 +1272,14 @@ struct NamedBankEntry
bool FFMODStudioModule::AreBanksLoaded()
{
return bBanksLoaded;
for (int i = 0; i < EFMODSystemContext::Max; ++i)
{
if (bBanksLoaded[i])
{
return true;
}
}
return false;
}
bool FFMODStudioModule::SetLocale(const FString& LocaleName)
@ -1488,22 +1467,37 @@ void FFMODStudioModule::LoadBanks(EFMODSystemContext::Type Type)
}
}
bBanksLoaded = true;
bBanksLoaded[Type] = true;
}
#if WITH_EDITOR
void FFMODStudioModule::ReloadBanks()
{
UE_LOG(LogFMOD, Verbose, TEXT("Refreshing auditioning system"));
StopAuditioningInstance();
UnloadBanks(EFMODSystemContext::Auditioning);
DestroyStudioSystem(EFMODSystemContext::Editor);
bool bReloadAuditioningBanks = 0;
bool bReloadEditorBanks = 0;
if (bBanksLoaded[EFMODSystemContext::Auditioning])
{
StopAuditioningInstance();
UnloadBanks(EFMODSystemContext::Auditioning);
bReloadAuditioningBanks = true;
}
if (bBanksLoaded[EFMODSystemContext::Editor])
{
UnloadBanks(EFMODSystemContext::Editor);
bReloadEditorBanks = true;
}
AssetTable.Load();
LoadBanks(EFMODSystemContext::Auditioning);
CreateStudioSystem(EFMODSystemContext::Editor);
if (bReloadAuditioningBanks)
{
LoadBanks(EFMODSystemContext::Auditioning);
}
if (bReloadEditorBanks)
{
LoadBanks(EFMODSystemContext::Editor);
}
}
void FFMODStudioModule::LoadEditorBanks()

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once
#include "CoreMinimal.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODVCA.h"
#include "FMODStudioModule.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODEventControlSection.h"
#include "Channels/MovieSceneChannelProxy.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODEventControlSectionTemplate.h"
#include "FMODAmbientSound.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODEventControlTrack.h"
#include "FMODEventControlSection.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODEventParameterTrack.h"
#include "FMODEventParameterSectionTemplate.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,12 +1,12 @@
/* ======================================================================================== */
/* FMOD Core API - C header file. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2025. */
/* */
/* Use this header in conjunction with fmod_common.h (which contains all the constants / */
/* callbacks) to develop using the C interface */
/* */
/* For more detail visit: */
/* https://fmod.com/docs/2.02/api/core-api.html */
/* https://fmod.com/docs/2.03/api/core-api.html */
/* ======================================================================================== */
#ifndef _FMOD_H
@ -98,7 +98,7 @@ FMOD_RESULT F_API FMOD_System_GetDefaultMixMatrix (FMOD_SYSTEM *system, FM
FMOD_RESULT F_API FMOD_System_GetSpeakerModeChannels (FMOD_SYSTEM *system, FMOD_SPEAKERMODE mode, int *channels);
/* System information functions. */
FMOD_RESULT F_API FMOD_System_GetVersion (FMOD_SYSTEM *system, unsigned int *version);
FMOD_RESULT F_API FMOD_System_GetVersion (FMOD_SYSTEM *system, unsigned int *version, unsigned int *buildnumber);
FMOD_RESULT F_API FMOD_System_GetOutputHandle (FMOD_SYSTEM *system, void **handle);
FMOD_RESULT F_API FMOD_System_GetChannelsPlaying (FMOD_SYSTEM *system, int *channels, int *realchannels);
FMOD_RESULT F_API FMOD_System_GetCPUUsage (FMOD_SYSTEM *system, FMOD_CPU_USAGE *usage);

View File

@ -1,12 +1,12 @@
/* ======================================================================================== */
/* FMOD Core API - C++ header file. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2025. */
/* */
/* Use this header in conjunction with fmod_common.h (which contains all the constants / */
/* callbacks) to develop using the C++ language. */
/* */
/* For more detail visit: */
/* https://fmod.com/docs/2.02/api/core-api.html */
/* https://fmod.com/docs/2.03/api/core-api.html */
/* ======================================================================================== */
#ifndef _FMOD_HPP
#define _FMOD_HPP
@ -120,7 +120,7 @@ namespace FMOD
FMOD_RESULT F_API getSpeakerModeChannels (FMOD_SPEAKERMODE mode, int *channels);
// System information functions.
FMOD_RESULT F_API getVersion (unsigned int *version);
FMOD_RESULT F_API getVersion (unsigned int *version, unsigned int *buildnumber = 0);
FMOD_RESULT F_API getOutputHandle (void **handle);
FMOD_RESULT F_API getChannelsPlaying (int *channels, int *realchannels = 0);
FMOD_RESULT F_API getCPUUsage (FMOD_CPU_USAGE *usage);

View File

@ -1,6 +1,6 @@
/* ======================================================================================== */
/* FMOD Core API - Codec development header file. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2025. */
/* */
/* Use this header if you are wanting to develop your own file format plugin to use with */
/* FMOD's codec system. With this header you can make your own fileformat plugin that FMOD */
@ -8,7 +8,7 @@
/* plugin. */
/* */
/* For more detail visit: */
/* https://fmod.com/docs/2.02/api/core-api.html */
/* https://fmod.com/docs/2.03/api/core-api.html */
/* ======================================================================================== */
#ifndef _FMOD_CODEC_H
#define _FMOD_CODEC_H
@ -32,27 +32,27 @@ typedef int FMOD_CODEC_SEEK_METHOD;
/*
Codec callbacks
*/
typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_OPEN_CALLBACK) (FMOD_CODEC_STATE *codec_state, FMOD_MODE usermode, FMOD_CREATESOUNDEXINFO *userexinfo);
typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_CLOSE_CALLBACK) (FMOD_CODEC_STATE *codec_state);
typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_READ_CALLBACK) (FMOD_CODEC_STATE *codec_state, void *buffer, unsigned int samples_in, unsigned int *samples_out);
typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_GETLENGTH_CALLBACK) (FMOD_CODEC_STATE *codec_state, unsigned int *length, FMOD_TIMEUNIT lengthtype);
typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_SETPOSITION_CALLBACK) (FMOD_CODEC_STATE *codec_state, int subsound, unsigned int position, FMOD_TIMEUNIT postype);
typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_GETPOSITION_CALLBACK) (FMOD_CODEC_STATE *codec_state, unsigned int *position, FMOD_TIMEUNIT postype);
typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_SOUNDCREATE_CALLBACK) (FMOD_CODEC_STATE *codec_state, int subsound, FMOD_SOUND *sound);
typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_GETWAVEFORMAT_CALLBACK)(FMOD_CODEC_STATE *codec_state, int index, FMOD_CODEC_WAVEFORMAT *waveformat);
typedef FMOD_RESULT (F_CALL *FMOD_CODEC_OPEN_CALLBACK) (FMOD_CODEC_STATE *codec_state, FMOD_MODE usermode, FMOD_CREATESOUNDEXINFO *userexinfo);
typedef FMOD_RESULT (F_CALL *FMOD_CODEC_CLOSE_CALLBACK) (FMOD_CODEC_STATE *codec_state);
typedef FMOD_RESULT (F_CALL *FMOD_CODEC_READ_CALLBACK) (FMOD_CODEC_STATE *codec_state, void *buffer, unsigned int samples_in, unsigned int *samples_out);
typedef FMOD_RESULT (F_CALL *FMOD_CODEC_GETLENGTH_CALLBACK) (FMOD_CODEC_STATE *codec_state, unsigned int *length, FMOD_TIMEUNIT lengthtype);
typedef FMOD_RESULT (F_CALL *FMOD_CODEC_SETPOSITION_CALLBACK) (FMOD_CODEC_STATE *codec_state, int subsound, unsigned int position, FMOD_TIMEUNIT postype);
typedef FMOD_RESULT (F_CALL *FMOD_CODEC_GETPOSITION_CALLBACK) (FMOD_CODEC_STATE *codec_state, unsigned int *position, FMOD_TIMEUNIT postype);
typedef FMOD_RESULT (F_CALL *FMOD_CODEC_SOUNDCREATE_CALLBACK) (FMOD_CODEC_STATE *codec_state, int subsound, FMOD_SOUND *sound);
typedef FMOD_RESULT (F_CALL *FMOD_CODEC_GETWAVEFORMAT_CALLBACK)(FMOD_CODEC_STATE *codec_state, int index, FMOD_CODEC_WAVEFORMAT *waveformat);
/*
Codec functions
*/
typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_METADATA_FUNC) (FMOD_CODEC_STATE *codec_state, FMOD_TAGTYPE tagtype, char *name, void *data, unsigned int datalen, FMOD_TAGDATATYPE datatype, int unique);
typedef void * (F_CALLBACK *FMOD_CODEC_ALLOC_FUNC) (unsigned int size, unsigned int align, const char *file, int line);
typedef void (F_CALLBACK *FMOD_CODEC_FREE_FUNC) (void *ptr, const char *file, int line);
typedef void (F_CALLBACK *FMOD_CODEC_LOG_FUNC) (FMOD_DEBUG_FLAGS level, const char *file, int line, const char *function, const char *string, ...);
typedef FMOD_RESULT (F_CALL *FMOD_CODEC_METADATA_FUNC) (FMOD_CODEC_STATE *codec_state, FMOD_TAGTYPE tagtype, char *name, void *data, unsigned int datalen, FMOD_TAGDATATYPE datatype, int unique);
typedef void * (F_CALL *FMOD_CODEC_ALLOC_FUNC) (unsigned int size, unsigned int align, const char *file, int line);
typedef void (F_CALL *FMOD_CODEC_FREE_FUNC) (void *ptr, const char *file, int line);
typedef void (F_CALL *FMOD_CODEC_LOG_FUNC) (FMOD_DEBUG_FLAGS level, const char *file, int line, const char *function, const char *string, ...);
typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_FILE_READ_FUNC) (FMOD_CODEC_STATE *codec_state, void *buffer, unsigned int sizebytes, unsigned int *bytesread);
typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_FILE_SEEK_FUNC) (FMOD_CODEC_STATE *codec_state, unsigned int pos, FMOD_CODEC_SEEK_METHOD method);
typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_FILE_TELL_FUNC) (FMOD_CODEC_STATE *codec_state, unsigned int *pos);
typedef FMOD_RESULT (F_CALLBACK *FMOD_CODEC_FILE_SIZE_FUNC) (FMOD_CODEC_STATE *codec_state, unsigned int *size);
typedef FMOD_RESULT (F_CALL *FMOD_CODEC_FILE_READ_FUNC) (FMOD_CODEC_STATE *codec_state, void *buffer, unsigned int sizebytes, unsigned int *bytesread);
typedef FMOD_RESULT (F_CALL *FMOD_CODEC_FILE_SEEK_FUNC) (FMOD_CODEC_STATE *codec_state, unsigned int pos, FMOD_CODEC_SEEK_METHOD method);
typedef FMOD_RESULT (F_CALL *FMOD_CODEC_FILE_TELL_FUNC) (FMOD_CODEC_STATE *codec_state, unsigned int *pos);
typedef FMOD_RESULT (F_CALL *FMOD_CODEC_FILE_SIZE_FUNC) (FMOD_CODEC_STATE *codec_state, unsigned int *size);
/*
Codec structures
@ -121,7 +121,7 @@ struct FMOD_CODEC_STATE
#define FMOD_CODEC_FREE(_state, _ptr) \
(_state)->functions->free(_ptr, __FILE__, __LINE__)
#define FMOD_CODEC_LOG(_state, _level, _location, _format, ...) \
(_state)->functions->log(_level, __FILE__, __LINE__, _location, _format, __VA_ARGS__)
(_state)->functions->log(_level, __FILE__, __LINE__, _location, _format, ##__VA_ARGS__)
#define FMOD_CODEC_FILE_READ(_state, _buffer, _sizebytes, _bytesread) \
(_state)->functions->read(_state, _buffer, _sizebytes, _bytesread)
#define FMOD_CODEC_FILE_SEEK(_state, _pos, _method) \

View File

@ -1,11 +1,11 @@
/* ======================================================================================== */
/* FMOD Core API - Common C/C++ header file. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2025. */
/* */
/* This header is included by fmod.hpp (C++ interface) and fmod.h (C interface) */
/* */
/* For more detail visit: */
/* https://fmod.com/docs/2.02/api/core-api-common.html */
/* https://fmod.com/docs/2.03/api/core-api-common.html */
/* ======================================================================================== */
#ifndef _FMOD_COMMON_H
#define _FMOD_COMMON_H
@ -33,8 +33,6 @@
#define F_API F_CALL
#endif
#define F_CALLBACK F_CALL
/*
FMOD core types
*/
@ -56,7 +54,8 @@ typedef struct FMOD_ASYNCREADINFO FMOD_ASYNCREADINFO;
/*
FMOD constants
*/
#define FMOD_VERSION 0x00020226 /* 0xaaaabbcc -> aaaa = product version, bb = major version, cc = minor version.*/
#define FMOD_VERSION 0x00020307 /* 0xaaaabbcc -> aaaa = product version, bb = major version, cc = minor version.*/
#define FMOD_BUILDNUMBER 150747
typedef unsigned int FMOD_DEBUG_FLAGS;
#define FMOD_DEBUG_LEVEL_NONE 0x00000000
@ -120,15 +119,14 @@ typedef unsigned int FMOD_SYSTEM_CALLBACK_TYPE;
#define FMOD_SYSTEM_CALLBACK_PREMIX 0x00000020
#define FMOD_SYSTEM_CALLBACK_POSTMIX 0x00000040
#define FMOD_SYSTEM_CALLBACK_ERROR 0x00000080
#define FMOD_SYSTEM_CALLBACK_MIDMIX 0x00000100
#define FMOD_SYSTEM_CALLBACK_THREADDESTROYED 0x00000200
#define FMOD_SYSTEM_CALLBACK_PREUPDATE 0x00000400
#define FMOD_SYSTEM_CALLBACK_POSTUPDATE 0x00000800
#define FMOD_SYSTEM_CALLBACK_RECORDLISTCHANGED 0x00001000
#define FMOD_SYSTEM_CALLBACK_BUFFEREDNOMIX 0x00002000
#define FMOD_SYSTEM_CALLBACK_DEVICEREINITIALIZE 0x00004000
#define FMOD_SYSTEM_CALLBACK_OUTPUTUNDERRUN 0x00008000
#define FMOD_SYSTEM_CALLBACK_RECORDPOSITIONCHANGED 0x00010000
#define FMOD_SYSTEM_CALLBACK_THREADDESTROYED 0x00000100
#define FMOD_SYSTEM_CALLBACK_PREUPDATE 0x00000200
#define FMOD_SYSTEM_CALLBACK_POSTUPDATE 0x00000400
#define FMOD_SYSTEM_CALLBACK_RECORDLISTCHANGED 0x00000800
#define FMOD_SYSTEM_CALLBACK_BUFFEREDNOMIX 0x00001000
#define FMOD_SYSTEM_CALLBACK_DEVICEREINITIALIZE 0x00002000
#define FMOD_SYSTEM_CALLBACK_OUTPUTUNDERRUN 0x00004000
#define FMOD_SYSTEM_CALLBACK_RECORDPOSITIONCHANGED 0x00008000
#define FMOD_SYSTEM_CALLBACK_ALL 0xFFFFFFFF
typedef unsigned int FMOD_MODE;
@ -184,7 +182,6 @@ typedef unsigned int FMOD_CHANNELMASK;
typedef unsigned long long FMOD_PORT_INDEX;
#define FMOD_PORT_INDEX_NONE 0xFFFFFFFFFFFFFFFF
#define FMOD_PORT_INDEX_FLAG_VR_CONTROLLER 0x1000000000000000
typedef int FMOD_THREAD_PRIORITY;
/* Platform specific priority range */
@ -701,6 +698,8 @@ typedef enum FMOD_PORT_TYPE
FMOD_PORT_TYPE_PERSONAL,
FMOD_PORT_TYPE_VIBRATION,
FMOD_PORT_TYPE_AUX,
FMOD_PORT_TYPE_PASSTHROUGH,
FMOD_PORT_TYPE_VR_VIBRATION,
FMOD_PORT_TYPE_MAX,
FMOD_PORT_TYPE_FORCEINT = 65536
@ -781,7 +780,7 @@ typedef struct FMOD_ADVANCEDSETTINGS
int maxVorbisCodecs;
int maxAT9Codecs;
int maxFADPCMCodecs;
int maxPCMCodecs;
int maxOpusCodecs;
int ASIONumChannels;
char **ASIOChannelList;
FMOD_SPEAKER *ASIOSpeakerList;
@ -795,7 +794,6 @@ typedef struct FMOD_ADVANCEDSETTINGS
FMOD_DSP_RESAMPLER resamplerMethod;
unsigned int randomSeed;
int maxConvolutionThreads;
int maxOpusCodecs;
int maxSpatialObjects;
} FMOD_ADVANCEDSETTINGS;

View File

@ -1,13 +1,13 @@
/* ======================================================================================== */
/* FMOD Core API - DSP header file. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2025. */
/* */
/* Use this header if you are wanting to develop your own DSP plugin to use with FMODs */
/* dsp system. With this header you can make your own DSP plugin that FMOD can */
/* register and use. See the documentation and examples on how to make a working plugin. */
/* */
/* For more detail visit: */
/* https://fmod.com/docs/2.02/api/plugin-api-dsp.html */
/* https://fmod.com/docs/2.03/api/plugin-api-dsp.html */
/* =========================================================================================*/
#ifndef _FMOD_DSP_H
#define _FMOD_DSP_H
@ -67,6 +67,7 @@ typedef enum
FMOD_DSP_PARAMETER_DATA_TYPE_FFT = -4,
FMOD_DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES_MULTI = -5,
FMOD_DSP_PARAMETER_DATA_TYPE_ATTENUATION_RANGE = -6,
FMOD_DSP_PARAMETER_DATA_TYPE_DYNAMIC_RESPONSE = -7,
} FMOD_DSP_PARAMETER_DATA_TYPE;
/*
@ -226,6 +227,12 @@ typedef struct FMOD_DSP_PARAMETER_FFT
float *spectrum[32];
} FMOD_DSP_PARAMETER_FFT;
typedef struct FMOD_DSP_PARAMETER_DYNAMIC_RESPONSE
{
int numchannels;
float rms[32];
} FMOD_DSP_PARAMETER_DYNAMIC_RESPONSE;
typedef struct FMOD_DSP_DESCRIPTION
{
unsigned int pluginsdkversion;
@ -387,7 +394,7 @@ typedef struct FMOD_DSP_METERING_INFO
#define FMOD_DSP_FREE(_state, _ptr) \
(_state)->functions->free(_ptr, FMOD_MEMORY_NORMAL, __FILE__)
#define FMOD_DSP_LOG(_state, _level, _location, _format, ...) \
(_state)->functions->log(_level, __FILE__, __LINE__, _location, _format, __VA_ARGS__)
(_state)->functions->log(_level, __FILE__, __LINE__, _location, _format, ##__VA_ARGS__)
#define FMOD_DSP_GETSAMPLERATE(_state, _rate) \
(_state)->functions->getsamplerate(_state, _rate)
#define FMOD_DSP_GETBLOCKSIZE(_state, _blocksize) \

View File

@ -1,12 +1,12 @@
/* ============================================================================================================= */
/* FMOD Core API - Built-in effects header file. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2025. */
/* */
/* In this header you can find parameter structures for FMOD system registered DSP effects */
/* and generators. */
/* */
/* For more detail visit: */
/* https://fmod.com/docs/2.02/api/core-api-common-dsp-effects.html#fmod_dsp_type */
/* https://fmod.com/docs/2.03/api/core-api-common-dsp-effects.html#fmod_dsp_type */
/* ============================================================================================================= */
#ifndef _FMOD_DSP_EFFECTS_H
@ -29,15 +29,12 @@ typedef enum
FMOD_DSP_TYPE_PARAMEQ,
FMOD_DSP_TYPE_PITCHSHIFT,
FMOD_DSP_TYPE_CHORUS,
FMOD_DSP_TYPE_VSTPLUGIN,
FMOD_DSP_TYPE_WINAMPPLUGIN,
FMOD_DSP_TYPE_ITECHO,
FMOD_DSP_TYPE_COMPRESSOR,
FMOD_DSP_TYPE_SFXREVERB,
FMOD_DSP_TYPE_LOWPASS_SIMPLE,
FMOD_DSP_TYPE_DELAY,
FMOD_DSP_TYPE_TREMOLO,
FMOD_DSP_TYPE_LADSPAPLUGIN,
FMOD_DSP_TYPE_SEND,
FMOD_DSP_TYPE_RETURN,
FMOD_DSP_TYPE_HIGHPASS_SIMPLE,
@ -45,12 +42,12 @@ typedef enum
FMOD_DSP_TYPE_THREE_EQ,
FMOD_DSP_TYPE_FFT,
FMOD_DSP_TYPE_LOUDNESS_METER,
FMOD_DSP_TYPE_ENVELOPEFOLLOWER,
FMOD_DSP_TYPE_CONVOLUTIONREVERB,
FMOD_DSP_TYPE_CHANNELMIX,
FMOD_DSP_TYPE_TRANSCEIVER,
FMOD_DSP_TYPE_OBJECTPAN,
FMOD_DSP_TYPE_MULTIBAND_EQ,
FMOD_DSP_TYPE_MULTIBAND_DYNAMICS,
FMOD_DSP_TYPE_MAX,
FMOD_DSP_TYPE_FORCEINT = 65536 /* Makes sure this enum is signed 32bit. */
@ -98,10 +95,19 @@ typedef enum
FMOD_DSP_ECHO_DELAY,
FMOD_DSP_ECHO_FEEDBACK,
FMOD_DSP_ECHO_DRYLEVEL,
FMOD_DSP_ECHO_WETLEVEL
FMOD_DSP_ECHO_WETLEVEL,
FMOD_DSP_ECHO_DELAYCHANGEMODE
} FMOD_DSP_ECHO;
typedef enum
{
FMOD_DSP_ECHO_DELAYCHANGEMODE_FADE,
FMOD_DSP_ECHO_DELAYCHANGEMODE_LERP,
FMOD_DSP_ECHO_DELAYCHANGEMODE_NONE
} FMOD_DSP_ECHO_DELAYCHANGEMODE_TYPE;
typedef enum FMOD_DSP_FADER
{
FMOD_DSP_FADER_GAIN,
@ -188,9 +194,54 @@ typedef enum FMOD_DSP_MULTIBAND_EQ_FILTER_TYPE
FMOD_DSP_MULTIBAND_EQ_FILTER_BANDPASS,
FMOD_DSP_MULTIBAND_EQ_FILTER_NOTCH,
FMOD_DSP_MULTIBAND_EQ_FILTER_ALLPASS,
FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_6DB,
FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_6DB,
} FMOD_DSP_MULTIBAND_EQ_FILTER_TYPE;
typedef enum FMOD_DSP_MULTIBAND_DYNAMICS
{
FMOD_DSP_MULTIBAND_DYNAMICS_LOWER_FREQUENCY,
FMOD_DSP_MULTIBAND_DYNAMICS_UPPER_FREQUENCY,
FMOD_DSP_MULTIBAND_DYNAMICS_LINKED,
FMOD_DSP_MULTIBAND_DYNAMICS_USE_SIDECHAIN,
FMOD_DSP_MULTIBAND_DYNAMICS_A_MODE,
FMOD_DSP_MULTIBAND_DYNAMICS_A_GAIN,
FMOD_DSP_MULTIBAND_DYNAMICS_A_THRESHOLD,
FMOD_DSP_MULTIBAND_DYNAMICS_A_RATIO,
FMOD_DSP_MULTIBAND_DYNAMICS_A_ATTACK,
FMOD_DSP_MULTIBAND_DYNAMICS_A_RELEASE,
FMOD_DSP_MULTIBAND_DYNAMICS_A_GAIN_MAKEUP,
FMOD_DSP_MULTIBAND_DYNAMICS_A_RESPONSE_DATA,
FMOD_DSP_MULTIBAND_DYNAMICS_B_MODE,
FMOD_DSP_MULTIBAND_DYNAMICS_B_GAIN,
FMOD_DSP_MULTIBAND_DYNAMICS_B_THRESHOLD,
FMOD_DSP_MULTIBAND_DYNAMICS_B_RATIO,
FMOD_DSP_MULTIBAND_DYNAMICS_B_ATTACK,
FMOD_DSP_MULTIBAND_DYNAMICS_B_RELEASE,
FMOD_DSP_MULTIBAND_DYNAMICS_B_GAIN_MAKEUP,
FMOD_DSP_MULTIBAND_DYNAMICS_B_RESPONSE_DATA,
FMOD_DSP_MULTIBAND_DYNAMICS_C_MODE,
FMOD_DSP_MULTIBAND_DYNAMICS_C_GAIN,
FMOD_DSP_MULTIBAND_DYNAMICS_C_THRESHOLD,
FMOD_DSP_MULTIBAND_DYNAMICS_C_RATIO,
FMOD_DSP_MULTIBAND_DYNAMICS_C_ATTACK,
FMOD_DSP_MULTIBAND_DYNAMICS_C_RELEASE,
FMOD_DSP_MULTIBAND_DYNAMICS_C_GAIN_MAKEUP,
FMOD_DSP_MULTIBAND_DYNAMICS_C_RESPONSE_DATA,
} FMOD_DSP_MULTIBAND_DYNAMICS;
typedef enum FMOD_DSP_MULTIBAND_DYNAMICS_MODE_TYPE
{
FMOD_DSP_MULTIBAND_DYNAMICS_MODE_DISABLED,
FMOD_DSP_MULTIBAND_DYNAMICS_MODE_COMPRESS_UP,
FMOD_DSP_MULTIBAND_DYNAMICS_MODE_COMPRESS_DOWN,
FMOD_DSP_MULTIBAND_DYNAMICS_MODE_EXPAND_UP,
FMOD_DSP_MULTIBAND_DYNAMICS_MODE_EXPAND_DOWN
} FMOD_DSP_MULTIBAND_DYNAMICS_MODE_TYPE;
typedef enum
{
FMOD_DSP_PITCHSHIFT_PITCH,
@ -395,15 +446,28 @@ typedef enum
FMOD_DSP_FFT_WINDOW_HANNING,
FMOD_DSP_FFT_WINDOW_BLACKMAN,
FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS
} FMOD_DSP_FFT_WINDOW;
} FMOD_DSP_FFT_WINDOW_TYPE;
typedef enum
{
FMOD_DSP_FFT_DOWNMIX_NONE,
FMOD_DSP_FFT_DOWNMIX_MONO,
} FMOD_DSP_FFT_DOWNMIX_TYPE;
typedef enum
{
FMOD_DSP_FFT_WINDOWSIZE,
FMOD_DSP_FFT_WINDOWTYPE,
FMOD_DSP_FFT_WINDOW,
FMOD_DSP_FFT_BAND_START_FREQ,
FMOD_DSP_FFT_BAND_STOP_FREQ,
FMOD_DSP_FFT_SPECTRUMDATA,
FMOD_DSP_FFT_DOMINANT_FREQ
FMOD_DSP_FFT_RMS,
FMOD_DSP_FFT_SPECTRAL_CENTROID,
FMOD_DSP_FFT_IMMEDIATE_MODE,
FMOD_DSP_FFT_DOWNMIX,
FMOD_DSP_FFT_CHANNEL,
} FMOD_DSP_FFT;
#define FMOD_DSP_LOUDNESS_METER_HISTOGRAM_SAMPLES 66
@ -442,15 +506,6 @@ typedef struct FMOD_DSP_LOUDNESS_METER_WEIGHTING_TYPE
float channelweight[32];
} FMOD_DSP_LOUDNESS_METER_WEIGHTING_TYPE;
typedef enum
{
FMOD_DSP_ENVELOPEFOLLOWER_ATTACK,
FMOD_DSP_ENVELOPEFOLLOWER_RELEASE,
FMOD_DSP_ENVELOPEFOLLOWER_ENVELOPE,
FMOD_DSP_ENVELOPEFOLLOWER_USESIDECHAIN
} FMOD_DSP_ENVELOPEFOLLOWER;
typedef enum
{
FMOD_DSP_CONVOLUTION_REVERB_PARAM_IR,

View File

@ -1,12 +1,12 @@
/* ============================================================================================== */
/* FMOD Core / Studio API - Error string header file. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2025. */
/* */
/* Use this header if you want to store or display a string version / english explanation */
/* of the FMOD error codes. */
/* */
/* For more detail visit: */
/* https://fmod.com/docs/2.02/api/core-api-common.html#fmod_result */
/* https://fmod.com/docs/2.03/api/core-api-common.html#fmod_result */
/* =============================================================================================== */
#ifndef _FMOD_ERRORS_H
#define _FMOD_ERRORS_H

View File

@ -1,6 +1,6 @@
/* ======================================================================================== */
/* FMOD Core API - output development header file. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2025. */
/* */
/* Use this header if you are wanting to develop your own output plugin to use with */
/* FMOD's output system. With this header you can make your own output plugin that FMOD */
@ -8,7 +8,7 @@
/* plugin. */
/* */
/* For more detail visit: */
/* https://fmod.com/docs/2.02/api/plugin-api-output.html */
/* https://fmod.com/docs/2.03/api/plugin-api-output.html */
/* ======================================================================================== */
#ifndef _FMOD_OUTPUT_H
#define _FMOD_OUTPUT_H

View File

@ -1,12 +1,12 @@
/* ======================================================================================== */
/* FMOD Studio API - C header file. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2025. */
/* */
/* Use this header in conjunction with fmod_studio_common.h (which contains all the */
/* constants / callbacks) to develop using the C language. */
/* */
/* For more detail visit: */
/* https://fmod.com/docs/2.02/api/studio-api.html */
/* https://fmod.com/docs/2.03/api/studio-api.html */
/* ======================================================================================== */
#ifndef FMOD_STUDIO_H
#define FMOD_STUDIO_H
@ -126,6 +126,7 @@ FMOD_RESULT F_API FMOD_Studio_EventDescription_SetUserData(FMOD_STUDIO_EVENTDESC
*/
FMOD_BOOL F_API FMOD_Studio_EventInstance_IsValid(FMOD_STUDIO_EVENTINSTANCE *eventinstance);
FMOD_RESULT F_API FMOD_Studio_EventInstance_GetDescription(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_EVENTDESCRIPTION **description);
FMOD_RESULT F_API FMOD_Studio_EventInstance_GetSystem(FMOD_STUDIO_EVENTINSTANCE *eventinstance, FMOD_STUDIO_SYSTEM **system);
FMOD_RESULT F_API FMOD_Studio_EventInstance_GetVolume(FMOD_STUDIO_EVENTINSTANCE *eventinstance, float *volume, float *finalvolume);
FMOD_RESULT F_API FMOD_Studio_EventInstance_SetVolume(FMOD_STUDIO_EVENTINSTANCE *eventinstance, float volume);
FMOD_RESULT F_API FMOD_Studio_EventInstance_GetPitch(FMOD_STUDIO_EVENTINSTANCE *eventinstance, float *pitch, float *finalpitch);

View File

@ -1,12 +1,12 @@
/* ======================================================================================== */
/* FMOD Studio API - C++ header file. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2025. */
/* */
/* Use this header in conjunction with fmod_studio_common.h (which contains all the */
/* constants / callbacks) to develop using the C++ language. */
/* */
/* For more detail visit: */
/* https://fmod.com/docs/2.02/api/studio-api.html */
/* https://fmod.com/docs/2.03/api/studio-api.html */
/* ======================================================================================== */
#ifndef FMOD_STUDIO_HPP
#define FMOD_STUDIO_HPP
@ -194,6 +194,7 @@ namespace Studio
// Property access
FMOD_RESULT F_API getDescription(EventDescription **description) const;
FMOD_RESULT F_API getSystem(System **system) const;
// Playback control
FMOD_RESULT F_API getVolume(float *volume, float *finalvolume = 0) const;

View File

@ -1,12 +1,12 @@
/* ======================================================================================== */
/* FMOD Studio API - Common C/C++ header file. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */
/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2025. */
/* */
/* This header defines common enumerations, structs and callbacks that are shared between */
/* the C and C++ interfaces. */
/* */
/* For more detail visit: */
/* https://fmod.com/docs/2.02/api/studio-api.html */
/* https://fmod.com/docs/2.03/api/studio-api.html */
/* ======================================================================================== */
#ifndef FMOD_STUDIO_COMMON_H
#define FMOD_STUDIO_COMMON_H
@ -327,10 +327,10 @@ typedef struct FMOD_STUDIO_MEMORY_USAGE
/*
FMOD Studio callbacks.
*/
typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_SYSTEM_CALLBACK) (FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_SYSTEM_CALLBACK_TYPE type, void *commanddata, void *userdata);
typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_EVENT_CALLBACK) (FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE *event, void *parameters);
typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_COMMANDREPLAY_FRAME_CALLBACK) (FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex, float currenttime, void *userdata);
typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_COMMANDREPLAY_LOAD_BANK_CALLBACK) (FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex, const FMOD_GUID *bankguid, const char *bankfilename, FMOD_STUDIO_LOAD_BANK_FLAGS flags, FMOD_STUDIO_BANK **bank, void *userdata);
typedef FMOD_RESULT (F_CALLBACK *FMOD_STUDIO_COMMANDREPLAY_CREATE_INSTANCE_CALLBACK) (FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex, FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_STUDIO_EVENTINSTANCE **instance, void *userdata);
typedef FMOD_RESULT (F_CALL *FMOD_STUDIO_SYSTEM_CALLBACK) (FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_SYSTEM_CALLBACK_TYPE type, void *commanddata, void *userdata);
typedef FMOD_RESULT (F_CALL *FMOD_STUDIO_EVENT_CALLBACK) (FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE *event, void *parameters);
typedef FMOD_RESULT (F_CALL *FMOD_STUDIO_COMMANDREPLAY_FRAME_CALLBACK) (FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex, float currenttime, void *userdata);
typedef FMOD_RESULT (F_CALL *FMOD_STUDIO_COMMANDREPLAY_LOAD_BANK_CALLBACK) (FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex, const FMOD_GUID *bankguid, const char *bankfilename, FMOD_STUDIO_LOAD_BANK_FLAGS flags, FMOD_STUDIO_BANK **bank, void *userdata);
typedef FMOD_RESULT (F_CALL *FMOD_STUDIO_COMMANDREPLAY_CREATE_INSTANCE_CALLBACK) (FMOD_STUDIO_COMMANDREPLAY *replay, int commandindex, FMOD_STUDIO_EVENTDESCRIPTION *eventdescription, FMOD_STUDIO_EVENTINSTANCE **instance, void *userdata);
#endif // FMOD_STUDIO_COMMON_H

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
using System.IO;
namespace UnrealBuildTool.Rules

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "AssetTypeActions_FMODEvent.h"
#include "AssetTypeActions_Base.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODAmbientSoundActorFactory.h"
#include "FMODStudioEditorPrivatePCH.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODAudioComponentDetails.h"
#include "Subsystems/AssetEditorSubsystem.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODAudioComponentVisualizer.h"
#include "FMODAudioComponent.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODBankUpdateNotifier.h"
#include "FMODSettings.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODEventEditor.h"
#include "FMODEvent.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025.
#include "FMODSettingsCustomization.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODStudioEditorModule.h"
#include "FMODStudioModule.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once
#include "Runtime/Engine/Classes/Components/SceneComponent.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "FMODStudioStyle.h"
#include "Styling/SlateStyleRegistry.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once
#include "Styling/SlateStyle.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "SFMODEventEditorPanel.h"
#include "FMODStudioModule.h"

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#pragma once

View File

@ -1,4 +1,4 @@
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2024.
// Copyright (c), Firelight Technologies Pty, Ltd. 2012-2025.
#include "Sequencer/FMODChannelEditors.h"
#include "ISequencerChannelInterface.h"

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