summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_streamview.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-12-17 02:34:30 -0500
committerDavid Robillard <d@drobilla.net>2014-12-17 02:50:45 -0500
commit5ee4a5d56a55c0300d68210c5588659a0cd86b41 (patch)
tree279d33a4de4d5c8511c4c20d4caef0cec1c362c3 /gtk2_ardour/midi_streamview.cc
parentec6626f06a3ddf252f49ab7d50699db618d3445c (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.cc16
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 ();