Here is a simple example of how to get properties from the current track:
Tested ( El Capitan v10.11.5, iTunes 12.4 and Xcode 7.3 ).
import Cocoa
import ScriptingBridge
@objc protocol iTunesApplication {
optional func currentTrack()-> AnyObject
optional var properties: NSDictionary {get}
}
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(aNotification: NSNotification) {
let iTunesApp: AnyObject = SBApplication(bundleIdentifier: "com.apple.iTunes")!
let trackDict = iTunesApp.currentTrack!().properties as Dictionary
if (trackDict["name"] != nil) {
print(trackDict["name"]!)
print(trackDict["artist"]!)
print(trackDict["album"]!)
print(trackDict["playedCount"]!)
}
}
}
source
share