Navigation
API > API/Plugins > API/Plugins/HarmonixDsp
| Name | FFusionVoicePool |
| Type | class |
| Header File | /Engine/Plugins/Runtime/Harmonix/Source/HarmonixDsp/Public/HarmonixDsp/FusionSampler/FusionVoicePool.h |
| Include Path | #include "HarmonixDsp/FusionSampler/FusionVoicePool.h" |
Syntax
class FFusionVoicePool
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FFusionVoicePool
(
float InSampleRate |
HarmonixDsp/FusionSampler/FusionVoicePool.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FFusionVoicePool() |
HarmonixDsp/FusionSampler/FusionVoicePool.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FPoolMap | TMap< FPoolMapKey, TWeakPtr< FFusionVoicePool, ESPMode::ThreadSafe > > | HarmonixDsp/FusionSampler/FusionVoicePool.h | |
| FPoolMapKey | TTuple< FName, int32 > | Key is a tuple of PoolName and SampleRate Value is a weak ptr, but shared ptrs are returned so it gets automatically destroyed when nothing references it anymore | HarmonixDsp/FusionSampler/FusionVoicePool.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| GVoicePools | FPoolMap | HarmonixDsp/FusionSampler/FusionVoicePool.h | |
| kDefaultPoolSize | const uint32 | HarmonixDsp/FusionSampler/FusionVoicePool.h | |
| kMaxPoolSize | const uint32 | HarmonixDsp/FusionSampler/FusionVoicePool.h | |
| kMinPoolSize | const uint32 | Global Voice Pool. | HarmonixDsp/FusionSampler/FusionVoicePool.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ClientSamplers | TArray< FFusionSampler * > | HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
| DynamicAllocAndFree | bool | HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
| IsMultithreading | bool | HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
| NumAllocatedVoices | uint32 | HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
| NumVoicesSetting | uint32 | HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
| PeakVoiceUsage | uint32 | HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
| PoolLock | FCriticalSection | HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
| SampleRate | float | HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
| SoftVoiceLimit | uint32 | HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
| Voices | FFusionVoice * | HarmonixDsp/FusionSampler/FusionVoicePool.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddClient
(
FFusionSampler* InSampler |
Let the FusionVoicePool know that you will need voices | HarmonixDsp/FusionSampler/FusionVoicePool.h | |
uint32 FastReleaseExcessVoices
(
FFusionSampler* InSampler |
Fast releases voices that have exceeded the soft limit for the pool (or the channel). | HarmonixDsp/FusionSampler/FusionVoicePool.h | |
FFusionVoice * GetFreeVoice
(
FFusionSampler* InSampler, |
THIS PROBABLY SHOULD BE PRIVATE. | HarmonixDsp/FusionSampler/FusionVoicePool.h | |
uint32 GetHardVoiceLimit() |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
uint32 GetNumVoicesAvailable () |
The number of voices allocated. | HarmonixDsp/FusionSampler/FusionVoicePool.h | |
uint32 GetNumVoicesInUse() |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
uint32 GetPeakVoiceUsage() |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
float GetSampleRate() |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
uint32 GetSoftVoiceLimit() |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
FFusionVoice * GetVoice
(
uint32 VoiceIdx |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
void HardAllocatateVoices() |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
bool HasVoice
(
FFusionSampler* InOwner, |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
void KillVoices () |
Instantly stops all voices with no release stage | HarmonixDsp/FusionSampler/FusionVoicePool.h | |
void KillVoices
(
const FKeyzoneSettings* InKeyzoneSettings |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
void KillVoices
(
const FFusionSampler* InSampler, |
Void KillVoices(const MultiInstrument*); | HarmonixDsp/FusionSampler/FusionVoicePool.h | |
void Lock() |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
void ReleaseHardAllocation() |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
void ReleaseShifter
(
TSharedPtr< IStretcherAndPitchShifter, ESPMode::ThreadSafe > InShifter |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
void RemoveClient
(
FFusionSampler* InSampler |
Let the FusionVoicePool know that you no longer need voices | HarmonixDsp/FusionSampler/FusionVoicePool.h | |
void ResetPeakVoiceUsage() |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
void SetFormantVolumeCorrection
(
float dBperHalfStepUp, |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
void SetHardVoiceLimit
(
uint32 InLimit |
The number of voices to allocate for this pool. | HarmonixDsp/FusionSampler/FusionVoicePool.h | |
void SetIsMultithreading
(
bool InIsMultithreaded |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
void SetSampleRate
(
float InSampleRate |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
void SetSoftVoiceLimit
(
uint32 InLimit |
The number of voices to allow before automatically releasing excess voices. | HarmonixDsp/FusionSampler/FusionVoicePool.h | |
void Unlock() |
HarmonixDsp/FusionSampler/FusionVoicePool.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FSharedFusionVoicePoolPtr Create
(
const FFusionVoiceConfig& InConfig, |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
static FSharedFusionVoicePoolPtr GetDefault
(
float InSampleRate |
HarmonixDsp/FusionSampler/FusionVoicePool.h | ||
static FSharedFusionVoicePoolPtr GetNamedPool
(
FName InPoolName, |
HarmonixDsp/FusionSampler/FusionVoicePool.h |