Skip to content

Commit 5414dbb

Browse files
committed
Update music scripts, hyprland config, waybar modules, and add claude config
Refactor music and split-tracks scripts, add migrate-music-playlists util. Clean up hyprland keybindings and autostart, remove wallpapers.py, update hyprpaper. Add waybar beets-info and idle-inhibit modules. Add claude config with skills and settings. Update git config and archlinux host vars.
1 parent 91264da commit 5414dbb

40 files changed

Lines changed: 3887 additions & 219 deletions

bin/migrate-music-playlists

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
4+
# One-time migration: convert tags → playlists, remove old fields
5+
# Run this once, then delete this script.
6+
7+
append_playlist() {
8+
local query="$1" new_pl="$2"
9+
echo "Migrating: $query → playlist '$new_pl'"
10+
beet ls -f '$id' "$query" 2>/dev/null | while read -r id; do
11+
local cur
12+
cur=$(beet ls -f '$playlists' "id:$id" 2>/dev/null | head -1)
13+
[[ "$cur" == '$playlists' ]] && cur=""
14+
if [[ -z "$cur" ]]; then
15+
beet modify -y "id:$id" "playlists=$new_pl"
16+
elif [[ ",${cur}," != *",${new_pl},"* ]]; then
17+
beet modify -y "id:$id" "playlists=${cur},${new_pl}"
18+
fi
19+
done
20+
}
21+
22+
# Run all migrations (order doesn't matter due to append logic)
23+
append_playlist "tags:OST" "OST"
24+
append_playlist "folder:Jazz tags:Coffee Table" "Coffee Table Jazz"
25+
append_playlist "folder:Ambient tags:Dark" "Dark Ambient"
26+
append_playlist "folder:Orchestral tags:Dark" "Dark Orchestral"
27+
append_playlist "folder:Ambient tags:Space" "Space Ambient"
28+
29+
# Clear old fields
30+
echo "Clearing old fields (tags, rating, vocal, collection)..."
31+
beet modify -y tags= rating= vocal= collection=
32+
33+
# Move files to match new path rules
34+
echo "Moving files..."
35+
beet move
36+
37+
# Regenerate playlists
38+
echo "Regenerating playlists..."
39+
music splupdate
40+
41+
echo "Migration complete!"

0 commit comments

Comments
 (0)