Vital
Loading...
Searching...
No Matches
vital::Wavetable::WavetableData Struct Reference

Struct holding all necessary data for the Wavetable, including multiple frames. More...

#include <wavetable.h>

Public Member Functions

 WavetableData (int frames, int table_version)
 Construct a new WavetableData object.
 

Public Attributes

int num_frames
 The number of frames in the wavetable.
 
mono_float frequency_ratio
 The frequency ratio used for playback.
 
mono_float sample_rate
 The sample rate associated with the wavetable frames.
 
int version
 The version number of this wavetable data.
 
std::unique_ptr< mono_float[][kWaveformSize]> wave_data
 Time-domain wave data: an array of [num_frames][kWaveformSize].
 
std::unique_ptr< poly_float[][kPolyFrequencySize]> frequency_amplitudes
 Frequency amplitudes: an array of [num_frames][kPolyFrequencySize].
 
std::unique_ptr< poly_float[][kPolyFrequencySize]> normalized_frequencies
 Normalized frequency data: an array of [num_frames][kPolyFrequencySize].
 
std::unique_ptr< poly_float[][kPolyFrequencySize]> phases
 Phase data: an array of [num_frames][kPolyFrequencySize].
 

Detailed Description

Struct holding all necessary data for the Wavetable, including multiple frames.

This data structure contains both time-domain and frequency-domain representations of each frame. It also stores metadata such as the number of frames, the frequency ratio, sample rate, and a version number used for synchronization.

Constructor & Destructor Documentation

◆ WavetableData()

vital::Wavetable::WavetableData::WavetableData ( int frames,
int table_version )
inline

Construct a new WavetableData object.

Parameters
framesThe number of frames contained in this wavetable data.
table_versionThe version of the wavetable data (incremented on changes).

Member Data Documentation

◆ frequency_amplitudes

std::unique_ptr<poly_float[][kPolyFrequencySize]> vital::Wavetable::WavetableData::frequency_amplitudes

Frequency amplitudes: an array of [num_frames][kPolyFrequencySize].

◆ frequency_ratio

mono_float vital::Wavetable::WavetableData::frequency_ratio

The frequency ratio used for playback.

◆ normalized_frequencies

std::unique_ptr<poly_float[][kPolyFrequencySize]> vital::Wavetable::WavetableData::normalized_frequencies

Normalized frequency data: an array of [num_frames][kPolyFrequencySize].

◆ num_frames

int vital::Wavetable::WavetableData::num_frames

The number of frames in the wavetable.

◆ phases

std::unique_ptr<poly_float[][kPolyFrequencySize]> vital::Wavetable::WavetableData::phases

Phase data: an array of [num_frames][kPolyFrequencySize].

◆ sample_rate

mono_float vital::Wavetable::WavetableData::sample_rate

The sample rate associated with the wavetable frames.

◆ version

int vital::Wavetable::WavetableData::version

The version number of this wavetable data.

◆ wave_data

std::unique_ptr<mono_float[][kWaveformSize]> vital::Wavetable::WavetableData::wave_data

Time-domain wave data: an array of [num_frames][kWaveformSize].


The documentation for this struct was generated from the following file: