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

#include <Sequence.h>

Public Member Functions

 const_iterator ()
 
 const_iterator (const Sequence< Time > &seq, Time t, bool force_discrete, std::set< Evoral::Parameter > const &filtered, WeakActiveNotes const *active_notes=0)
 
bool valid () const
 
void invalidate (bool preserve_notes)
 
const Event< Time > & operator* () const
 
const std::shared_ptr< const Event< Time > > operator-> () const
 
const const_iteratoroperator++ ()
 
bool operator== (const const_iterator &other) const
 
bool operator!= (const const_iterator &other) const
 
const_iteratoroperator= (const const_iterator &other)
 
void get_active_notes (WeakActiveNotes &) const
 

Private Types

enum  MIDIMessageType {
  NIL , NOTE_ON , NOTE_OFF , CONTROL ,
  SYSEX , PATCH_CHANGE
}
 
typedef std::vector< ControlIteratorControlIterators
 

Private Member Functions

Time choose_next (Time earliest_t)
 
void set_event ()
 

Private Attributes

const Sequence< Time > * _seq
 
std::shared_ptr< Event< Time > > _event
 
ActiveNotes _active_notes
 
int _active_patch_change_message
 
MIDIMessageType _type
 
bool _is_end
 
Sequence::ReadLock _lock
 
Notes::const_iterator _note_iter
 
SysExes::const_iterator _sysex_iter
 
PatchChanges::const_iterator _patch_change_iter
 
ControlIterators _control_iters
 
ControlIterators::iterator _control_iter
 
bool _force_discrete
 

Friends

class Sequence< Time >
 

Detailed Description

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

Read iterator

Definition at line 223 of file Sequence.h.

Member Typedef Documentation

◆ ControlIterators

template<typename Time >
typedef std::vector<ControlIterator> Evoral::Sequence< Time >::const_iterator::ControlIterators
private

Definition at line 254 of file Sequence.h.

Member Enumeration Documentation

◆ MIDIMessageType

template<typename Time >
enum Evoral::Sequence::const_iterator::MIDIMessageType
private
Enumerator
NIL 
NOTE_ON 
NOTE_OFF 
CONTROL 
SYSEX 
PATCH_CHANGE 

Definition at line 255 of file Sequence.h.

Constructor & Destructor Documentation

◆ const_iterator() [1/2]

template<typename Time >
Evoral::Sequence< Time >::const_iterator::const_iterator ( )

◆ const_iterator() [2/2]

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

Member Function Documentation

◆ choose_next()

template<typename Time >
Time Evoral::Sequence< Time >::const_iterator::choose_next ( Time  earliest_t)
private

◆ get_active_notes()

template<typename Time >
void Evoral::Sequence< Time >::const_iterator::get_active_notes ( WeakActiveNotes ) const

◆ invalidate()

template<typename Time >
void Evoral::Sequence< Time >::const_iterator::invalidate ( bool  preserve_notes)

◆ operator!=()

template<typename Time >
bool Evoral::Sequence< Time >::const_iterator::operator!= ( const const_iterator other) const
inline

Definition at line 242 of file Sequence.h.

◆ operator*()

template<typename Time >
const Event<Time>& Evoral::Sequence< Time >::const_iterator::operator* ( ) const
inline

Definition at line 236 of file Sequence.h.

◆ operator++()

template<typename Time >
const const_iterator& Evoral::Sequence< Time >::const_iterator::operator++ ( )

◆ operator->()

template<typename Time >
const std::shared_ptr< const Event<Time> > Evoral::Sequence< Time >::const_iterator::operator-> ( ) const
inline

Definition at line 237 of file Sequence.h.

◆ operator=()

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

◆ operator==()

template<typename Time >
bool Evoral::Sequence< Time >::const_iterator::operator== ( const const_iterator other) const

◆ set_event()

template<typename Time >
void Evoral::Sequence< Time >::const_iterator::set_event ( )
private

◆ valid()

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

Definition at line 232 of file Sequence.h.

Friends And Related Function Documentation

◆ Sequence< Time >

template<typename Time >
friend class Sequence< Time >
friend

Definition at line 246 of file Sequence.h.

Member Data Documentation

◆ _active_notes

template<typename Time >
ActiveNotes Evoral::Sequence< Time >::const_iterator::_active_notes
mutableprivate

Definition at line 259 of file Sequence.h.

◆ _active_patch_change_message

template<typename Time >
int Evoral::Sequence< Time >::const_iterator::_active_patch_change_message
private

If the iterator is pointing at a patch change, this is the index of the sub-message within that change.

Definition at line 263 of file Sequence.h.

◆ _control_iter

template<typename Time >
ControlIterators::iterator Evoral::Sequence< Time >::const_iterator::_control_iter
private

Definition at line 271 of file Sequence.h.

◆ _control_iters

template<typename Time >
ControlIterators Evoral::Sequence< Time >::const_iterator::_control_iters
private

Definition at line 270 of file Sequence.h.

◆ _event

template<typename Time >
std::shared_ptr< Event<Time> > Evoral::Sequence< Time >::const_iterator::_event
private

Definition at line 258 of file Sequence.h.

◆ _force_discrete

template<typename Time >
bool Evoral::Sequence< Time >::const_iterator::_force_discrete
private

Definition at line 272 of file Sequence.h.

◆ _is_end

template<typename Time >
bool Evoral::Sequence< Time >::const_iterator::_is_end
private

Definition at line 265 of file Sequence.h.

◆ _lock

template<typename Time >
Sequence::ReadLock Evoral::Sequence< Time >::const_iterator::_lock
private

Definition at line 266 of file Sequence.h.

◆ _note_iter

template<typename Time >
Notes::const_iterator Evoral::Sequence< Time >::const_iterator::_note_iter
private

Definition at line 267 of file Sequence.h.

◆ _patch_change_iter

template<typename Time >
PatchChanges::const_iterator Evoral::Sequence< Time >::const_iterator::_patch_change_iter
private

Definition at line 269 of file Sequence.h.

◆ _seq

template<typename Time >
const Sequence<Time>* Evoral::Sequence< Time >::const_iterator::_seq
private

Definition at line 257 of file Sequence.h.

◆ _sysex_iter

template<typename Time >
SysExes::const_iterator Evoral::Sequence< Time >::const_iterator::_sysex_iter
private

Definition at line 268 of file Sequence.h.

◆ _type

template<typename Time >
MIDIMessageType Evoral::Sequence< Time >::const_iterator::_type
private

Definition at line 264 of file Sequence.h.


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