MCPcopy Index your code
hub / github.com/JojiiOfficial/LiveBudsCli

github.com/JojiiOfficial/LiveBudsCli @v0.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2.0 ↗ · + Follow
150 symbols 325 edges 33 files 89 documented · 59%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

PRs ci/cd crates earbuds earbuds-git

LiveBudsCli

A free cli tool to control your Galaxy buds live, Galaxy Buds+, Galaxy Buds Pro, Galaxy Buds 2 and Galaxy Buds 2 Pro

Note: This requires your buds to be up to date. Buds with old firmware aren't supported

Features

  • [x] Equalizer, touchpad-lock and anc/ambient sound control
  • [x] Basic Buds status (battery, anc/ambient sound, current equalizer setting, ...)
  • [x] Changing touchpad tap action
  • [x] Advanced status informations (battery voltage/current, temperature)
  • [x] Auto music play/pause on bud remove (via mpris)
  • [x] Automatic sink switch (pulseaudio) [feature: pulse-sink, used by default]
  • [x] Desktop notifications (for low battery)
  • [x] Bash completion (for every shell)
  • [x] Connect/Disconnect your earbuds easily with a subcommand
  • [x] Multiple device support
  • [x] Individual device configs
  • [x] Json output for scripts (via jq)
  • [x] Change config options from cli

Install

AUR

yay -S earbuds

Compilation

Requirements (make depends)

Arch: bluez-libs libpulse dbus

Fedora: dbus-devel bluez-libs-devel

Run following command:

cargo install earbuds

Polybar

Polybar

You can display the status of your buds in your polybar with this script

To achieve this, you have to add following to your polybar config and move the script into your polybar script folder. Don't forget to add buds to the modules section.

[module/buds]
type = custom/script
interval = 8
label = %output%
exec = ~/.config/polybar/scripts/polybar.sh
click-middle = earbuds toggle anc
click-right = earbuds toggle touchpadlock

Usage

To get most of the features listed above, you need to have a daemon instance running (earbuds -d). If you run one of the commands listed below, the daemon automatically gets started.

Status informations:

earbuds status

Set equalizer to Bass boost

earbuds set equalizer bass

Enable ANC

earbuds enable anc

Change ambient sound

earbuds set ambientsound <0-4> # 0: off 4: highest

Toggle noise reduction or the touchpad lock

earbuds toggle anc/touchpad

Get status in json format

earbuds status -o json

Set the left touchpad tap command to spotify

earbuds set tap-action spotify left

Connect/disconnect:

earbuds connect/disconnect

To debug the daemon run:

earbuds -k -d --no-fork

This kills the currently running daemon, creates a new one and starts it in the foreground.

Core symbols most depended-on inside this repo

Shape

Function 90
Method 45
Class 12
Enum 3

Languages

Rust100%

Modules by API surface

src/daemon/buds_config.rs22 symbols
src/daemon/bluetooth/rfcomm_connector.rs15 symbols
src/daemon/unix_socket/set_value.rs12 symbols
src/daemon/buds_info.rs12 symbols
src/cmd/socket_client.rs10 symbols
src/daemon/unix_socket/mod.rs8 symbols
src/daemon/bluetooth/bean_connection/utils.rs8 symbols
src/cmd/set_value.rs8 symbols
src/cmd/config_set.rs6 symbols
src/daemon/bluetooth/bt_connection_listener.rs5 symbols
src/daemon/bluetooth/bean_connection/sink.rs5 symbols
src/main.rs4 symbols

For agents

$ claude mcp add LiveBudsCli \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page