Re: AU version hex format
Re: AU version hex format
- Subject: Re: AU version hex format
- From: Jim Wintermyre <email@hidden>
- Date: Thu, 3 Jan 2008 23:00:05 -0800
Blast from the distant past. I've finally gotten to the point where
I need to use a two-digit minor version number for my AU's. My last
release was version 4.9.0, and the next one is going to be 4.10.0. I
recalled some discussion long ago that the component version should
be in BCD:
At 5:58 PM -0700 10/10/03, William Stewart wrote:
After some further discussions we decided to use BCD for numbers
greater than 9. Thus, 10.3.1 would be:
0x100301
2.3.1 would of course be the same in either case:
0x20301
Sorry for the confusion
Well, I changed my version number to 0x00040A00, because I forgot
about the BCD conversion, and lo and behold auval reports:
Component Version: 4.10.0 (0x40A00)
Component's Bundle Version: 0.0.0
So a few questions:
- Are we in fact supposed to be using BCD format? If so, what auval
is reporting is wrong. My version number should be 0x00041000.
auval should report that the "A" in the version is not legal. Or, if
we're not using BCD, then it's reporting the right thing and I leave
my version alone. BTW, Logic also reports the AU version as 4.10.0
in their AU Manager if I use a version number of 0x00040A00. If I
change the version number to the "correct" 0x00041000, then auval and
Logic both report the component version to be 4.16.0. Honestly, if
the version numbers are just being treated as raw hex instead of BCD,
that's fine with me. It makes it easier to programmatically
generate, and we don't have to wait for hosts to update their version
display code while our users wonder why the wrong version is getting
reported. But I do need to know which way it's going to be.
- Why is the "Bundle Version" now all 0's? At first I thought this
was because I changed my version number, but now if I change it back
to 0x00040900, the Bundle Version is still showing up as 0.0.0. Do I
need to do some magic incantation to rebuild some cache somewhere?
All I'm doing is copying the AU to the
/Library/Audio/Plug-Ins/Components folder. If I reboot and re-run
auval, it's now still reporting the version as 0.0.0. Weird.
- Where is the "Bundle Version" coming from? Is it the
CFBundleVersion in the component's Info.plist, or is it the component
version in the 'thng' resource? The CFBundleVersion is a string, but
the version in the 'thng' resource is a long formatted as above.
Here's the rest of the original thread for reference:
On 10/10/2003, at 12:55 PM, William Stewart wrote:
We're using straight Hex: Thus 2.3.1 would be:
0x20301
The Validation tool will try to print out the version in this
format - and checks that the number returned from the component
resource is the same as the number returned from the
GetComponentVersion API call (but it doesn't do any pass/fail
logic on the format of these numbers)
Bill
On 09/10/2003, at 11:49 PM, Jim Wintermyre wrote:
Reviewing some earlier discussion on this, I came across the
following response from Bill to Marc:
> I was wondering, is it explained anywhere what exactly the format for
> Audio Unit version values should be? I mean the value in the 'thng'
> resource and returned by the Version component selector. For some
> reason,
> I was under the impression that the format was like this:
>
> 0xMMMMmmbb
This is the format that we are using
I have a question. Is this similar to the old 'vers' format where
the M/m/b numbers are actually in *BCD*? Should our component
version numbers be BCD or straight hex?
Thanks,
Jim
_______________________________________________
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