Ardour  9.0-pre0-582-g084a23a80d
Evoral::Sequence< Time > Class Template Reference

#include <Sequence.h>

Inheritance diagram for Evoral::Sequence< Time >:
[legend]

Classes

class  const_iterator
 
struct  EarlierNoteComparator
 
struct  EarlierPatchChangeComparator
 
struct  EarlierSysExComparator
 
struct  LaterNoteEndComparator
 
struct  NoteNumberComparator
 
struct  WriteLockImpl
 

Public Types

enum  StuckNoteOption { Relax , DeleteStuckNotes , ResolveStuckNotes }
 
enum  NoteOperator {
  PitchEqual , PitchLessThan , PitchLessThanOrEqual , PitchGreater ,
  PitchGreaterThanOrEqual , VelocityEqual , VelocityLessThan , VelocityLessThanOrEqual ,
  VelocityGreater , VelocityGreaterThanOrEqual
}
 
enum  OverlapPitchResolution { LastOnFirstOff , FirstOnFirstOff }
 
typedef std::shared_ptr< Evoral::Note< Time > > NotePtr
 
typedef std::weak_ptr< Evoral::Note< Time > > WeakNotePtr
 
typedef std::shared_ptr< const Evoral::Note< Time > > constNotePtr
 
typedef std::set< WeakNotePtr, std::owner_less< WeakNotePtr > > WeakActiveNotes
 
typedef std::shared_ptr< Glib::Threads::RWLock::ReaderLock > ReadLock
 
typedef std::shared_ptr< WriteLockImplWriteLock
 
typedef std::multiset< NotePtr, EarlierNoteComparatorNotes
 
typedef std::shared_ptr< Event< Time > > SysExPtr
 
typedef std::shared_ptr< const Event< Time > > constSysExPtr
 
typedef std::multiset< SysExPtr, EarlierSysExComparatorSysExes
 
typedef std::shared_ptr< PatchChange< Time > > PatchChangePtr
 
typedef std::shared_ptr< const PatchChange< Time > > constPatchChangePtr
 
typedef std::multiset< PatchChangePtr, EarlierPatchChangeComparatorPatchChanges
 
- Public Types inherited from Evoral::ControlSet
typedef std::map< Parameter, std::shared_ptr< Control > > Controls
 

Public Member Functions

 Sequence (const TypeMap &type_map)
 
 Sequence (const Sequence< Time > &other)
 
virtual ReadLock read_lock () const
 
virtual WriteLock write_lock ()
 
void clear ()
 
void start_write ()
 
bool writing () const
 
void end_write (StuckNoteOption, Time when=Time())
 
void append (const Event< Time > &ev, Evoral::event_id_t evid)
 
const TypeMaptype_map () const
 
size_t n_notes () const
 
bool empty () const
 
Notesnotes ()
 
const Notesnotes () const
 
void get_notes (Notes &, NoteOperator, uint8_t val, int chan_mask=0) const
 
void remove_overlapping_notes ()
 
void trim_overlapping_notes ()
 
void remove_duplicate_notes ()
 
bool overlapping_pitches_accepted () const
 
void overlapping_pitches_accepted (bool yn)
 
OverlapPitchResolution overlap_pitch_resolution () const
 
void set_overlap_pitch_resolution (OverlapPitchResolution opr)
 
void set_notes (const typename Sequence< Time >::Notes &n)
 
SysExessysexes ()
 
const SysExessysexes () const
 
PatchChangespatch_changes ()
 
const PatchChangespatch_changes () const
 
const_iterator begin (Time t=Time(), bool force_discrete=false, const std::set< Evoral::Parameter > &f=std::set< Evoral::Parameter >(), WeakActiveNotes const *active_notes=0) const
 
const const_iteratorend () const
 
void dump (std::ostream &, const_iterator x, uint32_t limit=0) const
 
Notes::const_iterator note_lower_bound (Time t) const
 
PatchChanges::const_iterator patch_change_lower_bound (Time t) const
 
SysExes::const_iterator sysex_lower_bound (Time t) const
 
Notes::iterator note_lower_bound (Time t)
 
PatchChanges::iterator patch_change_lower_bound (Time t)
 
SysExes::iterator sysex_lower_bound (Time t)
 
bool control_to_midi_event (std::shared_ptr< Event< Time > > &ev, const ControlIterator &iter) const
 
bool edited () const
 
void set_edited (bool yn)
 
bool contains (const NotePtr &ev) const
 
bool add_note_unlocked (const NotePtr note, void *arg=0)
 
void remove_note_unlocked (const constNotePtr note)
 
void add_patch_change_unlocked (const PatchChangePtr)
 
void remove_patch_change_unlocked (const constPatchChangePtr)
 
void add_sysex_unlocked (const SysExPtr)
 
void remove_sysex_unlocked (const SysExPtr)
 
uint8_t lowest_note () const
 
uint8_t highest_note () const
 
Time duration () const
 
void set_duration (Time const &)
 
- Public Member Functions inherited from Evoral::ControlSet
 ControlSet ()
 
 ControlSet (const ControlSet &)
 
virtual ~ControlSet ()
 
virtual std::shared_ptr< Evoral::Controlcontrol_factory (const Evoral::Parameter &id)=0
 
std::shared_ptr< Controlcontrol (const Parameter &id, bool create_if_missing=false)
 
std::shared_ptr< const Controlcontrol (const Parameter &id) const
 
Controlscontrols ()
 
const Controlscontrols () const
 
virtual void add_control (std::shared_ptr< Control >)
 
virtual bool controls_empty () const
 
virtual void clear_controls ()
 
void what_has_data (std::set< Parameter > &) const
 
Glib::Threads::Mutex & control_lock () const
 
void start_domain_bounce (Temporal::DomainBounceInfo &)
 
void finish_domain_bounce (Temporal::DomainBounceInfo &)
 
- Public Member Functions inherited from Temporal::TimeDomainSwapper
virtual ~TimeDomainSwapper ()
 
- Public Member Functions inherited from PBD::Destructible
virtual ~Destructible ()
 
virtual void drop_references ()
 

Static Public Member Functions

static bool note_time_comparator (const std::shared_ptr< const Note< Time > > &a, const std::shared_ptr< const Note< Time > > &b)
 

Protected Types

typedef std::multiset< NotePtr, NoteNumberComparatorPitches
 

Protected Member Functions

virtual int resolve_overlaps_unlocked (const NotePtr, void *=0)
 
Pitchespitches (uint8_t chan)
 
const Pitchespitches (uint8_t chan) const
 
virtual void control_list_marked_dirty ()
 
- Protected Member Functions inherited from Evoral::ControlSet
virtual void control_list_interpolation_changed (Parameter const &, ControlList::InterpolationStyle)
 

Protected Attributes

bool _edited
 
bool _overlapping_pitches_accepted
 
OverlapPitchResolution _overlap_pitch_resolution
 
Glib::Threads::RWLock _lock
 
bool _writing
 
- Protected Attributes inherited from Evoral::ControlSet
Glib::Threads::Mutex _control_lock
 
Controls _controls
 
PBD::ScopedConnectionList _list_connections
 

Private Types

typedef std::priority_queue< NotePtr, std::deque< NotePtr >, LaterNoteEndComparatorActiveNotes
 
typedef std::multiset< NotePtr, EarlierNoteComparatorWriteNotes
 

Private Member Functions

bool contains_unlocked (const NotePtr &ev) const
 
void append_note_on_unlocked (const Event< Time > &event, Evoral::event_id_t)
 
void append_note_off_unlocked (const Event< Time > &event)
 
void append_control_unlocked (const Parameter &param, Time time, double value, Evoral::event_id_t)
 
void append_sysex_unlocked (const Event< Time > &ev, Evoral::event_id_t)
 
void append_patch_change_unlocked (const PatchChange< Time > &, Evoral::event_id_t)
 
void get_notes_by_pitch (Notes &, NoteOperator, uint8_t val, int chan_mask=0) const
 
