是否存在某种过滤器或智能播放列表,可以让我仅显示从未播放过或播放过特定次数的专辑?
智能播放列表“从未播放”,似乎会选择从未播放过的随机歌曲,而不是完整的专辑。
有什么建议么?
我使用 Clementine 1.2
答案1
智能播放列表目前还无法做到这一点。虽然您可以创建自己的智能播放列表,但所有标准都只能直接匹配数据库中的歌曲。无法对找到的歌曲进行比较或对匹配的歌曲进行分组。您最多可以编辑“从未播放过”的智能播放列表,按专辑对歌曲进行排序(当然仅限于尚未播放的歌曲)
从 clementine 的数据库来看~/.config/Clementine/clementine.db
,clementine 基本上在一个名为“歌曲”的表中管理所有歌曲(因此没有额外的艺术家或专辑表)。但由于它是一个 sqlite 数据库,因此应该可以编写一个小程序来执行适当的查询以查找从未播放过歌曲的专辑。如下所示:
select album, track, title, playcount, filename from songs
where album in (select distinct album from songs where playcount = 0)
and album not in (select distinct album from songs where playcount != 0)
order by album, track;
从此列表可以生成播放列表。我不确定是否可以直接将其插入回数据库,但导出 .m3u 或 .pls 应该是可能的。
一个可能的问题是,多个艺术家可能拥有相同的专辑,也可能有多个艺术家的专辑。因此,区分专辑可能是一个问题。
答案2
Adaephon 正确地回答说,目前在 clementine 中还不能很好地实现这一点,但如果您的音乐库在磁盘上的排序方式类似于 Artist/Album/tracknr-title.mp3,那么有一种粗暴的方法可以解决这个问题。在这种情况下,您可以创建一个智能播放列表,其中包含Play count equals 0
搜索词,然后在下一页Sort songs by File name A-Z
(包括路径)和限制为Show all the songs
。保存播放列表,不使用动态模式,启动它,然后打开随机播放模式Shuffle albums
这种方法的缺点:匹配是在歌曲级别进行的,这意味着如果您播放了专辑中的几首歌曲但没有播放整张专辑,它仍会显示在列表中,但没有您已经播放过的歌曲。