Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LYvjTEDeh9T6NqBDdCALMq
2.2 KiB
2.2 KiB
dotjuice.thesinging.bible
An Omarchy shell plugin that turns the top bar into a media player/streamer for TheSinging.Bible — the Bible sung in your choice of language, voice, and musical style.
What it does
- Bar pill showing play/pause and the current track (e.g. "Genesis 1")
- Click it for a popup player with full transport controls: loop, prev chapter, rewind 10s, play/pause, forward 10s, next chapter, shuffle, and a seek bar with elapsed/total time
- The same selectors as the website, in the same order: Book, Chapter, Style, Voice, Language
- Remembers your last selection between restarts
- Streams the site's public audio files directly (no login/API key needed)
Requirements
- Omarchy
mpv(used under the hood for streaming/playback control over its JSON IPC socket)
Install
Copy (or clone) this directory to:
~/.config/omarchy/plugins/dotjuice.thesinging.bible/
The shell picks up plugins under ~/.config/omarchy/plugins/ automatically.
Add the widget to your bar with:
omarchy bar put dotjuice.thesinging.bible --section right
(or --section left / --section center, wherever you'd like it). If it
doesn't show up, force a rescan:
omarchy-shell shell rescanPlugins
How it works
Model.jsfetchesmanifest.jsonfrom thesinging.bible for the current list of books, styles, voices, and languages, and builds the audio URL for a given selection (https://audio.thesinging.bible/<translation>/<voice>/<age>/<style>/<book>/<chapter>.mp3). Age (adult/child) isn't a user-facing selector — it's derived automatically per selection, same as the website.BarWidget.qmllaunches a backgroundmpv --idleprocess per session and drives it over its local JSON IPC socket for loading, play/pause, seeking, and chapter navigation.- Last selection is persisted to
~/.local/state/omarchy/plugins/dotjuice.thesinging.bible/state.json.
Credit
All audio and Bible content is © TheSinging.Bible. This plugin is just a native desktop player pointed at their public API/audio — it doesn't ship or host any Bible content itself.