   
                                                 Director 7 Beta 1 (build 7.0d77)
                                                                 
Contents

   1. Introduction
   2. General Stability Notes
   3. Bug Reporting Information
   4. Installation Issues
   5. What's New
   6. Changes in Functionality
   7. Known Issues 
   8. Documentation Additions
   
1. Introduction

   We are excited to bring you an early beta of Director 7. Before you begin, please read this file to understand what
   changes to Director we have made since version 6.5. There are a number of important feature-related items that you should
   review in this document before starting.
   
2. General Stability Notes

   Director has undergone some radical architectural changes since Director 6.5. Some things you will notice immediately: (1)
   the application starts faster, (2) it is a smaller download and has a smaller footprint than D6, and (3) it contains
   unexpected bugs in normally stable areas. While it may not appear so, D7 is a very different product than D6. While all
   this work will in the end produce a faster, more stable and more consistent overall authoring experience with fewer bugs
   in the underlying player, please remember that you are using a work in progress.
   
   To be blunt, D7 Beta 1 will crash your system--possibly in a feature that has been reliable for years. Your task is to
   help us isolate issues that we may have overlooked thus far in our own testing.
   
   Warning: Be sure to back up your D6 files before converting them to Director 7.
   
   To get you started, here is an overview of some areas that we know contain some significant weaknesses.
   
  Text
  
   The text engine in Director has gone a major functional change. Text is now rendered live, allowing runtime editing of
   rich, anti-aliased text. Here are some functional problems with text that will be fixed in the very near future:
   
     * Text is always anti-aliased to the background color of the text cast member itself -- it does not currently anti-alias
       to the stage. In beta 1, Text will appear to have a "halo" when its background color does not match the stage.
     * Blend and background-transparent ink modes do not always work correctly with text.
     * Text from previous Director movies will be converted to the new text types. If you find your text looks radically
       different, please let us know and send in a bug report.
     * Text doesn't currently support underline when anti-aliased.
     * Text cannot be created in externally linked casts. Updating a D6 movie with text in an external cast will also
       fail--the cast members cannot be edited.
       
  Paint Window
  
   The paint window is still under reconstruction, so there are a number of bugs in it that will crash your system. Among
   them:
   
     * Bucket gradients may crash.
     * The pen tool may crash when zoomed x4.
       
  Xtras
  
   Due to the changes in architecture, some existing Xtras (from both Macromedia and third parties) are not currently working
   properly. You will encounter problems simply updating these movies containing these xtras as well as problems with
   playback.
   
   We intend to maintain backwards compatibility with existing Xtras that use published MOA APIs. If you are an Xtra
   developer, please report bugs in Director 7 that prevent your existing Xtras from working.
   
  Casts
  
   External casts that are not linked to the current movie ("floating casts") do not support Text, Vectors, QuickTime, or any
   Xtra. Link these casts or use internal casts for these data types for the time being.
   
   Linked external casts which are linked into the current movie more than once will cause problems. You should avoid editing
   movies that link the same external cast more than once.
   
  Projectors
  
   To run a projector, you must manually place two files next to it. On Windows, copy Iml32.dll and Dirapi.dll from the
   Director 7 folder to the folder containing the projector. On Macintosh, copy IMLLib and DPLib from the Director 7 folder
   to the folder containing the projector. Projectors will fail to launch without these files.The Mac also requires MSL
   C.PPC.DLL and MSL RuntimePPC.DLL. If these are already in your system extensions folder, you are fine. Otherwise, put
   these files in the same folder as your projector application.
   
3. Bug Reporting Information

   Please see the beta web site for detailed information on reporting bugs.
   
   It is important that you tell us what version of Director you are testing with, including the "d" build number. Beta 1 is
   version 7.0d77. You can verify the version at any time by opening the message window and typing "put version".
   
   You can also help us by including Dr. Watson or Macsbug stack traces in bug reports. It is important that test sites use
   the latest version of Macsbug (6.5.4a4).
   
   A detailed explanation of the steps required to recreate the problem, as well as the stack trace information, will help us
   to determine and correct the problem.
   
