BeatBoss is a high-performance, cross-platform music player client designed for audiophiles. Built with Flutter, it delivers a native, responsive experience on both Windows and Android.
Note: This project has been migrated from Flet (Python) to Flutter to resolve stability issues and ensure a robust, native performance across platforms.
- Cross-Platform: Seamless experience on Windows, Linux and Android.
- High-Quality Playback
- Local Downloads: Download tracks for offline listening with high-quality metadata.
- Last.fm Integration:
- Full scrobbling support.
- Secure API signing (defaults to a private Cloudflare worker, but can be configured for personal use).
- Modern UI:
- Dark/Light mode support.
- Adaptive layouts (Responsive Dashboard on Desktop, Bottom Navigation on Mobile).
- "Snappable" player pane and lyrics sheet.
- Smart Queue: Drag-and-drop reordering, history tracking mode.
- Flutter SDK (Latest Stable)
- Git
- Windows: Visual Studio 2022 with C++ Desktop Development workload.
- Android: Android Studio with SDK Command-line Tools.
-
Clone the repository
git clone https://github.com/TheVolecitor/BeatBoss.git cd BeatBoss -
Install Dependencies
flutter pub get
-
Run the Application
Windows:
flutter run -d windows
Android:
flutter run -d android
flutter build windowsThe output can be found in build/windows/runner/Release/.
flutter build apk --releaseThe output app-release.apk will be in build/app/outputs/flutter-apk/.
Prerequisites:
- Linux environment (Ubuntu 20.04+ recommended).
- Dependencies:
clang,cmake,ninja-build,pkg-config,libgtk-3-dev,liblzma-dev.
1. Enable Linux Support (Run once if linux/ folder is missing)
flutter create --platforms=linux .2. Build Release Bundle
flutter build linux3. Packaging (AppImage / .deb) We recommend using flutter_distributor.
Install the tool:
dart pub global activate flutter_distributorGenerate release:
flutter_distributor package --platform linux --targets appimage,debOutputs will be in dist/.
This project is open-source and does not include private API keys.
- Spotify/YouTube: Metadata is fetched via public web scraping; no API keys required.
- Last.fm: Requires a valid API Key and Shared Secret. These can be configured in the Settings UI or by deploying your own signing worker.
MIT License. See LICENSE file for details.
BeatBoss is solely a client-side audio player that streams or locally plays audio from the user's own library (remote or local). All rights belong to their respective owners.