Commit 159ee13b39b9
Changed files (1)
home
common
services
home/common/services/beets.nix
@@ -168,324 +168,335 @@ in
playlists = [
# ===========================================
# Artist Collections (artist-)
+ # Sorted by year, then album, disc, track (chronological discography)
# ===========================================
{
name = "artist-brian-eno.m3u";
- query = "artist:'Brian Eno'";
+ query = "artist:'Brian Eno' year+ album+ disc+ track+";
}
{
name = "artist-joe-hisaishi.m3u";
- query = "artist:久石譲 , artist:'Joe Hisaishi'";
+ query = "artist:久石譲 , artist:'Joe Hisaishi' year+ album+ disc+ track+";
}
{
name = "artist-queen.m3u";
- query = "artist:Queen";
+ query = "artist:Queen year+ album+ disc+ track+";
}
{
name = "artist-tangerine-dream.m3u";
- query = "artist:'Tangerine Dream'";
+ query = "artist:'Tangerine Dream' year+ album+ disc+ track+";
}
{
name = "artist-u2.m3u";
- query = "artist:U2";
+ query = "artist:U2 year+ album+ disc+ track+";
}
{
name = "artist-vangelis.m3u";
- query = "artist:Vangelis";
+ query = "artist:Vangelis year+ album+ disc+ track+";
}
{
name = "artist-yoko-kanno.m3u";
- query = "artist:菅野よう子 , artist:'Yoko Kanno'";
+ query = "artist:菅野よう子 , artist:'Yoko Kanno' year+ album+ disc+ track+";
}
# ===========================================
# Decades (decade-)
+ # Sorted by year, artist, album, disc, track
# ===========================================
{
name = "decade-1960s.m3u";
- query = "year:1960..1969";
+ query = "year:1960..1969 year+ artist+ album+ disc+ track+";
}
{
name = "decade-1970s.m3u";
- query = "year:1970..1979";
+ query = "year:1970..1979 year+ artist+ album+ disc+ track+";
}
{
name = "decade-1980s.m3u";
- query = "year:1980..1989";
+ query = "year:1980..1989 year+ artist+ album+ disc+ track+";
}
{
name = "decade-1990s.m3u";
- query = "year:1990..1999";
+ query = "year:1990..1999 year+ artist+ album+ disc+ track+";
}
{
name = "decade-2000s.m3u";
- query = "year:2000..2009";
+ query = "year:2000..2009 year+ artist+ album+ disc+ track+";
}
{
name = "decade-2010s.m3u";
- query = "year:2010..2019";
+ query = "year:2010..2019 year+ artist+ album+ disc+ track+";
}
{
name = "decade-2020s.m3u";
- query = "year:2020..2029";
+ query = "year:2020..2029 year+ artist+ album+ disc+ track+";
}
# ===========================================
# Discovery (discover-)
+ # Sorted by added date (newest first), then album order
# ===========================================
{
name = "discover-unplayed.m3u";
- query = "play_count:0";
+ query = "play_count:0 added- album+ disc+ track+";
}
{
name = "discover-rarely-played.m3u";
- query = "play_count:..3 added:..2024-01-01";
+ query = "play_count:..3 added:..2024-01-01 added- album+ disc+ track+";
}
# ===========================================
# Genre (genre-)
+ # Sorted by artist, year, album, disc, track
# ===========================================
{
name = "genre-ambient.m3u";
- query = "genre:Ambient";
+ query = "genre:Ambient artist+ year+ album+ disc+ track+";
}
{
name = "genre-classical.m3u";
- query = "genre:Classical";
+ query = "genre:Classical artist+ year+ album+ disc+ track+";
}
{
name = "genre-electronic.m3u";
- query = "genre:Electronic";
+ query = "genre:Electronic artist+ year+ album+ disc+ track+";
}
{
name = "genre-folk.m3u";
- query = "genre:Folk";
+ query = "genre:Folk artist+ year+ album+ disc+ track+";
}
{
name = "genre-hiphop.m3u";
- query = "genre:'Hip Hop'";
+ query = "genre:'Hip Hop' artist+ year+ album+ disc+ track+";
}
{
name = "genre-jazz.m3u";
- query = "genre:Jazz";
+ query = "genre:Jazz artist+ year+ album+ disc+ track+";
}
{
name = "genre-metal.m3u";
- query = "genre:Metal";
+ query = "genre:Metal artist+ year+ album+ disc+ track+";
}
{
name = "genre-pop.m3u";
- query = "genre:Pop";
+ query = "genre:Pop artist+ year+ album+ disc+ track+";
}
{
name = "genre-rock.m3u";
- query = "genre:Rock";
+ query = "genre:Rock artist+ year+ album+ disc+ track+";
}
{
name = "genre-trance.m3u";
- query = "genre:Trance";
+ query = "genre:Trance artist+ year+ album+ disc+ track+";
}
# ===========================================
# Language (lang-)
+ # Sorted by artist, year, album, disc, track
# ===========================================
{
name = "lang-asian.m3u";
- query = "language:jpn,kor,cmn,zho";
+ query = "language:jpn,kor,cmn,zho artist+ year+ album+ disc+ track+";
}
{
name = "lang-english.m3u";
- query = "language:eng";
+ query = "language:eng artist+ year+ album+ disc+ track+";
}
{
name = "lang-european.m3u";
- query = "language:fra,deu,ita,spa";
+ query = "language:fra,deu,ita,spa artist+ year+ album+ disc+ track+";
}
{
name = "lang-french.m3u";
- query = "language:fra";
+ query = "language:fra artist+ year+ album+ disc+ track+";
}
{
name = "lang-german.m3u";
- query = "language:deu";
+ query = "language:deu artist+ year+ album+ disc+ track+";
}
{
name = "lang-instrumental.m3u";
- query = "language:zxx";
+ query = "language:zxx artist+ year+ album+ disc+ track+";
}
{
name = "lang-italian.m3u";
- query = "language:ita";
+ query = "language:ita artist+ year+ album+ disc+ track+";
}
{
name = "lang-japanese.m3u";
- query = "language:jpn";
+ query = "language:jpn artist+ year+ album+ disc+ track+";
}
{
name = "lang-korean.m3u";
- query = "language:kor";
+ query = "language:kor artist+ year+ album+ disc+ track+";
}
{
name = "lang-spanish.m3u";
- query = "language:spa";
+ query = "language:spa artist+ year+ album+ disc+ track+";
}
# ===========================================
# Mood & Activity (mood-)
+ # Sorted by artist, album, disc, track
# ===========================================
{
name = "mood-chill.m3u";
- query = "genre:Ambient,Jazz,Folk bpm:..100";
+ query = "genre:Ambient,Jazz,Folk bpm:..100 artist+ album+ disc+ track+";
}
{
name = "mood-christmas.m3u";
- query = "genre:Christmas,Holiday";
+ query = "genre:Christmas,Holiday artist+ album+ disc+ track+";
}
{
name = "mood-driving.m3u";
- query = "genre:Rock,Electronic,'Indie Rock' bpm:100..130";
+ query = "genre:Rock,Electronic,'Indie Rock' bpm:100..130 artist+ album+ disc+ track+";
}
{
name = "mood-focus.m3u";
- query = "genre:Classical,Ambient,'Post-Rock' bpm:..90";
+ query = "genre:Classical,Ambient,'Post-Rock' bpm:..90 artist+ album+ disc+ track+";
}
{
name = "mood-party.m3u";
- query = "genre:Pop,Dance,Electronic,'Hip Hop' bpm:110..140 year:2015..";
+ query = "genre:Pop,Dance,Electronic,'Hip Hop' bpm:110..140 year:2015.. artist+ album+ disc+ track+";
}
{
name = "mood-summer.m3u";
- query = "genre:Reggae,Ska,'Surf Rock'";
+ query = "genre:Reggae,Ska,'Surf Rock' artist+ album+ disc+ track+";
}
{
name = "mood-workout.m3u";
- query = "genre:Electronic,Rock,'Hip Hop' bpm:120..";
+ query = "genre:Electronic,Rock,'Hip Hop' bpm:120.. artist+ album+ disc+ track+";
}
# ===========================================
# Soundtrack Series (ost-)
+ # Sorted by album, disc, track (proper soundtrack order)
# ===========================================
{
name = "ost-elder-scrolls.m3u";
- query = "album:'Elder Scrolls'";
+ query = "album:'Elder Scrolls' album+ disc+ track+";
}
{
name = "ost-escaflowne.m3u";
- query = "album:Escaflowne";
+ query = "album:Escaflowne album+ disc+ track+";
}
{
name = "ost-ghibli.m3u";
- query = "album:Ghibli , album:Totoro , album:Mononoke , album:Ponyo , album:Howl , album:Laputa , album:Nausicaä";
+ query = "album:Ghibli , album:Totoro , album:Mononoke , album:Ponyo , album:Howl , album:Laputa , album:Nausicaä album+ disc+ track+";
}
{
name = "ost-minecraft.m3u";
- query = "album:Minecraft";
+ query = "album:Minecraft album+ disc+ track+";
}
{
name = "ost-samurai-champloo.m3u";
- query = "album:'Samurai Champloo'";
+ query = "album:'Samurai Champloo' album+ disc+ track+";
}
{
name = "ost-stranger-things.m3u";
- query = "album:'Stranger Things'";
+ query = "album:'Stranger Things' album+ disc+ track+";
}
# ===========================================
# Recent Additions (recent-)
+ # Sorted by added date (newest first), then album order
# ===========================================
{
name = "recent-last-week.m3u";
- query = "added:-1w..";
+ query = "added:-1w.. added- album+ disc+ track+";
}
{
name = "recent-this-year.m3u";
- query = "added:-1y..";
+ query = "added:-1y.. added- album+ disc+ track+";
}
# ===========================================
# Compilation Series (series-)
+ # Sorted by album, disc, track
# ===========================================
{
name = "series-greatest-hits-millennium.m3u";
- query = "album:'Greatest Hits of the Millennium'";
+ query = "album:'Greatest Hits of the Millennium' album+ disc+ track+";
}
{
name = "series-lofi-girl.m3u";
- query = "album:lofi-girl";
+ query = "album:lofi-girl album+ disc+ track+";
}
{
name = "series-nova-all.m3u";
- query = "album:Nova path:compilation";
+ query = "album:Nova path:compilation album+ disc+ track+";
}
{
name = "series-nova-tunes.m3u";
- query = "album:'Nova Tunes'";
+ query = "album:'Nova Tunes' album+ disc+ track+";
}
# ===========================================
# Album Types (type-)
+ # Sorted by artist, year, album, disc, track
# ===========================================
{
name = "type-all-compilations.m3u";
- query = "path:compilation";
+ query = "path:compilation artist+ year+ album+ disc+ track+";
}
{
name = "type-all-soundtracks.m3u";
- query = "path:soundtrack";
+ query = "path:soundtrack artist+ year+ album+ disc+ track+";
}
{
name = "type-compilations.m3u";
- query = "albumtype:compilation";
+ query = "albumtype:compilation artist+ year+ album+ disc+ track+";
}
{
name = "type-eps.m3u";
- query = "albumtype:ep";
+ query = "albumtype:ep artist+ year+ album+ disc+ track+";
}
{
name = "type-live-albums.m3u";
- query = "albumtype:live";
+ query = "albumtype:live artist+ year+ album+ disc+ track+";
}
{
name = "type-podcasts.m3u";
- query = "albumtype:podcast";
+ query = "albumtype:podcast artist+ year+ album+ disc+ track+";
}
{
name = "type-remixes.m3u";
- query = "albumtype:remix";
+ query = "albumtype:remix artist+ year+ album+ disc+ track+";
}
{
name = "type-singles.m3u";
- query = "albumtype:single";
+ query = "albumtype:single artist+ year+ album+ disc+ track+";
}
# ===========================================
# Music Podcasts (podcast-)
+ # Sorted by title (episode name/date)
# ===========================================
{
name = "podcast-deep-search.m3u";
- query = "path::podcasts/\\[DEEP\\]Search";
+ query = "path::podcasts/\\[DEEP\\]Search title+";
}
{
name = "podcast-bon-entendeur.m3u";
- query = "path::podcasts/Bon Entendeur";
+ query = "path::podcasts/Bon Entendeur title+";
}
{
name = "podcast-wym-radio.m3u";
- query = "path::podcasts/Cosmic Gate";
+ query = "path::podcasts/Cosmic Gate title+";
}
{
name = "podcast-fip-tape.m3u";
- query = "path::podcasts/Fip Tape";
+ query = "path::podcasts/Fip Tape title+";
}
{
name = "podcast-global-dj-broadcast.m3u";
- query = "path::podcasts/Markus Schulz";
+ query = "path::podcasts/Markus Schulz title+";
}
{
name = "podcast-vonyc-sessions.m3u";
- query = "path::podcasts/Paul van Dyk";
+ query = "path::podcasts/Paul van Dyk title+";
}
{
name = "podcast-perfecto.m3u";
- query = "path::podcasts/Perfecto";
+ query = "path::podcasts/Perfecto title+";
}
{
name = "podcast-resonation-radio.m3u";
- query = "path::podcasts/Resonation";
+ query = "path::podcasts/Resonation title+";
}
{
name = "podcast-pogo-chill.m3u";
- query = "path::podcasts/P\\(\\)G\\(\\)";
+ query = "path::podcasts/P\\(\\)G\\(\\) title+";
}
];
};