From da4270a93d7c440b89f1a517e69ff5cb10c9076a Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 19 Sep 2011 17:15:43 +0000 Subject: [PATCH] Emit ContentsChanged on the model when one of its control lists changes. Should fix #3880. git-svn-id: svn://localhost/ardour2/branches/3.0@10095 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/midi_model.h | 2 ++ libs/ardour/midi_model.cc | 6 ++++++ libs/evoral/evoral/Sequence.hpp | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/libs/ardour/ardour/midi_model.h b/libs/ardour/ardour/midi_model.h index 1479bdc65e..d0a05e131d 100644 --- a/libs/ardour/ardour/midi_model.h +++ b/libs/ardour/ardour/midi_model.h @@ -289,6 +289,8 @@ private: void control_list_interpolation_changed (Evoral::Parameter, Evoral::ControlList::InterpolationStyle); void automation_list_automation_state_changed (Evoral::Parameter, AutoState); + void control_list_marked_dirty (); + PBD::ScopedConnectionList _midi_source_connections; // We cannot use a boost::shared_ptr here to avoid a retain cycle diff --git a/libs/ardour/midi_model.cc b/libs/ardour/midi_model.cc index ce357dcd36..039b44e8bd 100644 --- a/libs/ardour/midi_model.cc +++ b/libs/ardour/midi_model.cc @@ -1946,3 +1946,9 @@ MidiModel::transpose (TimeType from, TimeType to, int semitones) apply_command (s->session (), c); } + +void +MidiModel::control_list_marked_dirty () +{ + ContentsChanged (); /* EMIT SIGNAL */ +} diff --git a/libs/evoral/evoral/Sequence.hpp b/libs/evoral/evoral/Sequence.hpp index 98d4b190b1..bc3831df6b 100644 --- a/libs/evoral/evoral/Sequence.hpp +++ b/libs/evoral/evoral/Sequence.hpp @@ -313,7 +313,7 @@ private: 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 (); + virtual void control_list_marked_dirty (); const TypeMap& _type_map;