I am new to Juce, and am writing an application that has a large number of controls on multiple tabs. When I converted from 1.50 to 1.51, I encountered several problems.
The tab switch slowed dramatically. It was nearly instant in 1.50 and goes to over 1 second (!) per tab switch in 1.51. This happens in both Debug and Release builds in Windows. Obviously I’m not doing something correctly, but since it worked great in 1.50 I have no idea where to start looking. Most of the code I’m using right now was generated by Jucer, so go figure.
The String::printf function has been removed and I don’t see a simple replacement. Any reason why this was removed? Here is the code I’m using now.
szTitle.printf( T("%s %02ld"), bPlay ? T(“Play”) : T(“Record”), nItem+1 );
String::formatted isn’t a drop-in replacement. Any suggestions?
Graphics::getClipBounds() seems to have changed dramatically. I am creating a VU meter type bar-graph control, and want to fill it with horizontal lines representing the levels. The start of my paint code looks like:
Rectangle rectWindow = g.getClipBounds();
g.setColour( Colours::black );
g.fillRoundedRectangle( rectWindow, 5.0f );
In 1.50 this works perfectly. 1.51 chokes all over it. Rectangle now must be Rectangle, which is fine. However fillRoundedRectangle only rounds the lower right corner. g.getClipBounds() returns negative numbers for x and y with 1.51 and zero for 1.50. To me this should either be very well documented, or is simply a bug that needs to be corrected. Since the rest of my paint code uses the numbers returned from getClipBounds(), the rest of my code goes horribly wrong.
Thanks in advance for any help you can provide.