I am writing an app in Swift on OS X. Is there a way to get the current playing audio in iTunes? I would like to get details such as title, artist, etc.
What I've found already:
I am writing an app in Swift on OS X. Is there a way to get the current playing audio in iTunes? I would like to get details such as title, artist, etc.
What I've found already:
Here's a simple example how to get the properties from the current track:
Tested on (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}
//if you need another object or method from the iTunes.h, you must add it here
}
@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) {// if nil then no current track
print(trackDict["name"]!) // print the title
print(trackDict["artist"]!)
print(trackDict["album"]!)
print(trackDict["playedCount"]!)
// print(trackDict) // print the dictionary
}
}
}