QuickTime Developer Series


Corrections

First Edition

Second Edition


Corrections to the Second Edition

The corrections immediately below are to errors in the second edition.
Scroll down or click this link to read corrections to the first edition.


Mac OS X

If you are running Mac OS X you do not need to install QuickTime from the CD. You already have a newer version of QuickTime installed.

If you attempt to run the QuickTime Installer on the CD, it will launch Classic and attempt to update the OS 9 version of QuickTime. This should do no harm, but it is not recommended.

You do need to register the name and number from your CD to unlock the Pro features of QuickTime for OS X.

To register QuickTime Pro for OS X, do one of the following:

  1. In the Apple Menu, choose System Preferences... (or click the System Preferences icon in the dock-- it looks like light-switch by the Apple logo)
  2. Click QuickTime (blue Q)
  3. Click Registration... (button at bottom right)
Alternately,
  1. Click the QuickTime Player icon in the dock (TV with Blue Q)
  2. In the QuickTime Player menu, choose Preferences > Registration...
In any case, continue by clicking the Edit Registration button.

Fill out the first field, "Registered to:", with the name from the card in the back of the book, for example,

Registered to: MPK5 QTWeb XXXXX

IMPORTANT:
If the "Registered to:" field does not have the format
MKP5 QTWeb XXXXX (where XXXXX is a five-digit number) you have a misprinted card. Use the field with the format MKP5 QTWeb XXXX (usually the third field on misprinted cards).

Enter the number for Macintosh in the "Number:" field, as illustrated below.

Number: XXXX-XXXX-XXXX-XXXX-XXXX

Click OK

If you get an error message, check your entries. Some things to watch out for:


Misprinted Registration Cards

If you have trouble trying to register QuickTime 5 Pro using the card in the CD-ROM packet, it may be the result of a printing error on some of the cards. Don't panic, this is easy to fix.

On the card are three fields--"Register to," "Number" (for Macintosh), and "Number" (for Windows). Each field contains a sequence of numbers and letters. In the misprinted cards, the "Register to" sequence is switched with the "Number" sequence for Windows.

During registration, you are asked to enter a sequence in the "Registered to" field. The sequence should look something like this:
MKP5 QTWeb XXXXX

On the misprinted cards, this sequence appears in the third field. Be sure to enter the exact sequence, including spaces and upper or lowercase letters.

You can put anything you want in the "Organization" field, or leave it blank.

You are then asked to enter a "Registration Number". This sequence is 20 characters long and separated by hyphens. It looks something like this:
P8AA-R2GR-P48A-AM2Q-XXXX

If you are installing the Windows version, enter the sequence that appears in the first field of the card. If you are installing the Macintosh version, enter the sequence that appears in the second field.

Be sure to enter the exact sequence, including hyphens and upper or lowercase letters.

If you still have problems installing QuickTime Pro 5, please contact Stacie Pierce at Morgan Kaufmann Publishers: spierce@mkp.com.




Corrections to the First Edition

The corrections below are to errors in the first edition. These corrections have already been incorporated in the second edition. If you have the second edition, you may ignore the rest of this page.


QTNEXT and GOTO

The sample code in chapter 5 that shows how to use GOTOn in a QTNEXT sequence uses the wrong syntax. Don't put angle brackets around the GOTO statement.

Right:
QTNEXT1="<First.mov> T<myself>"
QTNEXT2="<Second.mov> T<myself>"
QTNEXT3="GOTO0"

Wrong:
QTNEXT1="<First.mov> T<myself>"
QTNEXT2="<Second.mov> T<myself>"
QTNEXT3="<GOTO0>"


Linking Streams to QuickTime Player

On page 381 (1st printing) or page 383 (2nd printing) this bad code appears:

< EMBED SRC="Launch.mov" HEIGHT=320 WIDTH=240
CONTROLLER="False" AUTOSTART="True"
QTNEXT1="rtsp://server.domain.com/Streaming.mov"
TARGET="quicktimeplayer" >

Bad code! Down, boy!

