Skip to content

TheVolecitor/BeatBoss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BeatBoss

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.

Features

  • 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.

Getting Started

Prerequisites

  • Flutter SDK (Latest Stable)
  • Git
  • Windows: Visual Studio 2022 with C++ Desktop Development workload.
  • Android: Android Studio with SDK Command-line Tools.

Installation

  1. Clone the repository

    git clone https://github.com/TheVolecitor/BeatBoss.git
    cd BeatBoss
  2. Install Dependencies

    flutter pub get
  3. Run the Application

    Windows:

    flutter run -d windows

    Android:

    flutter run -d android

Building for Production

Windows (.exe)

flutter build windows

The output can be found in build/windows/runner/Release/.

Android (.apk)

flutter build apk --release

The output app-release.apk will be in build/app/outputs/flutter-apk/.

Linux (AppImage / .deb)

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 linux

3. Packaging (AppImage / .deb) We recommend using flutter_distributor.

Install the tool:

dart pub global activate flutter_distributor

Generate release:

flutter_distributor package --platform linux --targets appimage,deb

Outputs will be in dist/.

Configuration

API Keys & Security

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.

License

MIT License. See LICENSE file for details.

Disclaimer

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.