我可以使用Perl在iTunes(在Mac上)评价一首歌吗?

时间:2009-12-29 04:05:20

标签: perl itunes

我尝试过搜索CPAN。我找到了Mac::iTunes,但没有办法为特定曲目分配评分。

3 个答案:

答案 0 :(得分:5)

如果你对Mac :: AppleScript不感兴趣,它只需要大量AppleScript文本并运行它,你可能更喜欢Mac::AppleScript::Glue,它提供了一个更面向对象的界面。这相当于Iamamac的示例代码:

#!/usr/bin/env perl
use Modern::Perl;
use Mac::AppleScript::Glue;
use Data::Dumper;

my $itunes = Mac::AppleScript::Glue::Application->new('iTunes');
# might crash if iTunes isn't playing anything yet
my $track = $itunes->current_track;
# for expository purposes, let's see what we're dealing with
say Dumper \$itunes, \$track;

say $track->rating; # initially undef
$track->set(rating => 100);
say $track->rating; # should print 100

该模块所做的就是构建一大堆AppleScript,运行它,然后将它们分成另一个AppleScript表达式,它可以在下一个命令中使用。运行上述脚本时,可以在跟踪对象的_ref值中看到。因为它正在粘贴和解析AppleScript,所以这个模块不会比任何其他基于AppleScript的方法快,但它确实允许你在你的脚本中散布其他Perl命令,它让你的代码看起来更像Perl,这是值得的。

答案 1 :(得分:4)

您可以编写AppleScript来完全控制iTunes,并且有一个Perl绑定Mac::AppleScript

编辑代码示例:

use Mac::AppleScript qw(RunAppleScript);

RunAppleScript(qq(tell application "iTunes" \n set rating of current track to $r \n end tell));

答案 2 :(得分:-2)

看看itunes-perl,它似乎能够对曲目进行评分。