In the first place, it's AUTOPLAY, not AUTOSTART.
In the second place, TARGET doesn't work with QTNEXT.
Here are two ways to open a stream in QuickTime Player from a Web page--without asking the viewer to click anything--that actually work:

< EMBED SRC="Launch.mov" HEIGHT=320 WIDTH=240
CONTROLLER="False" AUTOPLAY="True"
QTNEXT1="<rtsp://server.domain.com/Streaming.mov> T<quicktimeplayer>" >

(This technique embeds the target in the URL, so it works with QTNEXT. Be careful to get the quotes and angle-brackets right.)

< EMBED SRC="Launch.mov" HEIGHT=320 WIDTH=240
CONTROLLER="False" AUTOPLAY="True"
HREF="rtsp://server.domain.com/Streaming.mov"
TARGET="quicktimeplayer" AUTOHREF="True" >

(This technique uses AUTOHREF to launch the stream immediately, instead of at the end of Launch.mov You can leave out the AUTOPLAY if Launch.mov is just an image. TARGET works fine with HREF.)


SMIL When You Say That

Chapter 18, "SMIL for the Camera," contains the following errors:

Furthermore, the endsync and repeat attributes are not supported in QuickTime 4.1.2, so they really shouldn't have been mentioned at all. (Me and my big mouth...)


Text and Targets

In Chapter 13, "Text! Text! Text!," the section on the {HREF:} text descriptor leaves out an important bit of syntax. If you include a target, the URL must be surrounded by angle brackets. In other words,

{HREF:http://www.apple.com} Apple {endHREF}
becomes:
{HREF:<http://www.apple.com> T<Target>} Apple {endHREF}

If you leave off the angle brackets, as I did in the code sample, the target parameter is treated as part of the URL. Oops.

You should also note that the {HREF: } element does not work reliably in scrolling text (as of QuickTime 4.1.2). It works in vertically-scrolling text on the Mac, but not in horizontally-scrolling text, and not on Windows.


Poster-Movie-Poster

Chapter 5, "Special Delivery," describes a technique for creating a poster/movie combination, so that clicking the poster runs a movie that turns back into a poster when it's done.

This works, but only up to a point. The poster turns into a movie, which turns back into a poster. Unfortunately, clicking the poster a second time has no effect.

To make the process repeat as often as the user clicks the poster, you need to add an HREF Track to the movie (instead of using QTNEXT). For an explanation and a demonstration, click here.



Second Printing

All the corrections below this line have been incorporated in the second printing of the first edition. If you have the second printing of the first edition, you may ignore the rest of this page.

How do you know if you have the second printing?

You have the second printing of the first edition if the copyright page (page iv) includes:
Second printing August 2000



SMIL ('though your heart is breaking...)

Chapter 18, "SMIL for the Camera," discusses the REPEAT attribute.
QuickTime 4.1 does not yet support the REPEAT attribute in SMIL documents.
Oops. Sorry.


New Mouse, Extra Jam

The version of MouseJam's mousejamqt4.mov that was included on the CD is an old, unwashed version.
Download the new, wrinkle-free version at:
http://www.mousejam.com/bisset/bissetgroove.mov
or
http://www.mediachrome.com/mousejam/mousejamqt4.mov


Preventing Hijacking with SRC and QTSRC

Other plugins can hijack the .mov file type, preventing people from viewing QuickTime movies, even when QuickTime is installed. I recommend a solution in the book, but there is a better alternative.


The Old Solution

In the book, I recommend correcting this by setting the SRC parameter to a QuickTime Image File (.qti or .qtif file extension, MIME type "image/x-quicktime"), then passing the actual movie url in the QTSRC parameter.

The HTML looks like this:
<EMBED QTSRC="Actual.mov" HEIGHT="yyy" WIDTH="xxx"
      SRC="UNeedQT4.qtif" TYPE="image/x-quicktime"
      PLUGINSPAGE="http://www.apple.com/quicktime/download/" >

This does prevent hijacking, because other plugins don't take over .qtif files. People with QuickTime 4 or later see the movie, not the image.

BUT, your Web server must have the .qti and .qtif file extensions mapped to the MIME type "image/x-quicktime" for this to work, and the file UNeedQT4.qtif must actually exist on the server.

AND, unfortunately, people with earler versions of QuickTime see a broken plugin icon instead of the QTIF image. QuickTime 3 (and 2.5) can display QTIF files, but prior to QuickTime 4 the plugin didn't advertise the MIME type. If you have QuickTime 3, your browser is configured to use PictureViewer for .qtif files, not the QuickTime plugin. The EMBED tag is not compatible with helper apps, only with plugins, so the .qtif image does not display.

Again, this technique does prevent hijacking, and with QuickTime 4 or later all is well, but people with earlier versions of QuickTime see a broken plugin icon, not a nice image telling them where to get the latest version of QuickTime.


The New Solution

There is an alternate approach you can take that works with older versions of QuickTime. Instead of passing a QTIF file in the SRC parameter, pass a MacPaint image (file extension .pntg, MIME type "image/x-macpaint"). Don't laugh, this actually works.

The HTML looks like this:
<EMBED QTSRC="Actual.mov" HEIGHT="yyy" WIDTH="xxx"
      SRC="UNeedQT4.pntg" TYPE="image/x-macpaint"
      PLUGINSPAGE="http://www.apple.com/quicktime/download/" >

This approach also prevents hijacking, and people with QuickTime 3 see an image telling them they need to upgrade, rather than a broken plugin icon.

Important: Your Web server MUST be configured to associate the .pntg file extension with the MIME type "image/x-macpaint" or it won't work.

Yes, it works on Windows. No, the viewer doesn't need MacPaint (and neither do you). You just need an image in MacPaint format. You can convert a black-and-white bitmap image into MacPaint format using PictureViewer, or you can use one of these images:

Here are three images you can use: 640x480, 320x240, 180x120

Use the largest image that fits inside the height and width you allocate for your movie.

All the images are 5 kbytes in size.

Bear in mind that only people with QuickTime 3 will see the image. People with QuickTime 4 or later will never see it -- they see the movie instead.

Note: If you want to make your own image, start with a program such as Photoshop. The image size must be exactly 576 x 720 pixels (W x H). It must be black and white (not grayscale). The part of the image you want people to see must be centered. If your desired image size is 180 x 120 pixels, for example, put an image that size in the center of a 576 x 720 field. Save it as a bitmap image. Convert it to MacPaint format using PictureViewer (included with QuickTime Pro).


Duke, Duke, Duke, Duke of URL, URL, URL

Here's a critical bit of information that got left out of the book-- when you specify a url in the HREF or QTNEXT parameter of the EMBED tag, it's relative to the currently-loaded movie, not relative to the current HTML page. If the page is in a different directory than the movie, that's an important distinction.

Why does QuickTime do this? Because the browser doesn't always tell the plugin the url of the current page!

For the same reason, but somewhat surprisingly, if you use a relative url in the QTSRC parameter, it's relative to the url specified in the SRC parameter. And if you use a chain of QTNEXT statements, each url is relative to the previous one!

Of course, if all the movies are in the same directory as the Web page, the relative url is just the filename, and it always works. The same is true if the movies are in the same directory as the file specified in the SRC parameter-- the relative url is just the filename, and it works.

Short answer: If you use relative urls in the EMBED tag, put your movies in the same directory as the Web page that uses them. That way, there's no confusion about what the urls are relative to. It Just Works.


Tunnel of Fun

On page 580, the book refers to a movie named Tunnels.mov and the LiveStage project used to create it. Through an oversight, the movie and the project were left off the CD.

The movie contains multiple VR panoramas linked by transition movies. It also includes a VR object movie and some wired sprite actions (you have to find the object and pick it up before you can go through the closed door).

You can download the movie (2 MBytes) and/or the LiveStage project (2 MBytes) from this website. Sorry for the inconvenience.


More to come...

Home | Updates | FAQ | Table of Contents | Sample Chapter