在庞大而多样化的音乐库中,有以下两种类型的专辑:
- 由媒体文件和CUE文件组成(大部分专辑都是这种类型)
- 仅包含媒体文件
由于各种原因,我更喜欢使用 foobar2000 中的 CUE 文件:
- 它们可以更快地处理播放列表和库浏览器,
- 有时标签仅在 CUE 文件中可用,而不在它们引用的媒体文件中可用。
但显然,我不能忽略缺少 CUE 文件的专辑,所以我必须同时使用这两种媒体和foobar2000 库的 CUE 文件类型。
但是,如果我告诉 foobar2000 库“将文件类型限制为 *.flac;*.ape;*.cue”,它会创建两张专辑在第一类专辑的库中:一个用于媒体文件,另一个用于提示表。
有没有办法告诉 foobar2000 仅当文件夹中没有可用的“*.cue”时才使用“*.flac; *.ape”?
我想到最接近的解决方案是将库标准化,使每张专辑始终都有一个 CUE,然后将 foobar2000 库限制为“将文件类型限制为仅为 *.cue”。
我甚至编写了一个 Perl 脚本来为所有专辑创建缺失的提示表。但是,我还没有找到一种简单的方法来自动使用媒体文件中的标签填充自动创建的提示表。
答案1
m-TAGS 组件顺便解决了这个问题,因为它!.tags
为各种配置(包括图像和多轨专辑)创建了一个单独的元数据文件(首先将元数据与数据分离是理想的)。
http://m-tags.org/foobar2000_component.html
然后,我将*.tags
媒体库中的文件类型设为“限制为”,并且当我在专辑列表视图中选择文件夹时,FLAC/APE/whatever-per-disc 映像文件不再出现在播放列表中。
答案2
我甚至编写了一个 Perl 脚本来为所有专辑创建缺失的提示表。但是,我还没有找到一种简单的方法来自动使用媒体文件中的标签填充自动创建的 CUE。
我用 Python 3 编写了一个脚本来实现同样的目的。它调用 ffmpeg(准确地说是 ffprobe)来检索一些元数据(标题、艺术家、专辑、日期、流派),这可能就是您想要的。https://gitlab.com/magicgoose/yet-another-.cue-generator-for-tracks
调用 ffprobe 检索标签的部分:https://gitlab.com/magicgoose/yet-another-.cue-generator-for-tracks/blob/e65aace7d0f47ce30844107fb395175b26e0d5a8/tracks_cue_gen.py#L52-58
我觉得这个可以算是比较容易的。
不幸的是,对于改变 foobar2000 行为的主要问题,我没有解决方案。