|
| MidiModel (MidiSource &) |
|
| MidiModel (MidiModel const &other, MidiSource &) |
|
void | create_mapping_stash (Temporal::Beats const &offset) |
|
void | rebuild_from_mapping_stash (Temporal::Beats const &offset) |
|
MidiModel::NoteDiffCommand * | new_note_diff_command (const std::string &name="midi edit") |
|
MidiModel::SysExDiffCommand * | new_sysex_diff_command (const std::string &name="midi edit") |
|
MidiModel::PatchChangeDiffCommand * | new_patch_change_diff_command (const std::string &name="midi edit") |
|
void | apply_diff_command_as_commit (PBD::HistoryOwner &, PBD::Command *cmd) |
|
void | apply_diff_command_as_commit (PBD::HistoryOwner *history, PBD::Command *cmd) |
|
void | apply_diff_command_as_subcommand (PBD::HistoryOwner &, PBD::Command *cmd) |
|
void | apply_diff_command_only (PBD::Command *cmd) |
|
bool | sync_to_source (const Source::WriterLock &source_lock) |
|
bool | write_to (std::shared_ptr< MidiSource > source, const Source::WriterLock &source_lock) |
|
bool | write_section_to (std::shared_ptr< MidiSource > source, const Source::WriterLock &source_lock, Temporal::Beats begin=Temporal::Beats(), Temporal::Beats end=std::numeric_limits< Temporal::Beats >::max(), bool offset_events=false) |
|
XMLNode & | get_state () const |
|
int | set_state (const XMLNode &) |
|
std::shared_ptr< Evoral::Note< TimeType > > | find_note (NotePtr) |
|
PatchChangePtr | find_patch_change (Evoral::event_id_t) |
|
std::shared_ptr< Evoral::Note< TimeType > > | find_note (Evoral::event_id_t) |
|
std::shared_ptr< Evoral::Event< TimeType > > | find_sysex (Evoral::event_id_t) |
|
InsertMergePolicy | insert_merge_policy () const |
|
void | set_insert_merge_policy (InsertMergePolicy) |
|
std::shared_ptr< Evoral::Control > | control_factory (const Evoral::Parameter &id) |
|
void | insert_silence_at_start (TimeType) |
|
void | transpose (NoteDiffCommand *, const NotePtr, int) |
|
void | track_state (timepos_t const &when, MidiStateTracker &) const |
|
void | render (const ReadLock &lock, Evoral::EventSink< Temporal::Beats > &dst) |
|
WriteLock | edit_lock () |
|
| AutomatableSequence (Session &s, Temporal::TimeDomainProvider const &tdp) |
|
| AutomatableSequence (const AutomatableSequence< Temporal::Beats > &other) |
|
| Automatable (Session &, Temporal::TimeDomainProvider const &) |
|
| Automatable (const Automatable &other) |
|
virtual | ~Automatable () |
|
virtual void | automatables (PBD::ControllableSet &) const |
|
std::shared_ptr< AutomationControl > | automation_control (PBD::ID const &id) const |
|
virtual std::shared_ptr< AutomationControl > | automation_control_recurse (PBD::ID const &id) const |
|
std::shared_ptr< AutomationControl > | automation_control (const Evoral::Parameter &id) |
|
std::shared_ptr< AutomationControl > | automation_control (const Evoral::Parameter &id, bool create_if_missing) |
|
std::shared_ptr< const AutomationControl > | automation_control (const Evoral::Parameter &id) const |
|
virtual void | add_control (std::shared_ptr< Evoral::Control >) |
|
virtual bool | find_next_event (Temporal::timepos_t const &start, Temporal::timepos_t const &end, Evoral::ControlEvent &ev, bool only_active=true) const |
|
void | clear_controls () |
|
virtual void | non_realtime_locate (samplepos_t now) |
|
virtual void | non_realtime_transport_stop (samplepos_t now, bool flush) |
|
virtual void | automation_run (samplepos_t, pframes_t, bool only_active=false) |
|
virtual std::string | describe_parameter (Evoral::Parameter param) |
|
AutoState | get_parameter_automation_state (Evoral::Parameter param) |
|
virtual void | set_parameter_automation_state (Evoral::Parameter param, AutoState) |
|
void | protect_automation () |
|
const std::set< Evoral::Parameter > & | what_can_be_automated () const |
|
std::vector< Evoral::Parameter > | all_automatable_params () const |
|
void | what_has_existing_automation (std::set< Evoral::Parameter > &) const |
|
int | set_automation_xml_state (const XMLNode &, Evoral::Parameter default_param) |
|
XMLNode & | get_automation_xml_state () const |
|
void | start_domain_bounce (Temporal::DomainBounceInfo &) |
|
void | finish_domain_bounce (Temporal::DomainBounceInfo &) |
|
| ControlSet () |
|
| ControlSet (const ControlSet &) |
|
virtual | ~ControlSet () |
|
std::shared_ptr< Control > | control (const Parameter &id, bool create_if_missing=false) |
|
std::shared_ptr< const Control > | control (const Parameter &id) const |
|
Controls & | controls () |
|
const Controls & | controls () const |
|
virtual bool | controls_empty () const |
|
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 () |
|
virtual | ~Destructible () |
|
virtual void | drop_references () |
|
| Slavable () |
|
virtual | ~Slavable () |
|
XMLNode & | get_state () const |
|
int | set_state (XMLNode const &, int) |
|
virtual void | assign (std::shared_ptr< VCA >) |
|
void | unassign (std::shared_ptr< VCA >) |
|
std::vector< std::shared_ptr< VCA > > | masters (VCAManager *) const |
|
bool | assigned_to (VCAManager *, std::shared_ptr< VCA >) const |
|
Public Member Functions inherited from Temporal::TimeDomainProvider |
| TimeDomainProvider () |
|
| TimeDomainProvider (TimeDomain td) |
|
| TimeDomainProvider (TimeDomain td, TimeDomainProvider const &p) |
|
| TimeDomainProvider (TimeDomainProvider const &other) |
|
| TimeDomainProvider (TimeDomainProvider const &parnt, bool) |
|
virtual | ~TimeDomainProvider () |
|
XMLNode & | get_state () const |
|
int | set_state (const XMLNode &, int version) |
|
TimeDomainProvider & | operator= (TimeDomainProvider const &other) |
|
TimeDomain | time_domain () const |
|
bool | has_own_time_domain () const |
|
void | clear_time_domain () |
|
void | set_time_domain (TimeDomain td) |
|
TimeDomainProvider const * | time_domain_parent () const |
|
bool | has_time_domain_parent () const |
|
void | clear_time_domain_parent () |
|
void | set_time_domain_parent (TimeDomainProvider const &p) |
|
virtual void | time_domain_changed () |
|
| Sequence (const TypeMap &type_map) |
|
| Sequence (const Sequence< Temporal::Beats > &other) |
|
virtual ReadLock | read_lock () const |
|
virtual WriteLock | write_lock () |
|
void | clear () |
|
void | start_write () |
|
bool | writing () const |
|
void | end_write (StuckNoteOption, Temporal::Beats when=Temporal::Beats()) |
|
void | append (const Event< Temporal::Beats > &ev, Evoral::event_id_t evid) |
|
const TypeMap & | type_map () const |
|
size_t | n_notes () const |
|
bool | empty () const |
|
Notes & | notes () |
|
const Notes & | notes () 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< Temporal::Beats >::Notes &n) |
|
SysExes & | sysexes () |
|
const SysExes & | sysexes () const |
|
PatchChanges & | patch_changes () |
|
const PatchChanges & | patch_changes () const |
|
const_iterator | begin (Temporal::Beats t=Temporal::Beats(), bool force_discrete=false, const std::set< Evoral::Parameter > &f=std::set< Evoral::Parameter >(), WeakActiveNotes const *active_notes=0) const |
|
const const_iterator & | end () const |
|
void | dump (std::ostream &, const_iterator x, uint32_t limit=0) const |
|
Notes::const_iterator | note_lower_bound (Temporal::Beats t) const |
|
Notes::iterator | note_lower_bound (Temporal::Beats t) |
|
PatchChanges::const_iterator | patch_change_lower_bound (Temporal::Beats t) const |
|
PatchChanges::iterator | patch_change_lower_bound (Temporal::Beats t) |
|
SysExes::const_iterator | sysex_lower_bound (Temporal::Beats t) const |
|
SysExes::iterator | sysex_lower_bound (Temporal::Beats t) |
|
bool | control_to_midi_event (std::shared_ptr< Event< Temporal::Beats > > &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 |
|
Temporal::Beats | duration () const |
|
void | set_duration (Temporal::Beats const &) |
|
This is a higher level (than MidiBuffer) model of MIDI data, with separate representations for notes (instead of just unassociated note on/off events) and controller data. Controller data is represented as part of the Automatable base (i.e. in a map of AutomationList, keyed by Parameter). Because of this MIDI controllers and automatable controllers/widgets/etc are easily interchangeable.
Definition at line 62 of file midi_model.h.