void get_notes_by_velocity (Notes &, NoteOperator, uint8_t val, int chan_mask=0) const
 
void update_duration_unlocked (Time const &, bool can_shorten=false)
 

Private Attributes

const TypeMap_type_map
 
Notes _notes
 
Pitches _pitches [16]
 
SysExes _sysexes
 
PatchChanges _patch_changes
 
WriteNotes _write_notes [16]
 
int _bank [16]
 
const const_iterator _end_iter
 
bool _percussive
 
uint8_t _lowest_note
 
uint8_t _highest_note
 
Time _duration
 
bool _explicit_duration
 

Friends

class const_iterator
 

Additional Inherited Members

- Public Attributes inherited from PBD::Destructible
PBD::Signal< void()> Destroyed
 
PBD::Signal< void()> DropReferences
 

Detailed Description

template<typename Time>
class Evoral::Sequence< Time >

This is a higher level view of events, with separate representations for notes (instead of just unassociated note on/off events) and controller data. Controller data is represented as a list of time-stamped float values.

Definition at line 69 of file Sequence.h.

Member Typedef Documentation

◆ ActiveNotes

template<typename Time >
typedef std::priority_queue<NotePtr, std::deque<NotePtr>, LaterNoteEndComparator> Evoral::Sequence< Time >::ActiveNotes
private

Definition at line 219 of file Sequence.h.

◆ constNotePtr

template<typename Time >
typedef std::shared_ptr<const Evoral::Note<Time> > Evoral::Sequence< Time >::constNotePtr

Definition at line 91 of file Sequence.h.

◆ constPatchChangePtr

template<typename Time >
typedef std::shared_ptr<const PatchChange<Time> > Evoral::Sequence< Time >::constPatchChangePtr

Definition at line 206 of file Sequence.h.

◆ constSysExPtr

template<typename Time >
typedef std::shared_ptr<const Event<Time> > Evoral::Sequence< Time >::constSysExPtr

Definition at line 193 of file Sequence.h.

◆ NotePtr

template<typename Time >
typedef std::shared_ptr<Evoral::Note<Time> > Evoral::Sequence< Time >::NotePtr

Definition at line 89 of file Sequence.h.

◆ Notes

template<typename Time >
typedef std::multiset<NotePtr, EarlierNoteComparator> Evoral::Sequence< Time >::Notes

Definition at line 157 of file Sequence.h.

◆ PatchChangePtr

template<typename Time >
typedef std::shared_ptr<PatchChange<Time> > Evoral::Sequence< Time >::PatchChangePtr

Definition at line 205 of file Sequence.h.

◆ PatchChanges

template<typename Time >
typedef std::multiset<PatchChangePtr, EarlierPatchChangeComparator> Evoral::Sequence< Time >::PatchChanges

Definition at line 214 of file Sequence.h.

◆ Pitches

template<typename Time >
typedef std::multiset<NotePtr, NoteNumberComparator> Evoral::Sequence< Time >::Pitches
protected

Definition at line 331 of file Sequence.h.

◆ ReadLock

template<typename Time >
typedef std::shared_ptr<Glib::Threads::RWLock::ReaderLock> Evoral::Sequence< Time >::ReadLock

Definition at line 94 of file Sequence.h.

◆ SysExes

template<typename Time >
typedef std::multiset<SysExPtr, EarlierSysExComparator> Evoral::Sequence< Time >::SysExes

Definition at line 201 of file Sequence.h.

◆ SysExPtr

template<typename Time >
typedef std::shared_ptr< Event<Time> > Evoral::Sequence< Time >::SysExPtr

Definition at line 192 of file Sequence.h.

◆ WeakActiveNotes

template<typename Time >
typedef std::set<WeakNotePtr, std::owner_less<WeakNotePtr> > Evoral::Sequence< Time >::WeakActiveNotes

Definition at line 92 of file Sequence.h.

◆ WeakNotePtr

template<typename Time >
typedef std::weak_ptr<Evoral::Note<Time> > Evoral::Sequence< Time >::WeakNotePtr

