Skip to content

d4rk/bluplayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OS support Made with Textual Made with Bluez

BluPlayer

screenshot_masked

BluPlayer is a Terminal User Interface (TUI) for controlling Bluetooth media playback on Linux. It is designed primarily for A2DP Sink scenarios, providing an interface for AVRCP Media Browsing and playback control via BlueZ.

It's very much WIP (and I'm in the middle of renaming the app from BlueVis to BluPlayer).

Features

  • Device Browser: Navigate paired devices and media folders (playlists, albums) using a tree structure.
  • Player Selector: Switch between connected devices and active media players.
  • Media Player: Display playback status and metadata (Artist, Title, Album).
  • Terminal Overlay: Toggle a terminal interface (~ key) to execute bluetoothctl commands.
  • Event Log: View system events and logs.

Installation

1. System Dependencies (Linux)

To communicate with DBus (via pydbus/pygobject), you may need system-level development libraries.

# Ubuntu / Debian / Raspberry Pi OS
sudo apt install python3-dev libglib2.0-dev libcairo2-dev libgirepository1.0-dev

2. Python Setup

It is recommended to use a virtual environment.

# Create venv
python3 -m venv .venv

# Activate venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

Alternatively, you can install the package in editable mode:

pip install -e .

Usage

Run the application directly:

python bluevis/main.py

Keybindings

Key Action
q Quit the application
s Scan / Refresh Device List
~ Toggle "Quake" Console (Bluetooth Shell)

Project Structure

  • bluevis/ui: Textual widgets and app layout.
  • bluevis/backend: DBus service communication layer.
  • bluevis/models: Data structures (dataclasses).
  • bluevis/css: Centralized CSS styling.

About

Bluetooth TUI and AVRCP Browser

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages