Music player that runs on the terminal.
Music player that runs on the terminal.
I needed a replacement for cmus
.
I couldn't find one that I really liked.
Not sure, but I recently started thinking it's because TUIs are keyboard-first, and keyboard > mouse/trackpad. Most non-terminal UIs are mouse/trackpad first. Keyboard shortcuts are an afterthought.
And I suspect I prefer the keyboard over the mouse/trackpad because of my ADHD and astigmatism.
Tested only on Linux
Not yet available. Will add CI/CD in the future. Not a priority because I'm always running this with cargo run
.
git clone --depth=1 https://github.com/lautarodragan/jolteon.git
cd jolteon
cargo run --release
Won't be publishing this to apt
, yum
, etc. any time soon.
In the future, Jolteon will support detecting new versions automatically and offer downloading them.
- File Browser
- Search/Filter in File Browser (Ctrl+F)
- Playing Queue
- Controls
- Play/Pause
- Seek 5 seconds forward/backward
- Media keys Play/Pause support via MPRIS in Linux
.cue
file support- Gapless playback
- Persist app state:
- The current directory of the browser
- The queue
- Current song (coming soon)
- Safe handling of application crashes, restoring the terminal to its normal state.
- Playlists (like
cmus
) - Audio library (like
cmus
) - Media metadata overrides
- This is something I've always wanted. I have many albums that belong to a same artist, but have the artist field spelled differently, so they'll show up as different entries in the
artists
list. And I absolutely do NOT want to edit the files, because reasons. So, for example, if I haveDark Side of the Moon
byPink Floyd
andThe Piper at the Gates of Dawn
byPINK FLOYD
, I want them both to show underPink Floyd
, and seePINK FLOYD
nowhere, other than the list of overrides.
- This is something I've always wanted. I have many albums that belong to a same artist, but have the artist field spelled differently, so they'll show up as different entries in the
Jolteon uses Rodeo to play music, so it supports whatever formats Rodeo does.
I mainly use flac
files, and some mp3
. Other formats aren't usually tested, but the following should work: aac
, flac
, mp3
, mp4
, m4a
, ogg
, wav
.
The theme can be customized. Check out config.rs
.
In the future, keyboard shortcuts will also be customizable. Maybe texts too, since that'd enable translations, and there are so few of them anyway.
- Support features, UI and UX similar to
cmus
- Statically linked, dependency free, single file binary that anyone can just download,
chmod a+x
and run.
See History & Rant.
In general, I won't accept contributions, because I don't have enough time or Rust knowledge to properly do code review.
You're free to have your own fork of Jolteon, though. Even if you're new to Rust, it's very friendly language with a very friendly community; and I try to keep the source code as clean and intuitive as I can, so modifying it should be relatively easy.
To install Rust and Cargo, see https://www.rust-lang.org/tools/install or https://doc.rust-lang.org/cargo/getting-started/installation.html. Under macOS, Linux, etc, it's just copy-pasting a curl ...
command. I won't copy it here for safety reasons.
Then, just clone the repo:
git clone --depth=1 https://github.com/lautarodragan/jolteon.git
cd jolteon
And cargo run
, cargo run --release
and cargo build
are the commands you'll be running the most.
Keep in mind I'm using my own fork of cpal
right now. I have an open PR for cpal, with a small bugfix, that hasn't been merged yet.