gpt4 book ai didi

python - 使用 Python 和 libgpod (gtkpod) 从 Linux 将音乐加载到 iPod

转载 作者:IT王子 更新时间:2023-10-29 00:07:34 27 4
gpt4 key购买 nike

下面的代码,我认为是一个加载音乐的最小程序

db = Database('/media/andrew@acooke.org ipod')
itdb_device_set_sysinfo(db._itdb.device, "ModelNumStr", "C297")
db.import_file('/home/andrew/some-track.mp3')
db.copy_delayed_files()
db.close()

将以下内容打印到 stderr:

** (utrunner.py:11333): WARNING **: Itdb_Track ID '0' not found.
** (utrunner.py:11333): CRITICAL **: itdb_get_mountpoint: assertion `itdb' failed
** (utrunner.py:11333): CRITICAL **: prepare_itdb_for_write: assertion `link' failed
** (utrunner.py:11333): CRITICAL **: mk_mhla: assertion `fexp->albums' failed
** (utrunner.py:11333): CRITICAL **: mk_mhli: assertion `fexp->artists' failed
** (utrunner.py:11333): CRITICAL **: itdb_splr_validate: assertion `at != ITDB_SPLAT_UNKNOWN' failed

并且不加载任何音乐。

当我运行 gtkpod(它使用 libgpod - 它们都来自同一个项目)时,它确实工作(并且只打印初始警告和 ITDB_SPLAT_UNKNOWN 消息) .路径都是正确的,我可以打开目录、写入文件等。数据库对象似乎是正确的(例如显示 2 个播放列表)并且存在 SysInfoExtended 文件。

我做错了什么?有没有人让这个(libgpod Python 包装器)工作?

一个可能的线索是 gtkpod 提示我输入 iPod 类型 (Classic 160GB)。我没有在上面设置该信息。我该如何设置? 更新 - 我确实尝试了上面显示的调用并在下面的答案中提到,但它似乎没有效果(我最初没有包括它因为我认为它一定是错误的,但也许它是需要的,问题在别处)。另外,gtkpod 称它为“xB150”?!

我已经询问过 libgpod/gtkpod 邮件列表,但没有收到任何回复。这是最新的稳定版本和 git 主干(使用 CFLAGS=-w 编译)。

更新 我删除了所有音乐,然后使用 C297 和 xB150 运行上面的代码。在这两种情况下,文件 Extras.itdb(看起来像一个 sqlite 数据库)都没有改变大小并且断开连接的 iPod 没有歌曲。相关文件位于以下链接:

General notes on this issue, which will be updated in future, here.

最佳答案

One possible clue is that gtkpod prompts me for the iPod type (Classic 160GB). I do not set that information above. How can I set that?

itdb_device_set_sysinfo (db._itdb.device, "ModelNumStr", "FOOBAR");

根据 model listFOOBAR 替换为您的模型.

编辑:

我的建议是用调试符号编译gtkpod 并用gdb 跟踪它的运行。 libgtkpod/file.c:add_track_by_filename() 中的断点似乎是一个不错的起点。

将它对 libgpod 的使用与你的进行比较,看看是否有任何额外的调用。显然,Python 绑定(bind)抽象了更多东西,但弄清楚它们最终调用的内容应该不是问题。

(例如,import_file 调用 itdb_cp_track_to_ipoditdb_playlist_add_track)

抱歉,这就是我在无法访问设备的情况下所能提供的所有帮助。

关于python - 使用 Python 和 libgpod (gtkpod) 从 Linux 将音乐加载到 iPod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11777914/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com