From 22efa2bf17b6c5a31ea4075d7a61e4004d58f6d1 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 8 Nov 2021 12:40:12 -0700 Subject: [PATCH] use color on MIDI tracks to show off-key notes --- gtk2_ardour/midi_streamview.cc | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/midi_streamview.cc b/gtk2_ardour/midi_streamview.cc index 003ba8d719..d8f64357b3 100644 --- a/gtk2_ardour/midi_streamview.cc +++ b/gtk2_ardour/midi_streamview.cc @@ -349,19 +349,34 @@ MidiStreamView::draw_note_lines() * height of this note. */ + std::string color_mod_name; + std::string color_name; + switch (i % 12) { case 1: case 3: case 6: case 8: case 10: - color = UIConfiguration::instance().color_mod ("piano roll black", "piano roll black"); + if (boost::dynamic_pointer_cast(_trackview.track())->key().in_key (i)) { + color_name = X_("piano roll black"); + } else { + color_name = X_("piano roll offkey"); + } + color_mod_name = X_("piano roll black"); break; default: - color = UIConfiguration::instance().color_mod ("piano roll white", "piano roll white"); + if (boost::dynamic_pointer_cast(_trackview.track())->key().in_key (i)) { + color_name = X_("piano roll white"); + } else { + color_name = X_("piano roll offkey"); + } + color_mod_name = X_("piano roll white"); break; } + color = UIConfiguration::instance().color_mod (color_name, color_mod_name); + double h = y - prev_y; double mid = y + (h/2.0);