4. Installation Issues

   System requirements:
     * Macintosh PPC with System 7.6 or later.
     * Windows 95, Windows 98, or NT4.
       
   These system files are required to run Director 7:
   
   File Platform Version Destination
   Msvcrt.dll Win32 7128 windows\system or windows\system32
   Appearance Extension Mac 1.0.2 Extensions folder
   MSL C.PPC.DLL Mac - Extensions folder
   MSL RuntimePPC.DLL Mac - Extensions folder
   
   If these files don't exist on your system, they will be added by the D7 installer. If they do already exist on your
   system, they will only be updated if the version listed above is newer than the version on your system.
   
   Important Note About the Mac Plugins: The Mac D7 installer installs the Shockwave plugin into the <D7 installation
   path>:Plugin folder. After completing the D7 installation, you must move these files into your browser's plugin folder.
   
   The Help System is a separate download.
   
   Uninstall on Windows will not remove all folders if the app has been started up. It will not remove the help system.
   
5. What's New

   A comprehensive list of the new features can be found in the online help system (which is a separate download--see the
   beta site for location). Here is a brief overview and corrections to that list.
   
  New Engine
  
   Director has been rebuilt from the ground up. After five years of development, a completely new Director player is fully
   implemented for playback and authoring. The player is smaller, faster, and works better than ever.
   
  Transparency
  
   Use alpha channel effects to import or create transparent color images. Import 32-bit images with transparency from
   Photoshop, Fireworks, or any other image editor that supports alpha channel effects.
   
  RGB Color Support
  
   For accurate color anywhere, specify any color using RGB values instead of choosing colors from an indexed palette. Enter
   RGB values for sprites, the movie background, or anywhere you specify a color. Choose RGB colors from a standard color
   picker, or enter hexadecimal values in the Sprite inspector.
   
  Sprite Rotation and Skewing
  
   Rotate and skew sprites on the stage without using multiple cast members. Specify the degree of rotation and tween the
   settings to make sprites tilt or spin.
   
  Higher Frame Rate
  
   Movies can now move at up to 999 frames a second, making movies go faster and Lingo more responsive.
   
  Smaller, editable, better text
  
   Anti-aliased text is now editable while a movie plays, controllable from Lingo, and much smaller than before. The size of
   text cast members is now limited only by system resources.
   
  Embedded compressed fonts
  
   Embed fonts in movies so that any fonts can be used in any movie, regardless of the fonts installed in the user's system.
   Director compresses embedded fonts so they usually add only 14 to 25K to a file. Distribute fonts in movies with no legal
   restrictions.
   
  HTML import
  
   Import formatted text from any HTML document. Director recognizes many common HTML formatting tags.
   
  Anti-Aliased, Bezier-Controlled Vector Shapes
  
   New vector shapes can be anti-aliased against any background and can be controlled by Bezier control handles via a new
   Vector Shape editor. Use the Pen tool in the editor to create irregular shapes, just like in Freehand. Vector shapes can
   be modified at runtime from Lingo. (Please note that the help system is outdated in regard to vector shapes--see
   Documentation Additions later in this document.)
   
  Flash 3 Support
  
   Director now supports the Flash 3 file format and playback features, including the following: Transparency, alpha
   channels, vector morphing, animated buttons, MMX support on Windows, blend ink to modify Flash movie transparency,
   real-time skewing, real time horizontal and vertical flipping, real-time colorization, access to flash frame labels, a new
   findLabel() sprite function to get frame numbers from label name strings.
   
  Preview in Browser
  
   Preview the current movie in a browser at any time to detect display or interactivity problems. Just choose File > Preview
   in Browser.
   
  Web Palette
  
   Map all your 8-bit images to the included palette of web-safe colors to avoid any color display problems in browsers.
   
  Integrated Asset Xtras
  
   Cast members created by Xtras are now nearly indistinguishable from other cast members. An Xtra cast member can now import
   using File > Import, access Director Help, display properties in normal dialog boxes, and open media editors.
   
  Easier Streaming
  
   New Movie Playback properties and a library of behaviors make it easy to stream movies without writing any Lingo.
   
  Animated GIF Playback
  
   Use an animated GIF anywhere in a movie as a normal cast member. Control how many times the animation loops and when it
   plays. Existing animated GIF files can be added to movies by standard import or through the Insert file menu under Media
   Element-->Animated GIF. These files may be embedded in Director, or linked to a local or http://... file. No lingo is
   required for animation.
   
  HTML Help
  
   Director Help has been completely revised and implemented in HTML. See multimedia Show Me movies and snippets play in the
   middle of a topic. Use the table of contents to navigate through all material regarding the authoring environment and
   Lingo.
   
  Internal Bitmap Compression
  
   Imported JPEG images are kept in their original compressed formats. This provides for smaller files and faster download
   times.
   
  Lingo Improvements
  
   New dot property notation shortens the syntax and improves readability for complex objects or multidimensional arrays.
   Bracket list access and optional set keywords also make coding faster and easier. A new date type provides control of
   international date and time formats. Scripts can now be of any length, limited only by system resources.
   
  NetLingo improvements
  
   Post text or form data to http servers for easier communication with CGI scripts. Improved information on media loading
   makes it easier to author streaming Shockwave. An XML parser lets you manipulate data stored in the open standard XML
   format.
   
  Multi-User Server
  
   Create Shockwave movies and Director projectors that communicate with others in real time over the network. Build chat
   rooms, multi-user games, shared experiences, etc.
   
  XML Parser
  
   D7 includes an XML Parser Xtra for build parsing of XML data. (See below in Documentation Changes for more information on
   the XML Parser.)
   
  Custom Thumbnails
  
   Director 7 allows you to set custom thumbnails on your cast members to make them easier to browse through in the cast
   window.
   
  Library Palette
  
   Choose behaviors and other useful objects from a compact palette. Director 7 includes several libraries of behaviors and
   objects. The Library palette prevents accidental editing and lets you see more behaviors at once.
   