Definition at line 90 of file Sequence.h.

◆ WriteLock

template<typename Time >
typedef std::shared_ptr<WriteLockImpl> Evoral::Sequence< Time >::WriteLock

Definition at line 95 of file Sequence.h.

◆ WriteNotes

template<typename Time >
typedef std::multiset<NotePtr, EarlierNoteComparator> Evoral::Sequence< Time >::WriteNotes
private

Definition at line 358 of file Sequence.h.

Member Enumeration Documentation

◆ NoteOperator

template<typename Time >
enum Evoral::Sequence::NoteOperator
Enumerator
PitchEqual 
PitchLessThan 
PitchLessThanOrEqual 
PitchGreater 
PitchGreaterThanOrEqual 
VelocityEqual 
VelocityLessThan 
VelocityLessThanOrEqual 
VelocityGreater 
VelocityGreaterThanOrEqual 

Definition at line 161 of file Sequence.h.

◆ OverlapPitchResolution

template<typename Time >
enum Evoral::Sequence::OverlapPitchResolution
Enumerator
LastOnFirstOff 
FirstOnFirstOff 

Definition at line 180 of file Sequence.h.

◆ StuckNoteOption

template<typename Time >
enum Evoral::Sequence::StuckNoteOption
Enumerator
Relax 
DeleteStuckNotes 
ResolveStuckNotes 

Definition at line 105 of file Sequence.h.

Constructor & Destructor Documentation

◆ Sequence() [1/2]

template<typename Time >
Evoral::Sequence< Time >::Sequence ( const TypeMap type_map)

◆ Sequence() [2/2]

template<typename Time >
Evoral::Sequence< Time >::Sequence ( const Sequence< Time > &  other)

Member Function Documentation

◆ add_note_unlocked()

template<typename Time >
bool Evoral::Sequence< Time >::add_note_unlocked ( const NotePtr  note,
void *  arg = 0 
)

◆ add_patch_change_unlocked()

template<typename Time >
void Evoral::Sequence< Time >::add_patch_change_unlocked ( const  PatchChangePtr)

◆ add_sysex_unlocked()

template<typename Time >
void Evoral::Sequence< Time >::add_sysex_unlocked ( const  SysExPtr)

◆ append()

template<typename Time >
void Evoral::Sequence< Time >::append ( const Event< Time > &  ev,
Evoral::event_id_t  evid 
)

◆ append_control_unlocked()

template<typename Time >
void Evoral::Sequence< Time >::append_control_unlocked ( const Parameter param,
Time  time,
double  value,
Evoral::event_id_t   
)
private

◆ append_note_off_unlocked()

template<typename Time >
void Evoral::Sequence< Time >::append_note_off_unlocked ( const Event< Time > &  event)
private

◆ append_note_on_unlocked()

template<typename Time >
void Evoral::Sequence< Time >::append_note_on_unlocked ( const Event< Time > &  event,
Evoral::event_id_t   
)
private

◆ append_patch_change_unlocked()

template<typename Time >
void Evoral::Sequence< Time >::append_patch_change_unlocked ( const PatchChange< Time > &  ,
Evoral::event_id_t   
)
private

◆ append_sysex_unlocked()

template<typename Time >
void Evoral::Sequence< Time >::append_sysex_unlocked ( const Event< Time > &  ev,
Evoral::event_id_t   
)
private

◆ begin()

template<typename Time >
const_iterator Evoral::Sequence< Time >::begin ( Time  t = Time(),
bool  force_discrete = false,
const std::set< Evoral::Parameter > &  f = std::set<Evoral::Parameter>(),
WeakActiveNotes const *  active_notes = 0 
) const
inline

Definition at line 275 of file Sequence.h.

◆ clear()

template<typename Time >
void Evoral::Sequence< Time >::clear ( )

◆ contains()

template<typename Time >
bool Evoral::Sequence< Time >::contains ( const NotePtr ev) const

◆ contains_unlocked()

