beets插件管理多个文件

beets-alternatives的Python项目详细描述


甜菜替代品

构建状态coverage status

要用甜菜管理多个版本的音频文件吗? 你最喜欢的iplayer空间有限,不支持ogg vorbis?你 要在大型外部驱动器上保留无损版本吗?你想 将音频符号链接到其他位置?

有了这个插件,音乐库中的每个文件都有 在不同的位置有多个备用版本。

开始

您还需要至少1.4.7版的甜菜。

pip install --upgrade beets>=1.4.7 beets-alternatives

然后,使用插件" rel="nofollow">启用插件。您可以使用beet config--edit 命令将替代项插件添加到配置中。

plugins:-...-alternatives

现在,您可以开始使用下面的一个用例了。

外部文件

假设你最喜欢的便携式播放器只支持MP3和MP4, 磁盘空间有限,安装在/player上。而不是选择 它的内容是手动的,并使用convert插件对其进行代码转换,您可以 希望自动同步。首先我们给这个外部集合 "myplayer"并开始配置甜菜。

alternatives:myplayer:directory:/playerpaths:default:$album/$titleformats:aac mp3query:"onplayer:true"removable:true

前两个选项决定外部文件和 对应于全局目录 路径设置。格式选项指定 我们将文件转换到的格式(更多内容见下文)。最后, 查询选项告诉插件要将哪些文件放入 外部位置。该值是用于 甜菜命令行。在我们的例子中,我们使用一个灵活的属性使 选择透明。

让我们通过设置flexible属性将一些文件添加到我们的选择中 从查询选项。(因为我们使用布尔值 "onplayer"字段设置此字段的类型可能是个好主意 使用类型插件bool

$ beet modify onplayer=true artist:Bach

配置的查询还匹配相册中的所有曲目 其中onplayer属性为"true"。我们也可以使用

$ beet modify -a onplayer=true albumartist:Bach

然后我们告诉beets创建外部文件。

$ beet alt update myplayer
Collection at '/player' does not exists. Maybe you forgot to mount it.
Do you want to create the collection? (y/N)

这个问题确保您不会重新创建外部集合 如果设备未安装。既然这是我们第一次去,我们就回答 回答"是"。

该命令将复制所有带有艺术家"bach"和格式的文件 "aac"或"mp3"指向/player目录。所有其他格式 将使用[转换插件][]将代码转换为"aac"格式。 可以通过配置转码命令rel="nofollow">convert来配置转码过程 配置

如果你更新您的主收藏中的一些曲目,alt update 命令将更改传播到外部集合。自从 我们不需要转换文件,只需更新标记,这将 第二次要快得多。

$ beet modify composer="Johann Sebastian Bach" artist:Bach
$ beet alt update myplayer

跑完一段路你会意识到巴赫可能不是 做正确的事。所以你决定用贝多芬 球员.

$ beet modify onplayer! artist:Bach
$ beet modify onplayer=true artist:Beethoven
$ beet alt update myplayer

这将从播放器中删除所有巴赫曲目并添加贝多芬的。

符号链接视图

除了复制和转换文件,这个插件还可以创建 指向库中文件的符号链接。例如,你想 有一个包含按年份和专辑排序的所有音乐的目录。

directory:/musicpaths:default:$artist/$album/$titlealternatives:by-year:directory:by-yearpaths:default:$year/$album/$titleformats:link

这里首先要注意的是链接的格式。而不是 转换文件这告诉插件创建符号链接到 原始音频文件。我们还注意到目录是一个相对的 路径:将根据全局目录进行解析 选择权。我们还可以忽略默认的目录配置 收藏的名字。最后,我们省略了查询选项。这个 意味着我们要为所有文件创建符号链接。你当然可以 仍然添加查询以仅选择收藏的部分。

beet alt update by year命令现在将创建符号链接。为了 例

pip install --upgrade beets>=1.4.7 beets-alternatives
0

您还可以指定是否需要绝对符号链接(默认)或相对符号链接 使用link_type。选项link_type必须是absoluterelative

pip install --upgrade beets>=1.4.7 beets-alternatives
1

使用此配置,beet alt update by year命令将创建相对符号链接。例如:

pip install --upgrade beets>=1.4.7 beets-alternatives
2

现在,如果将/music/文件夹移到另一个位置,则链接 将继续工作

cli参考

pip install --upgrade beets>=1.4.7 beets-alternatives
3

更新在alternatives.name下配置的外部集合

  • 添加丢失的文件。将它们转换为配置的格式或复制 它们,

  • 删除与查询不匹配但仍在 外部收集

  • 将文件移动到由路径配置确定的路径。

  • 如果外部文件的修改时间较旧,则更新标记 而不是库中的源文件。

该命令接受以下选项。

  • --[no-]如果Removable配置选项 已设置,并且外部基目录不存在,则 命令将要求您确认外部 收集。这些选项将应答指定为cli选项。

配置

外部集合配置为 备选方案配置。该名称用于引用 从命令行收集。设置是 以下设置。

功能请求

如果你有一个想法或者这个插件缺少一个用例,请随意 打开问题

下面是我可能在功能中添加的内容列表。

  • 多个艺术家版本中每个艺术家的符号链接(请参见 甜菜问题

许可证

版权所有(c)2014 Thomas Scholets。

特此免费向任何获得 本软件及相关文档文件("软件")的副本 无限制地使用软件,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或 出售软件的副本,并允许接受软件的人 在满足以下条件的情况下,可以这样做:

上述版权公告及本许可公告须包括在 软件的所有副本或大部分。

本软件按"原样"提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合某一特定目的和非侵犯性。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与本软件有关,或使用或与本软件的其他交易有关。 软件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何读取、验证和移动数据。csv文件?   用于在线蛇游戏的java解析scaing   java JavaFX:在窗口上移动元素(阶段)调整大小   mysql如何使用java中的IOUtils包在jsp中显示多个图像?   Java dateFormat不可解析日期异常   spring mvc java。执行单元测试时lang.AssertionError   java在一个webapp中运行多个调度器有什么问题吗?   JAVAlang.ArrayIndexOutofBounds异常:1未来。get()多线程   java使用MDC或spring boot中的任何过滤器屏蔽日志消息中的密码,而不使用logback。xml文件   与应用服务器的java AJP和SSL通信   java Hibernate更新列表中的特定对象   Java小程序:使用keylistener移动多边形   java访问是一个独立于MainActivity的进程   来自服务器的java重复密钥或完整性约束冲突消息:“列“volume”不能为null”   java是否有任何方法可以确保在Flink on job cancel with savepoint上通知所有检查点侦听器检查点完成?