[Openmcl-devel] isight video data stream

Gary Byers gb at clozure.com
Sun May 18 04:11:18 UTC 2008



On Thu, 15 May 2008, Gary Byers wrote:

> These are often famous last words, but porting Apple's "MyRecorder"
> sample application from ObjC to CCL looks like it'd be straightforward.
>

Well, it was pretty straightforward (in the "works for me" sense.)

If anyone who's interested in this could let me know:

1) if it works for them on an x86-64 Mac running Leopard with some
    sort of video input source (it should be possible to get it working on
    PPC Leopard as well, as soon as we figure out how to distribute PPC
    interfaces for both Tiger and Leopard)

2) whether or not the source code makes sense.  (Most of the comments
    just discuss issues related to using the ObjC bridge to do this
    stuff; I don't know anything about QTKit and am just trying to
    faithfully mimic what Apple's example does.)

The archive contains a lisp source file ("qtvidcapture.lisp") and
a .nib ("QTVidCapture.nib") that's basicaly just the nib file from
Apple's example with the menubar removed.  If you load the lisp
file into the Cocoa environment and call

? (cl-user::open-window-using-selected-nib)

you should see a standard file open panel that prompts you to select
a .nib file.  If you select the enclosed "QTVidCapure.nib", you should
soon see a window which shows someone looking at a window ...

Apparently, some (internal) parts of QT still aren't directly usable
from 64-bit applications; using the video capture stuff causes a
helper process ("QTKitServer") to start up and consume lots of CPU.
I don't think that any of that's lisp-specific.

This (or a dressed-up version of it) might make a good example.
Any help in improving it would be appreciated.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ccl-qt-video-capture-example.tar.gz
Type: application/octet-stream
Size: 8537 bytes
Desc: 
URL: <http://lists.clozure.com/pipermail/openmcl-devel/attachments/20080517/f358eec2/attachment.obj>


More information about the Openmcl-devel mailing list