void start_write();
bool writing() const { return _writing; }
- void end_write(bool delete_stuck=false);
+
+ enum StuckNoteOption {
+ Relax,
+ DeleteStuckNotes,
+ ResolveStuckNotes
+ };
+
+ void end_write (StuckNoteOption, Time when = 0);
void append(const Event<Time>& ev, Evoral::event_id_t evid);
inline Pitches& pitches(uint8_t chan) { return _pitches[chan&0xf]; }
inline const Pitches& pitches(uint8_t chan) const { return _pitches[chan&0xf]; }
+ virtual void control_list_marked_dirty ();
+
private:
friend class const_iterator;
void get_notes_by_pitch (Notes&, NoteOperator, uint8_t val, int chan_mask = 0) const;
void get_notes_by_velocity (Notes&, NoteOperator, uint8_t val, int chan_mask = 0) const;
- void control_list_marked_dirty ();
-
const TypeMap& _type_map;
Notes _notes; // notes indexed by time