Hi all, On 9/24/20 12:14 PM, Olaf Meeuwissen wrote: > Hi csola48, > > [email protected] 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. Cheers, Povilas
