A minimalist terminal-based music player written in python for a distraction-free listening experience.
-
NO Individual track selection
-
NO Next Button
-
NO Distractions
-
Just Playlists, with Shuffle, Mute, and Volume Control
- User interface is customisable by adjusting the .tcss files. (Just fancy css). For convenience the colurs may be adjusted using the variables at the beginning of the file.
- Key bindings can be adjusted by modifying keybindings.py
- Features can be added by modifying the python code.
# Download the repository
curl -L https://github.com/CJones-Optics/lofi-player/archive/refs/heads/main.zip -o temp.zip
unzip temp.zip
rm temp.zip
# Navigate to the directory
cd lofi-player*
chmod +x setup.sh
# Run the setup
./setup.sh
- Clone the repository
- Run the setup.
- (Linux) Run
setup.sh
to install the required packages - (Windows) Run
setup.bat
to install the required packages
- (Linux) Run
- Download some .mp3's
- Create a sub-folder in
tracks
for each playlist you want to create - Add the .mp3 files to each sub-folder
- Create a sub-folder in
- Run the program
- (Linux) Run
run.sh
to start the program - (Windows) Run
run.bat
to start the program
- (Linux) Run
- (Optional) Create a shortcut to the
run
script to easily start the program- (Linux) Create an alias in your
.bashrc
file - (Windows) Create a shortcut to the
run.bat
file
- (Linux) Create an alias in your
- Enjoy your music!
- Download some .mp3's
- Create a sub-folder in
tracks
for each playlist you want to create - Add the .mp3 files to each sub-folder
- Create a sub-folder in
- Run the program
- (Linux) Run
start.bash
to start the program - (Windows) Run
run.bat
to start the program
- (Linux) Run
Future changes are unlikely because it currently fits my use-case. However for the sake of completeness, here is how I may extend the application in the future.
- Custom theming.
- At the moment I have a Catpuccino theme hardcoded into it. An implementation to vary the colourscheme owuld be simple to implment and highly beneficial
- Implement GUI and Mouse Support.
- I have a softspot for text only UIs, which is why it is implemented like this. The framework does support buttons for mouse UIs though. The app does work with buttons but I thought they were ugly and removed them. Check the commit history for implmentation
- GUI Support Cont: Implement a list feature for all the stations.
If you feel like implementing any of the changes, shoot a pull request my way :)