A simple terminal UI player for di.fm Premium
This app began as di.fm player, but now supports the whole Audio Addict network
- Classical Radio
- DI.fm
- Radio Tunes
- Rock Radio
- Jazz Radio
- Zen Radio
There are binary builds available in releases.
go install github.com/acaloiaro/di-tui@latest
If $GOPATH/bin
is not on your $PATH
(modify accordingly for ZSH users ~/.zshrc
)
echo "export PATH=$PATH:$GOPATH/bin" >> ~/.bashrc
source ~/.bashrc
nix run github:acaloiaro/di-tui
There are two authentication options
- Enter your username and password directly into
di-tui
with the--username
and--password
switches - If you're justifiably uncomfortable with entering your username/password into this application, copy your "Listen Key" from (https://www.di.fm/settings) and create the following file:
token: <YOUR LISTEN KEY>
album_art: <BOOLEAN>
key | description |
---|---|
token | string Your di.fm authentication "Listen Key" found at https://www.di.fm/settings |
album_art | boolean Enable/disable audio art |
DI.fm is the default network, but other audio addict networks can be chosen with the --network
switch.
switch value | network |
---|---|
classicalradio | Classical Radio https://classicalradio.com |
di | DI.fm https://di.fm |
radiotunes | Radio Tunes https://radiotunes.com |
rockradio | Rock Radio https://rockradio.com |
jazzradio | Jazz Radio https://jazzradio.com |
zenradio | Zen Radio https://zenradio.com |
Both linux and MacOS depend on pulseaudio to be running.
By default, pulseaudio on MacOS runs as "root", which is not ideal. PulseAudio is best run by non-root users. By symbolically linking the pulseaudio plist file into your user's ~/Library/LaunchAgents/
, it runs as your user.
brew install pulseaudio
ln -s $(brew info pulseaudio | grep "/usr/local/Cellar" | awk '{print $1}')//homebrew.mxcl.pulseaudio.plist ~/Library/LaunchAgents
brew services start pulseaudio
apt install pulseaudio
MPRIS is a D-Bus specification allowing media players to be controlled in a standardized way, e.g. with playerctl
.
di-tui
supports a very limited set of MPRIS commands. The limited set is due to the fact that di-tui
is a streaming audio player, and it doesn't make sense to support next
, previous
, seek
, etc., because audio streams have no next or previous track; or the ability to seek forward.
play-pause
Toggles Play/Pause, e.g. playerctl --player=di-tui play-pause
toggles play/pause on di-tui if it's the active player
track
The currently playing track
artist
The currently playing artist
status
The status of the player, e.g. playing
, paused
, stopped
playerName
The name of the player: di-tui
By default, di-tui
respects your terminal's color scheme. However, there are four color settings that one can change by adding a theme
to config.yml
.
Tomorrow-Night inspired theme
theme:
primary_color: "#81a2be"
background_color: "#2a1f1a"
primary_text_color: "#969896"
secondary_text_color: "#81a2be"
di-tui