Beets的iBroadcast插件
项目描述
Beets iBroadcast 插件
此插件允许您将beets库中的音乐上传到iBroadcast流媒体服务。
设置
-
使用以下命令将插件安装到您的本地环境:
pip install beets-ibroadcast
-
通过在您的beets配置文件的
plugins:
部分添加ibroadcast
来启用插件。 -
配置您的iBroadcast凭据
ibroadcast: username: <your email address> password: <your password>
如果您的密码包含任何特殊字符,请务必将其放在引号内。
用法
beet ibroadcast <query>
常见问题解答
我如何知道这个插件不会破坏我的iBroadcast收藏夹?
您不知道。但它会尽量小心并防止许多边缘情况。如果您想在不实际执行的情况下查看插件将做什么,可以传递-p
(表示“假装”)标志
beet ibroadcast -p
我建议从一个小的查询开始,以了解它的工作方式。例如。
beet ibroadcast -p artist:Offspring album:Americana
如果您喜欢您看到的内容,请再次执行它,但不带-p
,并看看结果如何。一旦您对工具有了信心,您就可以用更大的查询去尝试。
beets-ibroadcast如何避免重复上传?
当上传曲目时,插件会将ib_uploadtime
和ib_trackid
灵活属性附加到曲线上。下次该曲目被考虑上传时,将检查这些属性:如果曲目的mtime
早于其ib_uploadtime
,则假定曲目是最新的,上传将被跳过。
对于mtime
较新的曲目,将再次上传该曲目,并将之前的曲目ID删除。因此,过时的旧版本曲目将出现在您的iBroadcast垃圾箱中,直到其被清空。
无论如何:在上传之前,将计算曲目的MD5校验和,如果服务器已经有一个具有该校验和的曲目,则上传将被跳过。因此,如果您使用beets-ibroadcast以外的上传器上传曲目,它们仍然会被跳过(尽管截至本文写作时,beets-ibroadcast会读取这些文件来计算它们的校验和,每次它们匹配查询时,这会影响性能)。
您可以使用-f
标志跳过这些检查并强制重新上传曲目。
标签是如何同步的?
此插件以与usertag插件兼容的方式,在iBroadcast端与usertags
灵活属性同步标签。
如果您在本地修改了曲目的标签(例如,通过beet addtag
),这些更改将同步到iBroadcast。如果您通过iBroadcast网站远程修改曲目的标签,这些更改将同步到beets数据库。
为了知道自上次同步以来曲目的标签是否已在本地上传、远程上传或两者都进行了更改,每次成功同步时,都将标签的当前状态存储在ib_tagids
灵活属性中。这种策略清楚地表明,例如,一个远程存在但本地不存在的标签是本地删除还是远程添加;因此,不可能出现标签冲突。
有关在您的beets数据库中处理标签的详细信息,请参阅usertag插件文档。
播放列表是如何同步的?
插件将iBroadcast端的播放列表与存储在您配置的播放列表目录中的M3U播放列表文件同步,配置由播放列表插件完成。
如果您在本地修改了播放列表(例如,通过编辑M3U文件),这些更改将同步到iBroadcast。如果您通过iBroadcast网站远程修改播放列表,将注意到这些更改,但不会采取行动;相反,将打印出插件还不够智能,无法更新相应的M3U文件的消息。欢迎贡献PR以实现此功能!如果播放列表在本地和远程都进行了修改,插件将报告这种情况,但不会采取行动。
为了知道自上次同步以来播放列表的曲目是否已在本地上传、远程上传或两者都进行了更改,播放列表的当前状态将存储在您的beets库基本目录中的隐藏文件.ibroadcast-playlists.json
中。
有关在您的beets库中处理播放列表的详细信息,请参阅播放列表插件文档。
我如何一次性上传所有播放列表?
播放列表同步的一个问题是,只有当您传递给插件的查询匹配播放列表中的所有曲目时,才能从本地同步到远程。因此,同步您所有播放列表的一个简单方法是上传您的整个beets库,通过传递一个空查询
beet ibroadcast
如果您不想将整个beets库上传到iBroadcast,但仍然想上传所有属于播放列表的曲目,这里有一个实现方法
cat /path/to/playlists/*.m3u | sort -u > /tmp/tracks-to-upload.m3u
beet ibroadcast playlist:/tmp/tracks-to-upload.m3u
rm /tmp/tracks-to-upload.m3u
这将把位于/path/to/playlists/*.m3u
的所有播放列表合并到一个单独的临时播放列表文件中,然后您将其作为beets查询输入;然后ibroadcast插件将确保上传所有匹配查询的曲目,并将包含这些曲目的所有播放列表同步。这个技巧假设您已根据以下方式在beets配置中配置了播放列表目录
playlist:
playlist_dir: /path/to/playlists
否则,ibroadcast 插件无法找到并同步您的 M3U 文件。
我该如何获取更多关于出错原因的详细信息?
您可以使用 -v
标志让 beets 的输出更详细。例如:
beet -v ibroadcast usertags:favorites
这将导致 ibroadcast 插件输出更详细的调试信息。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
构建分发
beets-ibroadcast-0.5.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | adc3b668305256298b6960d2db6756ad8fc0134f4a4a0ffedfee03a61d5518d4 |
|
MD5 | 4f3863ad8fddb4c17f3cdac2e89b0edb |
|
BLAKE2b-256 | 951b93aeb608e5a250376f9a9646c471f55af25c1fba63cca5f4a95d5bd13066 |
beets_ibroadcast-0.5.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1d2a447d6c685a71069e15415b4ca1ab4edc8e434ed335b470182e1f25fb0a69 |
|
MD5 | 7ee8e5659cadfba555e59898691d3f5b |
|
BLAKE2b-256 | 48294df328a49644c6a70a07ace2d9e46b1956ebaaaacea00ab543e042784268 |