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

Povilas Kanapickas povilas at radix.lt
Sun Sep 27 11:43:09 BST 2020

Hi all,

On 9/24/20 12:14 PM, Olaf Meeuwissen wrote:
> Hi csola48,
> csola48 at gmail.com writes:
>> Why is the lineart option not supported in the sane 1.0.31 backend version?
> Probably because of commit a12083c8c44b7296fa98ecb83e8932d0f6bdeb05.
>   https://gitlab.com/sane-project/backends/-/commit/a12083c8c44b7296fa98ecb83e8932d0f6bdeb05
> @povilas> The commit message doesn't really explain why though ...

The reason why lineart has been removed was that it introduced
unnecessary complexity to the scanning driver. This made it much harder
to work on features that are used much more frequently. In that
particular case, I needed to refactor some core functionality to add a
new scanner. Lineart support made the refactoring much harder.

Re-adding lineart support is among my TODO tasks. I think that having
processing support in each backend is not a good design, because it
explodes the test matrix. A good place for a testing boundary would be
the SANE API itself as that does not require any changes to the
backends. So one possibility would be to have a wrapper backend that
would offer additional processing capabilities and which could be used
on top of any existing backend.

The above is just a high-level overview of what I imagine the solution
could be. It needs a thorough discussion on the mailing list once we
actually start looking into it. There could also be things which would
be discovered only once the implementation work starts.


More information about the sane-devel mailing list