diff options
author | David Robillard <d@drobilla.net> | 2007-08-11 06:17:42 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-08-11 06:17:42 +0000 |
commit | 5156998e6e2536c9c713974d3ae719a5d2ef5c7f (patch) | |
tree | 6223846321fe3f611b952b2c2e77c349d0b7072f /gtk2_ardour/midi_region_view.cc | |
parent | 861181d7421012486e36327c464b957ec08e396b (diff) |
Saving of edited MIDI data to disk (on session save).
Seems to be a pretty random problem with note duration restoring though...
git-svn-id: svn://localhost/ardour2/trunk@2290 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_region_view.cc')
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 241eb03091..e96a65d893 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -122,6 +122,8 @@ MidiRegionView::init (Gdk::Color& basic_color, bool wfd) } _model->ContentsChanged.connect(sigc::mem_fun(this, &MidiRegionView::redisplay_model)); } + + midi_region()->midi_source(0)->Switched.connect(sigc::mem_fun(this, &MidiRegionView::switch_source)); group->signal_event().connect (mem_fun (this, &MidiRegionView::canvas_event), false); @@ -393,6 +395,8 @@ void MidiRegionView::redisplay_model() { clear_events(); + + //cerr << "Redisplaying model " << _model << endl; if (_model) { begin_write(); @@ -758,4 +762,13 @@ MidiRegionView::note_entered(ArdourCanvas::CanvasMidiEvent* ev) note_selected(ev, true); } } + + +void +MidiRegionView::switch_source(boost::shared_ptr<Source> src) +{ + boost::shared_ptr<MidiSource> msrc = boost::dynamic_pointer_cast<MidiSource>(src); + if (msrc) + display_model(msrc->model()); +} |