我如何强制 Growl 通知当前正在播放的 iTunes 曲目?

我如何强制 Growl 通知当前正在播放的 iTunes 曲目?

我想要一个热键来告诉(礼貌地询问)Growl 显示有关 iTunes 中当前正在播放的内容的通知。

我搜索了一下,但没能找到答案。

有什么想法吗?

答案1

如果您更喜欢 GrowlTunes 提供的格式,您也可以创建使用它的脚本:

tell application "GrowlTunes" to show current track

答案2

我破解的 Applescript 如下。这与 iScrobbler 的 Growl 输出相匹配。感谢 The Tentacle 的工作!这里有关于如何设置 Quicksilver 以启动脚本的信息这里

tell application "GrowlHelperApp"
-- Make a list of all the notification types
-- that this script will ever send:
set the allNotificationsList to {"iTunes Playing Track"}
-- Make a list of the notifications
-- that will be enabled by default.
-- Those not enabled by default can be enabled later
-- in the 'Applications' tab of the growl prefpane.
set the enabledNotificationsList to {"iTunes Playing Track"}
-- Register our script with growl.
-- You can optionally (as here) set a default icon
-- for this scripts notifications.
register as application "Growl iTunes Notification" all notifications allNotificationsList default notifications enabledNotificationsList icon of application "iTunes"

set title_text to "Null"
set body_text to ""
set body_temp to ""
set has_artwork to false

tell application "iTunes"
    if player state is playing then
        set trck to current track

        if artworks of trck is not {} then
            get artwork 1 of trck
            set pic to data of result
            set has_artwork to true
        end if

        set title_text to "Now Playing"

        get name of trck
        set body_text to "Track: " & result

        get rating of trck
        set rate to result / 20

        repeat rate times
            set body_temp to body_temp & "★"
        end repeat

        if rate is less than 5 then
            repeat (5 - rate) times
                set body_temp to body_temp & "☆"
            end repeat
        end if

        set body_text to body_text & " (" & body_temp & ")" & return

        get album of trck
        set body_text to body_text & "Album: " & result & return

        get artist of trck
        set body_text to body_text & "Artist: " & result

    end if
end tell

if has_artwork then
    notify with name "iTunes Playing Track" title title_text description body_text application name "Growl iTunes Notification" pictImage the pic
else
    notify with name "iTunes Playing Track" title title_text description body_text application name "Growl iTunes Notification" image from location "file:///Users/drewbeck/Library/Scripts/Custom/no_album.tiff"
end if 

结束告诉

答案3

您需要一个 iTunes 插件。这里是。

答案4

您可以为此使用 applescript(不记得我从哪里得到它)——我将其编译为由 Quicksilver 触发的应用程序,以便在需要时立即收到正在播放的内容的通知,同时始终保持 iTunes 最小化:

咆哮

 tell application "GrowlHelperApp"
    -- Make a list of all the notification types
    -- that this script will ever send:
    set the allNotificationsList to {"iTunes Playing Track"}
    -- Make a list of the notifications
    -- that will be enabled by default.
    -- Those not enabled by default can be enabled later
    -- in the 'Applications' tab of the growl prefpane.
    set the enabledNotificationsList to {"iTunes Playing Track"}
    -- Register our script with growl.
    -- You can optionally (as here) set a default icon
    -- for this scripts notifications.
    register as application "Growl iTunes Notification" all notifications allNotificationsList default notifications enabledNotificationsList icon of application "iTunes"

    set title_text to "Nothing playing"
    set body_text to ""
    set has_artwork to false

    tell application "iTunes"
        if player state is playing then
            set trck to current track

            if artworks of trck is not {} then
                get artwork 1 of trck
                set pic to data of result
                set has_artwork to true
            end if

            get name of trck
            set title_text to result

            get time of trck
            set title_time to result
            set body_text to title_time & " =["

            get rating of trck
            set rate to result / 20

            repeat rate times
                set body_text to body_text & " ❤ "

            end repeat

            get artist of trck
            set body_text to body_text & "]   ❧ " & result

            get album of trck
            set body_text to body_text & " ⇒ " & result

        end if
    end tell

    if has_artwork then
        notify with name "iTunes Playing Track" title title_text description body_text application name "Growl iTunes Notification" pictImage the pic
    else
        notify with name "iTunes Playing Track" title title_text description body_text application name "Growl iTunes Notification"
        "iTunesLibraryPlaylistIcon.icns"
    end if

end tell

相关内容