Copyright 2012-04-26 Werner Randelshofer

org.monte.media.anim
Class ANIMOutputStream

java.lang.Object
  extended by org.monte.media.anim.ANIMOutputStream
Direct Known Subclasses:
ANIMMultiplexer

public class ANIMOutputStream
extends java.lang.Object

ANIMOutputStream.

Reference:
Commodore-Amiga, Inc. (1991) Amiga ROM Kernel Reference Manual. Devices. Third Edition. Reading: Addison-Wesley.

Version:
1.0 2010-12-26 Created.
Author:
Werner Randelshofer

Field Summary
static int A2024_MONITOR_ID
          A2024, 60fps (I don't know the real value).
protected  int absTime
          Current absolute frame time.
static int DBLNTSC_MONITOR_ID
          DBLNTSC, 58fps, 44:52.
static int DBLPAL_MONITOR_ID
          DBLPAL, 48fps, 44:44.
static int DEFAULT_MONITOR_ID
          Default ID chooses a system dependent screen mode.
static int EHB_MODE
          CAMG EHB mode.
static int EURO36_MONITOR_ID
          EURO36, 73fps, 44:44.
static int EURO72_MONITOR_ID
          EURO72, 69fps, 44:44.
protected  int frameCount
          Frame count.
static int HAM_MODE
          CAMG HAM mode.
static int MODE_MASK
          CAMG Mode mask.
static int MONITOR_ID_MASK
          CAMG monitor ID mask.
static int MULTISCAN_MONITOR_ID
          MULTISCAN (VGA), 58fps, 44:44.
static int NTSC_MONITOR_ID
          NTSC, 60fps, 44:52.
static int PAL_MONITOR_ID
          PAL, 50fps, 44:44.
static int PROTO_MONITOR_ID
          PROTO, 60fps (I don't know the real value).
static int SUPER72_MONITOR_ID
          SUPER72, 71fps, 34:40.
 
Constructor Summary
ANIMOutputStream(java.io.File file)
           
 
Method Summary
 void close()
          Closes the movie file as well as the stream being filtered.
 void finish()
          Finishes writing the contents of the QuickTime output stream without closing the underlying stream.
 int getCAMG()
          Gets the Commodore Amiga Graphics Mode.
 int getJiffies()
          Gets the time base of the movie.
 long getMovieTime()
           
 void setCAMG(int newValue)
          Sets the Commodore Amiga Graphics Mode.
 void setJiffies(int newValue)
          Sets the time base of the movie.
 void writeFrame(BitmapImage image, int duration)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MONITOR_ID_MASK

public static final int MONITOR_ID_MASK
CAMG monitor ID mask.

See Also:
Constant Field Values

DEFAULT_MONITOR_ID

public static final int DEFAULT_MONITOR_ID
Default ID chooses a system dependent screen mode. We always fall back to NTSC OCS with 60fps. The default monitor ID triggers OCS mode! OCS stands for "Original Chip Set". The OCS chip set only had 4 bits per color register. All later chip sets hat 8 bits per color register.

See Also:
Constant Field Values

NTSC_MONITOR_ID

public static final int NTSC_MONITOR_ID
NTSC, 60fps, 44:52.

See Also:
Constant Field Values

PAL_MONITOR_ID

public static final int PAL_MONITOR_ID
PAL, 50fps, 44:44.

See Also:
Constant Field Values

MULTISCAN_MONITOR_ID

public static final int MULTISCAN_MONITOR_ID
MULTISCAN (VGA), 58fps, 44:44.

See Also:
Constant Field Values

A2024_MONITOR_ID

public static final int A2024_MONITOR_ID
A2024, 60fps (I don't know the real value).

See Also:
Constant Field Values

PROTO_MONITOR_ID

public static final int PROTO_MONITOR_ID
PROTO, 60fps (I don't know the real value).

See Also:
Constant Field Values

EURO72_MONITOR_ID

public static final int EURO72_MONITOR_ID
EURO72, 69fps, 44:44.

See Also:
Constant Field Values

EURO36_MONITOR_ID

public static final int EURO36_MONITOR_ID
EURO36, 73fps, 44:44.

See Also:
Constant Field Values

SUPER72_MONITOR_ID

public static final int SUPER72_MONITOR_ID
SUPER72, 71fps, 34:40.

See Also:
Constant Field Values

DBLNTSC_MONITOR_ID

public static final int DBLNTSC_MONITOR_ID
DBLNTSC, 58fps, 44:52.

See Also:
Constant Field Values

DBLPAL_MONITOR_ID

public static final int DBLPAL_MONITOR_ID
DBLPAL, 48fps, 44:44.

See Also:
Constant Field Values

MODE_MASK

public static final int MODE_MASK
CAMG Mode mask.

See Also:
Constant Field Values

HAM_MODE

public static final int HAM_MODE
CAMG HAM mode.

See Also:
Constant Field Values

EHB_MODE

public static final int EHB_MODE
CAMG EHB mode.

See Also:
Constant Field Values

frameCount

protected int frameCount
Frame count.


absTime

protected int absTime
Current absolute frame time.

Constructor Detail

ANIMOutputStream

public ANIMOutputStream(java.io.File file)
                 throws java.io.IOException
Throws:
java.io.IOException
Method Detail

setJiffies

public void setJiffies(int newValue)
Sets the time base of the movie. The default value is 60.


getJiffies

public int getJiffies()
Gets the time base of the movie. The default value is 60.


setCAMG

public void setCAMG(int newValue)
Sets the Commodore Amiga Graphics Mode. The default value is 0.

The graphics mode is an or-combination of the monitor ID and the mode ID.

Example:

 setCAMG(PAL_MONITOR_ID|HAM_MODE);
 
Also sets the Jiffies for the Graphics Mode.


getCAMG

public int getCAMG()
Gets the Commodore Amiga Graphics Mode. The default value is 0.


finish

public void finish()
            throws java.io.IOException
Finishes writing the contents of the QuickTime output stream without closing the underlying stream. Use this method when applying multiple filters in succession to the same output stream.

Throws:
java.lang.IllegalStateException - if the dimension of the video track has not been specified or determined yet.
java.io.IOException - if an I/O exception has occurred

close

public void close()
           throws java.io.IOException
Closes the movie file as well as the stream being filtered.

Throws:
java.io.IOException - if an I/O error has occurred

writeFrame

public void writeFrame(BitmapImage image,
                       int duration)
                throws java.io.IOException
Throws:
java.io.IOException

getMovieTime

public long getMovieTime()

Copyright 2012-04-26 Werner Randelshofer