我想在 amarok(版本 2.8.0-0ubuntu3)中制作一个动态播放列表,播放我有一段时间没听过的歌曲,例如它应该只包含 2013 年或更早的最后一次播放的歌曲。
这是一个相当简单的条件,我认为有一种简单的方法可以做到这一点,但我还没有找到一种方法并且谷歌搜索这个问题并没有多大帮助。
我试过的:
我寻找了一个可以用于此的搜索关键字。这本Amarok 手册 有些散漫地说可以搜索上次修改,但没有说明如何做。
我试图按上次播放的顺序对播放列表进行排序,希望如果播种正确,这会欺骗 amarok 只播放特定日期之前的歌曲,但不幸的是,当前歌曲的上次播放日期在结束前更改为“刚刚”,将其排序到顶部。然后播放的下一首歌曲是倒数第二首,所以 amarok 只是进入了最后两首歌曲的循环。
然后我将播放列表中以前的歌曲数更改为 0,希望这会自动删除上次播放当前歌曲后播放的所有歌曲。这当然会导致跑去听“从未播放过”的歌曲,但慢慢地我就可以忍受了。但是没有用,因为amarok不会删除当前歌曲上面的歌曲。
我目前的解决方法是用尽可能多的歌曲填充播放列表,按上次播放的顺序排序,然后将我想要的所有歌曲放入等待循环(或英文版中的任何名称,我的意思是您可以选择的选项通过右键单击播放列表中的歌曲),删除其余歌曲,然后大约每 7 小时重复此过程。
现在我希望有一种不那么烦人的方法来实现这一点,所以:有没有好的方法来做到这一点?
在“媒体源”面板中,进入“播放列表”,然后进入“动态播放列表”。
添加新的播放列表。它会给你一个像“流派:摇滚”这样的标准(偏见)。选择并编辑它。
将匹配类型更改为“匹配元标记”。这将为您提供下面一组不同的选项。
将第一个下拉菜单(“简单搜索”)更改为“上次播放”。其他两个输入可让您执行各种操作,例如:
lastplay:<01/01/2014
)lastplay:>200d
)确定,然后双击播放列表以使用它。
请注意(据我所知)如果您使用“之前”构造,则从未播放过的曲目会被包括在内,但如果您使用“早于”构造,则不会被包括在内。如果您想在后一种情况下包含未播放的曲目,则需要使用“或”/匹配任何偏差和两个子偏差:
lastplay:>200d
一个和playcount:0
一个。恐怕这不是(完全)Amarok 解决方案(听起来您已经用尽了所有搜索)。
然而,这种查询在Quod Libet中相当容易(免责声明:我知道我是开发者之一):
例如搜索:
将返回去年未播放的所有歌曲。这可以像往常一样与所有其他搜索语法结合使用,例如
将返回上周未播放的所有经典歌曲。
如果你愿意,你可以自动化它;使用命令行,您现在可以执行以下操作:
...然后打印与该查询匹配的歌曲的完整路径列表
stdout
。应该很容易将其导入任何需要的地方,例如导入 Amarok。