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
27 # alternate version of a song we already have which isn't as good
31 nav_convert_query
="^genre:spoken-w ^genre:skit ^lesser_version:t rating:3..5"
36 # gangsta rap / angry rap. something like g-rap would make beet queries for genre:rap include it
40 # slow instrumental. todo: reclassify some ambient into this.
44 # lyrical edm. todo: some pop needs reclassification to this
49 # nonvocal / instrumental
53 # mq = mac quale. similar to the mr robot soundtracks.
54 # slow, foreboding. usually electronic.
59 # like rain by brian crain. mostly slow airy/broody piano
65 # because we were destined to run out of single key buttons.
74 all_genres
=(${common_genres[@]} ${rare_genres[@]})
78 #### playlist things #####
81 declare -A ignore_genres_a
87 declare -A slow_genres_a
104 declare -A bpla
# beet playlist associative array
105 beetapl
() { # beet add playlist
113 # this function is just so we can have some local vars
114 # and not mess with the global var namespace.
115 _beet-gen-global-vars
() {
119 for g
in ${ignore_genres[@]}; do
120 ignore_genres_a
[$g]=t
122 for g
in ${slow_genres[@]}; do
126 # genres that have a beat
131 # relatively upbeat genres to listen, eg while biking
133 for g
in ${all_genres[@]}; do
134 if [[ ${ignore_genres_a[$g]} ]]; then continue; fi
136 if [[ ${slow_genres_a[$g]} ]]; then continue; fi
146 # generate regex for beat playlist
149 for g
in ${beat_genres[@]}; do
158 # generate regex for upbeat playlist
161 for g
in ${upbeat_genres[@]}; do
171 for g
in ${genres[@]}; do
175 beetapl
${g}-${r} rating:${r}.
.5 genre
::^
$g\$ ^expl
:t ^gimicky
:t ^lesser_version
:t
176 beetapl
${g}-x-${r} rating:${r}.
.5 genre
::^
$g\$ ^gimicky
:t ^lesser_version
:t
179 beetapl
${g}-${r} rating:${r}.
.5 genre
:$g ^gimicky
:t ^lesser_version
:t
185 for t
in ${tags[@]}; do
187 beetapl
${t}-${r} rating:${r}.
.5 $t:t ^lesser_version
:t
192 beetapl beat-
${r} rating
:${r}.
.5 genre
::$beat_regex ^expl
:t ^gimicky
:t ^lesser_version
:t
193 beetapl beat-x-
${r} rating
:${r}.
.5 genre
::$beat_regex ^gimicky
:t ^lesser_version
:t
194 beetapl upbeat-
${r} rating
:${r}.
.5 genre
::$upbeat_regex ^expl
:t ^gimicky
:t ^lesser_version
:t ^sad
:t
195 beetapl upbeat-x-
${r} rating
:${r}.
.5 genre
::$upbeat_regex ^gimicky
:t ^lesser_version
:t ^sad
:t
196 beetapl gimicky-
${r} rating
:${r}.
.5 gimicky
:t ^lesser_version
:t
201 sy
$r rating
:${r}.
.5 genre
::$upbeat_regex ^gimicky
:t ^lesser_version
:t
'artist:sonic youth'
204 for t
in ${nav_tags[@]}; do
208 _beet-gen-global-vars