Just some thoughts on my exploration of Sophie and how to make a Quicktime player. I haven&#39;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&#39;s the player that requires FFI. For that reason, I&#39;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&#39;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&#39;d figure. If I can figure out how it&#39;s a more advanced version of the Scratch player, then I&#39;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&#39;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&#39;t. I&#39;m not sure why at the moment. I mean there&#39;s a benefit for it, but I haven&#39;t gleaned it yet. At the moment if I use: </div>
<div><br></div><div>SophieQuickTimeMovie new openMovieFromURI: &#39;file:///Users/chriscunnington/Desktop/chaz.mov&#39;</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&#39;m being a bit reductionist. It&#39;s hard for me to see how I&#39;d take the whole engine and put it into 4.1.</div><div><br></div><div>John, I&#39;d be happy to hear your thoughts on these impressions. </div>
<div><br></div><div>Chris </div>