
从foobar2000换到这玩意,研究了两天发现没法按文件夹分类,毕竟开发者标榜的什么根据标签分类,3年前就说了绝不增加这个功能。
搜到个比较笨的方法是手动管理m3u8歌单,每次加新歌进去就用脚本生成个新的playlist,显然这效率太低了。
https://flemmingss.com/use-folders-as-playlists-in-navidrome/
那么有没有好点的方法呢?就是这个nsp智能播放列表了,本身Navidrome是可以自动导入、同步文件夹下的m3u,m3u8,nsp等播放列表的,那只要播放列表可以根据文件夹的内容变化就可以了。
{
"all": [
{"contains": {"filepath":"/music/Aimer"}}
],
"sort": "dateadded",
"order": "desc"
} 把上面这段代码保存为 歌单名.nsp 丢进文件夹里就行了,这会自动更新整个文件夹的歌曲,按加入日期排序,自动更新增减。
/music/Aimer要改成你歌单文件夹的路径

具体怎么扩展智能歌单用法可以参考这个issue:
https://github.com/navidrome/navidrome/issues/1417 可用字段:
title
album
artist
albumartist
hascoverart
tracknumber
discnumber
year
size
compilation
dateadded
datemodified
discsubtitle
comment
lyrics
sorttitle
sortalbum
sortartist
sortalbumartist
albumtype
albumcomment
catalognumber
filepath
filetype
duration
bitrate
bpm
channels
genre
loved
dateloved
lastplayed
playcount
rating 可用的运算符(不分大小写)
is
isNot
gt
lt
contains
notContains
startsWith
endsWith
inTheRange
before
after
inTheLast
notInTheLast
inPlaylist
notInPlaylist
另外再说配置Last.FM和Spotify API时遇到比较坑的一点,一直报错,最后发现就是
这玩意本身会加载一个.toml外部配置文件,但是呢,这个配置文件里是不能定义ND_环境变量的。
所以把api填进.toml里的ND_LASTFM_APIKEY当然没用,要用外部配置文件填api的话,得改成LastFM.ApiKey。