home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-12-06 | 4.3 KB | 82 lines | [TEXT/CWIE] |
- What we have here is an object for controlling the QuickCam B&W camera.
- It provides some methods for doing some basic things like displaying to
- a GrafPort (window) and controlling the brightness. It even has a spot
- meter for automatic intensity control. It can snap pictures and make
- maeasurements. What it doesn't provide for right now is moov recording.
- I hope to add that in the next release.
-
- // © Paul B. Beeken, Work In Progress, 1994-5
- // Knowledge Software Consulting.
- //
- // Please, please, please, in the unlikely event you should use this stuff
- // for some commercial application I would appreciate you contacting me. If
- // its for your own use, use away. Send email: knowsoft@ios.com
- // My personal philosophy closely adheres to that of GNU software. I offer this
- // in the hope that others will improve and expand upon it. Post your additions,
- // leave this notice in place and add your own comments.
- //
- // As always: this file is presented as is with no warrantees expressed or implied.
- // Swim at your own risk, etc. etc.
- //
- // CQuickCam
- //
- // A c++ object library for the Connectix QuickCam using the
- // standardized vdig functions outlined in the Ch. 8 of QTComponents.
- // Yeah, you could do much of this seamlessly with Ch. 6 but with alot
- // of loss of control and performance. Some considerable experimentation
- // has gone into this object and many related threads along this line.
- // I think this provides the best trade off of flexability and control
- //
- // Notes in general: There are sometimes many ways to handle the
- // output of a vdig. It can preview directly to the screen (if it is
- // a cGrafPort) or to a pixmap. Multiple buffering is an option and
- // can be a very effective method given the serial data stream nature of
- // this kind of digitizer. It can allow the greatest flexability
- // and smoothness of updating. It may not be the best solution for a
- // particular application.
- //
- // QuickCam in particular:
- // The B&W camera is a 4 bit machine whose vdig doesn't do DMA.
- // This object always buffers the data and the instatiator is responsible
- // for updating. Previewing is done by copying the GWorld pixmap to a
- // rectangle in a given cGrafport. There are a couple of ways to accumulate
- // data to the pixMap. One is to use a buffers and the other is to write
- // to a pixmap. The former allows async grabs while the later does not.
- // The routines outlined here allow either. By specifying 0 for buffers,
- // the vdig writes directly to the pixmap without any overhead associated
- // with buffers. Any value from 1 to 3 will allow you to write to different
- // rectangles in the same pixmap but will allow async grabs. This may
- // allow for some performance imporvements.
- // The QuickCam vdig doesn't seem to like more than 3 buffers. Why would you
- // need more? Actually this makes sense. One would be the writethrubuffer
- // the other two are the alternating capture buffers.
- //
- //
- // Current version 0.8 © Paul B. Beeken, Knowledge Software Consulting.
- //
- // 11/08/95 Finished basic object after creating various types of LPane
- // derivatives. This object borrows the from the best of them. Its
- // creation also eliminates the dependance on MW PowerPlant.
- // 12/04/95 Completed spot metering and fixed a small memory leak.
- //
- // Wishlist: Sequential capture to moov.
- // Include methods for capturing from a subset rect in vdig bounds.
- // Motion triggering.
-
-
- Now for a simple application of this object:
- // ===========================================================================
- // CQCamPane.cp A pane using the newly created CQuickCam obj
- // ===========================================================================
- //
- // 12/2/95 Finsihed CQuickCam enought to try this out.
- This file demonstrates a way to use the above object in to construct a PowerPlant
- Pane for controlling the QuickCam. I have provided minimum functionality which is
- intended to simply illustrate the use of the object. You could add controls, special
- tools to control the spot metering, etc.
-
- Like all code resources of this type I would hope that if you make significant improvements
- to this you post your additions along with the original author's comments and yours.
-
- Thank you for your support.
- Paul B. Beeken Knowledge Software Consulting knowsoft@ios.com