Hi, I am designing a standalone midi plugin to to manupilate some incoming data. The UI design is made such:
Smallest components:
- Glow button based on juce Button - uses glow effect when clicked ON
- Tuning Info based on Juce Component that has a rotary slider and a combo box
A “Key” has 5 glow buttons and 1 “Tuning Info”. Then finally an “Octave” displays 12 “Keys”
I have just got to the point where I am handling the events from the the various buttons and am noticing a sluggish response to button clicks. Things work well on the “Key” level, but get slow at the “Octave” level (around one second delay from click to response)
Should I be re-looking at flattening out my component hierarchy or is there something I am missing? I am guessing that by the time the event from the “Glow button” gets propagated to “Key” and then to the “Octave”, it’s causing the delay. But there is absolutely no heavy logic in those events - just receiving the event and raising another for the parent.
I am using the Button Listener class method to issue the callbacks. I have overridden the paint method in the Glow Button to display an image and text using drawFittedText. The “Key” also has some panel labels being drawn using DrawText.
I am using an Owned Array to create all the “Keys”. All components are using the resize method to lay out the controls.
Any advise on how to go about approaching the UI?