
This is version 2 of the MovieMagic Replay support code.

The contents of this directory are as follows:-

  !Run
  ----

Ensures needed versions of modules are loaded
Sets up MPEG$ExtraArgs variable and the MPEG run type. Note unlike 
ARMovie$ExtraArgs, MPEG$ExtraArgs is not cleared after each use.

This file should be run from the !ARMovie.!Boot file. eg add a line

/<Obey$Dir>.Decomp12.!Run

to the end of !ARMovie.!Boot.


  DitherExt
  SpriteExt
  ---------
  
CC modules to paint sprite onto screen from framestore at end of playback.
They are both loaded from the UI file when needed. There is a variable at
the start of MMagicUI which can be set to use SpriteExtend rather than 
loading these modules.

  Info
  ----
Codec info for ARPlayer and other applications.

  !RunImage
  ---------
  
This is called from !ARMovie.Player with the original command line. It does
some preprocessing on this command line (converting replay arguments to MPEG
arguments where possible and putting all unknown arguments into 
ARMovie$ExtraArgs) and then runs the original MPEG file. The run type for
which has been setup (by !Run) to call MCode21.!RunImage.

  MMagicUI
  --------
  
This is the user interface library for the MovieMagic card. It is loaded by
MCode21.!RunImage and handles communication with the controlling application.
It decodes the contents of ARMovie$ExtraArgs and ARMovie$Return (set by
the first !RunImage) and sets all necessary variables on exit.

  MCode21.MPEGCtrl
  MCode21.MPEGVideoM
  MCode21.MPEGAudioM
  MCode21.MPEGTrans
  MCode21.!RunImage
  ------------------
  
The real control code. Upgradeable independently of the rest of the system.


Replay API
----------

Most Replay commands are understood by MMagicUI.

Included specially are
  -noadjust
  -relative
  -noerror
  -nohour
  -nomenu
  -leave
  -mouse
  -paint
  -at

Converted to MPEG arguments are
  -startat
  -loop (no arguments)
  -novideo
  -quiet
  -mute
  -paused

Ignored are
  -speed
  -mode
  -small
  -big
  -multi
  -follow
  -shape
  -track

The ARMovie$Keyboard variable is scanned and used. The player will respond to
half-speed playback but not to fastforward.

ARMovie$Pause,ARMovie$Sound,ARMovie$Return,ARMovie$ReturnCode are set 
appropriately on exit.

---
Written by Simon Middleton for Online Media, using original code by 
Stewart Palmer at Acorn, Sean Solle at CC and many at Om.

eof ReadMe
