|
| | 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, PBD::HistoryOwner &) |
| |
| 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 |
| |
| uint16_t | channels_present () const |
| |
| Temporal::Beats | duration () const |
| |
| void | set_duration (Temporal::Beats const &) |
| |
| void | shift (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.