[squeak-dev] Quicktime player

Chris Cunnington smalltalktelevision at gmail.com
Fri Sep 3 02:33:14 UTC 2010


Just some thoughts on my exploration of Sophie and how to make a Quicktime
player. I haven't dropped this.

The key is a hierarchy of classes topped by SophieMovie. They are all
subclassed from a Tweak CObject. These classes are separate from the player.
It's the player that requires FFI. For that reason, I'm inclined to take the
movie classes, and then dump the player for a simpler one. The
MPEGMoviePlayerMorph is a good model for something in Quicktime. All that
stuff was added, I'd say, to produce a professional level of redundancy for
various possible situations.

The simplest player is the one in Scratch. You have three classes: one for
the movie; one for the morph that is the screen; and one for the controls.
The MPEGMoviePlayerMorph is a bit more complicated than that basic template,
I'd figure. If I can figure out how it's a more advanced version of the
Scratch player, then I'd like to retrofit one of those for Quicktime.

There is also another twist in Sophie. In the Scratch player, you create an
instance of a class to for the audio, and then tuck that into the player.
Sophie does something different. It makes the movie class a subclass of the
audio class. I haven't figured that part out yet, but it looks nifty.

Sophie uses semaphores for individual frames and the simpler players don't.
I'm not sure why at the moment. I mean there's a benefit for it, but I
haven't gleaned it yet. At the moment if I use:

SophieQuickTimeMovie new openMovieFromURI:
'file:///Users/chriscunnington/Desktop/chaz.mov'

I get a semaphore related error: Movie failed NewMovieFromDataRef.

Sophie is sophisticated stuff. I fear I'm being a bit reductionist. It's
hard for me to see how I'd take the whole engine and put it into 4.1.

John, I'd be happy to hear your thoughts on these impressions.

Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20100902/82deaea2/attachment.htm


More information about the Squeak-dev mailing list