4 ## cross-genre tags that dont really make a playlist
6 # songs i like but they get old fast due to feeling gimicky, or cringy after a while.
8 # anything sad which i sometimes like or avoid.
14 # favorite songs pump up songs
16 # favorite rap pump up songs, allows more songs than pump1
18 # heart rending, spine tickling
26 # alternate version of a song we already have which isn't as good
30 nav_convert_query
="^genre:spoken-w ^genre:skit ^lesser_version:t rating:3..5"
35 # gangsta rap / angry rap. something like g-rap would make beet queries for genre:rap include it
39 # slow instrumental. todo: reclassify some ambient into this.
43 # lyrical edm. todo: some pop needs reclassification to this
48 # nonvocal / instrumental
52 # mq = mac quale. similar to the mr robot soundtracks.
53 # slow, foreboding. usually electronic.
58 # like rain by brian crain. mostly slow airy/broody piano
64 # because we were destined to run out of single key buttons.
73 all_genres
=(${common_genres[@]} ${rare_genres[@]})
77 #### playlist things #####
80 declare -A ignore_genres_a
86 declare -A slow_genres_a
103 declare -A bpla
# beet playlist associative array
104 beetapl
() { # beet add playlist
112 # this function is just so we can have some local vars
113 # and not mess with the global var namespace.
114 _beet-gen-global-vars
() {
118 for g
in ${ignore_genres[@]}; do
119 ignore_genres_a
[$g]=t
121 for g
in ${slow_genres[@]}; do
125 # genres that have a beat
130 # relatively upbeat genres to listen, eg while biking
132 for g
in ${all_genres[@]}; do
133 if [[ ${ignore_genres_a[$g]} ]]; then continue; fi
135 if [[ ${slow_genres_a[$g]} ]]; then continue; fi
145 # generate regex for beat playlist
148 for g
in ${beat_genres[@]}; do
157 # generate regex for upbeat playlist
160 for g
in ${upbeat_genres[@]}; do
170 for g
in ${genres[@]}; do
174 beetapl
${g}-${r} rating:${r}.
.5 genre
::^
$g\$ ^expl
:t ^gimicky
:t ^lesser_version
:t
175 beetapl
${g}-x-${r} rating:${r}.
.5 genre
::^
$g\$ ^gimicky
:t ^lesser_version
:t
178 beetapl
${g}-${r} rating:${r}.
.5 genre
:$g ^gimicky
:t ^lesser_version
:t
184 for t
in ${tags[@]}; do
186 beetapl
${t}-${r} rating:${r}.
.5 $t:t ^lesser_version
:t
191 beetapl beat-
${r} rating
:${r}.
.5 genre
::$beat_regex ^expl
:t ^gimicky
:t ^lesser_version
:t
192 beetapl beat-x-
${r} rating
:${r}.
.5 genre
::$beat_regex ^gimicky
:t ^lesser_version
:t
193 beetapl upbeat-
${r} rating
:${r}.
.5 genre
::$upbeat_regex ^expl
:t ^gimicky
:t ^lesser_version
:t ^sad
:t
194 beetapl upbeat-x-
${r} rating
:${r}.
.5 genre
::$upbeat_regex ^gimicky
:t ^lesser_version
:t ^sad
:t
195 beetapl gimicky-
${r} rating
:${r}.
.5 gimicky
:t ^lesser_version
:t
200 sy
$r rating
:${r}.
.5 genre
::$upbeat_regex ^gimicky
:t ^lesser_version
:t
'artist:sonic youth'
203 for t
in ${nav_tags[@]}; do
207 _beet-gen-global-vars