From c81386157dc4977cbd7ab4c2c40604346951d2f4 Mon Sep 17 00:00:00 2001 From: Ian Kelling Date: Sun, 3 May 2026 14:53:59 -0400 Subject: [PATCH] fix for beets renaming genre to genres --- beet | 3 --- beet-data | 20 ++++++++++---------- beetag | 4 ++-- brc2 | 18 +++++++++++------- distro-end | 5 ++++- subdir_files/.config/konsolerc | 4 ++-- 6 files changed, 29 insertions(+), 25 deletions(-) delete mode 100755 beet diff --git a/beet b/beet deleted file mode 100755 index 88ef765..0000000 --- a/beet +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -~/.local/bin/uvx --exclude-newer='31 days' --from 'beets[lyrics,discogs]' beet "$@" diff --git a/beet-data b/beet-data index 681c5b2..20adab9 100644 --- a/beet-data +++ b/beet-data @@ -53,10 +53,10 @@ pl_tags=( lesser_version ) -nav_convert_query="^genre:spoken-w ^genre:skit ^lesser_version:t rating:3..5" +nav_convert_query="^genres:spoken-w ^genres:skit ^lesser_version:t rating:3..5" common_genres=( - # gangsta rap / angry rap. something like g-rap would make beet queries for genre:rap include it + # gangsta rap / angry rap. something like g-rap would make beet queries for genres:rap include it arp avant blues @@ -197,11 +197,11 @@ beet-gen-global-vars() { for r in {3..5}; do case $g in pop|rap) - beetapl ${g}-${r} rating:${r}..5 genre::^$g\$ ^expl:t ^gimicky:t ^lesser_version:t - beetapl ${g}-x-${r} rating:${r}..5 genre::^$g\$ ^gimicky:t ^lesser_version:t + beetapl ${g}-${r} rating:${r}..5 genres::^$g\$ ^expl:t ^gimicky:t ^lesser_version:t + beetapl ${g}-x-${r} rating:${r}..5 genres::^$g\$ ^gimicky:t ^lesser_version:t ;; *) - beetapl ${g}-${r} rating:${r}..5 genre:$g ^gimicky:t ^lesser_version:t + beetapl ${g}-${r} rating:${r}..5 genres:$g ^gimicky:t ^lesser_version:t ;; esac done @@ -214,16 +214,16 @@ beet-gen-global-vars() { done for r in {3..5}; do - beetapl beat-${r} rating:${r}..5 genre::$beat_regex ^expl:t ^gimicky:t ^lesser_version:t - beetapl beat-x-${r} rating:${r}..5 genre::$beat_regex ^gimicky:t ^lesser_version:t - beetapl upbeat-${r} rating:${r}..5 genre::$upbeat_regex ^expl:t ^gimicky:t ^lesser_version:t ^sad:t - beetapl upbeat-x-${r} rating:${r}..5 genre::$upbeat_regex ^gimicky:t ^lesser_version:t ^sad:t + beetapl beat-${r} rating:${r}..5 genres::$beat_regex ^expl:t ^gimicky:t ^lesser_version:t + beetapl beat-x-${r} rating:${r}..5 genres::$beat_regex ^gimicky:t ^lesser_version:t + beetapl upbeat-${r} rating:${r}..5 genres::$upbeat_regex ^expl:t ^gimicky:t ^lesser_version:t ^sad:t + beetapl upbeat-x-${r} rating:${r}..5 genres::$upbeat_regex ^gimicky:t ^lesser_version:t ^sad:t beetapl gimicky-${r} rating:${r}..5 gimicky:t ^lesser_version:t done for r in {3..5}; do beetapl \ - sy$r rating:${r}..5 genre::$upbeat_regex ^gimicky:t ^lesser_version:t 'artist:sonic youth' + sy$r rating:${r}..5 genres::$upbeat_regex ^gimicky:t ^lesser_version:t 'artist:sonic youth' done for t in ${nav_tags[@]}; do diff --git a/beetag b/beetag index f81aaab..19ad1c8 100755 --- a/beetag +++ b/beetag @@ -267,7 +267,7 @@ beetag-ls-setup() { # note: PijokVipiotOzeph is just a random string for a delimiter # shellcheck disable=SC2016 # false positive - fmt='%ifdef{rating,$rating }'"$tag_query"'$genre | $title - $artist - $album $length $id PijokVipiotOzeph $path' + fmt='%ifdef{rating,$rating }'"$tag_query"'$genres | $title - $artist - $album $length $id PijokVipiotOzeph $path' for tag in "${pl_tags[@]}"; do @@ -744,7 +744,7 @@ beetag() { continue fi if (( char_i <= last_genre_i )); then - m beetmq "id:$id" genre=$new_item + m beetmq "id:$id" genres=$new_item else remove=false for tag in ${tags[@]}; do diff --git a/brc2 b/brc2 index 69af589..7814ae0 100644 --- a/brc2 +++ b/brc2 @@ -696,6 +696,10 @@ complete -W "${!bpla[*]}" bpl # usage: FILE|ALBUM_DIR [GENRE] [RATING] +# +# Note: the beets genre field is "genres" with an s in case you use that +# field to store an ad-hoc set of genres. You'd presumably separate them +# with something like ; or : or , beetadd() { local import_path genre_arg single_track_arg rating_arg import_path="$1" @@ -703,7 +707,7 @@ beetadd() { echo "beetadd error: path does not exist" fi if [[ $2 ]]; then - genre_arg="--set genre=$2" + genre_arg="--set genres=$2" fi if [[ $3 ]]; then rating_arg="--set rating=$3" @@ -772,7 +776,7 @@ beetconvert() { rm "$tmpf" } -nav_convert_query="^genre:spoken-w ^genre:skit ^lesser_version:t rating:3..5" +nav_convert_query="^genres:spoken-w ^genres:skit ^lesser_version:t rating:3..5" # This deletes files in the converted directory which should no longer @@ -903,7 +907,7 @@ er() { # beegenre() { local count artist artregex genre singleartist tmpf tmpf2 - local -a artists genres + local -a artists genre_ary singleartist=false if [[ $1 == artist:* ]]; then singleartist=true @@ -923,18 +927,18 @@ beegenre() { while read -r artist; do artregex=$(er "$artist") # shellcheck disable=SC2016 # obvious reason - beet ls -f '$genre' "artist::^$artregex$" "${@/#/^}" | sort | uniq -c | sort -n | tail -n1 >$tmpf2 + beet ls -f '$genres' "artist::^$artregex$" "${@/#/^}" | sort | uniq -c | sort -n | tail -n1 >$tmpf2 read -r count genre <$tmpf2 || continue if [[ $count ]]; then artists+=("$artregex") - genres+=("$genre") - echo "beet modify -y $* \"artist::^$artist$\" genre=$genre # $count" + genre_ary+=("$genre") + echo "beet modify -y $* \"artist::^$artist$\" genres=$genre # $count" fi done <$tmpf read -r -N 1 -s -p "Y/n " char if [[ $char == [Yy$'\n'] ]]; then for (( i=0; i<${#artists[@]}; i++ )); do - beet modify -y "$@" "artist::^${artists[i]}$" genre=${genre[i]} + beet modify -y "$@" "artist::^${artists[i]}$" genres=${genre_ary[i]} done fi fi diff --git a/distro-end b/distro-end index 2ba01e7..064f0f2 100755 --- a/distro-end +++ b/distro-end @@ -1722,7 +1722,10 @@ if ! type -p uv &>/dev/null; then curl -LsSf https://astral.sh/uv/install.sh | sh fi - +# I tried doing what UV implies is good and using uvx instad of +# installing, but it was buggy. This was that: +# ~/.local/bin/uvx --exclude-newer='31 days' --from 'beets[lyrics,discogs]' beet "$@" +uv tool install --exclude-newer='31 days' --from 'beets[lyrics,discogs]' beets diff --git a/subdir_files/.config/konsolerc b/subdir_files/.config/konsolerc index ec251f8..133d499 100644 --- a/subdir_files/.config/konsolerc +++ b/subdir_files/.config/konsolerc @@ -25,8 +25,8 @@ ShowMenuBarByDefault=false 2 screens: YPosition=2 3840x2160 screen: Height=2156 3840x2160 screen: Width=1916 -3840x2160 screen: XPosition=1282 -3840x2160 screen: YPosition=1082 +3840x2160 screen: XPosition=1922 +3840x2160 screen: YPosition=2 DP-0=DP-0 DP-1 eDP-1=DP-1 DP-1-1 eDP-1=DP-1-1 -- 2.30.2