The current system addresses QuickTime exclusively with a function called QTMovie in movie.js. There is a RealPlayer function in the movie.js file (RPMovie), but Mike reports that he was unable to overcome the browser's built-in handler for mpg streams. If this can be resolved (perhaps using the Half-Baked prefs control panel that M&S built?) RealPlayer can be offered as an option as well. But that isn't why I'm creating this post.
The VLC plugin seems to be working now! See here: http://altair.videolan.org/~dionoea/vlc-plugin-demo/
Which means that we can offer a completely cross-platform solution for deploying Francotoile-like applications. I haven't exhaustively tested the VLC solution, but it shouldn't be too hard.
Just to be complete, a listing of what I know about movie.js and links to APIs and so forth:
QT uses (from movie.js in francotoile)
getCurrentTime
setTime
movieId
GetTime
GetTimeScale
cSeconds
newTimeScale
SetTime
QT JS ref here: http://developer.apple.com/documentation/QuickTime/Conceptual/QTScripting_JavaScript/index.html#//apple_ref/doc/uid/TP40001526
VLC API (note that this covers UP TO 0.8.5. Reports suggest that *some* breakage may occur on 0.8.6 and above. I haven't found a new API description yet) is here: http://www.videolan.org/doc/play-howto/en/ch04.html#id293635
*play() : Start playing media in the plugin.
*pause() : Pause playback.
*stop() : Stop media playback.
*fullscreen() : Switch the video to full screen.
*set_volume(vol) : Set the volume. vol has to be an int in the 0-200 range.
*get_volume() : Get the current volume setting.
*mute() : Toggle volume muting.
*set_int_variable(var_name, value) :
*set_bool_variable(var_name, value) :
*set_str_variable(var_name, value) :
*get_int_variable(var_name) :
*get_bool_variable(var_name) :
*get_str_variable(var_name) :
*clear_playlist() : Clear the playlist.
*add_item(mrl) : Append an item whose location is given by the Media Resource Locator to the playlist.
*next()
*previous()
*isplaying() : return true if the plugin is playing something.
*get_length() : Get the media's length in seconds.
*get_position() : Get the current position in the media in percent.
*get_time() : Get the current position in the media in seconds.
*seek(seconds,is_relative) : If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.
RealPlayer API (from 2001) is here: http://service.real.com/help/library/guides/extend/embed.htm