diff --git a/gtk2_ardour/midi_streamview.cc b/gtk2_ardour/midi_streamview.cc index ed60b14256..56e34c8a79 100644 --- a/gtk2_ardour/midi_streamview.cc +++ b/gtk2_ardour/midi_streamview.cc @@ -628,3 +628,17 @@ MidiStreamView::update_rec_box () mrv->extend_active_notes (); } +uint8_t +MidiStreamView::y_to_note (double y) const +{ + int const n = ((contents_height() - y - 1) / contents_height() * (double)contents_note_range()) + + lowest_note(); + + if (n < 0) { + return 0; + } else if (n > 127) { + return 127; + } + + return n; +} diff --git a/gtk2_ardour/midi_streamview.h b/gtk2_ardour/midi_streamview.h index 0774fd61bd..a939d8ea7d 100644 --- a/gtk2_ardour/midi_streamview.h +++ b/gtk2_ardour/midi_streamview.h @@ -83,10 +83,7 @@ class MidiStreamView : public StreamView { return contents_height() - (note + 1 - lowest_note()) * note_height() + 1; } - inline uint8_t y_to_note(double y) const - { return (uint8_t)((contents_height() - y - 1) - / contents_height() * (double)contents_note_range()) - + lowest_note(); } + uint8_t y_to_note(double y) const; inline double note_height() const { return contents_height() / (double)contents_note_range(); }