Clean up docs

This commit is contained in:
rmcrackan
2026-06-03 11:04:59 -04:00
parent c1c3c33ea8
commit 9ef5e95801
11 changed files with 40 additions and 38 deletions

View File

@@ -76,10 +76,6 @@ export default defineConfig({
text: "Easy guide to searching",
link: "/docs/features/lucene",
},
{
text: "Spatial Audio & DRM",
link: "/docs/features/spatial-audio",
},
],
},
{
@@ -88,7 +84,8 @@ export default defineConfig({
items: [
{ text: "Advanced Topics", link: "/docs/advanced/advanced" },
{ text: "Command Line Interface", link: "/docs/advanced/command-line-interface" },
{ text: "Troubleshooting", link: "/docs/advanced/troubleshoot" }
{ text: "Troubleshooting", link: "/docs/advanced/troubleshoot" },
{ text: "Spatial Audio & DRM", link: "/docs/advanced/spatial-audio" },
],
},
{

View File

@@ -32,7 +32,7 @@ Comprehensive documentation is available in the `docs` directory and on our [Doc
- [Getting Started](https://getlibation.com/docs/getting-started)
- [FAQ](https://getlibation.com/docs/frequently-asked-questions)
- [Spatial Audio & DRM](https://getlibation.com/docs/features/spatial-audio)
- [Spatial Audio & DRM](https://getlibation.com/docs/advanced/spatial-audio)
## Development & Contributing

View File

@@ -1,16 +1,16 @@
# Spatial Audio, Dolby Atmos, and Widevine DRM
This page explains why Libation **no longer downloads Dolby Atmos / spatial audiobooks**, what changed on Audible's side, and what you can still do with Libation today.
> [!IMPORTANT]
> tl;dr: Libation **cannot** download Dolby Atmos or spatial audio from Audible and it will **never** be able to do so in the future.
## Short answer
**Libation cannot download Dolby Atmos or spatial audio from Audible.** Not in 13.1.3+, and not by enabling **Use Widevine DRM** or **Request xHE-AAC Codec**. Those settings only affect **stereo** formats (AAC-LC or xHE-AAC). They do not restore the Atmos mix.
The **Request Spatial Audio** option was removed in [Libation 13.1.3](https://github.com/rmcrackan/Libation/releases/tag/v13.1.3). Audible now requires hardware-backed Widevine (L1) for many spatial titles, which Libation cannot satisfy on a desktop PC.
Cryptography is always a game of cat and mouse, so it's *possible* someone will release a hack tomorrow. However this is extremely unlikely. The cryptography discussed below is hardware-based DRM which has been used for years by huge companies including Netflix, Amazon Prime, and Disney+. A small army of hackers has been going at this since 2014 -- [no general reproducible hack has been shown](https://www.forasoft.com/learn/video-streaming/articles-streaming/widevine-l1-l2-l3). I'd love to be proven wrong but I'm not holding my breath.
**What is still possible with Libation**
- Download and decrypt most titles in **stereo** (AAC-LC, or xHE-AAC with Widevine enabled).
- Download and decrypt most titles in **stereo** (AAC-LC, or xHE-AAC with Widevine enabled). (The Libation settings **Use Widevine DRM** or **Request xHE-AAC Codec** only affect **stereo** formats (AAC-LC or xHE-AAC). They do not restore the Atmos mix.)
- Play spatial files you **already downloaded before January 2026**, if your media player supports E-AC-3 or AC-4.
**What is not possible with Libation**
@@ -65,11 +65,11 @@ Download and decrypt titles while Libation still supports the format Audible del
3. Re-add your account if Libation prompts you (Widevine requires an Android-style device registration).
4. Re-download the title.
See [Audio File Formats](./audio-file-formats.md) for codec details and [Supported Media Players](./audio-file-formats.md#supported-media-players) if you have trouble playing xHE-AAC.
See [Audio File Formats](../features/audio-file-formats.md) for codec details and [Supported Media Players](../features/audio-file-formats.md#supported-media-players) if you have trouble playing xHE-AAC.
### 3. If downloads fail even with spatial disabled
Check your log file ([FAQ: Where Can I Find the Log File?](/docs/frequently-asked-questions#where-can-i-find-the-log-file)) and search [open issues](https://github.com/rmcrackan/Libation/issues). Some failures are Audible-side (Plus throttling, temporary outages) rather than spatial-related. See also [Troubleshooting](/docs/advanced/troubleshoot).
Check your log file ([FAQ: Where Can I Find the Log File?](/docs/frequently-asked-questions#where-can-i-find-the-log-file)) and search [open issues](https://github.com/rmcrackan/Libation/issues). Some failures are Audible-side (Plus throttling, temporary outages) rather than spatial-related. See also [Troubleshooting](./troubleshoot.md).
## Will spatial download come back?
@@ -100,17 +100,17 @@ If you liberated spatial titles before January 2026, your files may be **E-AC-3*
Spatial audiobooks from Audible use:
- [E-AC-3 (Dolby Digital Plus Atmos)](./audio-file-formats.md#e-ac-3)
- [AC-4 (Dolby AC-4 Immersive Stereo)](./audio-file-formats.md#ac-4)
- [E-AC-3 (Dolby Digital Plus Atmos)](../features/audio-file-formats.md#e-ac-3)
- [AC-4 (Dolby AC-4 Immersive Stereo)](../features/audio-file-formats.md#ac-4)
See [Supported Media Players](./audio-file-formats.md#supported-media-players) for an incomplete compatibility list.
See [Supported Media Players](../features/audio-file-formats.md#supported-media-players) for an incomplete compatibility list.
**Playing a file is not the same as hearing Atmos.** Many players decode E-AC-3 as plain 5.1 surround without rendering spatial objects. Dolby Atmos rendering often requires extra software (for example [Dolby Access](https://apps.microsoft.com/detail/9n0866fs04w8) on Windows) or hardware support. See [Spatial Audio and Dolby Atmos](./audio-file-formats.md#spatial-audio-and-dolby-atmos) for more detail.
**Playing a file is not the same as hearing Atmos.** Many players decode E-AC-3 as plain 5.1 surround without rendering spatial objects. Dolby Atmos rendering often requires extra software (for example [Dolby Access](https://apps.microsoft.com/detail/9n0866fs04w8) on Windows) or hardware support. See [Spatial Audio and Dolby Atmos](../features/audio-file-formats.md#spatial-audio-and-dolby-atmos) for more detail.
If you expected Atmos but your **new** download is stereo, that is expected with current Libation versions.
## Related documentation
- [Audio File Formats](./audio-file-formats.md) -- codecs, settings, and media players
- [Audio File Formats](../features/audio-file-formats.md) -- codecs, settings, and media players
- [FAQ: Non-spatial playback trouble](/docs/frequently-asked-questions#im-having-trouble-playing-my-non-spatial-audiobook-how-can-i-fix-this)
- [Troubleshooting](/docs/advanced/troubleshoot)
- [Troubleshooting](./troubleshoot.md)

View File

@@ -107,6 +107,6 @@ These errors come from Audible refusing to grant a download license. Common caus
1. **Temporary Audible outage or Plus throttling** -- wait 24 to 48 hours and try again. See the [FAQ](/docs/frequently-asked-questions).
2. **Title requires Widevine** -- some Plus titles no longer download as AAXC; enable **Use Widevine DRM** in Settings and re-add your account if prompted. See [issue #1580](https://github.com/rmcrackan/Libation/issues/1580).
3. **Spatial / Dolby Atmos requested (older Libation versions)** -- Audible now requires Widevine L1 for many spatial titles. Libation 13.1.3+ no longer offers spatial download. See **[Spatial Audio & DRM](/docs/features/spatial-audio)**.
3. **Spatial / Dolby Atmos requested (older Libation versions)** -- Audible now requires Widevine L1 for many spatial titles. Libation 13.1.3+ no longer offers spatial download. See [Spatial Audio & DRM](/docs/advanced/spatial-audio).
Attach your log file when opening a GitHub issue.

View File

@@ -95,7 +95,7 @@ Below is an incomplete matrix of codec support across various media players and
## Spatial Audio and Dolby Atmos
> [!IMPORTANT]
> **Download status (2026):** The **Request Spatial Audio** and **Spatial Audio Codec** settings were removed in Libation 13.1.3. Audible now requires Widevine L1 (hardware-backed DRM) for many spatial titles, which Libation cannot use. Libation does not currently download new spatial/Atmos content. The sections below describe E-AC-3 and AC-4 for **playback** of files downloaded before the change. See **[Spatial Audio, Dolby Atmos, and Widevine DRM](./spatial-audio.md)** for full details and [issue #1553](https://github.com/rmcrackan/Libation/issues/1553).
> **Download status (2026):** The **Request Spatial Audio** and **Spatial Audio Codec** settings were removed in Libation 13.1.3. Audible now requires Widevine L1 (hardware-backed DRM) for many spatial titles, which Libation cannot use. Libation does not currently download new spatial/Atmos content. The sections below describe E-AC-3 and AC-4 for **playback** of files downloaded before the change. See [Spatial Audio, Dolby Atmos, and Widevine DRM](../advanced/spatial-audio.md) for full details and [issue #1553](https://github.com/rmcrackan/Libation/issues/1553).
Atmos is a surround sound technology that expands on existing surround sound systems by adding height channels as well as free-moving sound objects. Audible delivers Dolby Atmos in two formats: E-AC-3 and AC-4.

View File

@@ -167,7 +167,7 @@ Text formatting can change length and case of the text. Use \<#\>, \<#\>\<case\>
| unique(FMT) **†** | Reduce list members to a unique set. Entries are compared to each other after applying the given format. Duplicate entries (after format is applied) are removed, keeping the first occurrence. | `<series[unique()]>`<hr>`<series[unique({N:L})`<br>`separator(; )]>` | Sherlock Holmes; Some Other Series<hr>sherlock holmes; some other series |
| sort(N \| # \| ID) | Sorts the series by name, number or ID.<br><br>These terms define the primary, secondary, tertiary, … sorting order.<br>You may combine multiple terms in sequence to specify multilevel sorting.<br><br>*Sorting direction:*<br>uppercase = ascending<br>lowercase = descending<br><br>Default is unsorted | `<series[sort(N)`<br>`separator(; )]>` | Book Collection, 1; Sherlock Holmes, 1-6 |
| max(#) | Only use the first # of series | `<series[max(1)]>` | Sherlock Holmes |
| slice(#..#) | Only use entries of the series list starting from # and ending at # (inclusive)<br><br>See [Text List Formatter Usage](#Text-List-Formatters) above for details on all the variants of `slice()` | `<series[slice(..-2)]>` | Sherlock Holmes |
| slice(#..#) | Only use entries of the series list starting from # and ending at # (inclusive)<br><br>See [Text List Formatter Usage](#text-list-formatters) above for details on all the variants of `slice()` | `<series[slice(..-2)]>` | Sherlock Holmes |
| count(FMT) **‡** | Instead of returning some or all members of the list, print out the number of series using the specified [format](#number-formatters). | `<series[count()]>`<hr>`<series[count(00)]>` | 2<hr>02 |
| filter(FMT [CHECK](#checks) VALUE) **†** | Filter list entries based on a condition. Each series is first formatted using the specified [Series Format](#series-formatters) (or the default format if FMT is omitted), then compared against VALUE using the specified [CHECK](#checks). Only matching entries are included in the output.<br><br>**Syntax:** `filter(FORMAT CHECK VALUE)` or `filter(CHECK VALUE)`<br>- `FORMAT`: Optional series format to apply to each entry (e.g., `{N}`, `{N:L}`, `{#}`); defaults to `{N}`<br>- `CHECK`: Comparison operator (e.g., `=`, `!=`, `~`)<br>- `VALUE`: The value to compare against | `<series[filter({N} = 'Holmes')]>`<hr>`<series[filter(~ "Sherlock")]>` | Sherlock Holmes<hr>Sherlock Holmes |
@@ -179,7 +179,7 @@ Text formatting can change length and case of the text. Use \<#\>, \<#\>\<case\>
| Formatter | Description | Example Usage | Example Result |
|----------------------------------------| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------- |
| \{T \| F \| M \| L \| S \| ID\} **†** | Formats the human name using<br>the name part tags.<br>\{T:[Text_Formatter](#text-formatters)\} = Title (e.g. "Dr.")<br>\{F:[Text_Formatter](#Text-Formatters)\} = First name<br>\{M:[Text_Formatter](#text-formatters)\} = Middle name<br>\{L:[Text_Formatter](#text-formatters)\} = Last Name<br>\{S:[Text_Formatter](#text-formatters)\} = Suffix (e.g. "PhD")<br>\{ID:[Text_Formatter](#text-formatters)\} = Audible Contributor ID<br><br>Formatter parts are optional and introduced by the colon. If specified the string will be used to format the part using the correspoing formatter.<br><br>Default is \{T\} \{F\} \{M\} \{L\} \{S\} | `<first narrator[{L}, {F:1}.]>`<hr>`<first author[{L:u}, {F} _{ID}_]>` | Fry, S.<hr>DOYLE, Arthur \_B000AQ43GQ\_ |
| \{T \| F \| M \| L \| S \| ID\} **†** | Formats the human name using<br>the name part tags.<br>\{T:[Text_Formatter](#text-formatters)\} = Title (e.g. "Dr.")<br>\{F:[Text_Formatter](#text-formatters)\} = First name<br>\{M:[Text_Formatter](#text-formatters)\} = Middle name<br>\{L:[Text_Formatter](#text-formatters)\} = Last Name<br>\{S:[Text_Formatter](#text-formatters)\} = Suffix (e.g. "PhD")<br>\{ID:[Text_Formatter](#text-formatters)\} = Audible Contributor ID<br><br>Formatter parts are optional and introduced by the colon. If specified the string will be used to format the part using the correspoing formatter.<br><br>Default is \{T\} \{F\} \{M\} \{L\} \{S\} | `<first narrator[{L}, {F:1}.]>`<hr>`<first author[{L:u}, {F} _{ID}_]>` | Fry, S.<hr>DOYLE, Arthur \_B000AQ43GQ\_ |
**†** For further information on format templates, please refer to the [Format templates](#format-templates) section.
@@ -192,7 +192,7 @@ Text formatting can change length and case of the text. Use \<#\>, \<#\>\<case\>
| unique(FMT) **†** | Reduce list members to a unique set. Entries are compared to each other after applying the given format. Duplicate entries (after format is applied) are removed, keeping the first occurrence. | `<author[unique()]>`<hr>`<author[unique({L:L})`<br>`separator(; )]>` | Arthur Conan Doyle, Stephen Fry<hr>doyle; fry |
| sort(T \| F \| M \| L \| S \| ID) | Sorts the names by title,<br> first, middle, or last name,<br>suffix or Audible Contributor ID<br><br>These terms define the primary, secondary, tertiary, … sorting order.<br>You may combine multiple terms in sequence to specify multilevel sorting.<br><br>*Sorting direction:*<br>uppercase = ascending<br>lowercase = descending<br><br>Default is unsorted | `<author[sort(M)]>`<hr>`<author[sort(Fl)]>`<hr>`<author[sort(L FM ID)]>` | Stephen Fry, Arthur Conan Doyle<hr>Stephen King, Stephen Fry<hr>John P. Smith \_B000TTTBBB\_, John P. Smith \_B000TTTCCC\_, John S. Smith \_B000HHHVVV\_ |
| max(#) | Only use the first # of names<br><br>Default is all names | `<author[max(1)]>` | Arthur Conan Doyle |
| slice(#..#) | Only use entries of the names list starting from # and ending at # (inclusive)<br><br>See [Text List Formatter Usage](#Text-List-Formatters) above for details on all the variants of `slice()` | `<author[slice(..-2)]>` | Arthur Conan Doyle |
| slice(#..#) | Only use entries of the names list starting from # and ending at # (inclusive)<br><br>See [Text List Formatter Usage](#text-list-formatters) above for details on all the variants of `slice()` | `<author[slice(..-2)]>` | Arthur Conan Doyle |
| count(FMT) **‡** | Instead of returning some or all members of the list, print out the number of names using the specified [format](#number-formatters). | `<author[count()]>`<hr>`<author[count(00)]>` | 2<hr>02 |
| filter(FMT [CHECK](#checks) VALUE) **†** | Filter list entries based on a condition. Each person is first formatted using the specified name format (or the default format if FMT is omitted), then compared against VALUE using the specified [CHECK](#checks). Only matching entries are included in the output.<br><br>**Syntax:** `filter(FORMAT CHECK VALUE)` or `filter(CHECK VALUE)`<br>- `FORMAT`: Optional name format to apply to each entry (e.g., `{L}`, `{M}`, `{L}, {F}`); defaults to `{T} {F} {M} {L} {S}`<br>- `CHECK`: Comparison operator (e.g., `=`, `!=`, `~`)<br>- `VALUE`: The value to compare against | `<author[filter({L} = 'Doyle')]>`<hr>`<author[filter({F} ~ '^Stephen')]>`<hr>`<narrator[filter(~ "Fry")]>` | Conan Doyle<hr>Stephen Fry<hr>Stephen Fry |

View File

@@ -65,21 +65,26 @@ Open `appsettings.json` next to your running install (often under `~/snap/libati
Like many countries, amazon gives South Africa it's own amazon site. [Unlike many other regions](https://www.audible.com/ep/country-selector) there is not South Africa specific audible site. Use `US` for your region -- ie: audible.com.
> [!NOTE]
> (Not exactly a _frequently_ asked question but it's come up more than once)
(Not exactly a *frequently* asked question but it's come up more than once)
## Why Was "Request Spatial Audio" Removed? Can I Still Download Dolby Atmos?
## Spatial audio and Dolby Atmos
Libation **cannot download** Dolby Atmos or spatial audio from Audible. Full explanation: [Spatial Audio, Dolby Atmos, and Widevine DRM](./advanced/spatial-audio.md).
### Will Libation ever support spatial audio again?
[No.](./advanced/spatial-audio.md)
### Why Was "Request Spatial Audio" Removed? Can I Still Download Dolby Atmos?
Libation removed the **Request Spatial Audio** option in version 13.1.3 (January 2026). Most Dolby Atmos / spatial titles can no longer be downloaded. For many titles, **Use Widevine DRM** + **Request xHE-AAC** still gets the highest **stereo** quality available -- not the Atmos mix.
See **[Spatial Audio, Dolby Atmos, and Widevine DRM](./features/spatial-audio.md)** for what changed on Audible's side, what still works, and what to do instead.
### Does "Use Widevine DRM" Still Download Spatial Audio?
## Does "Use Widevine DRM" Still Download Spatial Audio?
No. **Use Widevine DRM** unlocks **Request xHE-AAC Codec** for higher-bitrate stereo. It does not re-enable spatial/Atmos download. See [Does "Use Widevine DRM" download spatial audio?](./advanced/spatial-audio.md#does-use-widevine-drm-download-spatial-audio) on the spatial audio page.
No. **Use Widevine DRM** unlocks **Request xHE-AAC Codec** for higher-bitrate stereo. It does not re-enable spatial/Atmos download. See **[Spatial Audio, Dolby Atmos, and Widevine DRM](./features/spatial-audio.md#does-use-widevine-drm-download-spatial-audio)**.
### I'm Having Trouble Playing My Book with 4D, Spatial Audio, or Dolby Atmos, How Can I Fix This?
## I'm Having Trouble Playing My Book with 4D, Spatial Audio, or Dolby Atmos, How Can I Fix This?
Libation no longer requests spatial/Atmos from Audible (see [Spatial Audio, Dolby Atmos, and Widevine DRM](./advanced/spatial-audio.md)). Books you liberated before 13.1.3 may be E-AC-3 or AC-4; newer downloads are stereo unless you kept older files.
Libation no longer requests spatial/Atmos from Audible (see [Spatial Audio, Dolby Atmos, and Widevine DRM](./features/spatial-audio.md)). Books you liberated **before** 13.1.3 may be E-AC-3 or AC-4; newer downloads are stereo unless you kept older files.
For spatial files you already have, see **[Playing spatial files you already have](./features/spatial-audio.md#playing-spatial-files-you-already-have)** and [Supported Media Players](./features/audio-file-formats.md#supported-media-players).
For spatial files you already have, see [Playing spatial files you already have](./advanced/spatial-audio.md#playing-spatial-files-you-already-have) and [Supported Media Players](./features/audio-file-formats.md#supported-media-players).

View File

@@ -143,4 +143,4 @@ Export your library to Excel, CSV, or JSON
## Dolby Atmos / spatial audio
> [!NOTE]
> Libation no longer downloads spatial (Atmos) audiobooks as of version 13.1.3. For highest **stereo** quality, see [Spatial Audio & DRM](./features/spatial-audio.md).
> Libation no longer downloads spatial (Atmos) audiobooks as of version 13.1.3. For highest **stereo** quality, see [Spatial Audio & DRM](./advanced/spatial-audio.md).

View File

@@ -23,13 +23,13 @@ Learn about Libation's powerful features:
- **[Naming Templates](/docs/features/naming-templates)** - Customize how your audiobook files are named
- **[Searching & Filtering](/docs/features/searching-and-filtering)** - Find and organize your audiobooks
- **[Easy guide to searching](/docs/features/lucene)** - Tutorial for search queries
- **[Spatial Audio & DRM](/docs/features/spatial-audio)** - Dolby Atmos download status, Widevine L1/L3, and what still works
## Advanced
- **[Advanced Topics](/docs/advanced/advanced)** - Deep dives and configuration details
- **[Command Line Interface](/docs/advanced/command-line-interface)** - CLI usage and commands
- **[Troubleshooting](/docs/advanced/troubleshoot)** - Common errors and solutions
- **[Spatial Audio & DRM](/docs/advanced/spatial-audio)** - Why Dolby Atmos download is not available and what still works
## Development

View File

@@ -75,7 +75,7 @@ sudo docker run -d \
## User
This docker image runs as user `1001`. In order for the image to function properly, user `1001` must be able to read and write the volumes that are mounted in. If they are not, you will see errors, including [sqlite error](#1060), [Microsoft.Data.Sqlite.SqliteException](#1110), [unable to open database file](#1113), [Microsoft.EntityFrameworkCore.DbUpdateException](#1049)
This docker image runs as user `1001`. In order for the image to function properly, user `1001` must be able to read and write the volumes that are mounted in. If they are not, you will see errors, including [sqlite error](https://github.com/rmcrackan/Libation/issues/1060), [Microsoft.Data.Sqlite.SqliteException](https://github.com/rmcrackan/Libation/issues/1110), [unable to open database file](https://github.com/rmcrackan/Libation/issues/1113), [Microsoft.EntityFrameworkCore.DbUpdateException](https://github.com/rmcrackan/Libation/issues/1049)
If you're not sure what your user number is, check the output of the `id` command. Docker should normally run with the number of the user who configured and ran it.

View File

@@ -77,11 +77,11 @@ Learn about Libation's powerful features:
- **[Audio File Formats](/docs/features/audio-file-formats)** - Supported audio formats and conversion options
- **[Naming Templates](/docs/features/naming-templates)** - Customize how your audiobook files are named
- **[Searching & Filtering](/docs/features/searching-and-filtering)** - Find and organize your audiobooks
- **[Spatial Audio & DRM](/docs/features/spatial-audio)** - Dolby Atmos download status, Widevine L1/L3, and what still works
### Advanced
- **[Advanced Topics](/docs/advanced/advanced)** - Deep dives and configuration details
- **[Spatial Audio & DRM](/docs/advanced/spatial-audio)** - Why Dolby Atmos download is not available and what still works
### Development