diff --git a/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp b/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp index cac00f3de5..1c1c9d9db2 100644 --- a/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp +++ b/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp @@ -270,6 +270,13 @@ int MidiKeyboardComponent::getKeyStartPosition (const int midiNoteNumber) const return x; } +int MidiKeyboardComponent::getTotalKeyboardWidth() const noexcept +{ + int x, w; + getKeyPos (rangeEnd, x, w); + return x + w; +} + int MidiKeyboardComponent::getNoteAtPosition (Point p) { float v; diff --git a/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h b/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h index 22e1c7517c..0b137a3d30 100644 --- a/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h +++ b/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h @@ -209,6 +209,9 @@ public: */ int getKeyStartPosition (int midiNoteNumber) const; + /** Returns the total width needed to fit all the keys in the available range. */ + int getTotalKeyboardWidth() const noexcept; + /** Returns the key at a given coordinate. */ int getNoteAtPosition (Point position);