Excellent, thanks for testing it! I’ll check it in shortly.
mmm… the same patched code, compiled as a standalone application, does result in this crash report… is it something planned to be fixed shortly?
[code]
Date/Time: 2009-11-17 17:16:02.781 +0100
OS Version: 10.4.11 (Build 8S2167)
Report Version: 4
Command: _d
Path:
Parent: WindowServer [62]
Version: ??? (1.5.6)
PID: 239
Thread: 0
Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_INVALID_ADDRESS (0x0001) at 0x0e451ad0
Thread 0 Crashed:
0 com.apple.CoreGraphics 0x9f8ec6cd getNextAxialShadingScanline + 913
1 com.apple.CoreGraphics 0x9f8ecbf6 getBytesAxialShadingDataProvider + 84
2 com.apple.CoreGraphics 0x9f7df3bd CGAccessSessionGetChunks + 474
3 com.apple.CoreGraphics 0x9f7dee85 img_raw_read + 176
4 com.apple.CoreGraphics 0x9f7f618a img_alphamerge_read + 86
5 com.apple.CoreGraphics 0x9f7b4b38 img_data_lock + 2187
6 com.apple.CoreGraphics 0x9f7b334d CGSImageDataLockWithReference + 94
7 libRIP.A.dylib 0x9ecbe1bc ripc_AcquireImage + 662
8 libRIP.A.dylib 0x9ecbbf22 ripc_DrawImage + 1833
9 com.apple.CoreGraphics 0x9f7b1a01 CGContextDrawImage + 403
10 com.apple.CoreGraphics 0x9f8ebd77 drawAxialShading + 4869
11 com.apple.CoreGraphics 0x9f8ea9ee CGContextDrawShading [/code]
this is the AxialShading / interpolationHighQuality issue I wrote about…
just noticed the new commit. Will try it immediately
It works!
Finally I’ve also made some tests with the last changes and:
-
regarding to the AxialShading & HighQualityInterpolation issue I confirm that everything is now ok.
-
regarding to the changes made to GetProperty() & GetPropertyInfo() in AU Wrapper I confirm that it runs well on both 10.6 and 10.5 OSX and that it doesn’t crash on 10.4.
However I noticed a little problem on 10.4. When You insert JuceDemoPlugin to Logic 8, keep its GUI opened, then you hide Logic app (with cmd + H keystroke) and then you switch back to Logic app the JuceDemoPlugin’s GUI became invisible. I mean that window in which the plugin’s gui is embedded in looks normally but the whole JuceDemoPlugin’s editor component is absent. When we close this window and open gui again everything gets back to normal state.
That’s the only problem I’ve noticed.
Besides of that it pass the aulab tests on both Intel & PPC under 10.4.11. It behaves normally under Logic 8 and Live 8.x
Many thanks for that fixes Jules !!!
Ok, thanks! I’m not too bothered about the hiding/showing window thing, the whole carbon-cocoa wrapper arrangement will always be a bit of a bodge, but will disappear eventually as all the apps start to use cocoa.
I’m getting the following error when trying to validate the plug-in on a PPC running Tiger.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
AU Validation Tool
Version: 1.2.0a11
Copyright 2003-2007, Apple, Inc. All Rights Reserved.
Specify -h (-help) for command options
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
--------------------------------------------------
VALIDATING AUDIO UNIT: 'aumf' - 'TH-1' - 'Ovld'
--------------------------------------------------
Manufacturer String: Overloud
AudioUnit name: TH1
Component Info: TH1 - Custom Guitar Effects Suite
Component Version: 1.1.5 (0x10105)
Component's Bundle Version: 1.1.5
* * PASS
--------------------------------------------------
TESTING OPEN TIMES:
COLD:
2010-02-05 15:58:19.342 auval[354] CFLog (21): Error loading /Library/Audio/Plug-Ins/Components/dummy.component/Contents/MacOS/dummy: error code 4, error number 0 (Symbol not found: _CGFontGetDescent
Referenced from: /Library/Audio/Plug-Ins/Components/dummy.component/Contents/MacOS/dummy
Expected in: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
)
FATAL ERROR: OpenAComponent: result: -50,0xFFFFFFCE
Surprisingly enough, the same binary does work flawlessly on a Intel running the same version of Tiger…
if the MAC_OS_X_VERSION_MAX_ALLOWED is set to 10.4, then the font code shouldn’t call any of those newer functions. I wonder if there’s something in the ppc build that’s setting that incorrectly? Did you build with the 10.4 SDK?
I built with 10.5 SDK on a 10.6 machine, then tried the resulting binary on two macs with 10.4, one is a PPC and the other is an Intel. The Intel works properly, while the PPC gives the error above.
Is it possible that the macro NEW_CGFONT_FUNCTIONS_UNAVAILABLE returns the wrong result when evaluated on PPC, or is this a dynamic linking problem?
Well, since a ppc mac can’t be any later than 10.4, I guess I could just add an extra check in case the MAC_OS_X_VERSION_MAX_ALLOWED setting thinks otherwise:
#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5) || JUCE_PPC
#define SUPPORT_ONLY_10_4_FONTS 1
#endif
I will try to see if this works…
It does, but now it complains regarding another symbol: CGContextDrawTiledImage
Ok, that’s exactly the same problem. I think it needs a more general solution, perhaps like this, in juce_TargetPlatform.h:
#if defined (__ppc__) || defined (__ppc64__)
#define JUCE_PPC 1
#undef MAC_OS_X_VERSION_MAX_ALLOWED
#define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_10_4
#else
I agree. Hope this will find its way into the tip soon
I noticed you applied the “more general” approach to the tip, and then I suggest you to remove the || JUCE_PPC clause that you added in first place to juce_mac_Fonts.mm, in order to avoid confusion, what do you think?
Oh, did I leave that in? Yep, I’ll tidy it up.
