Audacity 3.2.0
|
A Track that is used for Midi notes. (Somewhat old code). More...
#include <NoteTrack.h>
Classes | |
struct | Interval |
Public Types | |
using | Attachments = NoteTrackAttachments |
using | Holder = std::shared_ptr< NoteTrack > |
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 Member Functions | |
NoteTrack () | |
NoteTrack (const NoteTrack &orig)=delete | |
Copy construction hasn't been necessary yet. More... | |
NoteTrack (const NoteTrack &orig, ProtectedCreationArg &&)=delete | |
virtual | ~NoteTrack () |
void | MoveTo (double origin) 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... | |
Alg_seq & | GetSeq () const |
void | WarpAndTransposeNotes (double t0, double t1, const TimeWarper &warper, double semitones) |
void | SetSequence (std::unique_ptr< Alg_seq > &&seq) |
void | PrintSequence () |
Alg_seq * | MakeExportableSeq (std::unique_ptr< Alg_seq > &cleanup) const |
bool | ExportMIDI (const wxString &f) const |
bool | ExportAllegro (const wxString &f) const |
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... | |
bool | Trim (double t0, double t1) |
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... | |
void | Silence (double t0, double t1, ProgressReporter reportProgress={}) override |
void | InsertSilence (double t, double len) override |
bool | Shift (double t) |
float | GetVelocity () const |
void | SetVelocity (float velocity) |
QuantizedTimeAndBeat | NearestBeatTime (double time) const |
bool | StretchRegion (QuantizedTimeAndBeat t0, QuantizedTimeAndBeat t1, double newDur) |
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 |
unsigned | GetVisibleChannels () const |
void | SetVisibleChannels (unsigned value) |
bool | IsVisibleChan (int c) const |
void | SetVisibleChan (int c) |
void | ClearVisibleChan (int c) |
void | ToggleVisibleChan (int c) |
void | SoloVisibleChan (int c) |
const TypeInfo & | GetTypeInfo () const override |
Track::Holder | PasteInto (AudacityProject &project, TrackList &list) const override |
size_t | NIntervals () const override |
Report the number of intervals. More... | |
Public Member Functions inherited from UniqueChannelTrack< PlayableTrack > | |
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 PlayableTrack | |
PlayableTrack () | |
PlayableTrack (const PlayableTrack &orig, ProtectedCreationArg &&) | |
bool | GetMute () const |
bool | GetSolo () const |
bool | GetNotMute () const |
bool | GetNotSolo () const |
void | SetMute (bool m) |
void | SetSolo (bool s) |
void | WriteXMLAttributes (XMLWriter &xmlFile) const |
bool | HandleXMLAttribute (const std::string_view &attr, const XMLAttributeValueView &value) |
Public Member Functions inherited from AudioTrack | |
AudioTrack () | |
AudioTrack (const Track &orig, ProtectedCreationArg &&a) | |
void | WriteXMLAttributes (XMLWriter &WXUNUSED(xmlFile)) const |
bool | HandleXMLAttribute (const std::string_view &, const XMLAttributeValueView &) |
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 OtherPlayableSequence | |
virtual | ~OtherPlayableSequence () |
Static Public Member Functions | |
static NoteTrack * | New (AudacityProject &project) |
static const TypeInfo & | ClassTypeInfo () |
Static Public Member Functions inherited from PlayableTrack | |
static const TypeInfo & | ClassTypeInfo () |
Static Public Member Functions inherited from AudioTrack | |
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 EnumSetting< bool > | AllegroStyleSetting |
Private Member Functions | |
Track::Holder | Clone (bool backup) const override |
std::shared_ptr< WideChannelGroupInterval > | DoGetInterval (size_t iInterval) override |
Retrieve an interval. More... | |
void | DoSetVelocity (float velocity) |
void | AddToDuration (double delta) |
Private Attributes | |
std::unique_ptr< Alg_seq > | mSeq |
std::unique_ptr< char[]> | mSerializationBuffer |
long | mSerializationLength |
std::atomic< float > | mVelocity { 0.0f } |
Atomic because it may be read by worker threads in playback. More... | |
std::atomic< unsigned > | mVisibleChannels { ALL_CHANNELS } |
A bit set; atomic because it may be read by worker threads in playback. More... | |
double | mOrigin { 0.0 } |
Additional Inherited Members | |
Protected Member Functions inherited from UniqueChannelTrack< PlayableTrack > | |
ChannelGroup & | DoGetChannelGroup () const override |
Subclass must override. More... | |
Protected Member Functions inherited from PlayableTrack | |
bool | DoGetMute () const |
void | DoSetMute (bool value) |
bool | DoGetSolo () const |
void | DoSetSolo (bool value) |
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 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 Track that is used for Midi notes. (Somewhat old code).
Definition at line 74 of file NoteTrack.h.
Definition at line 80 of file NoteTrack.h.
using NoteTrack::Holder = std::shared_ptr<NoteTrack> |
Definition at line 92 of file NoteTrack.h.
NoteTrack::NoteTrack | ( | ) |
Definition at line 145 of file NoteTrack.cpp.
References _, mSeq, mSerializationLength, and Track::SetName().
|
delete |
Copy construction hasn't been necessary yet.
|
delete |
|
virtual |
Definition at line 154 of file NoteTrack.cpp.
|
private |
Definition at line 608 of file NoteTrack.cpp.
References GetSeq().
Referenced by Paste(), and StretchRegion().
|
static |
Definition at line 580 of file NoteTrack.cpp.
References typeInfo().
|
overridevirtual |
May assume precondition: t0 <= t1
Implements Track.
Definition at line 403 of file NoteTrack.cpp.
References GetSeq(), mOrigin, MoveTo(), and THROW_INCONSISTENCY_EXCEPTION.
Referenced by anonymous_namespace{EditMenus.cpp}::OnCut().
|
inline |
Definition at line 161 of file NoteTrack.h.
References CHANNEL_BIT.
|
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 180 of file NoteTrack.cpp.
References GetVelocity(), GetVisibleChannels(), mOrigin, mSeq, mSerializationBuffer, mSerializationLength, safenew, SonifyBeginSerialize, and SonifyEndSerialize.
|
overridevirtual |
Create new tracks and don't modify this track.
Implements Track.
Definition at line 356 of file NoteTrack.cpp.
References GetSeq(), mOrigin, and THROW_INCONSISTENCY_EXCEPTION.
Referenced by anonymous_namespace{EditMenus.cpp}::OnCut().
|
overridevirtual |
Create tracks and modify this track.
Implements Track.
Definition at line 326 of file NoteTrack.cpp.
References GetSeq(), mOrigin, and THROW_INCONSISTENCY_EXCEPTION.
Referenced by anonymous_namespace{EditMenus.cpp}::OnCut().
|
overrideprivatevirtual |
Retrieve an interval.
!(iInterval < NIntervals()) || result
Implements ChannelGroup.
Definition at line 600 of file NoteTrack.cpp.
|
private |
Definition at line 522 of file NoteTrack.cpp.
References mVelocity.
Referenced by HandleXMLTag(), and SetVelocity().
bool NoteTrack::ExportAllegro | ( | const wxString & | f | ) | const |
Definition at line 789 of file NoteTrack.cpp.
References AllegroStyleSetting, GetSeq(), mOrigin, and EnumSetting< Enum >::ReadEnum().
bool NoteTrack::ExportMIDI | ( | const wxString & | f | ) | const |
Definition at line 765 of file NoteTrack.cpp.
References MakeExportableSeq().
Alg_seq & NoteTrack::GetSeq | ( | ) | const |
Definition at line 158 of file NoteTrack.cpp.
References mSeq, mSerializationBuffer, and mSerializationLength.
Referenced by AddToDuration(), Clear(), Copy(), Cut(), DEFINE_ATTACHED_VIRTUAL_OVERRIDE(), anonymous_namespace{NoteTrackView.cpp}::DrawNoteBackground(), anonymous_namespace{NoteTrackView.cpp}::DrawNoteTrack(), ExportAllegro(), anonymous_namespace{ImportMIDI.cpp}::ImportMIDI(), InsertSilence(), MakeExportableSeq(), NearestBeatTime(), Paste(), Shift(), Silence(), StretchRegion(), Trim(), WarpAndTransposeNotes(), and WriteXML().
|
overridevirtual |
Implements Track.
Definition at line 575 of file NoteTrack.cpp.
References typeInfo().
|
inline |
Definition at line 125 of file NoteTrack.h.
Referenced by Clone(), anonymous_namespace{MIDIPlay.h}::Iterator::OutputEvent(), SetVelocity(), NoteTrackControls::VelocitySlider(), and WriteXML().
|
inline |
Definition at line 150 of file NoteTrack.h.
Referenced by Clone(), and WriteXML().
|
overridevirtual |
|
overridevirtual |
Implements XMLTagHandler.
Definition at line 810 of file NoteTrack.cpp.
References DoSetVelocity(), ClientData::Site< Host, ClientData, ObjectCopyingPolicy, Pointer, ObjectLockingPolicy, RegistryLockingPolicy >::FindIf(), Track::HandleCommonXMLAttribute(), PlayableTrack::HandleXMLAttribute(), anonymous_namespace{NoteTrack.cpp}::IsValidVisibleChannels(), MoveTo(), mSeq, and SetVisibleChannels().
|
overridevirtual |
May assume precondition: t0 <= t1
Implements Track.
Definition at line 501 of file NoteTrack.cpp.
References GetSeq(), mOrigin, and THROW_INCONSISTENCY_EXCEPTION.
Referenced by Paste().
|
inline |
Definition at line 156 of file NoteTrack.h.
References CHANNEL_BIT.
Referenced by anonymous_namespace{NoteTrackControls.cpp}::DrawLabelControls(), anonymous_namespace{NoteTrackView.cpp}::DrawNoteTrack(), and anonymous_namespace{MIDIPlay.h}::Iterator::Unmuted().
Alg_seq * NoteTrack::MakeExportableSeq | ( | std::unique_ptr< Alg_seq > & | cleanup | ) | const |
Definition at line 642 of file NoteTrack.cpp.
References staffpad::vo::copy(), GetSeq(), mOrigin, mSeq, ROUND, Shift(), anonymous_namespace{NoteTrack.cpp}::swap(), and within().
Referenced by ExportMIDI().
|
inlineoverridevirtual |
Change start time to given time point.
Implements ChannelGroup.
Definition at line 98 of file NoteTrack.h.
Referenced by Clear(), HandleXMLTag(), anonymous_namespace{ImportMIDI.cpp}::ImportMIDI(), Paste(), and Trim().
QuantizedTimeAndBeat NoteTrack::NearestBeatTime | ( | double | time | ) | const |
Definition at line 556 of file NoteTrack.cpp.
References GetSeq(), and mOrigin.
|
static |
Definition at line 137 of file NoteTrack.cpp.
References TrackList::Get(), project, and tracks.
|
overridevirtual |
Report the number of intervals.
Implements ChannelGroup.
Definition at line 594 of file NoteTrack.cpp.
|
overridevirtual |
Weak precondition allows overrides to replicate one channel into many.
SameKindAs(src)
src.NChannels() == 1 || src.NChannels() == NChannels()
Implements Track.
Definition at line 436 of file NoteTrack.cpp.
References AddToDuration(), ChannelGroup::GetEndTime(), GetSeq(), InsertSilence(), mOrigin, MoveTo(), and Track::TypeSwitch().
|
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 585 of file NoteTrack.cpp.
References TrackList::Add().
void NoteTrack::PrintSequence | ( | ) |
Definition at line 267 of file NoteTrack.cpp.
void NoteTrack::SetSequence | ( | std::unique_ptr< Alg_seq > && | seq | ) |
Definition at line 262 of file NoteTrack.cpp.
References mSeq.
Referenced by anonymous_namespace{ImportMIDI.cpp}::ImportMIDI().
void NoteTrack::SetVelocity | ( | float | velocity | ) |
Definition at line 514 of file NoteTrack.cpp.
References DoSetVelocity(), GetVelocity(), and Track::Notify().
Referenced by MixerTrackCluster::HandleSliderVelocity().
|
inline |
|
inline |
Definition at line 153 of file NoteTrack.h.
Referenced by HandleXMLTag().
bool NoteTrack::Shift | ( | double | t | ) |
Definition at line 529 of file NoteTrack.cpp.
References GetSeq(), and ROUND.
Referenced by MakeExportableSeq().
|
overridevirtual |
Shift all intervals that starts after t0
by delta
seconds.
Implements ChannelGroup.
Definition at line 220 of file NoteTrack.cpp.
References mOrigin.
|
overridevirtual |
Implements Track.
Definition at line 486 of file NoteTrack.cpp.
References GetSeq(), mOrigin, and THROW_INCONSISTENCY_EXCEPTION.
|
inline |
Definition at line 167 of file NoteTrack.h.
References ALL_CHANNELS, and CHANNEL_BIT.
Referenced by LabelClick().
bool NoteTrack::StretchRegion | ( | QuantizedTimeAndBeat | t0, |
QuantizedTimeAndBeat | t1, | ||
double | newDur | ||
) |
Definition at line 620 of file NoteTrack.cpp.
References AddToDuration(), and GetSeq().
|
inline |
Definition at line 163 of file NoteTrack.h.
References CHANNEL_BIT.
Referenced by LabelClick().
bool NoteTrack::Trim | ( | double | t0, |
double | t1 | ||
) |
Definition at line 379 of file NoteTrack.cpp.
References GetSeq(), mOrigin, and MoveTo().
void NoteTrack::WarpAndTransposeNotes | ( | double | t0, |
double | t1, | ||
const TimeWarper & | warper, | ||
double | semitones | ||
) |
Definition at line 226 of file NoteTrack.cpp.
References GetSeq(), mOrigin, mSeq, and TimeWarper::Warp().
|
overridevirtual |
Implements Track.
Definition at line 854 of file NoteTrack.cpp.
References GetSeq(), GetVelocity(), GetVisibleChannels(), mOrigin, PlayableTrack::WriteXMLAttributes(), and wxT().
|
static |
Definition at line 81 of file NoteTrack.h.
Referenced by anonymous_namespace{ExportMIDI.cpp}::AddControls(), and ExportAllegro().
|
private |
Definition at line 217 of file NoteTrack.h.
Referenced by Clear(), Clone(), Copy(), Cut(), ExportAllegro(), InsertSilence(), MakeExportableSeq(), NearestBeatTime(), Paste(), ShiftBy(), Silence(), Trim(), WarpAndTransposeNotes(), and WriteXML().
|
mutableprivate |
Definition at line 208 of file NoteTrack.h.
Referenced by Clone(), GetSeq(), HandleXMLTag(), MakeExportableSeq(), NoteTrack(), PrintSequence(), SetSequence(), and WarpAndTransposeNotes().
|
mutableprivate |
Definition at line 209 of file NoteTrack.h.
|
mutableprivate |
Definition at line 210 of file NoteTrack.h.
Referenced by Clone(), GetSeq(), and NoteTrack().
|
private |
Atomic because it may be read by worker threads in playback.
Definition at line 213 of file NoteTrack.h.
Referenced by DoSetVelocity().
|
private |
A bit set; atomic because it may be read by worker threads in playback.
Definition at line 216 of file NoteTrack.h.