Skip to content
Projects

kamiyaa/dizi has 48 GitHub stars and 2 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 05:09 UTC. Last push 2026-10-26.

How these counts are measured

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

About

Server-client music player written in Rust

Creative & Media

README.md

Original

Linux build

MacOS build

dizi

Server-client music player written in Rust

The goal of this project is to create a modern version of mocp in Rust.

Alt text

Motivation

mocp currently interfaces with ALSA to play audio. This doesn't play well with pipewire's pipewire-alsa plugin; whenever mocp is playing music, other audio/video apps stop working and vice versa.

Dependencies

  • A system supporting UNIX sockets
  • cargo
  • rustc
  • Jack or Alsa or any other audio system cpal supports
  • file command for audio file detection

Building

~$ cargo build

Installation

For single user

~$ cargo install --path=. --force

System wide

~# cargo install --path=. --force --root=/usr/local     # /usr also works

Usage

~ $ dizi-server     # starts server
~ $ RUST_LOG=debug dizi-server      # starts server with debug messages enabled
~ $ dizi            # starts server if not already started, then starts frontend

Configuration

Check out docs for details and config for examples

client.toml

  • client configurations

keymap.toml

  • for keybindings for client

theme.toml

  • color customizations for client

server.toml

  • server configurations

Contributing

See docs

Features/Bugs

Please create an issue :)

TODOs

Server-side

  • play/pause support
  • get audio duration (requires rodio and symphonia to work together on this)
  • volume support
  • fast forward/rewind
  • directory playing
    • shuffle
    • repeat
    • next
    • sorting
  • playlist support
    • add/delete/update songs
    • recursively add songs in a directory
    • shuffle
    • repeat
    • next
    • loading
    • clearing
    • save on exit
  • show music progress
  • configurable audio system
  • querying
    • file name
    • file path
    • show audio metadata (title, artists, genre, album, etc)
    • playlist index and length
  • on song change hook

Client-side

  • show hidden files
  • searching
    • glob search
    • case-insensitive search
    • skim search (fzf)
  • show player progression
  • playlist support
    • show playlist
    • add/delete/update songs
    • shuffle
    • repeat
    • next
    • clearing
  • show audio metadata (artists, genre, album, etc)
  • theming support
  • custom layout support