Skip to main content

QuickTime Java

Posted by daniel on January 24, 2005 at 8:16 AM PST

Developer Notebook fills long-standing void

QuickTime Java seemed like a great solution to the gaps in Java's
media offerings. It was a somewhat Java-like wrapper on the QuickTime
APIs which ran on Windows and on Mac. The documentation tended to be
lacking, but at one point there was a pretty cool demo application
available online and a book by Bill Stewart and Tom Maremaa which
detailed every nook and cranny of the API.

I thought the QTJ API was too C-like until I spent some time with
the JOGL APIs. JOGL gives Java developers a much needed wrapper to the
underlying OpenGL APIs and makes no pretense that it is anything other
than a very thin wrapper. There are cool things you can do with JOGL,
but suddenly I again see the benefits of exploring higher level APIs
like QTJ.

Fortunately, the timing is perfect. Chris Adamson has just written
for Java: A Developer's Notebook
. Of course, I'm biased because
Chris is the associate editor for and a friend - but this is
a good book to have. This isn't a walk through the APIs, this is a
sequence of cool things you can do. You learn to play and edit movies,
capture audio and video, and to add effects and generally play

Chris and I met a couple of years ago at the first O'Reilly Mac OS
X Conference where we were both speakers. Neither of us worked for
O'Reilly then. In fact, we each spent some time speaking to the
current editor of ONJava about writing some articles for the site. I
later became editor of and have been happy that for the
past six months or so Chris has taken over that role.

I've seen him do a bunch of presentations on QTJ - it amazes me
what he is able to do from Java with the help of QuickTime. The
reaction has not always been good. Some audiences were receptive until
they found out the code was written in Java (I'm still not sure
why). In any case, thanks Chris for sharing some of your tricks and
techniques with us in your Developer's Notebook.

David Walend writes "It's yak shaving when the people you work for
have no hope of fathoming what you're doing. Sharpening an axe is
fine; someone asked you to chop down trees, so explaining that you
need a good sharp axe is easy. When they catch you shaving the yak,
they get mad and you get embarrassed. Yak shaving is something to
avoid, and something I think I'm wandering towards." In today's href=""> Weblogs he asks serious
technical questions about XML-database subsystems after musing on
whether he is href="">
Sharpening the Axe or Shaving the Yaks?

In href="">
Certification or Indoctrination? Depends on You!, Andreas
Schaeffer writes " href="">John
Reynold's Blog discusses the question if the Java exams are
helping you to learn Java or help the provider to indoctrinate their
(marketing) philosophy." He looks back at what he can conclude having
passed the Microsoft Certified Software Engineer, some Microsoft beta
exams as well as the Java Programmer and Developer exams.

In Blarg #12: "Copywright question"
Jayson Falkner writes that he is "approaching you with one question in
my mind bothering my conscience. I 'd love to receive your comment on
my question as being the writer of the book dealing with Java Servlets
and JSP technologies. You and Kevin have written the book, so
therefore for you guys the whole story."

In Also
in Java Today
, the new J2SE 5.0 threading model is not
available to J2ME applications. In the Wireless Core Tech Tip href="">Understanding
MIDP System Threads, Eric Giguere covers the use of system threads
for J2ME. "A system thread is any thread not started and managed by
an application. In a MIDP environment, system threads are created by
the application management software (AMS) that controls MIDlet
execution. Each active application has at least one system thread and
zero or more application threads."

In href="">
Software Infrastructure Bottlenecks in J2EE Deepak Goel shows that
it is possible for an application server, with its many duties (data
persistence, object pooling, request handling, etc.) and the
synchronization of all of them, can itself become a performance
bottleneck. He shows statistics of what it looks like when systems
become bogged down in this way and discovers that depending on the
situation, the best way out might be a cluster on the same box and, if
not, then a cluster across multiple new boxes.

In Projects and
, the NetBeans community announces the href=""> Early Access
release 2 of the NetBeans IDE 4.1 with over 15 new modules for
developing J2EE 1.4 applications including new support for EJBs and
Web Services.

The Java Tools
project href="">Mocquer takes "mock object"
unit testing and development to a new level. Some tools auto-generate
mock objecs, but can only do so from interfaces. By using the href="">Dunamis project, Mocquer is
able to create mock objects for classes too.

NetSQL adds to the href="">
Mustang wish list in today's href=""> Forums. He
suggests we "break up big rt.jar into smaler ones, so that each can
move at a different speed."

MGrev would like to href="">
Enhance ButtonGroup Somewhat . "BG is a simple way to group toggle
buttons. Though it could with simple means be made better 1) Add a
vararg constructor: public ButtonGroup(AbstractButton... buttons) 2)
Make it possible to listen on the button group for changes. 3) Add an
'initially selected' constructor."

In today's
News Headlines

Registered users can submit news items for the href=""> News Page using
our news submission
. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href=""> News
RSS feed.

Current and upcoming href=""> Java Events :

Registered users can submit event listings for the href=""> Events Page using our href=""> events submission
form. All submissions go through an editorial review before being
posted to the site.

Archives and Subscriptions: This blog is delivered
weekdays as the href="">Java
Today RSS feed. Also, once this page is no longer featured
as the front page of
it will be archived along with other past issues in the href="">

Developer Notebook fills long-standing void