Re: Universal AU building problem
Re: Universal AU building problem
- Subject: Re: Universal AU building problem
- From: Eric Gorouben <email@hidden>
- Date: Wed, 26 Sep 2007 22:41:16 +0200
Hi, There
(Sent by mistake to Bill only, resending it to the list)
Thanks, Bill, for the quick and very clear reply.
I don't quite understand however.
/****** Extra bytes follow... ******/
/* $"0001 0000 0000 0009 0000 0000 0002 1000" /
* .......?........ */
/* $"0000 -> 646C 6C65 03E8 0005 <- 1000 0000
646C" /* ..dlle.?......dl */
/* $"6C65 03E8 0006" /
* le.?.. */
This shows both PPC (0005), and Intel (0006) with RES_ID=1000
(0x03E8), according to AUResources.r, right?
AUResources.r:
componentHasMultiplePlatforms | componentDoAutoVersion,
0,
{
cmpThreadSafeOnMac,
Target_CodeResType, RES_ID,
Target_PlatformType,
#if TARGET_REZ_FAT_COMPONENTS
cmpThreadSafeOnMac,
Target_CodeResType, RES_ID,
Target_SecondPlatformType,
#endif
In that case, my rsrc seems correct.
Any idea?
Thanks again
Eric
Le 26 sept. 07 à 20:52, William Stewart a écrit :
Yes - you don't have the resources for the PPC side:
data 'thng' (2062, "AUGraphicEQ View") {
$"6175 7677 6772 6571 6170 706C 0000 0000" /*
auvwgreqappl.... */
$"0000 0000 0000 0000 0000 5354 5220 080E" /
* ..........STR .. */
$"5354 5220 080F 0000 0000 0000 0001 0000" /*
STR ............ */
$"0000 0009 0000 0000 0001 1000 0000 646C" /
* ...?..........dl */
$"6C65 080E 0005" /*
le.... */
};
the 0005 at the end here is the ID for the PPC version of the
component. The 0006 one you have:
/****** Extra bytes follow... ******/
/* $"0001 0000 0000 0009 0000 0000 0002 1000" /
* .......?........ */
/* $"0000 646C 6C65 03E8 0005 1000 0000 646C" /
* ..dlle.?......dl */
/* $"6C65 03E8 0006" /
* le.?.. */
is the ID for the Intel side.
So, in your project you need to make sure you have a couple of
things sorted out:
(1)The AUResources.r file needs to be able to build universal; if
you are on a recent update of the Tiger dev tools this should be ok.
(2) Your project needs to have at least the following in the "Other
Rez Flags" setting for your AU's target:
-d ppc_$ppc -d i386_$i386
This defines symbols for Rez for when it is invoked to build the
resources. So, if you build for PPC, this will get:
ppc_YES
defined
If you build for Intel, this will get:
i386_YES
defined
Then in your resource file it looks something like this:
#define RES_ID kAudioUnitResID_SampleEffectUnit
#define COMP_TYPE kAudioUnitType_Effect
#define COMP_SUBTYPE 'Pass' // this effect just passes audio through
#define COMP_MANUF 'Acme' // note that Apple has reserved all all-
lower-case 4-char codes for its own use.
// Be sure to include at least one
upper-case character in each of your codes.
#define VERSION kSampleEffectUnitVersion
#define NAME "Acme Inc: SampleEffectUnit"
#define DESCRIPTION "Acme Inc's favorite audio effect"
#define ENTRY_POINT "SampleEffectUnitEntry"
#include "AUResources.r"
And its these defines (ppc_ or i386_) that are used in
AUResources.r to build the appropriate resources (Intel or PPC or
both) using the customised strings, etc, you provided
HTH
Bill
On 26/09/2007, at 10:51 AM, Eric Gorouben wrote:
Hi there,
I've seen several posts related to this kind of issue, but none of
the answers solved my problem.
I'm building an universal AU.
auval doesn't recognize it:
And this is the derez output:
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden