Just some thoughts on my exploration of Sophie and how to make a Quicktime player. I haven't dropped this. <div><br></div><div>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. </div>
<div><br></div><div>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. </div>
<div><br></div><div>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. </div>
<div><br></div><div>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: </div>
<div><br></div><div>SophieQuickTimeMovie new openMovieFromURI: 'file:///Users/chriscunnington/Desktop/chaz.mov'</div><div><br></div><div>I get a semaphore related error: Movie failed NewMovieFromDataRef. </div><div>
<br></div><div>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.</div><div><br></div><div>John, I'd be happy to hear your thoughts on these impressions. </div>
<div><br></div><div>Chris </div>