[sane-devel] Film holder control (and adf)

Jose Paulo Moitinho de Almeida moitinho@civil.ist.utl.pt
Fri, 25 Jan 2002 11:52:23 +0000


On Thursday 24 January 2002 19:54, Henning Meier-Geinitz wrote:
> Hi,
>
>.....
> >
> > scanimage -frame 3
>
> Does this mean "move to frame 3 and then scan an image" or just "move
> to frame 3"?
>

As far as I understand it is "move to frame 3 and then scan an image"

> ......
>
> Looks like all these commands aren't intended to scan something.
> However, that's the basic principle of scanimage. If you want to have
> these features, I propose to write a new frontend (probably based on
> scanimage) which can be added to sane-frontends.
>

I think I see the point. I'll try to rephrase the proposal, but the idea of 
having a query/control utility makes sense,

> > This interface and an extension in the api would allow a simple
> > integration with other frontends.
>
> The SANE API won't be changed in the current version 1. Maybe this is
> an option for version 2.
>
> I don't understand the idea of some of these options, especially the
> options that only return information. However, I don't own a film
> scanner so I'm not the right person to judge this.
>
> If I'm completely wrong and the options you described can be set
> before a scan as usual, I don't see a problem to implement them as the
> normal SANE options.
>

They can, probably I am wrong when I speak about the api, but my concern is 
that life may be easier if reasonable, common options are chosen before 
implementation. Perhaps what I want is to propose new "well known options" or 
a set of "reasonably well known options".

In 1.0.6 when trying to figure out what is implemented I found:

coolscan.c:  dev->sane.type = "slide scanner";
canon.c:    dev->sane.type = "film scanner";

This is not critical, but if a frontend relies on these properties you know 
what it costs to guess all the alternatives that where used.

----------------------------------
New iteration

* Background:

Imagine a film scanner wich can accepts a film strip (eg 6 in a row), a 
single slide, a slide holder (eg 4 in a row) or an aps cassete.

I never used a flatbed with an adf adapter, but I think that it is possible 
to install/remove it without turning off the scanner, so the situation will 
be similar.

The frontend wants to allow the user to select which frame he/she wants to 
scan, providing the relevant options that apply, but after initialization it 
is possible to change the media, eg from a aps cassete to a film strip, so 
that the initial information queried by the backend may become outdated.

* Finding the properties/current options

A new (common) option is created.

scanimage -query 

which will print

 My scanner:Number of images: 4
 My scanner:Can move back: yes
 My scanner:Current frame: 2
 My scanner:....

The same effect can probably be obtained by repeating a call to 
sane_control_option. But what confuses me is that while I can see current 
frame as an option, number of images is  a property of the scanner that may 
change without notification.

* Scanning

To do a scan the other options are used:

scanimage -next-frame
scanimage -previous-frame
scanimage -frame 3

---------------------------

Regards