![]() |
Audacity 3.2.0
|
A LabelTrack is a Track that holds labels (LabelStruct). More...
#include <LabelTrack.h>
Classes | |
| struct | Interval |
Public Types | |
| using | Holder = std::shared_ptr< LabelTrack > |
Public Types inherited from Track | |
| using | AttachedObjects = ::AttachedTrackObjects |
| Alias for my base type. More... | |
| using | Holder = std::shared_ptr< Track > |
Public Types inherited from ClientData::Site< Host, ClientData, ObjectCopyingPolicy, Pointer, ObjectLockingPolicy, RegistryLockingPolicy > | |
| using | DataType = ClientData |
| using | DataPointer = Pointer< ClientData > |
| using | DataFactory = std::function< DataPointer(Host &) > |
| Type of function from which RegisteredFactory is constructed; it builds attachments. More... | |
Public Types inherited from ChannelGroup | |
| enum class | LinkType : int { None = 0 , Group = 2 , Aligned } |
| For two tracks describes the type of the linkage. More... | |
| using | Attachments = ChannelGroupAttachments |
| using | Interval = WideChannelGroupInterval |
Public Types inherited from Channel | |
| using | Interval = ChannelInterval |
Public Types inherited from Observer::Publisher< struct LabelTrackEvent > | |
| using | message_type = struct LabelTrackEvent |
| using | CallbackReturn = std::conditional_t< true, void, bool > |
| using | Callback = std::function< CallbackReturn(const struct LabelTrackEvent &) > |
| Type of functions that can be connected to the Publisher. More... | |
Public Member Functions | |
| LabelTrack () | |
| LabelTrack (const LabelTrack &orig, ProtectedCreationArg &&) | |
| virtual | ~LabelTrack () |
| void | SetLabel (size_t iLabel, const LabelStruct &newLabel) |
| void | MoveTo (double dOffset) override |
| Change start time to given time point. More... | |
| void | ShiftBy (double t0, double delta) override |
Shift all intervals that starts after t0 by delta seconds. More... | |
| void | SetSelected (bool s) override |
| bool | HandleXMLTag (const std::string_view &tag, const AttributesList &attrs) override |
| XMLTagHandler * | HandleXMLChild (const std::string_view &tag) override |
| void | WriteXML (XMLWriter &xmlFile) const override |
| Track::Holder | Cut (double t0, double t1) override |
| Create tracks and modify this track. More... | |
| Track::Holder | Copy (double t0, double t1, bool forClipboard=true) const override |
| Create new tracks and don't modify this track. More... | |
| void | Clear (double t0, double t1) override |
| void | Paste (double t, const Track &src) override |
| Weak precondition allows overrides to replicate one channel into many. More... | |
| bool | Repeat (double t0, double t1, int n) |
| void | SyncLockAdjust (double oldT1, double newT1) override |
| void | Silence (double t0, double t1, ProgressReporter reportProgress={}) override |
| void | InsertSilence (double t, double len) override |
| void | Import (wxTextFile &f, LabelFormat format) |
| Import labels, handling files with or without end-times. More... | |
| void | Export (wxTextFile &f, LabelFormat format) const |
| Export labels including label start and end-times. More... | |
| int | GetNumLabels () const |
| const LabelStruct * | GetLabel (int index) const |
| const LabelArray & | GetLabels () const |
| void | OnLabelAdded (const wxString &title, int pos) |
| int | AddLabel (const SelectedRegion ®ion, const wxString &title) |
| void | DeleteLabel (int index) |
| bool | PasteOver (double t, const Track &src) |
| void | ShiftLabelsOnInsert (double length, double pt) |
| void | ChangeLabelsOnReverse (double b, double e) |
| void | ScaleLabels (double b, double e, double change) |
| double | AdjustTimeStampOnScale (double t, double b, double e, double change) |
| void | WarpLabels (const TimeWarper &warper) |
| wxString | GetTextOfLabels (double t0, double t1) const |
| int | FindNextLabel (const SelectedRegion ¤tSelection) |
| int | FindPrevLabel (const SelectedRegion ¤tSelection) |
| const TypeInfo & | GetTypeInfo () const override |
| Track::Holder | PasteInto (AudacityProject &project, TrackList &list) const override |
| std::shared_ptr< Interval > | MakeInterval (size_t index) |
| void | SortLabels () |
| size_t | NIntervals () const override |
| Report the number of intervals. More... | |
Public Member Functions inherited from UniqueChannelTrack< Base > | |
| size_t | NChannels () const override |
| Report the number of channels. More... | |
| std::shared_ptr< Channel > | DoGetChannel (size_t iChannel) override |
Public Member Functions inherited from Track | |
| TrackId | GetId () const |
| template<typename Subclass = Track> | |
| std::shared_ptr< Subclass > | SharedPointer () |
| template<typename Subclass = const Track> | |
| auto | SharedPointer () const -> std::enable_if_t< std::is_const_v< Subclass >, std::shared_ptr< Subclass > > |
| virtual const TypeInfo & | GetTypeInfo () const =0 |
| virtual const TypeNames & | GetTypeNames () const |
| virtual bool | SupportsBasicEditing () const |
| Whether this track type implements cut-copy-paste; by default, true. More... | |
| virtual Holder | PasteInto (AudacityProject &project, TrackList &list) const =0 |
| virtual bool | LinkConsistencyFix (bool doFix=true) |
| Check consistency of channel groups, and maybe fix it. More... | |
| bool | LinkConsistencyCheck () |
| Do the non-mutating part of consistency fix only and return status. More... | |
| bool | HasOwner () const |
| std::shared_ptr< TrackList > | GetOwner () const |
| LinkType | GetLinkType () const noexcept |
| Track () | |
| Track (const Track &orig, ProtectedCreationArg &&) | |
| Track & | operator= (const Track &orig)=delete |
| virtual | ~Track () |
| void | Init (const Track &orig) |
| virtual Holder | Duplicate (DuplicateOptions={}) const |
| public nonvirtual duplication function that invokes Clone() More... | |
| void | ReparentAllAttachments () |
| const wxString & | GetName () const |
| Name is always the same for all channels of a group. More... | |
| void | SetName (const wxString &n) |
| bool | GetSelected () const |
| Selectedness is always the same for all channels of a group. More... | |
| virtual void | SetSelected (bool s) |
| virtual Holder | Cut (double t0, double t1)=0 |
| Create tracks and modify this track. More... | |
| virtual Holder | Copy (double t0, double t1, bool forClipboard=true) const =0 |
| Create new tracks and don't modify this track. More... | |
| virtual void | Clear (double t0, double t1)=0 |
| virtual void | Paste (double t, const Track &src)=0 |
| Weak precondition allows overrides to replicate one channel into many. More... | |
| virtual void | SyncLockAdjust (double oldT1, double newT1) |
| virtual void | Silence (double t0, double t1, ProgressReporter reportProgress={})=0 |
| virtual void | InsertSilence (double t, double len)=0 |
| bool | SameKindAs (const Track &track) const |
| template<typename R = void, typename ... Functions> | |
| R | TypeSwitch (const Functions &...functions) |
| template<typename R = void, typename ... Functions> | |
| R | TypeSwitch (const Functions &...functions) const |
| virtual void | WriteXML (XMLWriter &xmlFile) const =0 |
| virtual std::optional< TranslatableString > | GetErrorOpening () const |
| void | Notify (bool allChannels, int code=-1) |
| bool | Any () const |
| bool | IsSelected () const |
| bool | IsLeader () const |
| void | AdjustPositions () |
| void | WriteCommonXMLAttributes (XMLWriter &xmlFile, bool includeNameAndSelected=true) const |
| bool | HandleCommonXMLAttribute (const std::string_view &attr, const XMLAttributeValueView &valueView) |
Public Member Functions inherited from XMLTagHandler | |
| XMLTagHandler () | |
| virtual | ~XMLTagHandler () |
| virtual bool | HandleXMLTag (const std::string_view &tag, const AttributesList &attrs)=0 |
| virtual void | HandleXMLEndTag (const std::string_view &WXUNUSED(tag)) |
| virtual void | HandleXMLContent (const std::string_view &WXUNUSED(content)) |
| virtual XMLTagHandler * | HandleXMLChild (const std::string_view &tag)=0 |
| void | ReadXMLEndTag (const char *tag) |
| void | ReadXMLContent (const char *s, int len) |
| XMLTagHandler * | ReadXMLChild (const char *tag) |
Public Member Functions inherited from ClientData::Site< Host, ClientData, ObjectCopyingPolicy, Pointer, ObjectLockingPolicy, RegistryLockingPolicy > | |
| ~Site () | |
| Site () | |
| Site (const Site &other) | |
| Site & | operator= (const Site &other) |
| Site (Site &&other) | |
| Site & | operator= (Site &&other) |
| size_t | size () const |
| How many attachment pointers are in the Site. More... | |
| template<typename Subclass = ClientData> | |
| Subclass & | Get (const RegisteredFactory &key) |
| Get reference to an attachment, creating on demand if not present, down-cast it to Subclass. More... | |
| template<typename Subclass = const ClientData> | |
| auto | Get (const RegisteredFactory &key) const -> std::enable_if_t< std::is_const< Subclass >::value, Subclass & > |
| Get reference to an attachment, creating on demand if not present, down-cast it to Subclass. More... | |
| template<typename Subclass = ClientData> | |
| Subclass * | Find (const RegisteredFactory &key) |
| Get a (bare) pointer to an attachment, or null, down-cast it to Subclass *; will not create on demand. More... | |
| template<typename Subclass = const ClientData> | |
| auto | Find (const RegisteredFactory &key) const -> std::enable_if_t< std::is_const< Subclass >::value, Subclass * > |
| Get a (bare) pointer to an attachment, or null, down-cast it to Subclass *; will not create on demand. More... | |
| template<typename ReplacementPointer > | |
| void | Assign (const RegisteredFactory &key, ReplacementPointer &&replacement) |
| Reassign Site's pointer to ClientData. More... | |
Public Member Functions inherited from ChannelGroup | |
| virtual | ~ChannelGroup () |
| double | GetStartTime () const |
| Get the minimum of Start() values of intervals, or 0 when none. More... | |
| double | GetEndTime () const |
| Get the maximum of End() values of intervals, or 0 when none. More... | |
| void | ShiftBy (double t) |
| Change start time by given duration. More... | |
| virtual void | ShiftBy (double t0, double delta)=0 |
Shift all intervals that starts after t0 by delta seconds. More... | |
| virtual void | MoveTo (double o)=0 |
| Change start time to given time point. More... | |
| template<typename ChannelType = Channel> | |
| std::shared_ptr< ChannelType > | GetChannel (size_t iChannel) |
| Retrieve a channel, cast to the given type. More... | |
| template<typename ChannelType = const Channel> | |
| auto | GetChannel (size_t iChannel) const -> std::enable_if_t< std::is_const_v< ChannelType >, std::shared_ptr< ChannelType > > |
| template<typename ChannelType = Channel> | |
| IteratorRange< ChannelIterator< ChannelType > > | Channels () |
| Get range of channels with mutative access. More... | |
| template<typename ChannelType = const Channel> | |
| auto | Channels () const -> std::enable_if_t< std::is_const_v< ChannelType >, IteratorRange< ChannelIterator< ChannelType > > > |
| Get range of channels with read-only access. More... | |
| std::shared_ptr< Channel > | NthChannel (size_t nChannel) |
| std::shared_ptr< const Channel > | NthChannel (size_t nChannel) const |
| template<typename IntervalType = Interval> | |
| std::shared_ptr< IntervalType > | GetInterval (size_t iInterval) |
| Retrieve an interval, cast to the given type. More... | |
| template<typename IntervalType = const Interval> | |
| auto | GetInterval (size_t iInterval) const -> std::enable_if_t< std::is_const_v< IntervalType >, std::shared_ptr< IntervalType > > |
| template<typename IntervalType = Interval> | |
| IteratorRange< IntervalIterator< IntervalType > > | Intervals () |
| Get range of intervals with mutative access. More... | |
| template<typename IntervalType = const Interval> | |
| auto | Intervals () const -> std::enable_if_t< std::is_const_v< IntervalType >, IteratorRange< IntervalIterator< IntervalType > > > |
| Get range of intervals with read-only access. More... | |
Public Member Functions inherited from Channel | |
| virtual | ~Channel () |
| ChannelGroup & | GetChannelGroup () |
| Channel object's lifetime is assumed to be nested in its Track's. More... | |
| const ChannelGroup & | GetChannelGroup () const |
| Channel object's lifetime is assumed to be nested in its Track's. More... | |
| size_t | GetChannelIndex () const |
| size_t | NIntervals () const |
| Report the number of intervals. More... | |
| template<typename IntervalType = Interval> | |
| std::shared_ptr< IntervalType > | GetInterval (size_t iInterval) |
| Retrieve an interval, cast to the given type. More... | |
| template<typename IntervalType = const Interval> | |
| auto | GetInterval (size_t iInterval) const -> std::enable_if_t< std::is_const_v< IntervalType >, std::shared_ptr< IntervalType > > |
| template<typename IntervalType = Interval> | |
| IteratorRange< IntervalIterator< IntervalType > > | Intervals () |
| Get range of intervals with mutative access. More... | |
| template<typename IntervalType = const Interval> | |
| auto | Intervals () const -> std::enable_if_t< std::is_const_v< IntervalType >, IteratorRange< IntervalIterator< IntervalType > > > |
| Get range of intervals with read-only access. More... | |
Public Member Functions inherited from Observer::Publisher< struct LabelTrackEvent > | |
| Publisher (ExceptionPolicy *pPolicy=nullptr, Alloc a={}) | |
| Constructor supporting type-erased custom allocation/deletion. More... | |
| Publisher (Publisher &&)=default | |
| Publisher & | operator= (Publisher &&)=default |
| Subscription | Subscribe (Callback callback) |
| Connect a callback to the Publisher; later-connected are called earlier. More... | |
| Subscription | Subscribe (Object &obj, Return(Object::*callback)(Args...)) |
| Overload of Subscribe takes an object and pointer-to-member-function. More... | |
Static Public Member Functions | |
| static wxString | GetDefaultName () |
| static LabelTrack * | New (AudacityProject &project) |
| static LabelTrack * | Create (TrackList &trackList, const wxString &name) |
Create a new LabelTrack with specified name and append it to the trackList. More... | |
| static LabelTrack * | Create (TrackList &trackList) |
Create a new LabelTrack with unique default name and append it to the trackList. More... | |
| static LabelFormat | FormatForFileName (const wxString &fileName) |
| static const TypeInfo & | ClassTypeInfo () |
Static Public Member Functions inherited from Track | |
| template<typename Subclass = Track> | |
| static std::shared_ptr< Subclass > | SharedPointer (Track *pTrack) |
| template<typename Subclass = const Track> | |
| static std::shared_ptr< Subclass > | SharedPointer (const Track *pTrack) |
| static const TypeInfo & | ClassTypeInfo () |
| static void | CopyAttachments (Track &dst, const Track &src, bool deep) |
| Copy (deep) or just share (!deep) AttachedTrackObjects. More... | |
Static Public Member Functions inherited from ClientData::Site< Host, ClientData, ObjectCopyingPolicy, Pointer, ObjectLockingPolicy, RegistryLockingPolicy > | |
| static size_t | numFactories () |
| How many static factories have been registered with this specialization of Site. More... | |
Static Public Attributes | |
| static const FileNames::FileType | SubripFiles { XO("SubRip text file"), { wxT("srt") }, true } |
| static const FileNames::FileType | WebVTTFiles { XO("WebVTT file"), { wxT("vtt") }, true } |
Static Public Attributes inherited from Observer::Publisher< struct LabelTrackEvent > | |
| static constexpr bool | notifies_all |
Private Member Functions | |
| Track::Holder | Clone (bool backup) const override |
| std::shared_ptr< WideChannelGroupInterval > | DoGetInterval (size_t iInterval) override |
| Retrieve an interval. More... | |
Private Attributes | |
| LabelArray | mLabels |
| double | mClipLen |
| int | miLastLabel |
Additional Inherited Members | |
Protected Member Functions inherited from UniqueChannelTrack< Base > | |
| ChannelGroup & | DoGetChannelGroup () const override |
| Subclass must override. More... | |
Protected Member Functions inherited from Track | |
| void | SetLinkType (LinkType linkType, bool completeList=true) |
Protected Member Functions inherited from ClientData::Site< Host, ClientData, ObjectCopyingPolicy, Pointer, ObjectLockingPolicy, RegistryLockingPolicy > | |
| template<typename Function > | |
| void | ForEach (const Function &function) |
Invoke function on each ClientData object that has been created in this. More... | |
| template<typename Function > | |
| void | ForEach (const Function &function) const |
Invoke function on each ClientData object that has been created in this. More... | |
| template<typename Function > | |
| void | ForCorresponding (Site &other, const Function &function, bool create=true) |
| template<typename Function > | |
| ClientData * | FindIf (const Function &function) |
Return pointer to first attachment in this that is not null and satisfies a predicate, or nullptr. More... | |
| template<typename Function > | |
| const ClientData * | FindIf (const Function &function) const |
Return pointer to first attachment in this that is not null and satisfies a predicate, or nullptr. More... | |
| template<typename Function > | |
| void | EraseIf (const Function &function) |
| Erase attached objects satisfying a predicate. More... | |
| void | BuildAll () |
For each RegisteredFactory, if the corresponding attachment is absent in this, build and store it. More... | |
| virtual std::shared_ptr< Channel > | DoGetChannel (size_t iChannel)=0 |
| virtual std::shared_ptr< Interval > | DoGetInterval (size_t iInterval)=0 |
| Retrieve an interval. More... | |
| virtual ChannelGroup & | DoGetChannelGroup () const =0 |
| Subclass must override. More... | |
Protected Member Functions inherited from Observer::Publisher< struct LabelTrackEvent > | |
| CallbackReturn | Publish (const struct LabelTrackEvent &message) |
| Send a message to connected callbacks. More... | |
Protected Attributes inherited from Track | |
| std::weak_ptr< TrackList > | mList |
| TrackNodePointer | mNode {} |
| Holds iterator to self, so that TrackList::Find can be constant-time. More... | |
A LabelTrack is a Track that holds labels (LabelStruct).
These are used to annotate a waveform. Each label has a start time and an end time. The text of the labels is editable and the positions of the end points are draggable.
Definition at line 95 of file LabelTrack.h.
| using LabelTrack::Holder = std::shared_ptr<LabelTrack> |
Definition at line 129 of file LabelTrack.h.
| LabelTrack::LabelTrack | ( | ) |
Definition at line 122 of file LabelTrack.cpp.
| LabelTrack::LabelTrack | ( | const LabelTrack & | orig, |
| ProtectedCreationArg && | a | ||
| ) |
Definition at line 129 of file LabelTrack.cpp.
References mLabels, and LabelStruct::selectedRegion.
|
virtual |
Definition at line 192 of file LabelTrack.cpp.
| int LabelTrack::AddLabel | ( | const SelectedRegion & | region, |
| const wxString & | title | ||
| ) |
Definition at line 1074 of file LabelTrack.cpp.
References LabelTrackEvent::Addition, mLabels, Observer::Publisher< struct LabelTrackEvent >::Publish(), SelectedRegion::t0(), and title.
Referenced by VampEffect::AddFeatures(), and FindClippingBase::ProcessOne().
| double LabelTrack::AdjustTimeStampOnScale | ( | double | t, |
| double | b, | ||
| double | e, | ||
| double | change | ||
| ) |
Definition at line 304 of file LabelTrack.cpp.
Referenced by ScaleLabels().
| void LabelTrack::ChangeLabelsOnReverse | ( | double | b, |
| double | e | ||
| ) |
Definition at line 280 of file LabelTrack.cpp.
References mLabels, SortLabels(), and LabelStruct::SURROUNDS_LABEL.
|
static |
Definition at line 151 of file LabelTrack.cpp.
References typeInfo().
|
overridevirtual |
May assume precondition: t0 <= t1
Implements Track.
Definition at line 218 of file LabelTrack.cpp.
References LabelStruct::BEFORE_LABEL, LabelStruct::BEGINS_IN_LABEL, DeleteLabel(), LabelStruct::ENDS_IN_LABEL, mLabels, LabelStruct::SURROUNDS_LABEL, and LabelStruct::WITHIN_LABEL.
Referenced by Cut(), and SyncLockAdjust().
|
overrideprivatevirtual |
Subclass responsibility implements only a part of Duplicate(), copying the track data proper (not associated data such as for groups and views) including TrackId
| backup | whether the duplication is for backup purposes while opening a project, instead of other editing operations |
this Implements Track.
Definition at line 374 of file LabelTrack.cpp.
|
overridevirtual |
Create new tracks and don't modify this track.
Implements Track.
Definition at line 837 of file LabelTrack.cpp.
References LabelStruct::BEGINS_IN_LABEL, LabelStruct::ENDS_IN_LABEL, mLabels, LabelStruct::selectedRegion, LabelStruct::SURROUNDS_LABEL, and LabelStruct::WITHIN_LABEL.
Referenced by Cut(), ModifiedAnalysisTrack::ModifiedAnalysisTrack(), and RepeatBase::Process().
|
static |
Create a new LabelTrack with unique default name and append it to the trackList.
Definition at line 117 of file LabelTrack.cpp.
References Create(), GetDefaultName(), and TrackList::MakeUniqueTrackName().
|
static |
Create a new LabelTrack with specified name and append it to the trackList.
Definition at line 109 of file LabelTrack.cpp.
References TrackList::Add(), and name.
Referenced by AddedAnalysisTrack::AddedAnalysisTrack(), Create(), anonymous_namespace{LabelMenus.cpp}::DoAddLabel(), anonymous_namespace{DropoutDetector.cpp}::DropoutSubscription::DropoutSubscription(), anonymous_namespace{LabelMenus.cpp}::OnNewLabelTrack(), and anonymous_namespace{LabelMenus.cpp}::OnPasteNewLabel().
|
overridevirtual |
Create tracks and modify this track.
Implements Track.
Definition at line 816 of file LabelTrack.cpp.
References Clear(), and Copy().
| void LabelTrack::DeleteLabel | ( | int | index | ) |
Definition at line 1093 of file LabelTrack.cpp.
References LabelTrackEvent::Deletion, mLabels, Observer::Publisher< struct LabelTrackEvent >::Publish(), and title.
Referenced by Clear(), and Silence().
|
overrideprivatevirtual |
Retrieve an interval.
!(iInterval < NIntervals()) || result Implements ChannelGroup.
Definition at line 178 of file LabelTrack.cpp.
References MakeInterval().
| void LabelTrack::Export | ( | wxTextFile & | f, |
| LabelFormat | format | ||
| ) | const |
Export labels including label start and end-times.
Definition at line 672 of file LabelTrack.cpp.
References anonymous_namespace{ExportPCM.cpp}::format, mLabels, WEBVTT, and wxT().
| int LabelTrack::FindNextLabel | ( | const SelectedRegion & | currentSelection | ) |
Definition at line 1159 of file LabelTrack.cpp.
References miLastLabel, mLabels, and SelectedRegion::t0().
Referenced by anonymous_namespace{TransportMenus.cpp}::DoMoveToLabel().
| int LabelTrack::FindPrevLabel | ( | const SelectedRegion & | currentSelection | ) |
Definition at line 1185 of file LabelTrack.cpp.
References miLastLabel, mLabels, and SelectedRegion::t0().
Referenced by anonymous_namespace{TransportMenus.cpp}::DoMoveToLabel().
|
static |
Definition at line 685 of file LabelTrack.cpp.
References anonymous_namespace{ExportPCM.cpp}::format, SUBRIP, TEXT, WEBVTT, and wxT().
Referenced by LabelDialog::OnExport(), anonymous_namespace{FileMenus.cpp}::OnExportLabels(), LabelDialog::OnImport(), and anonymous_namespace{FileMenus.cpp}::OnImportLabels().
|
static |
Definition at line 96 of file LabelTrack.cpp.
References _.
Referenced by Create(), and NyquistBase::ProcessOne().
| const LabelStruct * LabelTrack::GetLabel | ( | int | index | ) | const |
Definition at line 1069 of file LabelTrack.cpp.
References mLabels.
Referenced by LabelDialog::AddLabels(), DEFINE_ATTACHED_VIRTUAL_OVERRIDE(), and anonymous_namespace{TransportMenus.cpp}::DoMoveToLabel().
|
inline |
Definition at line 160 of file LabelTrack.h.
Referenced by LabelTrackView::Draw(), LabelTrackView::OverATextBox(), LabelTrackView::OverGlyph(), and GetInfoCommand::SendLabels().
| int LabelTrack::GetNumLabels | ( | ) | const |
Definition at line 1064 of file LabelTrack.cpp.
References mLabels.
Referenced by LabelDialog::AddLabels(), DEFINE_ATTACHED_VIRTUAL_OVERRIDE(), and anonymous_namespace{TransportMenus.cpp}::DoMoveToLabel().
| wxString LabelTrack::GetTextOfLabels | ( | double | t0, |
| double | t1 | ||
| ) | const |
Definition at line 1140 of file LabelTrack.cpp.
References mLabels.
|
overridevirtual |
Implements Track.
Definition at line 146 of file LabelTrack.cpp.
References typeInfo().
|
overridevirtual |
Implements XMLTagHandler.
Definition at line 787 of file LabelTrack.cpp.
|
overridevirtual |
Implements XMLTagHandler.
Definition at line 726 of file LabelTrack.cpp.
References Track::HandleCommonXMLAttribute(), SelectedRegion::HandleXMLAttribute(), mLabels, title, and wxT().
| void LabelTrack::Import | ( | wxTextFile & | f, |
| LabelFormat | format | ||
| ) |
Import labels, handling files with or without end-times.
Definition at line 697 of file LabelTrack.cpp.
References anonymous_namespace{ExportPCM.cpp}::format, LabelStruct::Import(), mLabels, BasicUI::ShowMessageBox(), SortLabels(), WEBVTT, and XO().
|
overridevirtual |
May assume precondition: t0 <= t1
Implements Track.
Definition at line 1050 of file LabelTrack.cpp.
References mLabels.
| auto LabelTrack::MakeInterval | ( | size_t | index | ) |
Definition at line 170 of file LabelTrack.cpp.
Referenced by DoGetInterval().
|
overridevirtual |
Change start time to given time point.
Implements ChannelGroup.
Definition at line 197 of file LabelTrack.cpp.
References mLabels.
Referenced by ModifiedAnalysisTrack::ModifiedAnalysisTrack().
|
static |
Definition at line 101 of file LabelTrack.cpp.
References TrackList::Get(), project, and tracks.
|
overridevirtual |
Report the number of intervals.
Implements ChannelGroup.
Definition at line 165 of file LabelTrack.cpp.
References mLabels.
| void LabelTrack::OnLabelAdded | ( | const wxString & | title, |
| int | pos | ||
| ) |
|
overridevirtual |
Weak precondition allows overrides to replicate one channel into many.
SameKindAs(src) src.NChannels() == 1 || src.NChannels() == NChannels() Implements Track.
Definition at line 918 of file LabelTrack.cpp.
References PasteOver(), ShiftLabelsOnInsert(), and Track::TypeSwitch().
Referenced by RepeatBase::Process().
|
overridevirtual |
Find or create the destination track for a paste, maybe in a different project
| list | to which any newly created tracks are added; but left unchanged if an existing track is found in the project instead |
Implements Track.
Definition at line 156 of file LabelTrack.cpp.
References TrackList::Add().
| bool LabelTrack::PasteOver | ( | double | t, |
| const Track & | src | ||
| ) |
Definition at line 889 of file LabelTrack.cpp.
References mLabels, LabelStruct::selectedRegion, and Track::TypeSwitch().
Referenced by Paste().
| bool LabelTrack::Repeat | ( | double | t0, |
| double | t1, | ||
| int | n | ||
| ) |
Definition at line 935 of file LabelTrack.cpp.
References LabelStruct::BEGINS_IN_LABEL, label, mLabels, ShiftLabelsOnInsert(), and LabelStruct::SURROUNDS_LABEL.
Referenced by RepeatBase::Process().
| void LabelTrack::ScaleLabels | ( | double | b, |
| double | e, | ||
| double | change | ||
| ) |
Definition at line 295 of file LabelTrack.cpp.
References AdjustTimeStampOnScale(), and mLabels.
| void LabelTrack::SetLabel | ( | size_t | iLabel, |
| const LabelStruct & | newLabel | ||
| ) |
Definition at line 183 of file LabelTrack.cpp.
References mLabels.
Referenced by DEFINE_ATTACHED_VIRTUAL_OVERRIDE().
|
overridevirtual |
Reimplemented from Track.
Definition at line 365 of file LabelTrack.cpp.
References Track::GetSelected(), Observer::Publisher< struct LabelTrackEvent >::Publish(), LabelTrackEvent::Selection, and Track::SetSelected().
|
overridevirtual |
Shift all intervals that starts after t0 by delta seconds.
Implements ChannelGroup.
Definition at line 207 of file LabelTrack.cpp.
References mLabels.
| void LabelTrack::ShiftLabelsOnInsert | ( | double | length, |
| double | pt | ||
| ) |
Definition at line 267 of file LabelTrack.cpp.
References LabelStruct::BEFORE_LABEL, mLabels, and LabelStruct::WITHIN_LABEL.
Referenced by Paste(), Repeat(), and SyncLockAdjust().
|
overridevirtual |
Implements Track.
Definition at line 1004 of file LabelTrack.cpp.
References LabelStruct::BEGINS_IN_LABEL, DeleteLabel(), LabelStruct::ENDS_IN_LABEL, label, mLabels, SortLabels(), LabelStruct::SURROUNDS_LABEL, and LabelStruct::WITHIN_LABEL.
| void LabelTrack::SortLabels | ( | ) |
Sorts the labels in order of their starting times. This function is called often (whilst dragging a label) We expect them to be very nearly in order, so insertion sort (with a linear search) is a reasonable choice.
Definition at line 1108 of file LabelTrack.cpp.
References details::begin(), mLabels, LabelTrackEvent::Permutation, Observer::Publisher< struct LabelTrackEvent >::Publish(), and staffpad::vo::rotate().
Referenced by ChangeLabelsOnReverse(), Import(), Silence(), and WarpLabels().
|
overridevirtual |
This can be used to adjust a sync-lock selected track when the selection is replaced by one of a different length.
Reimplemented from Track.
Definition at line 987 of file LabelTrack.cpp.
References Clear(), ChannelGroup::GetEndTime(), and ShiftLabelsOnInsert().
| void LabelTrack::WarpLabels | ( | const TimeWarper & | warper | ) |
Definition at line 323 of file LabelTrack.cpp.
References mLabels, SortLabels(), and TimeWarper::Warp().
Referenced by ChangeSpeedBase::ProcessLabelTrack(), and SBSMSBase::ProcessLabelTrack().
|
overridevirtual |
Implements Track.
Definition at line 795 of file LabelTrack.cpp.
References Track::WriteCommonXMLAttributes(), and wxT().
|
private |
Definition at line 225 of file LabelTrack.h.
|
private |
Definition at line 227 of file LabelTrack.h.
Referenced by FindNextLabel(), and FindPrevLabel().
|
private |
Definition at line 222 of file LabelTrack.h.
Referenced by AddLabel(), ChangeLabelsOnReverse(), Clear(), Copy(), DeleteLabel(), Export(), FindNextLabel(), FindPrevLabel(), GetLabel(), GetNumLabels(), GetTextOfLabels(), HandleXMLTag(), Import(), InsertSilence(), LabelTrack(), MoveTo(), NIntervals(), PasteOver(), Repeat(), ScaleLabels(), GetInfoCommand::SendLabels(), SetLabel(), ShiftBy(), ShiftLabelsOnInsert(), Silence(), SortLabels(), and WarpLabels().
|
static |
Definition at line 131 of file LabelTrack.h.
Referenced by LabelDialog::OnExport(), anonymous_namespace{FileMenus.cpp}::OnExportLabels(), LabelDialog::OnImport(), and anonymous_namespace{FileMenus.cpp}::OnImportLabels().
|
static |
Definition at line 132 of file LabelTrack.h.
Referenced by LabelDialog::OnExport(), and anonymous_namespace{FileMenus.cpp}::OnExportLabels().