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.


History

        0.01 05-Mar-96 Started
        0.02 04-Apr-96 Added plugin information

Outstanding issues

Overview

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.

Technical background

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.

User interface

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.

Programmer interface

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.

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.

Standards

Data interchange

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

External dependencies

Acceptance test

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?

Development test strategy

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.

Product organisation

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.