All the risk parallel downloads added lives in the dispatch loop, and none of it was reachable while the only way to run a book was to download one. Driven through ProcessBookHandler, every book here finishes when the test says so and never touches the network, the database or the disk. The loop is the real one. Covers the capacity cap, including lowering it mid-run while more books than the new cap are still in flight; the enqueue signal, both for books queued into free slots and for one arriving as the loop winds down; the abort drain, that it clears the queue and the loop still comes back rather than dying inside it; that only the book which answered Abort claims it while the rest report Cancelled; that a faulted book task is observed instead of taking the loop out through its outer catch; and Cancel All. The abort test runs one book at a time on purpose. With more, a book finishing in the same instant as the abort lets the loop take one more off the queue before the queue is cleared - the narrow window noted in the abort commit - and that is not what this test is about.
Libation: Liberate your Library
Libation is a free, open-source application for downloading and managing your Audible audiobooks. It decrypts your library, removes DRM, and lets you own your audiobooks forever.
Which version should I download? — get a recommended download for your system on our site.
Features
- Unlock Your Library: Download and remove DRM from your audiobooks.
- Cross-Platform: Fully supported on Windows, macOS, and Linux.
- Region Support: Works with Audible regions US, UK, Canada, Germany, France, Australia, Japan, India, and Spain.
- Advanced Organization: Search, filter, and tag your books.
- Fast & Efficient: Powered by AAXClean for fast decryption without heavy dependencies like ffmpeg.
- Import: Easily import your existing library, including cover art.
Getting started with Libation
All documentation has been moved to our new site: getlibation.com. Or jump to the important bits:
Development
Grab the latest release for your platform from the Releases Page.
Documentation
Comprehensive documentation is available in the docs directory and on our Documentation Site.
Development & Contributing
We welcome contributions!
- Development Getting Started: Setup your environment.
- Contribute: How to contribute code.
- Testing Changes: Run the tests and seed a demo library for UI testing.
- Website & Docs: How to run and improve the documentation.
- Linux Setup (Nix): Nix-based environment setup.
Community & Support
License
Libation is released under the GPL-3.0 License
If you found this useful, tell a friend. If you found this REALLY useful, you can donate here ...or just tell more friends. As long as I'm maintaining this software, it will remain free and open source.