Release 0.21, 25.07.1995 by Thomas Engel (tomi@shinto.nbg.sub.org)



				The NDCamera application

ATTENTION..you need gnutar and gzip to unpack this package.


WHAT's NEW IN 0.21:
 - NDCamera has a DO-port.
 - 2 Example apps show how to use it (e.g. grab from the commandline)


This is a NeXTdimension based auto frame grabber which might help you to 
create NeXTIME movies or other image sequences.
It follows the tradition of Icon.app, DVR.app and Capture.app which have 
been written some time ago but seem to be not supported anymore. NDCamera 
was developed under NeXTSTEP 3.3, always keeps only one frame in memory 
and allows resizing of the image before saving it to your disk.

Use it with patience because the NeXTdimension's software is buggy!



          What it does


It grabs images. Now that is basically all this app will do for you. 
Besides that it allows you to create .anim movies. Every frame is titled, 
numbered and stored as a Tiff file inside a specified directory. 

So you can use the app in different ways. Either as a "small, rarely updated"
monitor or as a "single frame once a while" camera.
When creating movies you can choose to record each frame by hand or use the
continuous time-based grab feature. Whenever the frame count increase you 
have a short period of time to switch to the next frame. Some VCRs can even 
be set up to play a movie in slow motion. Thus syncronizing the VCR with 
the grabbing speed on the NDCamera could allow you to record long movie 
automatically.

Still there are some problems with automatic recording. Sometimes it happens 
that the VCR switches to another frame while the ND is grabbing. This will 
cause bad image quality because the ND now might grab two subsequent video 
frames which will cause smear effects if the actors are moving fast.
Resizing is also a none trivial aspect. Under certain size factors you will 
get a funny stripe pattern due to the interlaced frames.

The NeXTcube is also a little slow at processing the single frames. Thats 
why for big images you won't even reach a rate of 1 fps. With fps rates 
turning to random (due to calculation delays) you will have a hard time to 
sync you VCR at all...so the savest way to advance the video tape is using 
the remote control and single frame stepping.
But you might also choose the change the frame base rate (see the Release 
Notes for details).
Syncing can be quite easy if you have a way to control the VCR by your 
computer. Then you can use the included commandline example which causes 
the NDCamera to grab a single frame by using distributed objects.


The Package

Version 0.21 comes in a package that includes:

 - NDCamera.app for NeXT hardware only. You need a NeXTdimension to use 
   this app successfully.

 - An Examples directory containing a simple movie recorded using this 
   app and a cheap video player plus two applications which allow show 
   you how to do remote controlling of the NDCamera.

 - Online help...minimal

 - Full sourcecode

 - The documentation and an ASCII version (README) of this introduction


ATTENTION: 	You need gnutar and gzip und unpack those files. Both programs 
come bundled with NeXTSTEP since version 3.2.


On where to find the latest releases please see the 'About this Project' 
section.


Features

As a fun project this app does nothing special. After all some people might 
find it useful to create their private movies. The included example was 
created using the NeXTdimension and a cheap video player. Somehow the 
Dimension failed to grab certain frames which makes the movie a little 
un-smooth. This was most likely due to the fact that even one frame/sec 
was too much work and the poor Cube couldn't keep up with the input.
If you want to record movies automatically you might enlarge the time 
between timed entries (see above).
Here is what the app can do in the current stage:

 - Choose a video source and adjust its settings. 

 - Grab single frames on a timed basis. 

 - Scale the grabbed images and display them on the screen or save them 
   to a .anim file. 

Some features will definitly be improved over time but there is definitly 
more useful work out here (if you have a desperate need for some features 
let me know anyhow).


ATTENTION: 	The implementation of the NeXTdimension's software is a 
little buggy. Running at high frame rates or with a huge system load 
will most propably crash the WindowServer. Don't say you havn't been 
warned.


For a complete description of known bugs see the Release Notes in the 
second chapter.



          About this Project


Once the NeXTIME framework is documented (or I had the time to figure out
some APIs on my own) I would like to include support for other output 
options. This could be just other file formats or even using the NDCamera 
as a NeXTIME video source.
Time will tell but it will never be much more then an app to play with. 
The performance of the system is not high enough to allow realtime video 
grabbing. You definitly need some extra hardware for such a job...or some 
really fast machines.

The latest version of this application will be available at the
ftp.nmr.embl-heidelberg.de, ftp.informatik.uni-muenchen.de or
ftp.cs.orst.edu anonymous ftp servers. There is a WWW page were you
can find out more about the status of this...and all the other
projects I'm working on:

	
	http://wwwcip.informatik.uni-erlangen.de/user/tsengel/
	Projects/Projects.html


Compiling

This version includes all the source code necessary to recompile the
program from scratch. It does not come with all the libraries! You
might need to get the MiscKit project (Version 1.4.0 or higher) from
the archives.

For more details on the MiscKit collection see the common NeXT ftp
servers, get the Objective-C or NeXT FAQs or take a look at the
EduSteps developer area:  
	
	http://www.nmr.embl-heidelberg.de/eduStep/Developer/Kits/
	MiscKit/MiscKit.html
	
If you would like to submit something to this collection you should
contact the current maintainer: Don Yacktman <don@darth.byu.edu> 


In Case of Trouble

If you have any questions you can contact me.

    Thomas Engel     
    Netpunstr. 9     
    D-90522 Oberasbach 
    Germany          
	
    E-mail:    tsengel@cip.informatik.uni-erlangen.de 
               tomi@shinto.nbg.sub.org

               (NeXTMail welcome)



          Warranty and copyright


Copyleft

All source code is distributed under the GNU General Public License.
This does not apply to the ObjectWare used, which most likely comes
with its own licensing rules (e.g. code that belongs to the MiscKit
project).

You are free to extend and modify this application. But don't
redistribute a modified version under the same name unless I gave you
the permission. I don't want to have different, confusingly
incompatible versions running around the world. 

Anyway...comments are highly appreciated.


No Warranty

This software is provided 'as is' and the programmer is not
responsible for any harm this program may cause. You - the user - are
responsible for everything that may happen to your business,
hardware, software, car, CD collection or what ever may be worth your
attention or money. Using this product is at your own risk and your
private fun.

There should be no serious bugs inside but remember that a
carbon-based unit did the coding. 


Travelware

Like all my projects this app is free and should be considered as travelware.

 1. Let it travel to as many people as you know. 

 2. Send me an E-mail or postcard if you use it. I will try to
    keep you informed about new releases.

 3. If you have a free bed or some free space on your floor...give
    me a hint. I might come and visit you on my next trip to the
    US...locations on Hawaii, near Seattle or WhistlerMnt. (Canada)
    preferred.



Enjoy it.

	Tomi


