#!/bin/bash # for generating playlist config yaml. # plain playlists are added manually to the yaml. f=/usr/local/lib/err;test -r $f || { echo "error: $0 no $f" >&2;exit 1;}; . $f declare -A ignore_genres_a ignore_genres=( skit spoken-w ) declare -A slow_genres_a slow_genres=( ambient avant classical noise sleep mq jazz ) tags=( expl 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=() # generate genres based on what is in the db. genres=() # relatively upbeat genres to listen, eg while biking upbeat_genres=() for g in $(beet ls -f '$genre' | sort -u); 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 beat_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) cat <