The other day I decided to class-dump QTKit in hopes that QTMovie would have a real update-in-place method [1]. Well first of all, class-dump doesn’t work with 64 and 32 bit universal binaries so I didn’t actually use class-dump but rather o-tool [2].
Unfortunately QTKit doesn’t have some hidden update-in-place method. But! that isn’t to say it doesn’t have a bunch of really useful stuff that should be public for the sake of mine, and as a result everyone else’s sanity.
The following are just a few of the hidden methods, they’re simply the ones I found the most immediately useful.
@property float treble;
@property float bass;
The treble and bass properties do exactly what you think they do, they change the bass and treble levels on the receiving movie. The value scale is (oddly) between -8.0 and 8.0, 0.0 being default.
@property float balance;
Balance, just like the treble and bass properties, does exactly what you think it does. The value scale is between -1.0 and 1.0, 0.0 being default.
@property float gain;
I can’t say I am entirely sure about this property, it appears to be an alias for volume. The value scale is 0.0 to 1.0, 1.0 being default.
- (BOOL)isDRMAuthorized; - (BOOL)isDRMProtected;
By far the most amusing of the hidden methods. I could see this being fairly useful.
@property BOOL saveable;
As far as I can tell this is just a convenience method that doesn’t really seem to do anything all that useful.
@property (copy) NSDictionary *annotations;
This has to be the most useful of the properties I found. ‘annotations’ is dictionary which contains all of the metadata associated with the file you’ve loaded into a QTMovie.
@property (copy) NSString *copyright;
This is likely another convenience method, the same information is available thru -attributeForKey: if you don’t feel like using private methods.
There we plenty of other private methods, many of which were convenience methods. The list above is simply of the methods I found immediately useful, there are dozens more.
If you wish to view the dump in its entirety the dump file is available here [3].
[1]: Yes, I am aware of -updateMovieFile, it doesn’t work for anything other then MOV files.
[2]: Okay, if you hadn’t guessed by now I dumped QTKit on Leopard.
[3]: Code dump generated with “otool -o -V /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit > QTKit.dump”.