6. Changes in Functionality

  Lingo
  
   In order to support the many Lingo syntax improvements in D7, some Lingo constructs are no longer supported. While
   existing movies that use these constructs should continue to play correctly, scripts containing them can no longer be
   recompiled. If you edit a script containing one of these constructs, you will need to remove the unsupported construct
   before it will compile again.
   
     * New restrictions on member function.
       Member references with parentheses followed by the "of castLib" qualifier are not supported.
       Old: set m = member(X) of castLib Y
       New: set m = member(X, Y)
       Note that "member X of castLib Y" is still allowed. You may still use the "of castLib" qualifier if you don't use
       parentheses after member.
     * Global variables as first parameter need to be declared.
       In earlier versions, the first argument to a function or command was allowed to be undeclared and Lingo would assume
       it was a global variable. (This was necessary to support the outdated factory syntax.) You may find you have to
       declare globals used as first parameters.
       For example, in Director 6 the following would not give a syntax error:
       on foo
         doSomeThing gVar
       end
       In Director 7, you must now declare gVar to be global:
       on foo
         global gVar
         doSomething gVar
       end
     * Factories no longer supported
       Factory-style scripts were declared obsolete in Director 4, with the introduction of parent scripts. Although movies
       that use factories will continue to play, Director 7 no longer supports compilation of factory scripts. Factories will
       need to be rewritten using parent script syntax.
       
  QuickTime 3
  
   In Director 7, The QuickTime 2 cast member has been completely replaced with the new QuickTime 3 Xtra cast member.Existing
   QT cast members will be automatically updated to use the new Xtra.
   
   The QuickTime 3 Xtra is far more integrated into Director than it was in D6.5:
     * QuickTime movies can be imported through the Import dialog, like other linked assets.
     * You can view, edit, and create QuickTime movies from within Director, on both Mac and Windows, using the QuickTime
       media editor window.
     * QuickTime 3 and Director 7 are far more cooperative in terms of startup time and playback performance.
     * QTVR lingo callbacks are now fully supported. If you can do it in Lingo, you can do it in a QTVR callback!
     * The QT3 file resolution and Internet download are now managed the same way other linked cast members work.
     * No more "Can't find Xtra" warnings if QT3 isn't installed.
       
   Director 7 only supports QuickTime 3.0. On the Mac, if QT3 is not installed but QT2 is, it will be possible to import
   QuickTime cast members, but they will not play and the properties dialog will not be accessible. On Windows, no QuickTime
   functionality is available unless QT3 is installed.
   
  Streaming
  
   Movies now stream by default. When creating a new Shockwave movie, it will be set to begin playback immediately without
   waiting for media assets to download. If you want to have your net-based movie download in its entirety before your movie
   begins playback, select the appropriate pre-fetch setting in the Modify> Movie> Playback Properties dialog. A simple
   checkbox for All Internal Media is provided.
   
