When I run an AUv3 plugin in iOS GarageBand, the GUI is initially squashed to half its height. The width is correct. I’m using the development version of Juce (commit 3852771).
The squashing seems to happen on a painting level: My resized
member functions ensure that the GUI always keeps its aspect ratio and can’t be squashed. The sizing becomes correct once I click / touch somewhere in the plugin GUI. I suppose this triggers a repaint()
which is otherwise missing. Sometimes, it corrects itself after a delay of a few seconds.
EDIT: If I manually call repaint()
from resized()
, it becomes less likely to happen, but still happens sometimes. I think there may be a repaint()
missing somewhere in Juce…I don’t have to call repaint()
from resized()
for other Juce Component
s.
The resized
member function of my custom AudioProcessorEditor
class gets called 3 times:
- From the
setSize
call I do in the constructor. Size: 1024 x 335. This is the size plugins have available in iOS GarageBand. - From
viewDidLayoutSubviews
in the juce_AUv3_Wrapper. Size: 1024 x 768. - Again from
viewDidLayoutSubviews
, this time with size: 1024 x 335. When I break here, the GUI is visible and has the correct sizing.
After (3), it somehow goes from the correct sizing into being squashed.