Skip to content

Latest commit

 

History

History
157 lines (117 loc) · 5.16 KB

File metadata and controls

157 lines (117 loc) · 5.16 KB

IotaPlayer

License: GPL v3 Python 3.13+

A feature-rich desktop music player for Windows and Linux with Discord Rich Presence, YouTube integration, and powerful playlist management.

🎵 Features

  • 🎵 Playlist Management - Create, edit, and manage playlists with ease
  • 🎮 Playback Controls - Full media controls with keyboard shortcuts
  • 🎨 Modern UI - Dark/light themes with customizable accent colors
  • 🔗 Discord Integration - Rich Presence showing current song
  • 📺 YouTube Integration - Upload playlists and open videos
  • 🖼️ Cover Art - Automatic extraction and caching
  • 🔄 Auto Updates - In-app update system
  • 🎹 Media Keys - Full keyboard media key support

🚀 Quick Start

Windows

  1. Download from Releases
  2. Extract and run IotaPlayer.exe

Linux

# One-command installer
curl -O https://raw.githubusercontent.com/vorlie/IotaPlayer/main/linux_installer.sh
chmod +x linux_installer.sh
./linux_installer.sh install

From Source

git clone https://github.com/vorlie/IotaPlayer.git
cd IotaPlayer
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt --ignore-requires-python
python main.py

📖 Documentation

📚 Full Documentation Wiki

🖼️ Screenshots

View Screenshots
Main Window Playlist Maker Settings
Main Interface Playlist Maker Settings

🎯 Key Features

Playlist Management

  • Create and edit playlists with the built-in Playlist Maker
  • Load, reload, and combine playlists
  • Support for various audio formats (MP3, FLAC, OGG, WAV, M4A)

Playback & Audio

  • Standard controls: play, pause, stop, next, previous
  • Loop and shuffle modes
  • Seek bar for precise navigation
  • Volume control with slider
  • Media key support

Integrations

  • Discord Rich Presence - Show current song in Discord status
  • YouTube Integration - Upload playlists and open videos
  • MPRIS Support (Linux) - Desktop environment integration

User Interface

  • Song information display (artist, title, album, genre)
  • Dynamic window title updates
  • Customizable accent colors
  • Cover art extraction and caching
  • Modern settings dialog with organized tabs

🔧 System Requirements

  • Python 3.13+ (for source installation)
  • Windows 10/11 or Linux (Ubuntu, Debian, Arch, etc.)
  • GStreamer (Linux) or K-Lite (Windows) for audio playback
  • PyQt6 for the user interface

🛠️ Development

Prerequisites

  • Python 3.13+
  • Git
  • PyQt6 and dependencies

Setup

git clone https://github.com/vorlie/IotaPlayer.git
cd IotaPlayer
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt --ignore-requires-python
python main.py

Building

# Windows
pyinstaller IotaPlayerWIN.spec

# Linux
pyinstaller IotaPlayerLinux.spec

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

  • 🐛 Report bugs on GitHub Issues
  • 💡 Request features via GitHub Issues
  • 📝 Improve documentation in the wiki
  • 🔧 Submit pull requests for code improvements

📋 To-Do List

View our To-Do List on GitHub Projects

🙏 Acknowledgments

Special Thanks

Dependencies

📄 License

This project is licensed under the GNU General Public License v3. See the LICENSE file for details.


⭐ Star this repository if you find it useful!

📚 View Full Documentation