48 size_t SamplesCount { 0 };
50 float Min { std::numeric_limits<float>::infinity() };
51 float Max { -std::numeric_limits<float>::infinity() };
53 double SquaresSum { 0.0f };
55 size_t SumItemsCount { 0 };
58 Type DataType { Type::Samples };
59 int64_t FirstSample { 0 };
60 size_t NumSamples { 0 };
63 bool ContainsSample(int64_t sampleIndex)
const noexcept;
66 float* GetWritePointer(
size_t floatsCount);
68 void Reset() noexcept;
71 int64_t from,
size_t samplesCount,
74 std::vector<
float> mData;
83 std::array<WaveDisplayColumn, GraphicsDataCacheBase::CacheElementWidth>;
86 size_t AvailableColumns { 0 };
101 bool InitializeElement(
A move-only handle representing a connection to a Publisher.
This allows multiple clips to be a part of one WaveTrack.
Cache that contains the waveform data.
Observer::Subscription mStretchChangedSubscription
std::function< bool(int64_t requiredSample, WaveCacheSampleBlock::Type dataType, WaveCacheSampleBlock &block)> DataProvider
WaveCacheSampleBlock mCachedBlock
const WaveClip & mWaveClip
RegisteredInitializer initializer
A base class for the for cache elements.
A key into the graphics data cache.
An element of a cache that contains the waveform data.
std::array< WaveDisplayColumn, GraphicsDataCacheBase::CacheElementWidth > Columns
Summary calculated over the requested range.
Helper structure used to transfer the data between the data and graphics layers.
Type
Type of the data of the request.