A command-line music player for local files, written in Rust, designed for Linux and made to be controllable using only keyboard input.
No followers yet
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
Got everything ready for the 3rd ship with some README and misc changes!
Also made this demo video.
Some small changes!
Now I have a display for how far into the song you are and how long it is
+ I optimized the EQ and i changed the way it looks (hopefully) for the better.
I'm working on adding a frequency visualizer! It works but is kinda not that good and laggy, will work to optimize.
I added a title screen and a file selector! I love this starting to take shape more and more, I am actually using it myself.
I added a display mode for current track info, that shows you the (pixelated) cover art! Was pretty annoying to implement, but definitely worth it! I can really feel this coming together. Also, I am now using metadata instead of file names.
After quite a long break, I'm back to it!
I implemented some really essential functionality, going back to a previous track, lol. Also, I rewrote the entire UI code to use ratatui instead of tui, making for some much better and cleaner code. I discovered that working with terminal UIs is really cool and I love these crates.
Coming up, I plan on implementing another display mode that gives info about the current track and maybe even displays the album art in the terminal!
After a few more hours of work, I've managed to put together some basic playback features and a simple command-line UI, controlled entirely from the keyboard. It's coming together quite nicely! It certainly hasn't been easy trying to learn everything to make this work, but I do not plan on giving up. I will keep adding more features!
Starting is the hardest thing!
I have basically no experience with Rust, although I have programmed quite a lot before with other languages, using OOP.
This was pretty much a straight dive in, so thankful for the docs! They are life saving.
Until now, I have managed to write some wrappers and I'm able to get basic playing and queuing functionality going.