Director Player Software Functional Specification
Distribution: COMPANY CONFIDENTIAL
Project: Project
Issue: 0.03
Author(s): Steve Hunt (edited by DWalker)
Date: 18-Sep-97
Last Issue: 0.02
Contents.
0.01 05-Mar-96 Started
0.02 04-Apr-96 Added plugin information
- Shockwave. How much work is involved in incorporating the Shockwave support
code into our version of the Player?
Discussions on these issues are being pursued with Macromedia.
- Digital video - what formats and access methods must be supported?
Currently the spec says that Replay will be used.
Is Replay sufficient? Is it possible to adequately map from Director's
video system to the Replay API?
- Is there a requirement for ROMability? Multiple instatiability?
Director Player is a RISC OS application that can play back material (movies) authored
on a PC or Macintosh using Macromedia Director 4. With certain restrictions, and providing
certain simple authoring guidelines are adhered to,
any valid Director movie may be played back, either as full-screen
or in a desktop window.
Macromedia Director is a primarily timeline-based environment for specifying
how the appearance of the screen varies with time. It also has a scripting
language, Lingo, for specifying more complicated behaviour. Scripting allows
quite complex applications can be built, including familiar user interface elements
such as buttons, text entry fields and menus.
A Director movie file contains both behavioural information (timeline, scripts) and
the various images and sprites that the application displays. The author is also
able to load bitmaps and other resources from separate files at runtime.
The Director file format itself is very portable, and a movie that is contained
entirely within a single Director file will normally play back unaltered on different
platforms. If the author references other files, then care must be taken to
ensure that the filename references will be valid on all platforms.
Extensions to Lingo may be coded in C or other suitable programming language provided
it is built in the form that Director understands (called an XObject). XObjects
are inherently platform-specific, and must be ported to each target platform. They
should be avoided if at all possible. However, the
RISC OS player does support them should their use be unavoidable.
None, really. A Director author provides the user interface to his
applications using the facilities of Director, so that they look and
feel the same across all platforms. By and large the RISC OS user
interface is not exposed. The only exceptions to this are pop-up
menus and window controls (resize icons, title bars etc) which are
provided by the Wimp. Movies which run full-screen and do not have a
pop-up menu expose none of the RISC OS look-and-feel.
Director Player for RISC OS can play back most Director material
unaltered. However, there are a few differences between platforms,
and care must be taken when authoring to either avoid or cope with
these areas.
- See Macromedia Director manuals for a full description of the Director
programmer interface, and general portability guidelines.
- See "Director Player for RISC OS - Authoring Guidelines" (in preparation)
for information on differences between Director Player for RISC OS and other Director
platforms.
- See "RISC OS XObject Development" for details of writing XObjects.
The RISC OS Player does not have a Message Window, so it is not
possible to interactively enter Lingo commands for testing.
Care must be taken where filenames are embedded into or constructed by
a movie. It is very important to ensure that cross-platform
compatibility issues do not arise. The best way to ensure this does
not cause problems is to always author with relative pathnames, and
ensure that the "least common denominator" of filename syntax is used
(e.g. names no longer than eight characters, letters and digits only).
If use of system-specific pathnames is unavoidable, the author should check
Lingo's machineType value and use appropriate syntax.
If filename portability is not addressed at the authoring stage, it is
possible to provide explicit mappings from the filenames mentioned in the movie to
thoses used on the target platform.
Director movies can jump or branch into other Director movies,
and can execute other RISC OS applications, using normal Lingo
facilities. PICT and BMP files can be loaded via the
linked castmember system, or explictly with Lingo.
AIFF and WAV sound formats can be played back from files.
Digital video is played back using Replay. Any software CODEC
supported directly or indirectly by Replay can be used.
Because there is not a perfect match between Replay's facilities
and those required by Director, some video tricks that are theoretically
supported by Director will not work, such as playing backwards.
Director movies can perform basic file operations using the FileIO XObject
which is supplied with the Player. There are no plans to implement the
file-picker dialogues, so the "?read" and "?write" access methods
will not work.
The Player can be used as a plug-in for a Web browser, so that it displays
Director movies on the browser's behalf and inside its window. This is
managed by means of the Data formats
- Macromedia Director movie file format
- PICT and BMP pictures.
- AIFF and WAV sound formats
- Video formats: **Needs words**
- Modified WIMP with nested window support is required to support
use of Director Player inside a web browser's window.
- Shockwave support code. Expected from Macromedia in April 1996.
- Video and audio playback subsystems.
- Director Player for RISC OS - Authoring Guidelines. This document details
the differences between the Player and Director on other platforms, and is
under preparation.
The acceptance test will be based on the Verification and Test Suites
that accompany the Portable Player 1.3 source code.
Is there a sensible performance test?
- Must play back movies authored on Mac and PC versions of Director.
- Must cope with all forms of Director movies: .DIR, .DXR and Projectors.
Specific features will be tested by authoring small test movies as
required. Cross-platform issues will be tested by creating movies on
both Mac and PC platforms as checking that they play back properly on
the Player.
Director Player takes the form of a standard RISC OS application,
!Player, which contains the Player binary and its resource
files. To avoid storing the Player binary with every movie, each movie
is stored in its own application directory, along with any other files
required by it (such as any graphics that are loaded at run-time). The
!Run file in this directory executes !Player via a system variable.
The application directory can be stored on any RISCOS local or remote
filesystem, and may be shared and read-only.
Director Player cannot be multiply instantiated. There are no plans to
address this problem at present, since typical platforms will not
have enough memory to run multiple movies at once.