ardour
Public Types | Public Member Functions | Private Attributes | List of all members
MidiCutBuffer Class Reference

#include <midi_cut_buffer.h>

Inheritance diagram for MidiCutBuffer:
ARDOUR::AutomatableSequence< Evoral::Beats > ARDOUR::Automatable Evoral::Sequence< Evoral::Beats > Evoral::ControlSet Evoral::ControlSet

Public Types

typedef Evoral::Beats TimeType
 
- Public Types inherited from Evoral::ControlSet
typedef std::map< Parameter,
boost::shared_ptr< Control > > 
Controls
 
- Public Types inherited from Evoral::Sequence< Evoral::Beats >
enum  StuckNoteOption
 
enum  NoteOperator
 
enum  OverlapPitchResolution
 
typedef boost::shared_ptr
< Evoral::Note< Evoral::Beats > > 
NotePtr
 
typedef boost::weak_ptr
< Evoral::Note< Evoral::Beats > > 
WeakNotePtr
 
typedef boost::shared_ptr
< const Evoral::Note
< Evoral::Beats > > 
constNotePtr
 
typedef boost::shared_ptr
< Glib::Threads::RWLock::ReaderLock > 
ReadLock
 
typedef boost::shared_ptr
< WriteLockImpl > 
WriteLock
 
typedef std::multiset< NotePtr,
EarlierNoteComparator > 
Notes
 
typedef boost::shared_ptr
< Event< Evoral::Beats > > 
SysExPtr
 
typedef boost::shared_ptr
< const Event< Evoral::Beats > > 
constSysExPtr
 
typedef std::multiset
< SysExPtr,
EarlierSysExComparator > 
SysExes
 
typedef boost::shared_ptr
< PatchChange< Evoral::Beats > > 
PatchChangePtr
 
typedef boost::shared_ptr
< const PatchChange
< Evoral::Beats > > 
constPatchChangePtr
 
typedef std::multiset
< PatchChangePtr,
EarlierPatchChangeComparator > 
PatchChanges
 

Public Member Functions

 MidiCutBuffer (ARDOUR::Session *)
 
 ~MidiCutBuffer ()
 
TimeType origin () const
 
void set_origin (TimeType)
 
void set (const Evoral::Sequence< TimeType >::Notes &)
 
- Public Member Functions inherited from ARDOUR::AutomatableSequence< Evoral::Beats >
 AutomatableSequence (Session &s)
 
 AutomatableSequence (const AutomatableSequence< Evoral::Beats > &other)
 
- Public Member Functions inherited from ARDOUR::Automatable
 Automatable (Session &)
 
 Automatable (const Automatable &other)
 
virtual ~Automatable ()
 
boost::shared_ptr
< Evoral::Control
control_factory (const Evoral::Parameter &id)
 
boost::shared_ptr
< AutomationControl
automation_control (const Evoral::Parameter &id, bool create_if_missing=false)
 
boost::shared_ptr< const
AutomationControl
automation_control (const Evoral::Parameter &id) const
 
virtual void add_control (boost::shared_ptr< Evoral::Control >)
 
void clear_controls ()
 
virtual void transport_located (framepos_t now)
 
virtual void transport_stopped (framepos_t now)
 
virtual std::string describe_parameter (Evoral::Parameter param)
 
virtual std::string value_as_string (boost::shared_ptr< AutomationControl >) const
 
AutoState get_parameter_automation_state (Evoral::Parameter param)
 
virtual void set_parameter_automation_state (Evoral::Parameter param, AutoState)
 
AutoStyle get_parameter_automation_style (Evoral::Parameter param)
 
void set_parameter_automation_style (Evoral::Parameter param, AutoStyle)
 
void protect_automation ()
 
const std::set
< Evoral::Parameter > & 
what_can_be_automated () const
 
void what_has_existing_automation (std::set< Evoral::Parameter > &) const
 
int set_automation_xml_state (const XMLNode &, Evoral::Parameter default_param)
 
XMLNodeget_automation_xml_state ()
 
- Public Member Functions inherited from Evoral::ControlSet
 ControlSet ()
 
 ControlSet (const ControlSet &)
 
virtual ~ControlSet ()
 
boost::shared_ptr< Controlcontrol (const Parameter &id, bool create_if_missing=false)
 
boost::shared_ptr< const Controlcontrol (const Parameter &id) const
 
Controlscontrols ()
 
const Controlscontrols () const
 
bool find_next_event (double start, double end, ControlEvent &ev) const
 
virtual bool controls_empty () const
 
void what_has_data (std::set< Parameter > &) const
 
Glib::Threads::Mutex & control_lock () const
 
