12#ifndef __AUDACITY_SAMPLE_TRACK__
13#define __AUDACITY_SAMPLE_TRACK__
50 constexpr auto backwards =
false;
52 0, 1, &buffer, start, len, backwards, fill, mayThrow, pNumWithinClips);
76 const TypeInfo &GetTypeInfo()
const override;
77 static const TypeInfo &ClassTypeInfo();
Extends Track with notions of mute and solo setting.
#define ENUMERATE_TRACK_TYPE(T)
Empty class which will have subclasses.
double GetEndTime() const
Get the maximum of End() values of intervals, or 0 when none.
double GetStartTime() const
Get the minimum of Start() values of intervals, or 0 when none.
AudioTrack subclass that can also be audibly replayed by the program.
static const TypeInfo & ClassTypeInfo()
virtual sampleFormat GetSampleFormat() const =0
bool GetFloats(float *buffer, sampleCount start, size_t len, fillFormat fill=FillFormat::fillZero, bool mayThrow=true, sampleCount *pNumWithinClips=nullptr) const
"narrow" overload fetches first channel only
virtual const TypeInfo & GetTypeInfo() const =0
bool IsLeader() const override
bool GetFloats(size_t iChannel, size_t nBuffers, float *const buffers[], sampleCount start, size_t len, bool backwards=false, fillFormat fill=FillFormat::fillZero, bool mayThrow=true, sampleCount *pNumWithinClips=nullptr) const
~WritableSampleTrack() override
Positions or offsets within audio files need a wide type.
virtual double GetRate() const =0
Empty argument passed to some public constructors.