MidiKeyboardComponent::xyToNote
rounds the Point<float>
passed in using Point::toInt
, as in the following code:
if (! reallyContains (pos.toInt (), false))
return -1;
However, when this method is called via mouseExit->updateNoteUnderMouse->xyToNote, this sometimes causes the keyboard to think the mouse is still within the component bounds due to the position being inaccurately rounded. This issue is solved as follows:
if (! reallyContains (pos.roundToInt (), false))
return -1;