- Public Member Functions inherited from Evoral::Sequence< Evoral::Beats >
 Sequence (const TypeMap &type_map)
 
 Sequence (const Sequence< Evoral::Beats > &other)
 
virtual ReadLock read_lock () const
 
virtual WriteLock write_lock ()
 
void clear ()
 
bool percussive () const
 
void set_percussive (bool p)
 
void start_write ()
 
bool writing () const
 
void end_write (StuckNoteOption, Evoral::Beatswhen=Evoral::Beats())
 
void append (const Event< Evoral::Beats > &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< Evoral::Beats >::Notes &n)
 
SysExessysexes ()
 
const SysExessysexes () const
 
PatchChangespatch_changes ()
 
const PatchChangespatch_changes () const
 
void dump (std::ostream &) const
 
const_iterator begin (Evoral::Beatst=Evoral::Beats(), bool force_discrete=false, const std::set< Evoral::Parameter > &f=std::set< Evoral::Parameter >(), const std::set< WeakNotePtr > *active_notes=NULL) const
 
const const_iteratorend () const
 
Notes::const_iterator note_lower_bound (Evoral::Beatst) const
 
Notes::iterator note_lower_bound (Evoral::Beatst)
 
PatchChanges::const_iterator patch_change_lower_bound (Evoral::Beatst) const
 
PatchChanges::iterator patch_change_lower_bound (Evoral::Beatst)
 
SysExes::const_iterator sysex_lower_bound (Evoral::Beatst) const
 
SysExes::iterator sysex_lower_bound (Evoral::Beatst)
 
bool control_to_midi_event (boost::shared_ptr< Event< Evoral::Beats > > &ev, const ControlIterator &iter) const
 
bool edited () const
 
void set_edited (bool yn)
 
bool overlaps (const NotePtr &ev, const NotePtr &ignore_this_note) const
 
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
 

Private Attributes

TimeType _origin
 

Additional Inherited Members

- Static Public Member Functions inherited from Evoral::Sequence< Evoral::Beats >
static bool note_time_comparator (const boost::shared_ptr< const Note< Evoral::Beats > > &a, const boost::shared_ptr< const Note< Evoral::Beats > > &b)
 
- Public Attributes inherited from ARDOUR::Automatable
PBD::Signal0< void > AutomationStateChanged
 
- Static Public Attributes inherited from ARDOUR::Automatable
static const std::string xml_node_name = X_("Automation")
 
- Protected Types inherited from Evoral::Sequence< Evoral::Beats >
typedef std::multiset< NotePtr,
NoteNumberComparator > 
Pitches
 
- Protected Member Functions inherited from ARDOUR::Automatable
void can_automate (Evoral::Parameter)
 
virtual void automation_list_automation_state_changed (Evoral::Parameter, AutoState)
 
int load_automation (const std::string &path)
 
int old_set_automation_state (const XMLNode &)
 
- Protected Member Functions inherited from Evoral::ControlSet
virtual void control_list_interpolation_changed (Parameter, ControlList::InterpolationStyle)
 
- Protected Member Functions inherited from Evoral::Sequence< Evoral::Beats >
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 Attributes inherited from ARDOUR::Automatable
Session_a_session
 
std::set< Evoral::Parameter_can_automate_list
 
framepos_t _last_automation_snapshot
 
- Protected Attributes inherited from Evoral::ControlSet
Glib::Threads::Mutex _control_lock
 
Controls _controls
 
PBD::ScopedConnectionList _list_connections
 
- Protected Attributes inherited from Evoral::Sequence< Evoral::Beats >
bool _edited
 
bool _overlapping_pitches_accepted
 
OverlapPitchResolution _overlap_pitch_resolution
 
Glib::Threads::RWLock _lock
 
bool _writing
 

Detailed Description

Definition at line 30 of file midi_cut_buffer.h.

Member Typedef Documentation

Definition at line 33 of file midi_cut_buffer.h.

Constructor & Destructor Documentation

MidiCutBuffer::MidiCutBuffer ( ARDOUR::Session s)

Definition at line 23 of file midi_cut_buffer.cc.

MidiCutBuffer::~MidiCutBuffer ( )

Definition at line 30 of file midi_cut_buffer.cc.

Member Function Documentation

TimeType MidiCutBuffer::origin ( ) const
inline

Definition at line 38 of file midi_cut_buffer.h.

void MidiCutBuffer::set ( const Evoral::Sequence< TimeType >::Notes notes)

Definition at line 41 of file midi_cut_buffer.cc.

void MidiCutBuffer::set_origin ( MidiCutBuffer::TimeType  when)

Definition at line 35 of file midi_cut_buffer.cc.

Member Data Documentation

TimeType MidiCutBuffer::_origin
private

Definition at line 44 of file midi_cut_buffer.h.


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