kopia lustrzana https://gitlab.com/sane-project/website
324 wiersze
18 KiB
HTML
324 wiersze
18 KiB
HTML
<!-- received="Fri Aug 13 14:46:15 1999 PDT" -->
|
||
<!-- sent="Fri, 13 Aug 1999 23:19:38 +0200" -->
|
||
<!-- name="Oliver Rauch" -->
|
||
<!-- email="oliver.rauch@Wolfsburg.DE" -->
|
||
<!-- subject="[Fwd: Discussion about SANE and TWAIN...]" -->
|
||
<!-- id="" -->
|
||
<!-- inreplyto="" -->
|
||
<title>sane-devel: [Fwd: Discussion about SANE and TWAIN...]</title>
|
||
<h1>[Fwd: Discussion about SANE and TWAIN...]</h1>
|
||
<b>Oliver Rauch</b> (<a href="mailto:oliver.rauch@Wolfsburg.DE"><i>oliver.rauch@Wolfsburg.DE</i></a>)<br>
|
||
<i>Fri, 13 Aug 1999 23:19:38 +0200</i>
|
||
<p>
|
||
<ul>
|
||
<li> <b>Messages sorted by:</b> <a href="date.html#133">[ date ]</a><a href="index.html#133">[ thread ]</a><a href="subject.html#133">[ subject ]</a><a href="author.html#133">[ author ]</a>
|
||
<!-- next="start" -->
|
||
<li> <b>Next message:</b> <a href="0134.html">Oliver Rauch: "[Fwd: Re: Discussion about SANE and TWAIN...]"</a>
|
||
<li> <b>Previous message:</b> <a href="0132.html">Oliver Rauch: "Re: Starting a discussion about SANE and TWAIN..."</a>
|
||
<!-- nextthread="start" -->
|
||
<!-- reply="end" -->
|
||
</ul>
|
||
<!-- body="start" -->
|
||
<a href="mailto:252353N@knotes.kodak.com">252353N@knotes.kodak.com</a> wrote:<br>
|
||
<p>
|
||
<i>> From: Mark McLaughlin</i><br>
|
||
<i>></i><br>
|
||
<i>> Hi Oliver...</i><br>
|
||
<i>></i><br>
|
||
<i>> Here are my responses to your last message...</i><br>
|
||
<i>></i><br>
|
||
<i>> >>> [regarding a generic TWAIN using SANE Source]</i><br>
|
||
<i>> >>></i><br>
|
||
<i>> >>> This sounds very good because TWAIN on UNIX will be able to</i><br>
|
||
<i>> >>> support all scanners / image acquiring devices that are supported by</i><br>
|
||
<i>> >>> SANE. SANE will benefit from this because the scanner</i><br>
|
||
<i>> >>> manufacturers will give better support to the SANE developers</i><br>
|
||
<i>> >>> (e.g. documentation about their protocols, hardware for doing some</i><br>
|
||
<i>> >>> tests).</i><br>
|
||
<i>> >>> If TWAIN does support the generic source that talks to SANE drivers</i><br>
|
||
<i>> >>> on Windows/Macintosh, we will be able to use a scanner that is</i><br>
|
||
<i>> >>> connected on a UNIX system and the TWAIN-GUI runs on a</i><br>
|
||
<i>> >>> Windows/Macintosh platform. That would be a benefit for a lot</i><br>
|
||
<i>> >>> of users because they can share one scanner for</i><br>
|
||
<i>> >>> UNIX/Windows/Mac.</i><br>
|
||
<i>></i><br>
|
||
<i>> I agree, there is definately value in being able</i><br>
|
||
<i>> to use remote scanning. And as long as the TWAIN</i><br>
|
||
<i>> Source is running on the local machine in this</i><br>
|
||
<i>> model, there is no added burden from the existence</i><br>
|
||
<i>> of the TWAIN GUI. TWAIN would pick up a nice new</i><br>
|
||
<i>> feature merely by using SANE, with no changes to</i><br>
|
||
<i>> either interface...</i><br>
|
||
<i>></i><br>
|
||
<i>> >>> [regarding a SANE driver using TWAIN]</i><br>
|
||
<i>> >>></i><br>
|
||
<i>> >>> It would be nice if this would work one day.</i><br>
|
||
<i>> >>></i><br>
|
||
<i>> >>> If I understand it right there are "generic" GUIs for TWAIN</i><br>
|
||
<i>> >>> that are not positioned in the source driver level - right?</i><br>
|
||
<i>> >>> Are these GUIs positioned in the Application layer or in the</i><br>
|
||
<i>> >>> source managaer layer?</i><br>
|
||
<i>> >>></i><br>
|
||
<i>> >>> Would it be necessary to write an own GUI for the generic</i><br>
|
||
<i>> >>> SANE source driver?</i><br>
|
||
<i>></i><br>
|
||
<i>> Actually, it could be done today. The problem is</i><br>
|
||
<i>> that many Source's do not offer the programmatic</i><br>
|
||
<i>> control to make it as clean as one could hope.</i><br>
|
||
<i>> In part this is because of TWAIN's success. We</i><br>
|
||
<i>> are fully compatible from TWAIN 1.0 to TWAIN 1.8</i><br>
|
||
<i>> on the Source and application sides. This means</i><br>
|
||
<i>> that Sources written years ago are still quite</i><br>
|
||
<i>> viable today. Still, there are a growing number</i><br>
|
||
<i>> of Sources being written now that would probably</i><br>
|
||
<i>> work quite well as backends to SANE, so it may be</i><br>
|
||
<i>> worth considering a generic SANE using TWAIN driver...</i><br>
|
||
<i>></i><br>
|
||
<i>> As for the GUIs. TWAIN offers extremely minimal</i><br>
|
||
<i>> advice on the design of the GUI. Which is why they</i><br>
|
||
<i>> all look so different. There is no standard design</i><br>
|
||
<i>> for a TWAIN GUI, and the only ones that exist</i><br>
|
||
<i>> independent of a Source are in the applications, and</i><br>
|
||
<i>> there are no standards driving them, either...</i><br>
|
||
<i>></i><br>
|
||
<i>> As for the TWAIN-using-SANE and SANE-using-TWAIN</i><br>
|
||
<i>> generic drivers. In the first case there would be</i><br>
|
||
<i>> a GUI provided in the TWAIN layer. This GUI would</i><br>
|
||
<i>> be common to all devices for that Source. There</i><br>
|
||
<i>> would be no device specific GUI from the SANE</i><br>
|
||
<i>> layer (unless there is a mechanism for doing this</i><br>
|
||
<i>> that I am unaware of). In the SANE-using-TWAIN</i><br>
|
||
<i>> case the TWAIN GUI would be supressed (unless there</i><br>
|
||
<i>> was a model allowing it to be raised which was</i><br>
|
||
<i>> permitted and made sense). However, even though</i><br>
|
||
<i>> the GUI would be supressed, TWAIN is driven by some</i><br>
|
||
<i>> kind of windowing-system messaging loop. The generic</i><br>
|
||
<i>> SANE driver would therefore require the presence of</i><br>
|
||
<i>> a windowing system in order to run. This is not a</i><br>
|
||
<i>> problem, of course, for running SANE on WIN32 or</i><br>
|
||
<i>> Macintosh platforms, since the windowing system is</i><br>
|
||
<i>> integral to the setup...</i><br>
|
||
<i>></i><br>
|
||
<i>> >>> [regarding SANE as a platform independent HAL communication layer]</i><br>
|
||
<i>> >>></i><br>
|
||
<i>> >>> Normally there are no OS dependend #ifdef's in the backend sources.</i><br>
|
||
<i>> >>> There is a common interface for scsi communication (sanei_scsi) used</i><br>
|
||
<i>> >>> by all backends. In sanei-scsi there are the OS dependend #ifdef's</i><br>
|
||
<i>> >>> that make sure that the backend authors do not have to care about</i><br>
|
||
<i>> >>> the OS.</i><br>
|
||
<i>> >>> The only machine dependant thing the backends have to care about</i><br>
|
||
<i>> >>> is the endianess of the machine on which the backend is running.</i><br>
|
||
<i>> >>></i><br>
|
||
<i>> >>> For parallel scanners there is no common interface because there are</i><br>
|
||
<i>> >>> only a few parallel scanners supported due to missing documentation for</i><br>
|
||
<i>> >>> parallel port scanners.</i><br>
|
||
<i>> >>></i><br>
|
||
<i>> >>> The support for USB scanners is not so simple because there are no</i><br>
|
||
<i>> >>> generic USB drivers for most UNIX platforms.</i><br>
|
||
<i>></i><br>
|
||
<i>> Adaptec's Advanced SCSI Programming Interface (ASPI) is the</i><br>
|
||
<i>> de facto standard for SCSI communication on Windows platforms.</i><br>
|
||
<i>> Microsoft has presented their Still Image Technology (STI)</i><br>
|
||
<i>> as a replacement for ASPI. So there are no lack of standards</i><br>
|
||
<i>> there. :) I would expect Macintosh to have a stanardized</i><br>
|
||
<i>> mechanism for SCSI, so modifying the SANE backend to deal with</i><br>
|
||
<i>> each of these alternatives should not be overly burdensome.</i><br>
|
||
<i>></i><br>
|
||
<i>> There is currently no standard for deal with parallel driven</i><br>
|
||
<i>> scanner drivers. So tackling this area would most likely</i><br>
|
||
<i>> continue to be a problem.</i><br>
|
||
<i>></i><br>
|
||
<i>> As for USB, it is well defined on WIN32 and Macintosh. It</i><br>
|
||
<i>> would be nice to see some effort towards standardizing access</i><br>
|
||
<i>> to it on UNIX, since it is the physical connection for small</i><br>
|
||
<i>> scanners and digital cameras for the foreseeable future. The</i><br>
|
||
<i>> fact that WIN32 and Macintosh have standardized ways of</i><br>
|
||
<i>> accessing USB means that a SANE driver on those platforms</i><br>
|
||
<i>> could leverage off that advantage today.</i><br>
|
||
<i>></i><br>
|
||
<i>> >>> I don`t know anything about scsi-communtication on Windows</i><br>
|
||
<i>> >>> and Macintosh platforms, but I don`t see any problems to add</i><br>
|
||
<i>> >>> support for them to sanei-scsi.</i><br>
|
||
<i>> >>> SANE already works (at least a bit) with OS/2.</i><br>
|
||
<i>> >>></i><br>
|
||
<i>> >>> May be we have to do some minor changes in some backends</i><br>
|
||
<i>> >>> to make them work on Windows/Macintosh platforms, but that</i><br>
|
||
<i>> >>> shall not make big problems.</i><br>
|
||
<i>></i><br>
|
||
<i>> Unfortunately my technical experience with SANE is very</i><br>
|
||
<i>> limited at the moment. I have perused the website and</i><br>
|
||
<i>> gathered some information on it. I would be very</i><br>
|
||
<i>> interested in any recommended sample code that I could</i><br>
|
||
<i>> see, as that would significantly increase my understanding</i><br>
|
||
<i>> of SANE, as well as give me a better idea of how far away</i><br>
|
||
<i>> we are at an engineering level from achieving some of the</i><br>
|
||
<i>> ideas we've discussed these last two days...</i><br>
|
||
<i>></i><br>
|
||
<i>> Many thanks for your reply Oliver. And let me take a</i><br>
|
||
<i>> moment to say thanks again to Andy and Petter for their</i><br>
|
||
<i>> comments. I was not sure how this interaction between</i><br>
|
||
<i>> our groups was going to develop, and while there is a</i><br>
|
||
<i>> lot to learn and do, I appreciate the time you are all</i><br>
|
||
<i>> taking to investigate this opportunity...</i><br>
|
||
<i>></i><br>
|
||
<i>> If you get a chance, could you describe to me please the</i><br>
|
||
<i>> layout of the SANE group? Do its members ever meet? Is</i><br>
|
||
<i>> it an official entity (in the legal sense) in any way</i><br>
|
||
<i>> (that is, with elected officers, keepers of documents,</i><br>
|
||
<i>> code, etc)?</i><br>
|
||
<i>></i><br>
|
||
<i>> The question is only to sate my curiousity (I've this</i><br>
|
||
<i>> feeling that if these discussions proceed to their</i><br>
|
||
<i>> potential outcome that I will be writing a SANE driver</i><br>
|
||
<i>> eventually)... :)</i><br>
|
||
<i>></i><br>
|
||
<i>> The TWAIN Working Group is a consortium of companies. We</i><br>
|
||
<i>> are a not-for-profit group. We meet quarterly and have</i><br>
|
||
<i>> weekly conference calls. There are currently five</i><br>
|
||
<i>> sub-committees: marketing, macintosh, technical, toolkit</i><br>
|
||
<i>> and testing, and they each have their own tasks and</i><br>
|
||
<i>> weekly conference calls.</i><br>
|
||
<i>></i><br>
|
||
<i>> Mark McLaughlin</i><br>
|
||
<i>> Eastman Kodak Company</i><br>
|
||
<i>> 716 726 1352</i><br>
|
||
<i>> <a href="mailto:mlm@kodak.com">mlm@kodak.com</a></i><br>
|
||
<i>></i><br>
|
||
<i>> Oliver Rauch <<a href="mailto:oliver.rauch@wolfsburg.de">oliver.rauch@wolfsburg.de</a>> on 08/11/99 06:08:32 PM</i><br>
|
||
<i>></i><br>
|
||
<i>> To: Mark McLaughlin/252353/EKC</i><br>
|
||
<i>> cc: SANE-MAILLING-LIST <<a href="mailto:sane-devel@mostang.com">sane-devel@mostang.com</a>></i><br>
|
||
<i>> Subject: Re: Discussion about SANE and TWAIN...</i><br>
|
||
<i>></i><br>
|
||
<i>> Hello Mark,</i><br>
|
||
<i>></i><br>
|
||
<i>> thanks for your answer.</i><br>
|
||
<i>></i><br>
|
||
<i>> <a href="mailto:252353N@knotes.kodak.com">252353N@knotes.kodak.com</a> wrote:</i><br>
|
||
<i>></i><br>
|
||
<i>> > From: Mark McLaughlin</i><br>
|
||
<i>> ></i><br>
|
||
<i>> > Hi Oliver...</i><br>
|
||
<i>> ></i><br>
|
||
<i>> > Many thanks for your reply.</i><br>
|
||
<i>> ></i><br>
|
||
<i>> > I'm glad that you also see a benefit from this interaction between</i><br>
|
||
<i>> > SANE and TWAIN. The fact that TWAIN's user base is expressing</i><br>
|
||
<i>> > an interest in UNIX is a little daunting in some ways, since not many</i><br>
|
||
<i>> > of the current TWAIN members are doing anything with UNIX.</i><br>
|
||
<i>> > So one of the opportunities we see from working with SANE is a</i><br>
|
||
<i>> > chance to draw on your experience and expertise.</i><br>
|
||
<i>> ></i><br>
|
||
<i>> > As stated in my first message, I believe the principle benefit from</i><br>
|
||
<i>> > SANE and TWAIN working together is a chance to help app</i><br>
|
||
<i>> > writers cross from one OS to the other with less effort than it takes</i><br>
|
||
<i>> > today. So, TWAIN runs on UNIX, SANE runs on Windows, and</i><br>
|
||
<i>> > application writers have one less component to worry about</i><br>
|
||
<i>> > when trying to build their source code on an alternate platform.</i><br>
|
||
<i>> ></i><br>
|
||
<i>> > Bearing that in mind, I propose that on UNIX TWAIN runs in</i><br>
|
||
<i>> > communication with a generic Source that talks to SANE drivers.</i><br>
|
||
<i>> > We would have to make some minor changes to our Source</i><br>
|
||
<i>> > Manager to allow this to work properly, but such a TWAIN Source</i><br>
|
||
<i>> > would be able to communicate with any SANE supported image</i><br>
|
||
<i>> > capture device.</i><br>
|
||
<i>></i><br>
|
||
<i>> This sounds very good because TWAIN on UNIX will be able to</i><br>
|
||
<i>> support all scanners / image acquiring devices that are supported by</i><br>
|
||
<i>> SANE. SANE will benefit from this because the scanner</i><br>
|
||
<i>> manufacturers will give better support to the SANE developers</i><br>
|
||
<i>> (e.g. documentation about their protocols, hardware for doing some</i><br>
|
||
<i>> tests).</i><br>
|
||
<i>> If TWAIN does support the generic source that talks to SANE drivers</i><br>
|
||
<i>> on Windows/Macinthos, we will be able to use a scanner that is</i><br>
|
||
<i>> connected on a UNIX system and the TAWIN-GUI runs on a</i><br>
|
||
<i>> Windows/Macintosh platform. That would be a benefit for a lot</i><br>
|
||
<i>> of users because they can share one scanner for</i><br>
|
||
<i>> UNIX/Windows/Mac.</i><br>
|
||
<i>></i><br>
|
||
<i>> > At this time I don't believe there is much to be gained from having</i><br>
|
||
<i>> > a generic SANE driver that talks to TWAIN. Technically it is very</i><br>
|
||
<i>> > doable, but TWAIN Sources have a history of relying heavily or</i><br>
|
||
<i>> > even exclusively on their internal GUIs, which doesn't fit well into</i><br>
|
||
<i>> > SANE's programmatic design. We are working to change this</i><br>
|
||
<i>> > behavior (and have been since TWAIN 1.7 -- 1997), so in the</i><br>
|
||
<i>> > future it might be advantageous to do this.</i><br>
|
||
<i>></i><br>
|
||
<i>> It would be nice if this would work one day.</i><br>
|
||
<i>></i><br>
|
||
<i>> If I understand it right there are "generic" GUIs for TWAIN</i><br>
|
||
<i>> that are not positioned in the source driver level - right?</i><br>
|
||
<i>> Are these GUIs positioned in the Application layer or in the</i><br>
|
||
<i>> source managaer layer?</i><br>
|
||
<i>></i><br>
|
||
<i>> Would it be necessary to write an own GUI for the generic</i><br>
|
||
<i>> SANE source driver?</i><br>
|
||
<i>></i><br>
|
||
<i>> > One question I have regarding SANE has to do with writing drivers</i><br>
|
||
<i>> > for mulitple UNIX platforms. Writing a 'single' device driver for</i><br>
|
||
<i>> > Solaris and AIX and Linux, etc must be appealing to some device</i><br>
|
||
<i>> > manufacterers (nobody wants to have write one driver per OS for</i><br>
|
||
<i>> > their device). Has SANE investigated an abstraction between</i><br>
|
||
<i>> > it's interface and the actual communication with the OS? I'm kind of</i><br>
|
||
<i>> > looking for something like ASPI (though wire independent). The</i><br>
|
||
<i>> > idea being that me, as a driver writer, would be able to write a</i><br>
|
||
<i>> > SANE driver that with a minimum of #ifdef's would be buildable on</i><br>
|
||
<i>> > UNIX or Macintosh or Windows platforms.</i><br>
|
||
<i>></i><br>
|
||
<i>> Normally there are no OS dependend #ifdef's in the backend sources.</i><br>
|
||
<i>> There is a common interface for scsi communication (sanei_scsi) used</i><br>
|
||
<i>> by all backends. In sanei-scsi there are the OS dependend #ifdef's</i><br>
|
||
<i>> that make sure that the backend authors do not have to care about</i><br>
|
||
<i>> the OS.</i><br>
|
||
<i>> The only machine dependant thing the backends have to care about</i><br>
|
||
<i>> is the endianess of the machine on which the backend is running.</i><br>
|
||
<i>></i><br>
|
||
<i>> For parallel scanners there is no common interface because there are</i><br>
|
||
<i>> only a few parallel scanners supported due to missing documentation for</i><br>
|
||
<i>> parallel port scanners.</i><br>
|
||
<i>></i><br>
|
||
<i>> The support for USB scanners is not so simple because there are no</i><br>
|
||
<i>> generic USB drivers for most UNIX platforms.</i><br>
|
||
<i>></i><br>
|
||
<i>> > If such a mechanism could be created, I would have a very good</i><br>
|
||
<i>> > reason for running SANE on Windows and Macintosh platforms...</i><br>
|
||
<i>></i><br>
|
||
<i>> I don`t know anything about scsi-communtication on Windows</i><br>
|
||
<i>> and Macintosh platforms, but I don`t see any problems to add</i><br>
|
||
<i>> support for them to sanei-scsi.</i><br>
|
||
<i>> SANE already works (at least a bit) with OS/2.</i><br>
|
||
<i>></i><br>
|
||
<i>> May be we have to do some minor changes in some backends</i><br>
|
||
<i>> to make them work on Windows/Macintosh platforms, but that</i><br>
|
||
<i>> shall not make big problems.</i><br>
|
||
<i>></i><br>
|
||
<i>> Bye</i><br>
|
||
<i>> Oliver</i><br>
|
||
<i>></i><br>
|
||
<i>> --</i><br>
|
||
<i>> EMAIL: <a href="mailto:Oliver.Rauch@Wolfsburg.DE">Oliver.Rauch@Wolfsburg.DE</a></i><br>
|
||
<i>> WWW: <a href="http://www.wolfsburg.de/~rauch">http://www.wolfsburg.de/~rauch</a></i><br>
|
||
<p>
|
||
<pre>
|
||
--
|
||
EMAIL: <a href="mailto:Oliver.Rauch@Wolfsburg.DE">Oliver.Rauch@Wolfsburg.DE</a>
|
||
WWW: <a href="http://www.wolfsburg.de/~rauch">http://www.wolfsburg.de/~rauch</a>
|
||
<p>
|
||
<p>
|
||
<p>
|
||
<p>
|
||
<pre>
|
||
--
|
||
Source code, list archive, and docs: <a href="http://www.mostang.com/sane/">http://www.mostang.com/sane/</a>
|
||
To unsubscribe: echo unsubscribe sane-devel | mail <a href="mailto:majordomo@mostang.com">majordomo@mostang.com</a>
|
||
</pre>
|
||
<!-- body="end" -->
|
||
<p>
|
||
<ul>
|
||
<!-- next="start" -->
|
||
<li> <b>Next message:</b> <a href="0134.html">Oliver Rauch: "[Fwd: Re: Discussion about SANE and TWAIN...]"</a>
|
||
<li> <b>Previous message:</b> <a href="0132.html">Oliver Rauch: "Re: Starting a discussion about SANE and TWAIN..."</a>
|
||
<!-- nextthread="start" -->
|
||
<!-- reply="end" -->
|
||
</ul>
|