An ncurses-based command-line music player with no external dependencies! (´。• ω •。`)
./winona #shuffles songs from current directory
./winona <directory> #shuffles songs from specified directory
make
Basically we need to compile and link all the files in this directory, and also link ncurses
and pthread
.
Once you've built the winona
executable, you can move it to your desired location and remove this directory from your computer.
This program supports any environment containing dirent.h
, ncurses.h
, and a c++
compiler. For better or for worse, this excludes Windoze (because dirent.h
is a library for Unix-like systems). However, the underlying audio libraries from David Reid (awesome guy) support basically any platform, so one could theoretically make this work on Windows by using a cross-platform file-system interface header like std::filesystem
or this port of dirent.h
for Windows.
If you don't already have ncurses
, you can download it using your system's package manager. (The package name varies, check here for detailed instructions).
Thanks to David Reid for making his audio decoders (dr_libs) and audio playback library (miniaudio) available -- this project would not be possible without them.