11#ifndef __AUDACITY_TIMETRACK__
12#define __AUDACITY_TIMETRACK__
28 static wxString GetDefaultName();
44 double *pT0 =
nullptr,
double *pT1 =
nullptr);
55 Holder Cut(
double t0,
double t1 )
override;
56 Holder Copy(
double t0,
double t1,
bool forClipboard )
const override;
57 void Clear(
double t0,
double t1)
override;
58 void Paste(
double t,
const Track * src)
override;
59 void Silence(
double t0,
double t1)
override;
90 double GetRangeLower()
const;
91 double GetRangeUpper()
const;
93 void SetRangeLower(
double lower);
94 void SetRangeUpper(
double upper);
98 bool GetInterpolateLog()
const;
99 void SetInterpolateLog(
bool interpolateLog);
121 using Holder = std::unique_ptr<TimeTrack>;
ENUMERATE_TRACK_TYPE(TimeTrack)
declares abstract base class Track, TrackList, and iterators over TrackList
std::vector< Attribute > AttributesList
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
A kind of Track used to 'warp time'.
void SetDisplayLog(bool displayLog)
const ZoomInfo *const mZoomInfo
std::unique_ptr< TimeTrack > Holder
std::unique_ptr< BoundedEnvelope > mEnvelope
const BoundedEnvelope * GetEnvelope() const
double GetStartTime() const override
double GetEndTime() const override
std::unique_ptr< Ruler > mRuler
BoundedEnvelope * GetEnvelope()
bool GetDisplayLog() const
double GetOffset() const override
void SetOffset(double) override
Abstract base class for an object holding data associated with points on a time axis.
virtual void Paste(double WXUNUSED(t), const Track *WXUNUSED(src))=0
virtual Holder Cut(double WXUNUSED(t0), double WXUNUSED(t1))=0
virtual Holder PasteInto(AudacityProject &) const =0
Find or create the destination track for a paste, maybe in a different project.
virtual void Clear(double WXUNUSED(t0), double WXUNUSED(t1))=0
virtual const TypeInfo & GetTypeInfo() const =0
virtual bool SupportsBasicEditing() const
Whether this track type implements cut-copy-paste; by default, true.
static const TypeInfo & ClassTypeInfo()
virtual Holder Clone() const =0
virtual Holder Copy(double WXUNUSED(t0), double WXUNUSED(t1), bool forClipboard=true) const =0
std::shared_ptr< Track > Holder
void Init(const Track &orig)
virtual void WriteXML(XMLWriter &xmlFile) const =0
virtual void Silence(double WXUNUSED(t0), double WXUNUSED(t1))=0
virtual void InsertSilence(double WXUNUSED(t), double WXUNUSED(len))=0
This class is an interface which should be implemented by classes which wish to be able to load and s...
virtual XMLTagHandler * HandleXMLChild(const std::string_view &tag)=0
virtual void HandleXMLEndTag(const std::string_view &WXUNUSED(tag))
virtual bool HandleXMLTag(const std::string_view &tag, const AttributesList &attrs)=0
Base class for XMLFileWriter and XMLStringWriter that provides the general functionality for creating...
Empty argument passed to some public constructors.