A modular and versatile music player ecosystem built with Python. From a lightweight CLI to a feature-rich modern GUI, this project offers multiple ways to enjoy your local music library.
To dive straight into the most advanced version (GUI v2):
# Navigate to the latest version
cd Music-Player-GUI-version-2
---
## 📂 Evolution of the Project
This repository tracks the development of the music player through three distinct phases:
### 💎 [GUI Version 2](./Music-Player-GUI-version-2/) (Latest)
The most advanced iteration with a focus on User Experience.
- **Playlist Sidebar**: Real-time discovery of all tracks in your library.
- **Smart Navigation**: Sequential playback with `Next` and `Previous` controls.
- **Volume Management**: Integrated slider for precise audio control.
- **Modern UI**: Sleek, responsive layout built with `customtkinter`.
### 🛠️ [GUI Version 1](./Music-Player-GUI-version-1/)
The initial transition from CLI to Graphical Interface.
- Simple, distraction-free playback.
- Single-file focus for testing core GUI logic.
- Lightweight and fast.
### 📜 [CLI Version](./music.py) (Legacy)
The core engine that started it all.
- Terminal-based selection and control.
- Zero GUI overhead.
- Perfect for low-resource environments.
---
## ✨ Key Features
* **🔍 Auto-Discovery**: Automatically scans the `music_files/` directory for `.mp3` and `.wav` files.
* **🎹 Intuitive Controls**: Full Play/Pause/Resume/Stop functionality across all versions.
* **🎨 Premium Aesthetics**: High-quality dark mode visuals powered by CustomTkinter.
* **🔊 Audio Engine**: Robust playback engine powered by the industry-standard `pygame.mixer`.
---
## 🛠️ Installation & Prerequisites
Ensure you have Python 3.x installed. Then, install the required dependencies:
```bash
pip install pygame customtkinter Pillow- Ensure the
music_files/folder exists in the root. - Drop your favorite music files (.mp3 or .wav) into that folder.
- Launch any version of the player!
.
├── Music-Player-GUI-version-1/ # v1 Release
├── Music-Player-GUI-version-2/ # v2 Release (Premium)
├── music_files/ # Your Audio Assets
├── music.py # Legacy CLI Script
├── LICENSE # MIT License
└── README.md # Project Documentation
| Action | Key | Description |
|---|---|---|
| Pause | P |
Pauses current track |
| Resume | R |
Resumes from pause |
| Stop | S |
Returns to menu |
Distributed under the MIT License. See LICENSE for more information.
Made with ❤️ by toxicbishop