7. Known Issues

   The following are known issues in the current beta release. They will be addressed in future beta builds.
   
  Aftershock
  
   The Aftershock utility is not included in this beta release.
   
  Alpha Channel Rendering
  
   Images with alpha channels exported from Photoshop and Fireworks are saved with the alpha channel information reversed
   from what Director expects. With regards to the alpha channel, Director looks at white pixels as 100% transparent and
   black as opaque. When working in these two applications, use black for 100% transparent and white as opaque, using gray
   values for varied levels of transparency in between.
   
  Animated GIF
  
   The following problems may be noted when playing back animated GIF files: 1) Inherent transparency is respected but may
   not be accurately rendered, 2) animated GIF files with local color tables may exhibit slight color abnormalities,3)
   occasionally, internet linked animated GIF cast members will fail to appear during playback,4) live preview in the
   animated GIF options dialog is not yet functioning, 5) Entering a bogus http://file.gif pathname in the options dialog
   will hang Director (Windows only for the last point).
   
   Url-linked animated gif castmembers are not supported at this time.
   
  Browser Scripting
  
   Windows, Netscape only: Any Shockwave movie which loads Java (with "name" in the embed tag or with the LiveConnect
   attribute set to true) will cause a crash. Browser Scripting thus cannot be tested. Use Internet Explorer on Windows or
   Netscape on Macintosh to test this feature.
   
  Cast
  
   When editing certain castmembers, members of the wrong type may appear when scrolling through the cast with the arrow
   keys. You may similarly see the wrong type of member when opening a window for editing. Members affected include text,
   vector shapes, flash, and digital video.
   
  Multiuser Server
  
   When using the Multi-user Xtra, the server response message generated by a "getUserGroups" command will be have an
   incorrect #subject of "getGroupList". Setting netMessageHandlers based on this subject will cause unexpected results.
   
  Cue Points
  
   Cue point assignments get reset to "{ End }" in the tempo window after saving movie. Even though they appear to have been
   reset, Director still adheres to the original cue points during playback.
   
   Lingo "on cuePoint" handlers may be called while transitions are running. This did not occur in Director 6.
   
  Cursor
  
   The Cursor Xtra properties dialog (accessed by Insert->Media Elements->Cursor... menu item), functions properly. You can
   create, edit and preview cursor made from 8-bit Director cast members. You cannot, however, use these cursors yet in
   Director 7.
   
  Digital Video
  
   In Director 6.5, when you went to a frame with a QT sprite linked to an URL, the sprite appeared on stage, but didn't
   render. You could access props, but you got default values.In Director 7, QT3 is like other members: you can't go to a
   frame that doesn't have the media downloaded yet, unless you tell the movie to use proxies. If you tell it to use proxies,
   you'll get an error if you try and access them.
   
   Url-linked digital media castmembers are not supported at this time.
   
  Export
  
   Director movies may not be exported in the .avi file format on windows. An exception error occurs.
   
   Mac: selecting the the animation and graphics compressor may cause errors; try increasing the memory partition.
   
   Export may fail if Quicktime is not installed.
   
   Exporting movies with linked sound files may create memory errors.
   
   The text window may turn gray and lose functionality when a non-text cast member is the first cast member in the cast and
   the text window is open.
   
   To create a projector from a movie containing embedded font members, projector, drag the Font Xtra to the Projector's
   folder.
   
   When exporting a movie as an .avi file, an error dialog may occur. Try different compressors and/or use different bit
   depths.
   
   Windows that obscure the stage during export may be visible in the exported file.
   
   Movies containing embedded fonts made on the Mac may not function properly on Windows (the text will not appear on the
   stage).
   
   The number of compressors doubles with each invocation of the Quicktime options dialog.
   
   Mac: Text using embedded fonts may lose spaces between words when charSpacing=0 or when anti-aliasing is turned off.
   
   The popup menu in the Font properties dialog displays certain fonts that can't be recorded, such as some Truetype fonts
   (those containing bitmaps) or Type 1 fonts on the Mac. These fonts will fail to appear in the preview in the Font
   properties dialog.
   
   Windows: Type 1 fonts will cause a freeze when set to anti-alias.
   
  File Open/Save
  
   Mac only: Occasion crashes on saving movies may be remedied by increasing the memory partition.
   
   Mac only: Opening an unlinked castLib containing special or double-byte characters via the File->Open dialog results in an
   unmapped memory exception.
   
  Flash Asset Xtra
  
   Flash Assets on the stage may disappear after saving and reopening a movie. They will reappear if played from within the
   Flash properties dialog.
   
   Shockwave movies containing Flash media will crash on Internet Explorer on Macintosh.
   
   Flash 3 "layers" (creating a Flash movie which links to other external Flash movies) is not supported.
   
  Import
  
   The import command fails to open the import dialog when Director's memory is full. There is no error message.
   
   The Image options dialog claims images are 32-bit when they were originally exported at 16-bit from Director.
   
   When importing multiple images with a screen depth of 8, the palette menu in the options dialog is dimmed. This will work
   correctly with some of the same images when imported one at a time.
   
   All GIF files are imported as animated GIFs--the Animated GIF dialog opens when double-clicking the member in the cast.
   
  Lingo
  
   Do not use gotoNetMovie from the message window to test linking to net-based movies. It will fail, and may result in a
   crash.
   
   Breakpoints may fail to trigger during playback. If you experience this problem, saving the movie should remedy it.
   Removing a breakpoint from a script may disable that script. If you experience this problem, try recompiling all scripts.
   
  Movies in a Window
  
   MIAWs don't allow editable text fields to receive input, and the cursor fluctuates between arrow and I-beam over editable
   fields that are in focus.
   
  Paint Window
  
   If a JPEG image is edited in the paint window, any Shockwave movie made from this file will fail to play. When the browser
   loads the Shockwave movie, a misleading "out of memory" error will appear.
   
  Preview in Browser
  
   If AOL is selected as your browser in your Preferences, you will encounter problems when using the gotoNetPage lingo
   command. When this command is invoked, AOL will launch, then display the error, "File too large for AOL to open". You will
   see the same problem when selecting Preview in Browser from the File menu. If you would like to view your Shockwave movie
   within AOL, you will need to this file as Shockwave movie, open you AOL browser and drag-drop the Shockwave file into the
   browser.
   
  Projectors
  
   To run a projector, you must manually place two files next to it. On Windows, copy Iml32.dll and Dirapi.dll from the
   Director 7 folder to the folder containing the projector. On Macintosh, copy IMLLib and DPLib from the Director 7 folder
   to the folder containing the projector. Projectors will fail to launch without these files.The Mac also requires MSL
   C.PPC.DLL and MSL RuntimePPC.DLL. If these are already in your system extensions folder, you are fine. Otherwise, put
   these files in the same folder as your projector application.
   
   It is necessary to update your D6 movies before Creating Projectors. Otherwise you will get an error message, "Unable to
   save changes to a linked file".
   
  Save as Java
  
   Save as Java is not supported in beta 1. It will be available in a future beta release.
   
  Shockwave
  
   Windows, Netscape only: Any Shockwave movie which loads Java (with "name" in the embed tag or with the LiveConnect
   attribute set to true) will cause a crash.
   
  Sound
  
   Director 7 Beta 1 support for Shockwave Audio (internally compressed sounds in DCRs or linked SWA files) is minimal.
   Support for SWA Audio will be addressed in a later beta release.
   
  Sprite Rotation and Skewing
  
   Currently, only bitmap sprites can be rotated with the rotation tool. Quickdraw shapes, buttons, text, and fields cannot
   be rotated. QuickTime movies, Flash animations and vector shapes can be rotated via their own properties dialog, but not
   with the rotation tool. The rotation tool will support other cast member types in later beta builds.
   
  Sprites
  
   Mac - Authoring: changing the width and height of sprites from the sprite inspector has no effect.
   
  Streaming
  
   When prefetching x number of frames of ALL media in the Modify->Movie->Playback properties dialog will initiate the
   download of any linked media in those first x frames, but the player does not wait for the media to be fully loaded before
   playback of the movie begins.
   
   On the Macintosh, downloading files in parallel over the internet frequently fails, usually with error 4154 (internet
   timed out) or 4164 (socket create failed). There are many ways to have this happen. Two common ones are issuing a second
   getNetText before the first completes, and placing two Url-linked images on the stage in the same frame without first
   prefetching one of them. This will be corrected prior to D7 shipment.
   
  Text
  
   If you view text by using the arrows in the Text Editor window, a Text cast member may be reported as having zero bytes of
   data.Instead, double-click on the cast member in the Cast Window to launch the Text Editor window.
   
   Windows only: Background transparent ink does not work correctly with text sprites if the background color is not white.
   The workaround is to match the sprite bgcolor to the member bgcolor.
   
   Changing the size of a text sprite does not refresh the newly exposed background area correctly. The workaround is to edit
   the sprite on stage.
   
   D7J only: application crashes on Win when you enter double bytes texts into Text, Field, or Script windows, while the
   application does not display correctly double byte text on any input windows on Mac
   
  Transitions
  
   Transitions fail to play when the monitor is set to 32-bit color. As a workaround, set the monitor to 24-bit color.
   
   A transitions may be interrupted by a Lingo "go to frame" command that occurs while the transition is running. Such a
   command might occur in a cuePoint handler or an idle script.
   
  Script Window
  
   Windows: In the Script Window and the Message Window, "Lingo Alphabetical" and "Lingo Categorized" do not insert Lingo
   strings into the script
   
  Updating Movies
  
   Mac only: Occasional crashes on updating movies may be remedied by increasing the memory partition.
   
   Movies containing Director 6.5 xtras and 3rd party xtras may not update properly.
   
   Director 4 movies may not update properly.
   
  Vector Shapes
  
   Known Bugs in Vector Shapes: The Vector Shapes editor may not update correctly when scrolling through cast members in
   different casts if the shape cast members share the same member number. Keyboard shortcuts may randomly stop working. They
   will work again if you close and reopen the editor. Shift doesn't constrain creation of primitives (shapes created with
   the circle, rectangle tool etc.) to perfectly symmetrical shapes. Redo does not work after undoing an action in the Vector
   Shapes editor. The Low Quality setting for Vector Shapes fills is not working on Windows machines.
   
   Shockwave movies containing Vector Shapes will crash on Internet Explorer on Macintosh.
   