template<typename Time >
bool Evoral::Sequence< Time >::contains_unlocked ( const NotePtr ev) const
private

◆ control_list_marked_dirty()

template<typename Time >
virtual void Evoral::Sequence< Time >::control_list_marked_dirty ( )
protectedvirtual

Reimplemented from Evoral::ControlSet.

Reimplemented in ARDOUR::MidiModel.

◆ control_to_midi_event()

template<typename Time >
bool Evoral::Sequence< Time >::control_to_midi_event ( std::shared_ptr< Event< Time > > &  ev,
const ControlIterator iter 
) const

◆ dump()

template<typename Time >
void Evoral::Sequence< Time >::dump ( std::ostream &  ,
const_iterator  x,
uint32_t  limit = 0 
) const

◆ duration()

template<typename Time >
Time Evoral::Sequence< Time >::duration ( ) const
inline

Definition at line 317 of file Sequence.h.

◆ edited()

template<typename Time >
bool Evoral::Sequence< Time >::edited ( ) const
inline

Definition at line 300 of file Sequence.h.

◆ empty()

template<typename Time >
bool Evoral::Sequence< Time >::empty ( ) const
inline

Definition at line 118 of file Sequence.h.

◆ end()

template<typename Time >
const const_iterator& Evoral::Sequence< Time >::end ( ) const
inline

Definition at line 283 of file Sequence.h.

◆ end_write()

template<typename Time >
void Evoral::Sequence< Time >::end_write ( StuckNoteOption  ,
Time  when = Time() 
)

◆ get_notes()

template<typename Time >
void Evoral::Sequence< Time >::get_notes ( Notes ,
NoteOperator  ,
uint8_t  val,
int  chan_mask = 0 
) const

◆ get_notes_by_pitch()

template<typename Time >
void Evoral::Sequence< Time >::get_notes_by_pitch ( Notes ,
NoteOperator  ,
uint8_t  val,
int  chan_mask = 0 
) const
private

◆ get_notes_by_velocity()

template<typename Time >
void Evoral::Sequence< Time >::get_notes_by_velocity ( Notes ,
NoteOperator  ,
uint8_t  val,
int  chan_mask = 0 
) const
private

◆ highest_note()

template<typename Time >
uint8_t Evoral::Sequence< Time >::highest_note ( ) const
inline

Definition at line 315 of file Sequence.h.

◆ lowest_note()

template<typename Time >
uint8_t Evoral::Sequence< Time >::lowest_note ( ) const
inline

Definition at line 314 of file Sequence.h.

◆ n_notes()

template<typename Time >
size_t Evoral::Sequence< Time >::n_notes ( ) const
inline

Definition at line 117 of file Sequence.h.

◆ note_lower_bound() [1/2]

template<typename Time >
Notes::iterator Evoral::Sequence< Time >::note_lower_bound ( Time  t)

◆ note_lower_bound() [2/2]

template<typename Time >
Notes::const_iterator Evoral::Sequence< Time >::note_lower_bound ( Time  t) const

◆ note_time_comparator()

template<typename Time >
static bool Evoral::Sequence< Time >::note_time_comparator ( const std::shared_ptr< const Note< Time > > &  a,
const std::shared_ptr< const Note< Time > > &  b 
)
inlinestatic

Definition at line 120 of file Sequence.h.

◆ notes() [1/2]

template<typename Time >
Notes& Evoral::Sequence< Time >::notes ( )
inline

Definition at line 158 of file Sequence.h.

◆ notes() [2/2]

template<typename Time >
const Notes& Evoral::Sequence< Time >::notes ( ) const
inline

Definition at line 159 of file Sequence.h.

◆ overlap_pitch_resolution()

template<typename Time >
OverlapPitchResolution Evoral::Sequence< Time >::overlap_pitch_resolution ( ) const
inline

Definition at line 187 of file Sequence.h.

◆ overlapping_pitches_accepted() [1/2]

template<typename Time >
bool Evoral::Sequence< Time >::overlapping_pitches_accepted ( ) const
inline

Definition at line 185 of file Sequence.h.

◆ overlapping_pitches_accepted() [2/2]

template<typename Time >
void Evoral::Sequence< Time >::overlapping_pitches_accepted ( bool  yn)
inline

Definition at line 186 of file Sequence.h.

◆ patch_change_lower_bound() [1/2]

template<typename Time >
PatchChanges::iterator Evoral::Sequence< Time >::patch_change_lower_bound ( Time  t)

◆ patch_change_lower_bound() [2/2]

template<typename Time >
PatchChanges::const_iterator Evoral::Sequence< Time >::patch_change_lower_bound ( Time  t) const

◆ patch_changes() [1/2]

template<typename Time >
PatchChanges& Evoral::Sequence< Time >::patch_changes ( )
inline

Definition at line 215 of file Sequence.h.

◆ patch_changes() [2/2]

template<typename Time >
const PatchChanges& Evoral::Sequence< Time >::patch_changes ( ) const
inline

Definition at line 216 of file Sequence.h.

◆ pitches() [1/2]

template<typename Time >
Pitches& Evoral::Sequence< Time >::pitches ( uint8_t  chan)
inlineprotected

Definition at line 332 of file Sequence.h.

◆ pitches() [2/2]

template<typename Time >
const Pitches& Evoral::Sequence< Time >::pitches ( uint8_t  chan) const
inlineprotected

Definition at line 333 of file Sequence.h.

◆ read_lock()

template<typename Time >
virtual ReadLock Evoral::Sequence< Time >::read_lock ( ) const
inlinevirtual

Definition at line 97 of file Sequence.h.

◆ remove_duplicate_notes()

template<typename Time >
void Evoral::Sequence< Time >::remove_duplicate_notes ( )

◆ remove_note_unlocked()

template<typename Time >
void Evoral::Sequence< Time >::remove_note_unlocked ( const constNotePtr  note)

◆ remove_overlapping_notes()

template<typename Time >
void Evoral::Sequence< Time >::remove_overlapping_notes ( )

◆ remove_patch_change_unlocked()

template<typename Time >
void Evoral::Sequence< Time >::remove_patch_change_unlocked ( const  constPatchChangePtr)

◆ remove_sysex_unlocked()

template<typename Time >
void Evoral::Sequence< Time >::remove_sysex_unlocked ( const  SysExPtr)

◆ resolve_overlaps_unlocked()

template<typename Time >
virtual int Evoral::Sequence< Time >::resolve_overlaps_unlocked ( const  NotePtr,
void *  = 0 
)
inlineprotectedvirtual

Reimplemented in ARDOUR::MidiModel.

Definition at line 327 of file Sequence.h.

◆ set_duration()

template<typename Time >
void Evoral::Sequence< Time >::set_duration ( Time const &  )

◆ set_edited()

template<typename Time >
void Evoral::Sequence< Time >::set_edited ( bool  yn)
inline

Definition at line 301 of file Sequence.h.

◆ set_notes()

template<typename Time >
void Evoral::Sequence< Time >::set_notes ( const typename Sequence< Time >::Notes n)

◆ set_overlap_pitch_resolution()

template<typename Time >
void Evoral::Sequence< Time >::set_overlap_pitch_resolution ( OverlapPitchResolution  opr)

◆ start_write()

template<typename Time >
void Evoral::Sequence< Time >::start_write ( )

◆ sysex_lower_bound() [1/2]

template<typename Time >
SysExes::iterator Evoral::Sequence< Time >::sysex_lower_bound ( Time  t)

◆ sysex_lower_bound() [2/2]

template<typename Time >
SysExes::const_iterator Evoral::Sequence< Time >::sysex_lower_bound ( Time  t) const

◆ sysexes() [1/2]

template<typename Time >
SysExes& Evoral::Sequence< Time >::sysexes ( )
inline

Definition at line 202 of file Sequence.h.

◆ sysexes() [2/2]

template<typename Time >
const SysExes& Evoral::Sequence< Time >::sysexes ( ) const
inline

