Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LYvjTEDeh9T6NqBDdCALMq
64 lines
2.2 KiB
Markdown
64 lines
2.2 KiB
Markdown
# dotjuice.thesinging.bible
|
|
|
|
An [Omarchy](https://omarchy.org/) shell plugin that turns the top bar into a
|
|
media player/streamer for [TheSinging.Bible](https://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](https://omarchy.org/)
|
|
- `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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
omarchy-shell shell rescanPlugins
|
|
```
|
|
|
|
## How it works
|
|
|
|
- `Model.js` fetches `manifest.json` from 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.qml` launches a background `mpv --idle` process 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](https://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.
|