AVATeR: Annotation Viewer and Tools for (PocketBook) e-Readers
william March 02, 2022 #e-reading #annotations #C++ #Qt #SQLiteInteractive annotation viewer/exporter for PocketBook e-readers, with additional tools.
We do:
- Interactive annotations reading, searching and exporting directly from the e-reader
- Store annotations locally for viewing after disconnecting
- provide basic tools for e-readers, including backup options
We don’t:
- manage device content or an e-book library
- modify e-book files
Some highlights:
- auto-detect e-reader (dis)connection
- cross-platform: Windows and Linux. (Apple planned)
- device settings/annotation files can be easily copied/synced.
Supported E-Reader devices
- PocketBook e-readers with recent 6.x firmware.
- Older firmware versions (5.x) are likely only partially supported - we are open to feedback.
- Vivlio e-readers (these are rebranded PocketBook readers)
Downloads
For downloads see the release pages.
Requirements
Windows
- Windows 10/11 (Intel/AMD 64-bit)
- v0.13 and older support Windows 7/8 (64-bit)
Linux
Debian/Ubuntu
Two Debian versions exist: a standard version and a compatible version for older Buster-based distros. Distinguish either version using their Qt dependency (open Help > About, 5.15+ is the standard version).
- Standard : Debian Bullseye (i.e. Ubuntu 20+) or newer
- Minimal requirements: glibc 2.33, qt 5.15.1, libzip 1.6, udev
- Compatible version: Debian Buster based distro's (i.e. Ubuntu 18-19).
- Minimal requirements: glibc 2.28, qt 5.11, libzip 1.3, udev
- Omits the ability to cancel running backups
Fedora/Red Hat
The Fedora binary is build using Fedora Workstation 35, and should be useable on compatible systems with at least glibc 2.34. If the .rpm does not add the required dependencies, you will need to manually install libzip
and qt5-qtbase
.
Windows and Linux differences
! Note: the device monitor has not yet been implemented for Linux.
The USB implementations differ, but this is mostly a technical aspect. The Linux version generally appears to run faster: Window's API function for device names can stall at times; Qt's row resizing was excruciatingly slow on Windows, but has been replaced by smart-row-resizing. That has it's own caveats: the intention is to allow either, at least in the Linux version.
Manual
Support
- Mobilereads topic
- support [at] syncoda.nl
Release roadmap
- 0.13.x Many internal (backend) changes
- internal: source cleanup
- internal: improving separation of 'USBScanner', ReaderManager and UI parts
- internal: improve and simplify LocalMirror
- support unmounted devices
- 0.14.x Focus on UI
- improve filter options
- update Windows Qt to 6.4.x
- 0.15+
- add Kobo support
- add Apple Mac support
Program structure
The AVATeR backend is split into two parts: the 'USBScanner' provides tools for checking USB devices, hotplug events and mountpoints. The ReaderManager manages all Reader objects. On changes it signals UI applications, such as the AVATeR UI, which contains the annotation viewer and some tools.
The USBScanner could be converted to plain C. It interacts directly with WIN32/udev APIs, though libusb could be adapted in the future. The other parts use C++ (in a somewhat C-style). There are still some dependencies on Qt, for SQL, preferences and debug logging. The UI depends on C++/Qt, and is compatible with Qt 5.12.x (common on linux) and 6.x.
The program sources are currently closed, with an intent to open them up. The current idea is to release the lower parts first, starting with the USBScanner. A liberal license is preferred.
History
AVATeR started as the PocketBook Tools plugin for Calibre; the first standalone version had a tiny window with 6 tool buttons. After an annotation display was added, one thing led to another.
Donate
You are encouraged to donate, if you are able to do so.
For downloads see the release pages.