Design
QTJ lays an object-oriented API on top of the native C-based QuickTime library. It does this by associating common struct
s and the functions that work with them into classes. For example, the Movie
struct is the basis of the class quicktime.std.movies.Movie
, with functions like NewMovieFromFile
and GetMovieTrackCount
becoming the instance methods fromFile
and getTrackCount
respectively. The result is more like a genuine object-oriented API than other C-to-Java adaptations (such as JOGL, which dumps the OpenGL header files into classes with thousands of static methods).
The Cocoa-based QTKit is a similar attempt to put an object-oriented layer atop the procedural QuickTime library, using Objective-C.
Apple's use of the top-level package name quicktime
violates the Java Language's Specification convention that packages use a reverse-domain-name scheme, such as com.apple.quicktime
. However, as Apple owns the "QuickTime" trademark, there is no realistic chance of a namespace collision, the prevention of which is the purpose of the package naming convention.
It is important to remember that QTJ is not a Java implementation of QuickTime, it is a Java wrapper around native QuickTime calls. For this reason, it can only run on systems that have the QuickTime libraries installed, namely the classic Mac OS (which is no longer supported), Mac OS X, and Windows.
Read more about this topic: Quick Time For Java
Famous quotes containing the word design:
“You can make as good a design out of an American turkey as a Japanese out of his native stork.”
—For the State of Illinois, U.S. public relief program (1935-1943)
“To nourish children and raise them against odds is in any time, any place, more valuable than to fix bolts in cars or design nuclear weapons.”
—Marilyn French (20th century)
“I begin with a design for a hearse.
For Christs sake not black
nor white eitherand not polished!
Let it be weatheredlike a farm wagon”
—William Carlos Williams (18831963)