Musical motivation
I would like to thank ChatGPT for selecting the tunes this evening. This could be the start of a collection. Of course it could!
find . -type f \
! -path "*/.AppleDouble/*" \
! -path "*/__MACOSX/*" \
! -name "._*" \
\( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" \) \
| grep -Ei "Ohio Players|Sly And The Family Stone|The Temptations|The Stylistics|Two Tone|Prince.*Funk|We Can Funk|Funky Music|Calypso|Stomp" \
| shuf \
| mpv --playlist=-
[CML] tux@localhost …/athlone/Tunes $ find . -type f ! -path "*/.AppleDouble/*" ! -path "*/__MACOSX/*" ! -name "._*" \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.ogg" \) | shuf | mpv --playlist=-
[file] Reading from stdin...
[playlist] Reading plaintext playlist.
Playing: ./Herbie Hancock/Blow-Up/14 Verushka (Part 1).mp3
● Audio --aid=1 (mp3 2ch 44100 Hz 224 kbps)I would especially like to that AI for providing tailor made instructions for me. So I will save a copy because, this is going to happen again. Remember to turn bluetooth off on the cell phone!! Stay tuned for more adventures in Switching a JBL from cellphone to laptop again
Yes. Here are quick notes you can drop into a sound/ or music/ directory on rochford.
Camelot / JBL Clip 4 / mpv notes
Sat Jun 27 2026
Goal:
Play music from Camelot/Tunes through JBL Clip 4 while cooking.
Working music command:
From the Tunes directory:
find . -type f \
! -path "*/.AppleDouble/*" \
! -path "*/__MACOSX/*" \
! -name "._*" \
\( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.ogg" \) \
| grep -Ei "salsa|latin|cumbia|reggae|ska|funk|soul|afro|calypso|celtic|stomp" \
| shuf \
| mpv --playlist=-
Why the exclusions:
.AppleDouble, __MACOSX, and ._* are Mac metadata cruft. They can look like music files but fail in mpv.
mpv controls:
space = pause/play
> = next track
< = previous track
9 = volume down
0 = volume up
q = quit
JBL Clip 4 Bluetooth address:
D8:37:3B:D4:59:EC
Bluetooth status check:
bluetoothctl
info D8:37:3B:D4:59:EC
Good signs:
Paired: yes
Trusted: yes
Connected: yes
Connect manually if needed:
bluetoothctl
connect D8:37:3B:D4:59:EC
quit
Audio/PipeWire checks:
pactl list cards short
pactl list sinks short
wpctl status
Good signs:
bluez_card.D8_37_3B_D4_59_EC
bluez_output.D8_37_3B_D4_59_EC.1
Active Profile: a2dp-sink
Set JBL as default audio sink:
wpctl set-default 79
Alternative:
pactl set-default-sink bluez_output.D8_37_3B_D4_59_EC.1
Test sound:
speaker-test -t wav -c 2
Stop test:
Ctrl+C
What happened:
The JBL was paired and trusted but initially not connected as a PipeWire audio sink.
Once connected, PipeWire exposed it as:
bluez_card.D8_37_3B_D4_59_EC
bluez_output.D8_37_3B_D4_59_EC.1
The active profile was:
a2dp-sink
After setting sink 79 as default, speaker-test produced audio.Tiny caveat-goblin: setting it as default should help a lot, but Bluetooth can still be stolen by your phone or change IDs after reconnect/reboot. If it vanishes later, the key checks are:
bluetoothctl info D8:37:3B:D4:59:EC
pactl list sinks short
wpctl status
The important remembered fact is not the sink number 79, which may change. It is the JBL identity:
D8:37:3B:D4:59:EC
bluez_output.D8_37_3B_D4_59_EC
There was a sound project once
I might have changed some default settings
[CML] tux@localhost …/tux/music_service $ ll
total 8
-rw-r--r--. 1 tux tux 192 Nov 2 2025 app.py
-rw-r--r--. 1 tux tux 3288 Jun 27 19:54 JBL-Camelot.readme
drwxr-xr-x. 6 tux tux 105 Nov 2 2025 venvThat could happen!
But now it's time to make dinner!
[CML] tux@localhost …/athlone/Tunes $ find . -type f ! -path "*/.AppleDouble/*" ! -path "*/__MACOSX/*" ! -name "._*" \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.ogg" \) | grep -Ei "salsa|latin|cumbia|reggae|ska|funk|soul|afro|calypso|celtic|stomp" | shuf | mpv --playlist=-
[file] Reading from stdin...
[playlist] Reading plaintext playlist.
- Log in to post comments