Definition at line 203 of file Sequence.h.

◆ trim_overlapping_notes()

template<typename Time >
void Evoral::Sequence< Time >::trim_overlapping_notes ( )

◆ type_map()

template<typename Time >
const TypeMap& Evoral::Sequence< Time >::type_map ( ) const
inline

Definition at line 115 of file Sequence.h.

◆ update_duration_unlocked()

template<typename Time >
void Evoral::Sequence< Time >::update_duration_unlocked ( Time const &  ,
bool  can_shorten = false 
)
private

◆ write_lock()

template<typename Time >
virtual WriteLock Evoral::Sequence< Time >::write_lock ( )
inlinevirtual

Definition at line 98 of file Sequence.h.

◆ writing()

template<typename Time >
bool Evoral::Sequence< Time >::writing ( ) const
inline

Definition at line 103 of file Sequence.h.

Friends And Related Function Documentation

◆ const_iterator

template<typename Time >
friend class const_iterator
friend

Definition at line 338 of file Sequence.h.

Member Data Documentation

◆ _bank

template<typename Time >
int Evoral::Sequence< Time >::_bank[16]
private

Current bank number on each channel so that we know what to put in PatchChange events when program changes are seen.

Definition at line 365 of file Sequence.h.

◆ _duration

template<typename Time >
Time Evoral::Sequence< Time >::_duration
private

Definition at line 373 of file Sequence.h.

◆ _edited

template<typename Time >
bool Evoral::Sequence< Time >::_edited
protected

Definition at line 321 of file Sequence.h.

◆ _end_iter

template<typename Time >
const const_iterator Evoral::Sequence< Time >::_end_iter
private

Definition at line 367 of file Sequence.h.

◆ _explicit_duration

template<typename Time >
bool Evoral::Sequence< Time >::_explicit_duration
private

Definition at line 374 of file Sequence.h.

◆ _highest_note

template<typename Time >
uint8_t Evoral::Sequence< Time >::_highest_note
private

Definition at line 371 of file Sequence.h.

◆ _lock

template<typename Time >
Glib::Threads::RWLock Evoral::Sequence< Time >::_lock
mutableprotected

Definition at line 324 of file Sequence.h.

◆ _lowest_note

template<typename Time >
uint8_t Evoral::Sequence< Time >::_lowest_note
private

Definition at line 370 of file Sequence.h.

◆ _notes

template<typename Time >
Notes Evoral::Sequence< Time >::_notes
private

Definition at line 353 of file Sequence.h.

◆ _overlap_pitch_resolution

template<typename Time >
OverlapPitchResolution Evoral::Sequence< Time >::_overlap_pitch_resolution
protected

Definition at line 323 of file Sequence.h.

◆ _overlapping_pitches_accepted

template<typename Time >
bool Evoral::Sequence< Time >::_overlapping_pitches_accepted
protected

Definition at line 322 of file Sequence.h.

◆ _patch_changes

template<typename Time >
PatchChanges Evoral::Sequence< Time >::_patch_changes
private

Definition at line 356 of file Sequence.h.

◆ _percussive

template<typename Time >
bool Evoral::Sequence< Time >::_percussive
private

Definition at line 368 of file Sequence.h.

◆ _pitches

template<typename Time >
Pitches Evoral::Sequence< Time >::_pitches[16]
private

Definition at line 354 of file Sequence.h.

◆ _sysexes

template<typename Time >
SysExes Evoral::Sequence< Time >::_sysexes
private

Definition at line 355 of file Sequence.h.

◆ _type_map

template<typename Time >
const TypeMap& Evoral::Sequence< Time >::_type_map
private

Definition at line 351 of file Sequence.h.

◆ _write_notes

template<typename Time >
WriteNotes Evoral::Sequence< Time >::_write_notes[16]
private

Definition at line 359 of file Sequence.h.

◆ _writing

template<typename Time >
bool Evoral::Sequence< Time >::_writing
protected

Definition at line 325 of file Sequence.h.


The documentation for this class was generated from the following file: