Navigation
API > API/Plugins > API/Plugins/Harmonix
This next class implements an intrusive ref counted wrapper around your audio renderable data. It can be shared between the UObject thread(s) and the audio rendering thread(s). In addition to the ref count, this version includes a TSharedAudioRenderableDataPtr to the next, or updated, data. This allows for a lock-free queue of updated settings, where new settings can be generated on the UObject side and appended to this as new settings. This way, consumers of these settings can look for updated data and move to that data at their leisure. Because this is done through a ref counted pointer, eventually, when no rendering instance is using an old instance of the data, the ref count will go to zero and the unused settings will be freed.
| Name | TRefCountedAudioRenderableWithQueuedChanges |
| Type | class |
| Header File | /Engine/Plugins/Runtime/Harmonix/Source/Harmonix/Public/Harmonix/AudioRenderableProxy.h |
| Include Path | #include "Harmonix/AudioRenderableProxy.h" |
Syntax
template<typename DATA_STRUCT>
class TRefCountedAudioRenderableWithQueuedChanges
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TRefCountedAudioRenderableWithQueuedChanges
(
DATA_STRUCT& Other |
Copy Construct From non-const DATA_STRUCT reference. | Harmonix/AudioRenderableProxy.h | |
| FIRST: The Six... Empty Construct | Harmonix/AudioRenderableProxy.h | ||
TRefCountedAudioRenderableWithQueuedChanges
(
const TRefCountedAudioRenderableWithQueuedChanges< DATA_STRUCT >& Other |
Copy Construct. | Harmonix/AudioRenderableProxy.h | |
TRefCountedAudioRenderableWithQueuedChanges
(
TRefCountedAudioRenderableWithQueuedChanges< DATA_STRUCT >&& Other |
Move Construct. | Harmonix/AudioRenderableProxy.h | |
TRefCountedAudioRenderableWithQueuedChanges
(
TArgs&&... Args |
NOW: Some Specials... New With Arguments For DATA_STRUCT | Harmonix/AudioRenderableProxy.h | |
TRefCountedAudioRenderableWithQueuedChanges
(
const DATA_STRUCT& Other |
Copy Construct From const DATA_STRUCT reference. | Harmonix/AudioRenderableProxy.h | |
TRefCountedAudioRenderableWithQueuedChanges
(
DATA_STRUCT&& Other |
Move Construct From DATA_STRUCT. | Harmonix/AudioRenderableProxy.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~TRefCountedAudioRenderableWithQueuedChanges() |
Destruct. | Harmonix/AudioRenderableProxy.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Data | DATA_STRUCT | The Wrapped Data | Harmonix/AudioRenderableProxy.h | |
| QueuedDataUpdate | TSharedAudioRenderableDataPtr< DATA_STRUCT, TRefCountedAudioRenderableWithQueuedChanges > | Harmonix/AudioRenderableProxy.h | ||
| RefCount | std::atomic< uint32 > | Reference Counting Note: RefCount is mutable and AddRef/RemoveRef are marked const as const accessors should be able to "lock and unlock" the counted object when they only have a const reference to it. | Harmonix/AudioRenderableProxy.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddRef() |
Harmonix/AudioRenderableProxy.h | ||
int32 GetRefCount() |
Harmonix/AudioRenderableProxy.h | ||
const TSharedAudioRenderableDataPtr< DATA_STRUCT, TRefCountedAudioRenderableWithQueuedChanges > & GetUpdate() |
Harmonix/AudioRenderableProxy.h | ||
bool HasUpdate() |
Harmonix/AudioRenderableProxy.h | ||
void QueueUpdate
(
const TSharedAudioRenderableDataPtr< DATA_STRUCT, TRefCountedAudioRenderableWithQueuedChanges >& Up... |
Harmonix/AudioRenderableProxy.h | ||
void RemoveRef() |
Harmonix/AudioRenderableProxy.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
operator const DATA_STRUCT *() |
Harmonix/AudioRenderableProxy.h | ||
operator DATA_STRUCT *() |
Conversion operators. | Harmonix/AudioRenderableProxy.h | |
TRefCountedAudioRenderableWithQueuedChanges< DATA_STRUCT > & operator=
(
DATA_STRUCT&& Other |
Move Assign From DATA_STRUCT. | Harmonix/AudioRenderableProxy.h | |
TRefCountedAudioRenderableWithQueuedChanges< DATA_STRUCT > & operator=
(
TRefCountedAudioRenderableWithQueuedChanges< DATA_STRUCT >&& Other |
Move Assign. | Harmonix/AudioRenderableProxy.h | |
TRefCountedAudioRenderableWithQueuedChanges< DATA_STRUCT > & operator=
(
const DATA_STRUCT& Other |
Copy Assign From DATA_STRUCT. | Harmonix/AudioRenderableProxy.h | |
TRefCountedAudioRenderableWithQueuedChanges< DATA_STRUCT > & operator=
(
const TRefCountedAudioRenderableWithQueuedChanges< DATA_STRUCT >& Other |
Copy Assign. | Harmonix/AudioRenderableProxy.h | |
bool operator==
(
const TRefCountedAudioRenderableWithQueuedChanges< DATA_STRUCT >& Other |
Comparisons | Harmonix/AudioRenderableProxy.h | |
bool operator==
(
const DATA_STRUCT& Other |
Harmonix/AudioRenderableProxy.h | ||
DATA_STRUCT * operator-> () |
Dereference operators. | Harmonix/AudioRenderableProxy.h | |
const DATA_STRUCT * operator-> () |
Harmonix/AudioRenderableProxy.h |