summaryrefslogtreecommitdiff
path: root/libs/evoral/evoral/Sequence.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/evoral/evoral/Sequence.hpp')
-rw-r--r--libs/evoral/evoral/Sequence.hpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/libs/evoral/evoral/Sequence.hpp b/libs/evoral/evoral/Sequence.hpp
index 36f4138abd..c76d126904 100644
--- a/libs/evoral/evoral/Sequence.hpp
+++ b/libs/evoral/evoral/Sequence.hpp
@@ -220,7 +220,9 @@ public:
bool edited() const { return _edited; }
void set_edited(bool yn) { _edited = yn; }
+ bool overlaps (const boost::shared_ptr< Note<Time> > ev) const;
bool contains (const boost::shared_ptr< Note<Time> > ev) const;
+
bool add_note_unlocked(const boost::shared_ptr< Note<Time> > note);
void remove_note_unlocked(const boost::shared_ptr< const Note<Time> > note);
@@ -234,8 +236,11 @@ protected:
private:
friend class const_iterator;
+ bool overlaps_unlocked (const boost::shared_ptr< Note<Time> > ev) const;
+ bool contains_unlocked (const boost::shared_ptr< Note<Time> > ev) const;
+
void append_note_on_unlocked(uint8_t chan, Time time, uint8_t note, uint8_t velocity);
- void append_note_off_unlocked(uint8_t chan, Time time, uint8_t note);
+ void append_note_off_unlocked(uint8_t chan, Time time, uint8_t note, uint8_t velocity);
void append_control_unlocked(const Parameter& param, Time time, double value);
void append_sysex_unlocked(const MIDIEvent<Time>& ev);
@@ -244,7 +249,7 @@ private:
Notes _notes;
SysExes _sysexes;
- typedef std::set<boost::shared_ptr< Note<Time> >, NoteNumberComparator> WriteNotes;
+ typedef std::multiset<boost::shared_ptr< Note<Time> >, EarlierNoteComparator> WriteNotes;
WriteNotes _write_notes[16];
bool _writing;