X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=beet-data;h=c030efd59a390e47993dc1f989d0863479ecae5b;hb=9ac513d1086f22a8dede2ebe3ca0236443bdc429;hp=a9903080679dd17a6e4aeeb945bc044d50ee6c94;hpb=e8d684282c4b3cdd62859217f02711df5947a5c1;p=distro-setup diff --git a/beet-data b/beet-data index a990308..c030efd 100644 --- a/beet-data +++ b/beet-data @@ -100,58 +100,6 @@ tags=( sad ) - -for g in ${ignore_genres[@]}; do - ignore_genres_a[$g]=t -done -for g in ${slow_genres[@]}; do - slow_genres_a[$g]=t -done - -# genres that have a beat -beat_genres=() -genres=() - - -# relatively upbeat genres to listen, eg while biking -upbeat_genres=() -for g in ${all_genres[@]}; do - if [[ ${ignore_genres_a[$g]} ]]; then continue; fi - genres+=($g) - if [[ ${slow_genres_a[$g]} ]]; then continue; fi - beat_genres+=($g) - case $g in - chill) - continue - ;; - esac - upbeat_genres+=($g) -done - -# generate regex for beat playlist -beat_regex= -first=true -for g in ${beat_genres[@]}; do - if $first; then - first=false - beat_regex=$g - else - beat_regex+="|$g" - fi -done - -# generate regex for upbeat playlist -upbeat_regex= -first=true -for g in ${upbeat_genres[@]}; do - if $first; then - first=false - upbeat_regex=$g - else - upbeat_regex+="|$g" - fi -done - declare -A bpla # beet playlist associative array beetapl() { # beet add playlist local name @@ -160,39 +108,100 @@ beetapl() { # beet add playlist bpla[$name]="${@@Q}" } -for g in ${genres[@]}; do - for r in {3..5}; do + +# this function is just so we can have some local vars +# and not mess with the global var namespace. +_beet-gen-global-vars() { + + local first g t r + + for g in ${ignore_genres[@]}; do + ignore_genres_a[$g]=t + done + for g in ${slow_genres[@]}; do + slow_genres_a[$g]=t + done + + # genres that have a beat + beat_genres=() + genres=() + + + # relatively upbeat genres to listen, eg while biking + upbeat_genres=() + for g in ${all_genres[@]}; do + if [[ ${ignore_genres_a[$g]} ]]; then continue; fi + genres+=($g) + if [[ ${slow_genres_a[$g]} ]]; then continue; fi + beat_genres+=($g) 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 genre:$g ^gimicky:t ^lesser_version:t + chill) + continue ;; esac + upbeat_genres+=($g) + done + + # generate regex for beat playlist + beat_regex= + first=true + for g in ${beat_genres[@]}; do + if $first; then + first=false + beat_regex=$g + else + beat_regex+="|$g" + fi + done + + # generate regex for upbeat playlist + upbeat_regex= + first=true + for g in ${upbeat_genres[@]}; do + if $first; then + first=false + upbeat_regex=$g + else + upbeat_regex+="|$g" + fi + done + + + for g in ${genres[@]}; do + 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 genre:$g ^gimicky:t ^lesser_version:t + ;; + esac + done + done + + for t in ${tags[@]}; do + for r in {3..5}; do + beetapl ${t}-${r} rating:${r}..5 $t:t ^lesser_version:t + done done -done -for t in ${tags[@]}; do for r in {3..5}; do - beetapl ${t}-${r} rating:${r}..5 $t:t ^lesser_version:t + 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 gimicky-${r} rating:${r}..5 gimicky:t ^lesser_version:t done -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 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' -done - -for t in ${nav_tags[@]}; do - beetapl $t $t: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' + done + + for t in ${nav_tags[@]}; do + beetapl $t $t:t + done +} +_beet-gen-global-vars