Michael Bucari-Tovo 69a8eaad4a Add mock LibraryBook and Configuration capabilities
- Added `MockLibraryBook` which contains factories for easily creating mock LibraryBooks and Books
- Added mock Configuration
  - New `IPersistentDictionary` interface
  - New `MockPersistentDictionary` class which uses a `JObject` as its data store
  - Added `public static Configuration CreateMockInstance()`
    - This method returns a mock Configuration instance **and also sets the `Configuration.Instance` property**
    - Throws an exception if not in debug
- Updated all chardonnay controls to use the mocks in design mode. Previously I was using my actual database and settings file, but that approach is fragile and is unfriendly towards anyone else trying to work on it.
2025-11-05 13:28:49 -07:00
2025-11-03 11:24:02 -05:00
2025-04-27 13:15:50 -06:00
2022-07-26 22:15:23 -04:00
2024-12-06 10:29:47 -06:00
2025-10-27 16:30:50 -07:00
2019-10-04 16:02:36 -04:00
2025-08-14 13:16:27 -06:00

Libation: Liberate your Library

Download Libation

If you found this useful, tell a friend. If you found this REALLY useful, you can click here to PayPal.me

...or just tell more friends. As long as I'm maintaining this software, it will remain free and open source.

Table of Contents

Getting started

Audible audiobook manager

The good

  • Import library from audible, including cover art
  • Download and remove DRM from all books
  • Download accompanying PDFs
  • Add tags to books for better organization
  • Powerful advanced search built on the Lucene search engine
  • Customizable saved filters for common searches
  • Open source
  • Supports most regions: US, UK, Canada, Germany, France, Australia, Japan, India, and Spain
  • Fully supported in Windows, Mac, and Linux

The bad

  • Large file size
  • Made by a programmer, not a designer so the goals are function rather than beauty. And it shows

The ugly

  • Documentation? Yer lookin' at it
  • This is a single-developer personal passion project. Support, response, updates, enhancements, bug fixes etc are as my free time allows
  • I have a full-time job, a life, and a finite attention span. Therefore a lot of time can potentially go by with no improvements of any kind

Disclaimer: I've made every good-faith effort to include nothing insecure, malicious, anti-privacy, or destructive. That said: use at your own risk.

I made this for myself and I want to share it with the great programming and audible/audiobook communities which have been so generous with their time and help.

Description
No description provided
Readme GPL-3.0 142 MiB
Languages
C# 97.5%
Shell 2.3%
JavaScript 0.1%