|
|
Package structure of the QuickTime for Java API
The QuickTime for Java API has been divided
into a number of packages determined by a common
functionality. There are a number of packages that represent
a broad range of functionality, which then have sub-packages
that group smaller sets of functionality together.
The major packages generally have a Constants interface
that presents all of the constants that relate to this
general grouping and an Exception class that all errors that
derive from a call in this package group will throw.
The QuickTime for Java Packages
(1) The quicktime
package.
The QTSession object has calls that setup and intialize the
QuickTime engine - InitializeQTML, Gestalt and
EnterMovies.
Principal Classes: QTSession, QTException
Back to top
(2) The quicktime.io
package.
Contains calls that deal with File I/O. These calls are
derived from the Movies.h file.
Principal Classes: OpenFile, QTFile, OpenMovieFile, QTIOException
Back to top
(3) The quicktime.qd
package.
Contains classes that represent the QuickDraw data
structures that are required for the rest of the QuickTime
API. These calls are derived from the QuickDraw.h and
QDOffscreen.h files. You do not use QuickDraw to do any
drawing in Java, instead you would use the drawing services
that Java provides. However, the QuickTime API expects data
structures that belong to QuickDraw, such as CGrafPort,
GWorld, Rect, Point. In the Java API these classes become
predominantly read-only.
Principal Classes: QDGraphics, PixMap, Region,
QDRect, QDColor, QDConstants, QDException
Back to top
(4) The quicktime.qd3d
package.
Contains classes that represent the QuickDraw 3D data
structures that are required for the rest of the QuickTime
API, predominantely the Tweener and ThreeD Media services.
Principal Classes: CameraData, Q3Point, Q3Vector.
Back to top
(5) The quicktime.sound
package.
Contains classes that represent the Sound Manager API. These
calls are derived from the Sound.h file. While some basic
sound recording services are provided, for more demanding
sound input and output the Sequence Grabber components and
Movie playback services should be used.
Principal Classes: SndChannel, Sound, SPBDevice, SoundConstants,
SoundException
Back to top
(6) The quicktime.std
package.
The original QuickTime interfaces on Mac OS are contained in
a collection of eight header files which describe the
standard QuickTime API. As such, nearly all of the functions
defined in these files are to be found in classes in the
quicktime.std group of packages.
Principal Classes: StdQTConstants, StdQTException
- The standard header files are:
- Components.h
All calls from this file are in the
quicktime.std.comp package.
-
- ImageCompression.h & ImageCodec.h
All calls from this file are in the
quicktime.std.image package.
-
- MediaHandlers.h
All calls from this file are in the
quicktime.std.movies.media package.
-
- Movies.h
This file has been separated into a number of packages
to present a finer degree of definition and functional
grouping.
- QuickTimeComponents.h
This file has been separated into a number of packages
to present a finer degree of definition and functional
grouping.
- QuickTimeMusic.h
All calls from this file are in the
quicktime.std.music package.
Back to top
- The
quicktime.std.anim package.
Classes that provide support for animation. QuickTime can
be used as a real time rendering system for animation,
distinct from a data format - the movie. Thus you can
create a graphics space (SpriteWorld) within which
characters (Sprites) can be manipulated.
Principal Classes: Sprite, SpriteWorld
Back to top
- The
quicktime.std.clocks
package.
This package contains classes that provide timing
services. They include support for the creation of
hierarchical dependencies between time bases, the usage
of callbacks for user scheduling of events or
notification, and the capability of instantiating the
system clocks that provide the timing services.
Principal Classes: Clock, TimeBase,
QTCallback subclasses.
Back to top
- The
quicktime.std.comp package.
QuickTime is a component based architecture, with much of
its funtionality being provided through the creation and
implementation of a particular component's API. This
package contains classes that provide basic support for
this component architecture, a full implementation will
be forthcoming.
Principal Classes: Component, ComponentIdentifier.
Back to top
- The
quicktime.std.image
package.
Classes that present the Image Compression manager. These
classes provide control for the compression and
decompression of both single images and sequences of
images. It also contains the Matrix class, which (like
the Region class in the qd package) is used generally
throughout QuickTime to alter and control the rendering
of 2D images.
Principal Classes: CodecComponent, QTImage,
CDSequence, Matrix.
Back to top
- The
quicktime.std.movies
package.
Contains the principal data structures of QuickTime,
Movie - which contains one or more Tracks, are the
primary way that data is organized and managed in
QuickTime. A Movie object can be created from a file, and
can be saved to a file. The MovieController provides the
standard way that QuickTime data (movies) are presented
and controlled. AtomContainer is the standard data
structure that is used to store and retrieve data in
QuickTime.
Principal Classes: AtomContainer, Movie,
MovieController, Track.
Back to top
- The
quicktime.std.movies.media package.
The Track is a media neutral structure, but it
contains a single Media type which defines the kind of
data that a Track is representing. The Media,
MediaHandler and SampleDescription subclasses describe
the various media types that QuickTime can present.
Media subclasses control references to data that
comprise the raw media data.
Principal Classes: DataRef, Media subclasses,
MediaHandler subclasses, SampleDescription and
subclasses.
Back to top
- The
quicktime.std.music
package.
Contains classes that deal with the general Music
architecture provided by QuickTime. This architecture can
also be used to capture and generate music (MIDI) events
in real time, customize and create instruments and
eventually provide your own algorithmic synthesis
engines. It currently has a full implementation of the
NoteAllocator component, and basic support for the
MusicComponent and TunePlayer components.
Principal Classes: AtomicInstrument, NoteChannel,
NoteAllocator.
Back to top
- The
quicktime.std.qtcomponents package.
Contains classes that interface with some of the
components that are provided to supply different
services. The import and export components are supported,
tween and time code media components.
Principal Classes: MovieExporter, MovieImporter, Tweener, TimeCoder.
Back to top
- The quicktime.std.sg
package.
Contains classes that implement the Sequence Grabber
component for capturing video and audio media data.
Principal Classes: SequenceGrabber
Back to top
(7) The quicktime.util
package.
Contains classes that represent utility functionality
required by the general QuickTime API. The most common
feature of this package are a set of classes for
MemoryManagement from Memory.h. These classes typically form
the base class for actual QuickTime objects.
Principal Classes: QTHandle, QTByteObject, QTPointer,
UtilException.
Back to top
(8) The quicktime.vr
package.
Contains classes that represent the QuickTime Virtual Reality API.
The package contains all the QuickTime VR interface constants and
the QTVRInstance class, which is used for making QTVR calls.
There are a number of classes for customising the presentation QTVR movies.
Principal Classes: QTVRConstants, QTVRInstance,
QTVRException.
Back to top
|
|