ardour
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
Evoral::Sequence< Time >::const_iterator Class Reference

#include <Sequence.hpp>

Public Member Functions

 const_iterator ()
 
 const_iterator (const Sequence< Time > &seq, Time t, bool force_discrete, const std::set< Evoral::Parameter > &filtered, const std::set< WeakNotePtr > *active_notes=NULL)
 
bool valid () const
 
void invalidate (std::set< WeakNotePtr > *notes)
 
const Event< Time > & operator* () const
 
const boost::shared_ptr< Event
< Time > > 
operator-> () const
 
const boost::shared_ptr< Event
< Time > > 
get_event_pointer ()
 
const const_iteratoroperator++ ()
 
bool operator== (const const_iterator &other) const
 
bool operator!= (const const_iterator &other) const
 
const_iteratoroperator= (const const_iterator &other)
 

Private Types

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

Private Member Functions

Time choose_next (Time earliest_t)
 
void set_event ()
 

Private Attributes

const Sequence< Time > * _seq
 
boost::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 221 of file Sequence.hpp.

Member Typedef Documentation

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

Definition at line 251 of file Sequence.hpp.

Member Enumeration Documentation

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

Definition at line 252 of file Sequence.hpp.

Constructor & Destructor Documentation

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

Definition at line 62 of file Sequence.cpp.

template<typename Time>
Evoral::Sequence< Time >::const_iterator::const_iterator ( const Sequence< Time > &  seq,
Time  t,
bool  force_discrete,
const std::set< Evoral::Parameter > &  filtered,
const std::set< WeakNotePtr > *  active_notes = NULL 
)
Parameters
force_discretetrue to force ControlLists to use discrete evaluation, otherwise false to get them to use their configured mode

Definition at line 75 of file Sequence.cpp.

Member Function Documentation

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

Definition at line 235 of file Sequence.cpp.

template<typename Time>
const boost::shared_ptr< Event<Time> > Evoral::Sequence< Time >::const_iterator::get_event_pointer ( )
inline

Definition at line 236 of file Sequence.hpp.

template<typename Time>
void Evoral::Sequence< Time >::const_iterator::invalidate ( std::set< WeakNotePtr > *  notes)

Definition at line 212 of file Sequence.cpp.

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

Definition at line 241 of file Sequence.hpp.

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

Definition at line 234 of file Sequence.hpp.

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

Definition at line 324 of file Sequence.cpp.

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

Definition at line 235 of file Sequence.hpp.

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

Definition at line 426 of file Sequence.cpp.

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

Definition at line 411 of file Sequence.cpp.

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

Definition at line 282 of file Sequence.cpp.

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

Definition at line 230 of file Sequence.hpp.

Friends And Related Function Documentation

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

Definition at line 246 of file Sequence.hpp.

Member Data Documentation

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

Definition at line 256 of file Sequence.hpp.

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 260 of file Sequence.hpp.

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

Definition at line 268 of file Sequence.hpp.

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

Definition at line 267 of file Sequence.hpp.

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

Definition at line 255 of file Sequence.hpp.

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

Definition at line 269 of file Sequence.hpp.

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

Definition at line 262 of file Sequence.hpp.

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

Definition at line 263 of file Sequence.hpp.

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

Definition at line 264 of file Sequence.hpp.

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

Definition at line 266 of file Sequence.hpp.

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

Definition at line 254 of file Sequence.hpp.

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

Definition at line 265 of file Sequence.hpp.

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

Definition at line 261 of file Sequence.hpp.


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