Navigation
API > API/Plugins > API/Plugins/WaveformEditorWidgets
FWaveformEditorSequenceDataProvider
The Waveform Editor Sequence data provider can produce UI to display a chain of waveform transformations.
The main UI elements created are: TransformedPCMData : a float array containing the transformed samples of the waveform, that can be requested through the Transform Layers : an array of UI renderers for each transformation in the chain. Renderers should be contained in dummy widgets.
These are created so that the entire stack of transformation is displayable. E.g: if a 10s long file is trimmed from second 2, seconds 0 to 1 will still be present in the render data. UI widgets are passed a struct with information about the transformation to display property (e.g. StartFrameOffset, SampleDuration, etc.).
UIs for different transformations are registered with and spawned by FWaveformTransformationRenderLayerFactory. Transformations don't necessarily have a widget UI. In that case, they are only reflected in the render data.
| Name | FWaveformEditorSequenceDataProvider |
| Type | class |
| Header File | /Engine/Plugins/Editor/WaveformEditor/Source/WaveformEditorWidgets/Public/WaveformEditorSequenceDataProvider.h |
| Include Path | #include "WaveformEditorSequenceDataProvider.h" |
Syntax
class FWaveformEditorSequenceDataProvider :
public IFixedSampledSequenceViewProvider ,
public TSharedFromThis< FWaveformEditorSequenceDataProvider >
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → FWaveformEditorSequenceDataProvider
Implements Interfaces
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FWaveformEditorSequenceDataProvider
(
TObjectPtr< USoundWave > InSoundWave |
WaveformEditorSequenceDataProvider.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| OnDataViewGenerated | FOnDataViewGenerated | Called when new data view is generated | WaveformEditorSequenceDataProvider.h | |
| OnLayersChainGenerated | FOnLayersChainGenerated | Called when a new layer chain of transformations UI is created | WaveformEditorSequenceDataProvider.h | |
| OnRenderElementsUpdated | FOnRenderElementsUpdated | Called when the different render elements are updated | WaveformEditorSequenceDataProvider.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| DurationHiglightLayer | TSharedPtr< FWaveformTransformationDurationRenderer > | WaveformEditorSequenceDataProvider.h | ||
| ImportedNumChannels | uint16 | WaveformEditorSequenceDataProvider.h | ||
| ImportedRawPCMData | TArray< uint8 > | Imported Soundwave Data | WaveformEditorSequenceDataProvider.h | |
| ImportedSampleRate | uint32 | WaveformEditorSequenceDataProvider.h | ||
| LayersFactory | TUniquePtr< FWaveformTransformationRenderLayerFactory > | WaveformEditorSequenceDataProvider.h | ||
| NumOriginalWaveformFrames | uint32 | WaveformEditorSequenceDataProvider.h | ||
| RenderLayers | TArray< FTransformationRenderLayerInfo > | WaveformEditorSequenceDataProvider.h | ||
| SoundWaveToRender | TObjectPtr< USoundWave > | WaveformEditorSequenceDataProvider.h | ||
| TransformationsToRender | TArray< TObjectPtr< UWaveformTransformationBase > > | WaveformEditorSequenceDataProvider.h | ||
| TransformedPCMData | TArray< float > | WaveformEditorSequenceDataProvider.h | ||
| TransformedWaveformBounds | TRange< double > | The bounds of the transformed waveform in relation to the original | WaveformEditorSequenceDataProvider.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void GenerateLayersChain () |
Used to generate the stack of transformations UI | WaveformEditorSequenceDataProvider.h | |
const TArray< float > GetTransformedPCMData() |
WaveformEditorSequenceDataProvider.h | ||
const TRange< double > GetTransformedWaveformBounds() |
WaveformEditorSequenceDataProvider.h | ||
TArrayView< const FTransformationRenderLayerInfo > GetTransformLayers() |
WaveformEditorSequenceDataProvider.h | ||
void UpdateRenderElements() |
Used to generate updated sequence data and pass transformation info to the widgets Should be called when the transformations parameters are changed | WaveformEditorSequenceDataProvider.h |
Overridden from IFixedSampledSequenceViewProvider
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FFixedSampledSequenceView RequestSequenceView
(
const TRange< double > DataRatioRange |
WaveformEditorSequenceDataProvider.h |