[sane-devel] SANE2 standard completion

Rene Rebe rene at exactcode.de
Fri Mar 28 07:52:51 UTC 2008


Have you counted thru how many developers are willing to rewrite
their code (backends, frontends, etc.) for this arbitrarily defined SANE
2 "thing" ?

My votes still are: preferably compatibly change SANE 1 or adopt
TWAIN for Linux.

On 27.03.2008, at 18:22, stef wrote:

> 	Hello,
>
> 	before any work can start on SANE 2, the current proposal has to be  
> completed.
>
> 	The major change is the image data format. SANE 2 will be able to  
> handle new formats easily (which matches the current needs,  
> especially regarding ir
> channel). There will be 2 major image format, one pixel oriented and  
> the other will give images as a mime attachment. There is also  
> standard part for button handling.
>
> 	Here is a summary of the differences between SANE 1 and SANE 2  
> proposal standards:
>
> structures changes:
> 	- the SANE_Device struct has more fields, giving contact  
> information about the devices in case of bug, and the ability to  
> send device capability flags
> 	- the SANE_Parameters changes to suit the image format improvement.  
> It also gives new informations such as a proposed filename and X/Y  
> dpi.
> 	
> options changes:
> 	- capability hidden and allways settable added
> 	- more commonly used options are now part of the standard
>
> SANE operations changes:
> 	- sane_open has a SANE_Device ** parameter
> 	- scanner's button handling
>
> newtwork operation:
> 	The Network Protocol chapter seems to lag behind the SANE 1  
> chapter, and the SANE_NET_OPEN call needs to be updated to reflect  
> sane_open evolution.
>
> 		The current proposal is in good shape, and the change regarding  
> image format seems to suit the current need for new formats.  
> Converting current backends
> to SANE2 doesn't seem that difficult.
>
> 	But before starting, there are some things I'd like to see in the  
> new standard:
> 	- the current code flow is
> 	sane_init
> 		sane_open
> 			sane_start
> 				sane_read
> 			sane_cancel
> 		sane_close
> 	sane_exit
> 	
> 		rather than calling sane_cancel at the end of scan, I'd like to  
> have a sane_end function. Leaving the use of sane_cancel for  
> canceling the scan like it allready does. This new function would do  
> about the same, but code flow would be cleaner and easier to  
> understand:
> 	sane_init
> 		sane_open
> 			sane_start
> 				sane_read
> 			sane_end
> 		sane_close
> 	sane_exit
> 	
> 	- the proposed button handling would surely be better if we create  
> sane_lock_buttons(), sane_update_buttons() and sane_unlock()  
> buttons, instead
> of doing this with control options.
> 	
> 	- we should also add something about panels. Would some control  
> options be enough,  or do we also need some lock/update/unlock  
> behavior ?
> 	
> 	- there are some issues about backends configuration. In order to  
> be detected, some backends need their  configuration files tweaked.  
> I think that
> having well-known configuration options would improve  the situation  
> and would
> also let us have a common way of accessing configuration parameters  
> across
> backends.
> 	
> 	- do we want to improve warmup handling ? Currently there is no  
> feedback when warming-up is going on, which is sometime confusing,  
> we can have the feeling that nothing is happening. Do we want a  
> sane_warm_up() or a
> SANE_STATUS_WARMING_UP would be enough ?
> 	
> 	There are other points that I feel they could be improved, but  
> could be done as we develop SANE2:
> 	- we need a sane type for scanner buttons. Either we rename the  
> SANE_TYPE_BUTTON to SANE_TYPE_SOFT_BUTTON and use SANE_TYPE_BUTTON for
> physical buttons, or we create a SANE_TYPE_HARD_BUTTON. So that a  
> frontend can easily detect hardware buttons. There should be a list  
> of well-known buttons
> description to use when  possible.
> 	- a SANE_TYPE_PANEL would be handy
> 	- since there are well-know options there should be well-known  
> groups, and the SANE_CAP of these options should also be given.
> 	- a SANE_STATUS_LOCKED could be added to handle the case where the  
> hardware lock of a scanner has been left.
> 	
> Regards,
> 	Stef
> 	
> 		
>
> -- 
> sane-devel mailing list: sane-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
>            to sane-devel-request at lists.alioth.debian.org

-- 
  René Rebe - ExactCODE GmbH - Europe, Germany, Berlin
  http://exactcode.de | http://t2-project.org | http://rene.rebe.name




More information about the sane-devel mailing list