summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/midi_region_view.cc5
-rw-r--r--gtk2_ardour/midi_time_axis.cc2
-rw-r--r--libs/ardour/midi_track.cc1
3 files changed, 6 insertions, 2 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc
index 177adbf38b..a16da1448f 100644
--- a/gtk2_ardour/midi_region_view.cc
+++ b/gtk2_ardour/midi_region_view.cc
@@ -603,6 +603,7 @@ MidiRegionView::add_note(const boost::shared_ptr<Note> note)
{
assert(note->time() >= 0);
//assert(note->time() < _region->length());
+ assert(midi_view()->note_mode() == Sustained || midi_view()->note_mode() == Percussive);
ArdourCanvas::Group* const group = (ArdourCanvas::Group*)get_canvas_group();
@@ -639,7 +640,8 @@ MidiRegionView::add_note(const boost::shared_ptr<Note> note)
} else if (midi_view()->note_mode() == Percussive) {
- //cerr << "MRV::add_note percussive " << note->note() << " @ " << note->time() << endl;
+ //cerr << "MRV::add_note percussive " << note->note() << " @ " << note->time()
+ // << " .. " << note->end_time() << endl;
const double diamond_size = midi_stream_view()->note_height() / 2.0;
const double x = trackview.editor.frame_to_pixel((nframes_t)note->time());
@@ -651,6 +653,7 @@ MidiRegionView::add_note(const boost::shared_ptr<Note> note)
ev_diamond->property_fill_color_rgba() = note_fill_color(note->velocity());
ev_diamond->property_outline_color_rgba() = note_outline_color(note->velocity());
_events.push_back(ev_diamond);
+
}
}
diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc
index 343e869292..534305eaa6 100644
--- a/gtk2_ardour/midi_time_axis.cc
+++ b/gtk2_ardour/midi_time_axis.cc
@@ -230,7 +230,7 @@ MidiTimeAxisView::build_mode_menu()
void
MidiTimeAxisView::set_note_mode(NoteMode mode)
{
- if (_note_mode != mode) {
+ if (_note_mode != mode || midi_track()->note_mode() != mode) {
_note_mode = mode;
midi_track()->set_note_mode(mode);
_view->redisplay_diskstream();
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc
index 7307ff220d..8e41df84ef 100644
--- a/libs/ardour/midi_track.cc
+++ b/libs/ardour/midi_track.cc
@@ -47,6 +47,7 @@ using namespace PBD;
MidiTrack::MidiTrack (Session& sess, string name, Route::Flag flag, TrackMode mode)
: Track (sess, name, flag, mode, DataType::MIDI)
, _immediate_events(1024) // FIXME: size?
+ , _note_mode(Sustained)
{
MidiDiskstream::Flag dflags = MidiDiskstream::Flag (0);