- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在上一个问题中学习了如何创建播放列表,但现在我不知道如何向其中添加轨道。现在我有:
tracks.sort(key=lambda tup: tup[0])
i = 0
for trackList in generatePlaylists(tracks,10):
i += 1
playlistname = str(i)
p = {'name': playlistname}
playlist = iTunes.classForScriptingClass_("playlist").alloc().initWithProperties_(p)
iTunes.sources()[0].playlists().insertObject_atIndex_(playlist, 0)
# Find the playlist I just made
for playlist in iTunes.sources()[0].playlists():
if playlist.name() == playlistname:
newPlaylist = playlist
# Add the tracks to it
for track in trackList:
print track[1].name()
iTunes.add_to_(track[1],newPlaylist)
我的轨道在元组列表 tracks
中,其中元组的第一个元素是分数,第二个是实际的轨道对象。 generatePlaylists
是一个迭代器,它将所有库轨道分成 10 个列表。
上面的代码运行没有错误,但在 iTunes 中播放列表是空的。
最佳答案
首先,这是一个简短的回答:
track.duplicateTo_(newPlaylist)
问题是 iTunes.add_to_
发送了 add
命令,该命令获取一个文件(别名)并将其导入播放列表;您要发送 duplicate
命令,该命令获取任何对象并制作该对象的另一个副本。你没有文件,你有轨道。 (您可以通过 track.location()
获取文件,但您不想重新导入该文件,只需将轨道复制过来即可。)
此外,在这种情况下,您需要在轨道上调用该方法,而不是在应用程序上调用它并将其传递给轨道。
如果不透彻理解 iTunes 对象模型(及其下的 AE 模型),就很难解释前半部分。但你真的不需要理解它。在大多数情况下,通过查看 iTunes 脚本字典(在 AppleScript 编辑器中)和反复试验(在 AppleScript 编辑器中或使用 py-appscript),您可以弄清楚您想要什么。 (只要确保你正在处理一个废料库,或者有一个备份……)在这种情况下,唯一可能的命令是add
、copy
、duplicate
,或者move
,所以只要全部尝试一下,看看它们能做什么。或者,也可以转到 dougscripts 并下载一堆示例,然后找到一个可以满足您要求的示例。
这一部分的后半部分,弄清楚如何转换为 ScriptingBridge……好吧,如果不对 SB 进行长篇大论,我无法解释它(如果你想阅读的话,它比我做得更好)。但基本原理是这样的:就 iTunes 而言,duplicate
是一个命令。如果您给它一个直接对象(告诉应用程序“iTunes”将轨道复制到播放列表
),它会使用它;如果不是,则您要求主题复制自身(告诉 theTrack 复制到 thePlaylist
)。它的工作原理与英语完全一样。但是 SB 坚持面向对象的模型,其中 duplicate
是某个对象上的方法。因此,这两种形式中只有一种会起作用。通常,您可以通过查看 dir(iTunes)
和 dir(track)
来确定哪个具有看起来像您想要的命令的方法。
从上面的内容可以看出,如果您要尝试做任何复杂的事情,您将面临大量的反复试验。祝你好运,继续提问。
PS,我不知道为什么你的代码会默默地失败。 add_to_
方法应该转换为命令的明显方式应该引发 -1708 错误(如 appscript iTunes.add(track, to=newPlaylist)
或 AppleScript add theTrack 到 newPlaylist
两者都......)。
关于python - 如何使用 Python 和 Scripting Bridge 将轨道添加到 iTunes 播放列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12971306/
作为桌面开发人员,这对我来说是新的。 如果我能弄清楚这是如何完成的,它可能与我正在做的一些研究有关,特别是如何将厚桌面应用程序迁移到 Web 实现。 我能找到更多面向形式和轻量级的图形,但重量级的 3
我发现我可以搜索这样的歌曲术语: https://itunes.apple.com/search?media=music&entity=musicTrack&attribute=songTerm&te
我最近发布了一个 iPhone 应用程序,但我没有看到任何方法可以像在 Google Play 中一样检查应用程序统计信息。 你能告诉我怎么做吗? 最佳答案 您可以从 iTunes Connect 开
我刚刚发布了一款 iPhone 应用程序并正在更新其支持网站。我使用 iTunes Link Maker 创建了如下所示的链接。有一次,它打开了 iTunes,其余时间都没有。我尝试关闭 iTunes
我们想编写一个 Windows/OS X 应用程序,将播客评级信息从 iPod 和 iTunes 发送回服务器。两个问题: 是否有关于评分数据如何存储在 iTunes 中的文档, 如果用户将 iTun
如何获取可用的 iTunes 播客的 RSS 提要 URL?我想要一个列出 iTunes 上所有播客的提要。这可能吗? 谢谢。 最佳答案 现在有几种选择: iTunes RSS Feed Genera
我已经在 Apple iTunes 上更新了新版本的 iOS 应用程序。今天早上获得批准后,我发布了版本。已经超过 5 小时了,我仍然无法在 iTunes 上看到更新版本。当我打开 URL 时它仍然显
我正在使用 iTunes Store web service search API 获取歌曲信息. 我遇到的唯一问题是艺术品的分辨率极低(只有 60x60px 或 100x100px 可用)。 art
打算使用iTunes Search API来获取与应用程序相关的信息-http://www.apple.com/itunes/affiliates/resources/documentation/it
我很喜欢使用 iTunes Store,但我很好奇它是基于什么开发的(PHP 和 MySQL、Something Custom?)。 最佳答案 WebObjects 。如今它随 XCode 一起提供,
这与这样的帖子有关:iTunes API: get 100x100 px icon of an App 但是,由于接受答案中描述的方法似乎在某些情况下却被打破了,但仍然是一致的,所以我要问是否有已知的
有没有办法以编程方式与 iTunes 交互以添加新的播放列表或智能 View ? 例如,假设我从网站下载了 10 个新的 mp3 文件,有没有办法以编程方式将这个 mp3 列表添加到名为“New Al
使用 iTunes Link Maker 时一个人会得到一个 http-Link,这非常好,因为它也适用于非 iOS 设备。 但是当我在网页上使用它时,重定向到应用程序的确切时间是什么时候? Safa
有没有办法从 3rd 方应用程序以编程方式将 mp3 添加到我的 iTunes 库? 最佳答案 iTunes 有一个文件夹,您可以在其中放置文件,以便自动将其添加到库中。 C:\Users\Your
我已经搜索了如何在文件系统更改时在 iOS5 中接收回调。我从 Apple 的网站上找到了以下示例,但它仅在删除/创建文件时通知给定的委托(delegate)。 DirectoryWatcher cl
在 Cocoa 应用程序中,我正在寻找一种从 iTunes 检索专辑插图的解决方案,而不需要 iTunes 本身在后台启动和运行。 通常也是唯一的解决方案,Scripting Bridge,以及固有的
嗨,我的应用程序有指向 iTunes 音乐专辑的链接 像这样 http://itunes.apple.com/us/album/better-than-a-hallelujah/id366013643
我有自己的 iTunes Connect 帐户和 Apple 开发者许可证。 现在我加入了现有的开发人员团队,并希望能够将他们的构建上传到 iTunes Connect。 我通过 developer.
到目前为止我已经尝试过了,但仍然很不走运,我的应用程序没有安装到某些设备上。 这是步骤。 添加了 3 台设备的 UDID(2 X iPhone 5、iPad 4)。 修改后的开发配置文件(使用 * A
我正在尝试从 iTunes 搜索 API 获取播客剧集列表。我可以调用 API 并根据搜索词取回所有播客专辑: https://itunes.apple.com/search?media=podcas
我是一名优秀的程序员,十分优秀!