diff options
author | David Robillard <d@drobilla.net> | 2014-12-17 02:34:30 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-12-17 02:50:45 -0500 |
commit | 5ee4a5d56a55c0300d68210c5588659a0cd86b41 (patch) | |
tree | 279d33a4de4d5c8511c4c20d4caef0cec1c362c3 /gtk2_ardour/midi_streamview.cc | |
parent | ec6626f06a3ddf252f49ab7d50699db618d3445c (diff) |
Don't allow drawing notes in rec regions (crash).
Diffstat (limited to 'gtk2_ardour/midi_streamview.cc')
-rw-r--r-- | gtk2_ardour/midi_streamview.cc | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/gtk2_ardour/midi_streamview.cc b/gtk2_ardour/midi_streamview.cc index e91a1c683d..d124426cc9 100644 --- a/gtk2_ardour/midi_streamview.cc +++ b/gtk2_ardour/midi_streamview.cc @@ -100,7 +100,7 @@ MidiStreamView::~MidiStreamView () } RegionView* -MidiStreamView::create_region_view (boost::shared_ptr<Region> r, bool /*wfd*/, bool) +MidiStreamView::create_region_view (boost::shared_ptr<Region> r, bool /*wfd*/, bool recording) { boost::shared_ptr<MidiRegion> region = boost::dynamic_pointer_cast<MidiRegion> (r); @@ -108,8 +108,16 @@ MidiStreamView::create_region_view (boost::shared_ptr<Region> r, bool /*wfd*/, b return 0; } - RegionView* region_view = new MidiRegionView (_canvas_group, _trackview, region, - _samples_per_pixel, region_color); + RegionView* region_view = NULL; + if (recording) { + region_view = new MidiRegionView ( + _canvas_group, _trackview, region, + _samples_per_pixel, region_color, recording, + TimeAxisViewItem::Visibility(TimeAxisViewItem::ShowFrame)); + } else { + region_view = new MidiRegionView (_canvas_group, _trackview, region, + _samples_per_pixel, region_color); + } region_view->init (false); @@ -488,7 +496,7 @@ MidiStreamView::setup_rec_box () region->set_start (_trackview.track()->current_capture_start() - _trackview.track()->get_capture_start_frame (0)); region->set_position (_trackview.track()->current_capture_start()); - RegionView* rv = add_region_view_internal (region, false); + RegionView* rv = add_region_view_internal (region, false, true); MidiRegionView* mrv = dynamic_cast<MidiRegionView*> (rv); mrv->begin_write (); |