diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-05-28 21:36:38 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-05-28 21:36:38 +0000 |
commit | 60ec5dd33946d0500ae00730caa672bb45292a0b (patch) | |
tree | ea4c3577e47b25cee02991afa17ad7cf845eae38 /libs/evoral/evoral/Sequence.hpp | |
parent | 8932625869f181bc16833c9e9d253970656c180d (diff) |
provide a generalized Sequence::get_notes()-by-predicate method, and prototypes for 2 future methods
git-svn-id: svn://localhost/ardour2/branches/3.0@7191 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/evoral/evoral/Sequence.hpp')
-rw-r--r-- | libs/evoral/evoral/Sequence.hpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libs/evoral/evoral/Sequence.hpp b/libs/evoral/evoral/Sequence.hpp index 038cf2c344..36f4138abd 100644 --- a/libs/evoral/evoral/Sequence.hpp +++ b/libs/evoral/evoral/Sequence.hpp @@ -137,6 +137,24 @@ public: inline Notes& notes() { return _notes; } inline const Notes& notes() const { return _notes; } + enum NoteOperator { + PitchEqual, + PitchLessThan, + PitchLessThanOrEqual, + PitchGreater, + PitchGreaterThanOrEqual, + VelocityEqual, + VelocityLessThan, + VelocityLessThanOrEqual, + VelocityGreater, + VelocityGreaterThanOrEqual, + }; + + void get_notes (Notes&, NoteOperator, uint8_t val, int chan_mask = 0) const; + + void remove_overlapping_notes (); + void remove_duplicate_notes (); + void set_notes (const Sequence<Time>::Notes& n); typedef std::vector< boost::shared_ptr< Event<Time> > > SysExes; |