
                     M2-edit (Command Line Edition) 
                     Windows 95/98/ME/NT4/2000

   ========================
   Version 3.0.X EDL Format
   ========================

   HEADER
   ------
   EDLs must start with a valid header.

   # type = EDL
   # version = 3.0.0
   #
   # Comments
   #

   type and version keywords can be either capitalized or in
   lowercase. i.e.  TYPE = EDL, or VERSION = 3.0.0. There can be any
   number of empty comment lines before or between type and version
   lines, however there can't be any other non empty comment lines before
   these are found.

   The header block is defined to be the first continuous block of
   comments.  Any non empty comment lines in this block of comments is
   associated with the EDL as a whole, and are stored as header comments.

   TIMECODE CONVERSION (TCC) FRAME RATE LINES
   ------------------------------------------
   The CMX EDL format was designed for editing video tapes. 
   MediaWare's MPEG editor is able to edit audio streams separately 
   from video streams. When an EDL contains just audio only edits, 
   the interpretation of SMPTE timecodes is not well defined as it
   requires a frame rate value to convert it to seconds or frame
   number. In these cases, a TimeCode Conversion line can be used to
   specify the frame rate to use for decoding when interpreting the in
   and out SMPTE timecode values. The format of these lines is as
   follows:

   # TCC FRAME RATE = VIDEO
   # TCC FRAME RATE = 25
   # TCC FRAME RATE = d29.97
   # tcc frame rate = 29.97

   TCC Frame Rate can be either 'VIDEO', or a specified frame rate. If
   TCC Frame Rate is VIDEO, then the video frame rate is used to
   translate the timecodes of the entry. If the TCC Frame Rate is given,
   i.e. '25', '29.97', 'd29.97', then that frame rate is used to
   translate the timecodes. 'd29.97' refers to a frame rate of 29.97 with
   drop frame flag set to true. For more information on drop frames see
   the document "Frame Drops Keep Falling on my Head", by Dr Ken Tsui.

   For EDL entries containing audio only, or image files, a TCC Frame
   Rate should be specified in the EDL header to allow the timecodes to
   be parsed.

   TAG LINES
   ---------
   # tagname = filename
   
   Tag Lines are any lines (usually starting with a comment indicator)
   that have a tag value, an ' = ', followed by a filename. The tag is
   then associated with that filename for the rest of the entries in the
   EDL. Each time the tag value is encountered in the filename position,
   it is replaced by the filename associated with it. i.e.
   
   # This tag is used instead of the full filename
   # in the edl.
   # mymov = /usr/data/mpeg/mymovie.mpg
   
   mymov V C 00:00:35:00 00:00:40:00
   
   Tag Lines can occur anywhere in the EDL but must occur before the first use
   of the tag. The usual place for Tag Lines is the header of the EDL.

   COMMENTS
   --------
   Comments can appear at the beginning of the EDL file (header) or
   between the edit lines in the EDL. The first block of comments in the
   file is defined to be the header comments and they are associated with
   the EDL as a whole. Subsequent comments in the EDL file are associated
   with the first edit line that appears after them.
   
   EDL FILE ENTRIES
   ----------------
   <filename|tag> <EditMode> <TransitionType>[num] [duration] [srcIn] [srcOut] [recIn] [recOut]

   * <filename|tag>: Filename or tag value. Filename can be for an MPEG
     file, Image file, or Image file template. Image file templates use the
     same pattern matching as for command line glob, and can be used to
     specify images to encode into MPEG. i.e. /usr/data/images/image*.jpg
   * <EditMode>: 'V' | 'A' | 'VA' | 'B' | 'v' | 'a' | 'va' | 'b' which
     equals Video, Audio, Video_Audio edits (note B or b can be used in
     place of VA or va).
   * <TransitonType>: 'C' | 'D' | 'E' | 'FI' | 'FO' | 'W' | 'c' | 'd' | 'e'
     | 'fi' | 'fo' | 'w'. which equals Cut, Dissolve, Effect, FadeIn,
     FadeOut, Wipe.
   * [num]: if TransitionType = Wipe, then a wipe number must be given. At
     the moment only wipe 'W0' and 'W1' are supported.
   * [duration]: if the TransitionType is not equal to Cut, then an effect
     duration must be given. Duration is in frames.
   * [srcIn]: Src in. If no srcIn is given, then it defaults to the first
     frame of the video or the first frame in the image pattern. If srcIn
     isn't specified, then srcOut, recIn, recOut can't be specified.
   * [srcOut]: Src out. If no srcOut is given, then it defaults to the last
     frame of the video - or last image in the image pattern. if srcOut
     isn't given, then recIn and recOut can't be specified.
   * [recIn]: Rec in. If no recIn is given, then it is calculated based on
     its position in the EDL and the length of its input.
     [recOut]: Rec out. If no recOut is given, then it is calculated based
     on its position in the EDL and the length of its input. first frame of
     the video.

     For srcIn, srcOut, recIn, recOut, the values can be specified as either
     timecode, frame number, seconds, or mps seconds. i.e.
     [tcode | fnum | sec | mps], where:

   * tcode : SMPTE timecode in hh:mm:ss:ff
   * fnum : frame number (the first decodable frame in the video is taken
     to be frame 0).
   * sec : seconds with 's' suffix (e.g. 5.2s)
   * mps : seconds with 'mps' suffix (e.g. 5.2mps). MediaPlayer Seconds 
     (mps) is the time reported by Microsoft MediaPlayer's (v6) 
     "currentPosition" function. Currently, only MPEG-1 videos can be 
     specified with mps.

   CUT ENTRIES
   -----------
   <filename|tag> <EditMode> C [srcIn] [srcOut] [recIn] [recOut]
   
   # Cut ausfilm from 10 to 20 seconds
   mymov VA C 00:00:10:00 00:00:20:00

   SINGLE ENTRY EFFECTS (FadeIn, FadeOut, Effect)
   ----------------------------------------------
   A general single file effect has a TransitionType of E, with an
   effect number similar to a wipe entry.  (Currently there are no
   defined single file effect numbers - use shortcuts only).
   <filename|tag> <EditMode> E[num] [srcIn] [srcOut] [recIn] [recOut]

   Several common single file effects for which special
   TransitionTypes have been defined. These are FadeIn and FadeOut.

   FadeIn over the time period srcIn to srcOut 
   <filename|tag> <EditMode> FI [srcIn] [srcOut] [recIn] [recOut]

   FadeOut over the time period srcIn to srcOut
   <filename|tag> <EditMode> FO [srcIn] [srcOut] [recIn] [recOut]

   e.g.
   film1.mpg VA FI 00:00:10:00 00:00:20:00

   DISSOLVE ENTRIES
   ----------------
   <filename|tag> <EditMode> C [srcIn] [srcOut] [recIn] [recOut]
   <filename|tag> <EditMode> D XX [srcIn] [srcOut] [recIn] [recOut]

   Dissolve entries consist of two lines. The first line specifies the
   first file of the dissolve in as a cut edit line. The srcIn and srcOut
   timecodes are the same and specify the first frame of the
   dissolve. The recIn and recOut timecodes are also the same and equal
   the recIn timecode of the dissolve edit.

   The second line contains information about the second file and the
   dissolve transition. It consists of a dissolve line with an effect
   duration in frames equal to the duration of the dissolve. The srcIn
   and srcOut times specify the duration of the section of video used
   from the second file. The duration of the dissolve should be less than
   or equal to the duration of the file segment specified in the
   dissolve. i.e.

   # dissolve from filmclip1 (starting at 10secs) to filmclip2
   # (starting at 0secs), over 75 frames. the duration of the
   # filmclip2 section is 10 seconds including the 3 sec (75 frame)
   # dissolve (frame rate of both videos is 25fps)
   #
   #
   filmclip1.mpg VA C    00:00:10:00 00:00:10:00
   filmclip2.mpg VA D 75 00:00:00:00 00:00:10:00

   WIPE ENTRIES
   ------------
   Same as for dissolve except instead of the second line continuing a
   'D', it contains a 'Wn' where n is either 0 or 1 (the only wipes we've
   defined so far).

   FURTHER INFORMATION
   -------------------
   For more information, including a tutorial walk-through, please consult
   our EDL white paper at the following URL:

       http://www.MediawareSolutions.com/ProductInfo/EDLpaper.html  
 
   ====================================
   http://www.MediawareSolutions.com
   
   Postal Address:
   MediaWare Solutions Pty Ltd
   GPO Box 1985
   Canberra, 
   ACT 2601, 
   Australia

   Email:
   info@MediawareSolutions.com

   ============================
   File: EDLsyntax.txt 01-06-08
