#music #music-player #dlna #tui #music-audio #player

app angry-duiker

A TUI DLNA music player

13 releases (5 breaking)

new 0.7.0 Apr 14, 2025
0.6.4 Apr 13, 2025
0.5.1 Apr 11, 2025
0.4.0 Apr 9, 2025
0.2.1 Apr 8, 2025

#67 in Audio

Download history 816/week @ 2025-04-07

816 downloads per month

MIT license

2MB
2K SLoC

Angry Duiker

Angry Duiker

Crate Badge Repo Badge License Badge Deps Badge Issues Badge

A TUI DLNA music player. Allows you to stream your music from any DLNA server on your network such as Plex or MiniDLNA. This project was inspired by termusic. It's meant to be more lightweight and designed to stream from a media server rather than from disk.

Note: This has only been tested on Plex and Linux (Ubuntu) so far.

Table of Contents

Features

  • Supports playing most audio formats supported by Symphonia.
  • Album art rendering (see Configuration Section).
  • Stream Music from DLNA servers such as Plex or MiniDLNA (I have only tested it with Plex).
  • Playlists
    • Construct playlists from DLNA content.
    • Save playlist to a file.
    • Load playlist from a file.
  • Fuzzy search of loaded playlist and DLNA content list.
  • Shuffle mode allows you to play songs from the playlist in random order.
    • This has true randomness, there is no seed.
  • No volume control: you'll hear every byte. Use hardware volume to save you ears 😁.

Screenshots

Screenshot

Controls

Recording

Installation

With Cargo

cargo install angry-duiker

Usage

angry-duiker

Configuration

There is currently only configuration options for the album art rendering. The album art is finicky and specific to the terminal emulator and font that you are using. This is configurable via the auto-generated config file at $HOME/.config/angry-duiker/config.toml

image_protocol_type = "halfblocks"
image_width = 10

image_protocol_type

Different terminals use different packages for image rendering.

Option Description
"" Disables album art rendering completely.
halfblocks Blurry, but renders in most terminal emulators.
kitty Renders in Kitty and Ghostty (that I know of).
sixel Probably renders in Alacritty (with Sixel support).
iterm2 Probably renders in iTerm2 (I haven't tested this).

image_width

Depending on the width of your font, you may want to customize how many columns you allocate for the album art.

Contributions

This project is fully open source and welcomes contributions 🙂. Every MR should have a corresponding issue. No AI slop please 🙏.

Dependencies

~39–71MB
~1M SLoC