Okay, I've done some sniffing around in the QuickTime Preferences
file, doing some before and after comparisons, and have come up some
solutions to the 7.1.3 disabling Flash tracks by default.
This may not work in future releases of QT, but the same could be
said of our apps that previously relied on Flash anyway. Use it at
your own risk. The code checks the appropriate atoms using the
QuickTime Preference functions. It works on PowerPC and Intel Macs,
but interestingly enough QT stores the structure in native byte order
which might be considered a bug in QT.
I'm not sure whether Flash has always been optional in QT (but
enabled by default) or whether it only became optional with this
update. You'll want to first do the appropriate
gestaltQuickTimeVersion checks (eg. >= 0x07138000) before using these
functions.
There are a couple of ways to use the functions. You could just use
IsFlashEnabled() and present an meaningful error to the user, or you
could change the setting yourself with EnableFlash() as well.
The catch is that these routines need to be called after EnterMovies
(), but once EnterMovies() has been called at least once, the app
will not notice the changes and Flash will still be disabled for that
run.
This means you could auto-relaunch your app (only if EnableFlash() is
successful otherwise show an alert). It will normally only ever have
to do this once.
Or you could synchronously launch a tiny command-line tool that you
store inside your bundle before you call EnterMovies(), and test
EnterMovies() + IsFlashEnabled() after it returns, showing an error
alert if it failed. The disadvantage of the second approach is that
you cannot test (other than the QT version) beforehand, so you must
run the tool every time. A little ugly, but in practice, any delay is
probably negligible. The tool only needed to link to the QuickTime
framework, and was basically: EnterMovies(); if (!IsFlashEnabled())
EnableFlash();
I've tested both, but ended up using the relaunching method.
--
Scott Kevill
GameRanger Technologies
http://www.GameRanger.com
multiplayer online gaming services
_______________________________________________
Do not post admin requests to the list. They will be ignored.
QuickTime-API mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden