[sane-devel] sane 1.0.31 backend version not supported lineart. Why?...

Ralph Little skelband at gmail.com
Thu Sep 24 17:20:16 BST 2020


On Thu, Sep 24, 2020 at 5:03 AM m. allan noah <kitno455 at gmail.com> wrote:

> On Thu, Sep 24, 2020 at 6:04 AM Wolfram Sang <wsa at kernel.org> wrote:
> >
> > On Thu, Sep 24, 2020 at 11:59:39AM +0200, Ulf Zibis wrote:
> > >
> > Well, I assumed the answer is 'no'. If it was 'yes', then the proper
> > path would be to first code it, convert the users, and only finally
> > delete the now obsolete stuff, no?
> >
> Agreed. Removing code that your users have come to rely on, without
> providing a replacement is bad form. In this case, this is a sort of
> expected feature for most scanners. I think it should not be provided
> by another layer, instead it could be a shared library that all
> backends can use. I wrote sanei_magic to provide software deskew and
> cropping algorithms to all backends, for just this reason. I've got a
> pretty good lineart function in the epjitsu backend, that I could move
> up to sanei_magic if other backends wanted to use it.
> My gut says that the backends should restrict themselves to providing
functionality that the device can directly support.
In the pixma backend that I am working on now, conversion to lineart does
introduce extra complications that cause bugs because it creates a
discontinuity between what the scanner is being asked to scan and what the
backend is delivering to the frontend. In conversation with Rolf, we did
flirt with the idea of removing the Lineart conversion from the pixma
backend for this reason. In the end, I'm putting in some work to try to fix

However, I guess I would make some observations:
1) We could push the lineart conversion out of the backend, but there is no
middleware in which to implement it. The frontend would have to offer that
or leave it to the user to add it to their workflow outside of the scan
2) If we remove it from a backend, then users consider that a regression,
and that's fair. So I think that we are stuck with it.
3) I really dig the idea of having a sanei library of common operations. We
do have some copy/pasted conversions sprayed around the backends and it
would be great to get that code extracted out into something common, thus
reducing the code footprint of the backend. As ever, regression testing is
the issue for backends that are not well supported/maintained.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/sane-devel/attachments/20200924/6f1c5c9f/attachment.html>

More information about the sane-devel mailing list