mostly fixes, some improvements
[distro-setup] / beet-data
index a9903080679dd17a6e4aeeb945bc044d50ee6c94..c030efd59a390e47993dc1f989d0863479ecae5b 100644 (file)
--- 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