audiothek-quickplay is a simple, fast command-line tool built in Rust to instantly play the latest episode of any podcast from the German ARD Audiothek.
It provides a straightforward way to stay up-to-date with your favorite shows without needing a browser or a graphical application. 🚀
- Instant Playback: Launch and play the latest episode of a pre-configured podcast with a single command.
- Interactive Menu: If no podcast is specified, an interactive menu allows you to choose from your list.
- Cross-Platform: Compiles and runs on both Linux 🐧 and Windows 🪟.
- Interactive Player: In-terminal controls for play/pause and seeking.
Get the latest pre-compiled binaries from the GitHub Releases page.
The application requires a podcasts.json file in the same directory as the executable. This file defines the podcasts you want to access.
-
Find the Show ID: Go to the ARD Audiothek website and find the page for your desired podcast. The URL will contain the ID. For example, for
https://www.ardaudiothek.de/sendung/die-nachrichten/urn:ard:show:8ca6599d43089072/, the ID isurn:ard:show:8ca6599d43089072. -
Edit
podcasts.json: Add an entry for each podcast with a uniquekey(a short name you'll use in the command line) and theidyou found.[ { "key": "nachrichten", "id": "urn:ard:show:8ca6599d43089072" }, { "key": "infodate", "id": "urn:ard:show:15f007e3b43a4a8c" }, { "key": "15minuten", "id": "urn:ard:show:b84b465ae5abcd64" }, { "key": "diewoche", "id": "urn:ard:show:c570a55d7067784d" } ]
Place the compiled binary and the podcasts.json file in the same directory. You can then run the application from your terminal.
Run with interactive selection:
./audiothek_quickplayPlay a specific podcast directly:
./audiothek_quickplay <key>Example:
./audiothek_quickplay infodate- [Space]: Pause / Play
- [<-]: Rewind 10 seconds
- [->]: Forward 10 seconds
- [q] or [Esc]: Quit the player
First, ensure you have the Rust toolchain installed. The podcasts.json file will be automatically copied to the output directory during the build process.
cargo build --releaseThe binary will be located at target/release/audiothek_quickplay.
Make sure you have the x86_64-pc-windows-gnu target installed:
rustup target add x86_64-pc-windows-gnuThen, build the project:
cargo build --release --target x86_64-pc-windows-gnuThe binary will be at target/x86_64-pc-windows-gnu/release/audiothek_quickplay.exe.
This project uses GitHub Actions to automate the release process. To publish a new version, follow these steps:
-
Update Version Number: Change the
versioninCargo.tomlto the new version (e.g.,0.1.1). -
Commit and push your changes.
-
Tag the Release: Create a new Git tag that matches the version number. The tag must start with a
v.git tag v0.1.1
-
Push the Tag: Push the new tag to GitHub. This will trigger the release workflow.
git push origin v0.1.1
GitHub Actions will then automatically build the binaries, create a new release, and upload the packaged files.
MIT License. Built with ❤️ by Frédéric Bolvin, f-bit software.