Skip to content

Latest commit

 

History

38 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mini Audiobookshelf

A small GTK4/libadwaita desktop client for Audiobookshelf. It signs into one server, browses book libraries, streams playback through GStreamer, and syncs listening position back to the server.

Requires an Audiobookshelf server 2.26.0 or newer.

Build

On macOS, install the toolchain with Homebrew first:

brew install meson ninja vala gtk4 libadwaita gstreamer \
  libgee libsecret json-glib libsoup blueprint-compiler \
  desktop-file-utils adwaita-icon-theme

Then:

meson setup build
meson compile -C build
meson test -C build

Run from the build tree (this sets GSETTINGS_SCHEMA_DIR so GSettings can find the schema):

meson compile -C build run

Or:

GSETTINGS_SCHEMA_DIR=$PWD/build/data ./build/src/mini-audiobookshelf

Install locally:

meson install -C build

Runtime dependencies

  • GTK 4.22+
  • libadwaita 1.9+
  • GStreamer 1.28+ with the good plugins (scaletempo)
  • gst-libav for AAC and MJPEG decoding — m4b is the usual audiobook container, and without this plugin playback will fail. Homebrew's gstreamer formula already bundles it.
  • libsoup 3, json-glib, libsecret, libgee
  • meson 1.9+ and blueprint-compiler (build time)

On macOS, credentials go in the login keychain and window settings use GLib's keyfile backend (~/.config/glib-2.0/settings/keyfile). Homebrew GLib has no dconf, and there is no Secret Service, so without that the app would forget the server URL and token on quit. MPRIS is a no-op without a session bus.

Sign-in

Username/password and admin-issued API keys are both supported. An API key is stored indefinitely in the system keyring and can be revoked only on the server.

Bug reports

Do not paste GStreamer debug output (GST_DEBUG=...) into public issues. That log includes the stream URL, which contains the playback session id.

About

A minimal player for Audiobookshelf server.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages