1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Fixed an issue overriding MidiKeyboardComponent::mouseDownOnKey

This commit is contained in:
Tom Poole 2019-05-15 15:48:18 +01:00
parent f58eacc135
commit 1e021b6ed0
2 changed files with 9 additions and 19 deletions

View file

@ -752,7 +752,6 @@ void MidiKeyboardComponent::updateNoteUnderMouse (Point<float> pos, bool isDown,
void MidiKeyboardComponent::mouseMove (const MouseEvent& e)
{
updateNoteUnderMouse (e, false);
shouldCheckMousePos = false;
}
void MidiKeyboardComponent::mouseDrag (const MouseEvent& e)
@ -760,14 +759,12 @@ void MidiKeyboardComponent::mouseDrag (const MouseEvent& e)
float mousePositionVelocity;
auto newNote = xyToNote (e.position, mousePositionVelocity);
if (newNote >= 0)
mouseDraggedToKey (newNote, e);
updateNoteUnderMouse (e, true);
if (newNote >= 0 && mouseDraggedToKey (newNote, e))
updateNoteUnderMouse (e, true);
}
bool MidiKeyboardComponent::mouseDownOnKey (int, const MouseEvent&) { return true; }
void MidiKeyboardComponent::mouseDraggedToKey (int, const MouseEvent&) {}
bool MidiKeyboardComponent::mouseDraggedToKey (int, const MouseEvent&) { return true; }
void MidiKeyboardComponent::mouseUpOnKey (int, const MouseEvent&) {}
void MidiKeyboardComponent::mouseDown (const MouseEvent& e)
@ -776,16 +773,12 @@ void MidiKeyboardComponent::mouseDown (const MouseEvent& e)
auto newNote = xyToNote (e.position, mousePositionVelocity);
if (newNote >= 0 && mouseDownOnKey (newNote, e))
{
updateNoteUnderMouse (e, true);
shouldCheckMousePos = true;
}
}
void MidiKeyboardComponent::mouseUp (const MouseEvent& e)
{
updateNoteUnderMouse (e, false);
shouldCheckMousePos = false;
float mousePositionVelocity;
auto note = xyToNote (e.position, mousePositionVelocity);
@ -830,13 +823,6 @@ void MidiKeyboardComponent::timerCallback()
}
}
}
if (shouldCheckMousePos)
{
for (auto& ms : Desktop::getInstance().getMouseSources())
if (ms.getComponentUnderMouse() == this || isParentOf (ms.getComponentUnderMouse()))
updateNoteUnderMouse (getLocalPoint (nullptr, ms.getScreenPosition()), ms.isDragging(), ms.getIndex());
}
}
//==============================================================================