8. Documentation Additions

   The following information is not currently included in the online help system, but will be added in future beta builds.
   
  Help
  
   Notes on using the HTML help system:
     * Help will be launched in the browser selected in Director's preferences (File> Preferences> Network).
     * Currently, all commands in the Help menu will open the help contents page.
     * On the Mac, help commands will fail silently if there isn't enough memory to launch the browser application.
       
  Library Palette
  
   Beta 1 has a few small libraries of behaviors in the palette as examples, mostly taken from the old D6 Behavior library.
   In addition, there is a new "Streaming" library that contains a number of useful behaviors to make your movies stream
   better over the Internet.
   
   Use the menu button on the top of the Palette to switch between different libraries. When you want to use a particular
   behavior or asset, you can drag it from the palette to the score, stage, cast window, other sprites, etc., much the same
   way you drag assets from floating cast windows. You can hide the names of the assets in a library for a more compact
   "icon"' view.
   
   To create your own libraries for the Library Palette, simply save your behaviors and assets as a floating cast lib and
   place it in the "Libs" folder next to the Director application. As your collection of libraries grow, you can organize the
   lib files into subfolders beneath the "Libs" root folder. These subfolders will show up as submenus in the libraries drop
   menu.Behaviors in the Library Palette become especially useful when used with custom thumbnails.
   
  Vector Shapes
  
   The help section for shapes is somewhat out of date. There have been many changes to the feature since it was written. The
   most notable changes are:
     * The feature name is now "vector shapes" (rather than "anti-aliased shapes").
     * Vector shapes are created only in the Vector Shape Editor window or through Lingo. They cannot be created directly on
       stage.
     * There is no on-stage editing or tools found in the tool palette specific to Vector shapes.
       
   You can access the Vector Shape editor by choosing Window> Vector Shape or Insert> Media Element> Vector Shape. Once
   opened, a shape can be created in the editor with either the pen tool or one of the existing shape tools (rectangle,
   circle etc.).
   
   Curves in the shapes can be manipulated with bezier handles, similar to those found in Macromedia's Freehand. Vector
   shapes can have solid or gradiation fills and variable line thickness. These properties can be set through the Vector
   Shape editor, the Vector Shape Properties dialog or through Lingo.
   
   The Flash Asset Xtra is required for playback of Vector Shapes in projectors or Shockwave. For more information, check the
   Help system.
   
  Custom Thumbnails
  
   There are two ways to set a custom thumbnail on a cast member. The first is through the cast member properties dialog:
   
    1. Open the cast member properties dialog.
    2. On the lower left corner of the thumbnail, there is a small drop arrow. Click on it to reveal a pop-up menu.
    3. From this menu you can cut, copy and paste thumbnails to and from the clipboard. You can paste in a thumbnail from
       other cast members, from the paint window, or from other image editing applications. Remember that while the thumbnail
       is scaled to fit when it is displayed, it is saved with the movie file at its original size, so be careful about
       setting a 1600 x 1200 thumbnail!
    4. You can clear a thumbnail from this popup menu. Doing so reverts to the cast member's "default" thumbnail.
       
   Additionally, you can get and set 'the thumbnail of member <x>' from lingo (authoring only). This has the same format as
   'the picture of member' so you can 'set the thumbnail of member 1 = the picture of member 2'.
   
   Custom thumbnails are particularly useful when applied to behaviors in the library palette. Thumbnails always use the
   default Macintosh palette.
   
  XML
  
   Documentation for the XML Parser Xtra was inadvertently left out of the online help system. The following describes Lingo
   used with the XML Parser Xtra.
   
   The XML Parser Xtra is a scripting Xtra which provides the ability to incorporate XML documents into their movies. The
   primary purpose of the Xtra is to parse XML documents, allowing an author to access and manipulate the data they store.
   
   The XML Parser Xtra allows Director authors to incorporate XML formatted documents easily into their movies, without
   having to write a parser.
   
    Lingo functions
    
   parser = new (xtra "xmlparser")
   Creates a new instance of the Xtra, a parser.
   
   ignoreWhitespace (parser, boolean)
   Specifies whether the parser should ignore or retain whitespace. True means to ignore whitespace. By default, the parser
   will ignore whitespace.
   
   parseData (parser, string)
   Parses the XML text passed in as the second parameter, and stores the data in memory. The document has been completely
   parsed when the function returns. parseData will return the root element of the XML document if successful, or void if it
   fails.
   
   parseURL (parser, string, handler, object)
   Parses the URL specified by the second parameter, and stores it in memory. This function will return before the document
   has been completely parsed. Use the DoneParsing function to determine when parsing is complete.
   
   The third and fourth parameters are optional. If the third parameter is passed in , then the handler specified will be
   called when the XML document has been completely parsed. The handler will be called on that object specified in the fourth
   parameter, if it is passed in. If no parameter is passed in, Lingo will try to resolve the handler as a movie-level
   script. parseURL will return the root element of the XML document, though the user should note that it may not be ready
   for accessing until it has completed parsing.
   
   DoneParsing (myParser)
   Returns true if the parser has completed parsing a document, and false if there is still more to parse. This function can
   be used for polling to determine if a URL has been completely parsed.
   
   getError (parser)
   Returns a string explaining the error which the parser encountered when parsing (which includes the line and column number
   of the error), or void if the parser did not encounter any errors.
   
   makeList (parser)
   Returns a lingo list based on the XML document specified by either parseData or parseURL.
   
    XML node objects
    
   The parseData and parseURL functions return a node object that represents the root of the XML parse tree. The hierarchy of
   the document can be accessed through children of this node.
   
   The following are fields of a node in the XML document. The values of the fields differ depending on what kind of node is
   accessed, so the author should check the type field before accessing any other fields of the node. The fields are
   read-only, so you can get the value of any of these fields, but you cannot set them.
   
   node.type
   one of #element, #chardata (text character data), or #procInst(processing instruction).
   
   node.name
   The string representing the name of the element. Void if the string is a processing instruction.
   
   node.child[i] (i is an integer)
   The i'th child node of the node. Void if the index is invalid or if the node's type is #chardata or #procInst.
   
   node.attributeName[i] (i is an integer)
   The string representing the name of the i'th attribute of the node. Void if the index is invalid, or if the node's type is
   #chardata or #procInst.
   
   node.attributeValue[i] (i is an integer)
   The string representing the value of the i'th attribute of the node. Void if the index is invalid, or if the type of the
   node is #chardata or #procInst.
   
   node.attributeValue[a] (a is a string)
   The string representing the value of the attribute with the name a. If the node does not have an attribute named a, void
   is returned. Void if the type of the node is #chardata or #procInst.
   
   node.charData
   The string representing the character data contained in this node. Also applies to procInst. Void if the the type of the
   node is #element.
   
   Note that the property count exists for any field that can be accessed with bracket notation. Thus, you could say
   node.child.count to find out how many children the node has.
   
   Example code that will print the name of the root, and the children of the root element:
   
   global gRoot, gParser
   on ParseSomeURL url
      set gParser = new (xtra "xmlparser")
      set gRoot = parseURL(gParser, url, #doneParsing, void)
   end
   
   on doneParsing
       set error = getError(gParser)
       if voidP(error) then
          put "Root name =" && gRoot.name
          repeat with i = 1 to gRoot.child.count
             set child = gRoot.child[i]
             if child.type = #element then
                put " Child element name =" && child.name
             else
                put " Child CDATA =" && child.charData
             end if
          end repeat
       else
          alert error
       end if
   end
   
    Representation in Lingo lists
    
   The makeList function converts the XML parse tree to a set of nested Lingo lists. Each element in the document is
   represented by a lingo property list, which contains a property list for each child element it contains. The element's
   name is the property's name, and the contents of the element is the property's value. The attributes of an element are
   stored in a child list with the name "!ATTRIBUTES". The property list of attributes contains the name of each attribute,
   along with its value. Character data has the property name "!CHARDATA" and the value is the string representation of the
   character data. A processing instruction is a property with the name "!PROCINST", and the value is a two-element property
   list. The first property has the name "NAME", and the value is the string representing the processing instruction's name.
   The second property has the name "TEXT" and contains the rest of the text in the processing instruction.
   
   Here is an example:
   
   Sample XML document (in text field "my Xml"):
   
   <HTML> <?platform Win 95?> <A HREF="pic.gif">My picture!</A> <BR/> </HTML>
   
   The script to parse it and put it in a list:
   
   on parseDoc
       set myString = the text of field "my Xml"   -- This is the XML document
       set parser = new (xtra "xmlparser")         -- New instance of the xtra
       set node = parseData (parser, myString)     -- parses the data
       if voidP(node) then
          return getError(parser)                  -- returns the error message
       else
          return makeList(parser)                  -- returns the lingo list
       end if
   end
   
   This is the lingo list that would be returned:
   
   ["HTML": ["!ATTRIBUTES": [:], "!PROCINST": ["NAME": "platform", "TEXT": "Win 95"], "A": ["!ATTRIBUTES": ["HREF":
   "pic.gif"], "!CHARDATA": "My picture!"], "BR": ["!ATTRIBUTES": [:]]]]
   
   __________________________________________________________________________________________________________________________
                                                                
                           Copyright 1995-1998 Macromedia Inc. All rights reserved. Privacy Policy.
