aboutsummaryrefslogtreecommitdiff
path: root/Sources/itunes_source.swift
diff options
context:
space:
mode:
authorBen Beltran <ben@nsovocal.com>2019-04-14 16:08:54 +0200
committerBen Beltran <ben@nsovocal.com>2019-04-14 16:08:54 +0200
commitfdafe0d4012af00e0d9cb613a0146924b8fd8eaf (patch)
tree6e1b145d57e5f3da54a3ddb57e40fbf6b9a2d752 /Sources/itunes_source.swift
parent38d5d6de414ad69d6a7dc744e4aed39c488ba30f (diff)
Update swift files to use Bariloche
Diffstat (limited to 'Sources/itunes_source.swift')
-rw-r--r--Sources/itunes_source.swift61
1 files changed, 0 insertions, 61 deletions
diff --git a/Sources/itunes_source.swift b/Sources/itunes_source.swift
deleted file mode 100644
index 6f4aef9..0000000
--- a/Sources/itunes_source.swift
+++ /dev/null
@@ -1,61 +0,0 @@
-import ScriptingBridge
-
-// Protocol to obtain the track from iTunes
-@objc protocol iTunesTrack {
- @objc optional var name: String {get}
- @objc optional var artist: String {get}
-}
-
-// Protocol to interact with iTunes
-@objc protocol iTunesApplication {
- @objc optional var currentTrack: iTunesTrack? {get}
- @objc optional var currentStreamTitle: String? {get}
-}
-
-extension SBApplication : iTunesApplication {}
-
-// Source that reads track artist and name from current itunes track
-class ItunesSource: Source {
-
- // Calls the spotify API and returns the current track
- var currentTrack: Track? {
-
- if let iTunes: iTunesApplication = SBApplication(bundleIdentifier: "com.apple.iTunes") {
-
- // Attempt to fetch the title from a stream
- if let currentStreamTitle = iTunes.currentStreamTitle {
- if let track = currentStreamTitle {
-
- let trackComponents = track.characters.split(separator: "-").map(String.init)
-
- if trackComponents.count == 2 {
- let artist = trackComponents[0].trimmingCharacters(in: .whitespaces)
- let name = trackComponents[1].trimmingCharacters(in: .whitespaces)
-
- return Track(withName: name, andArtist: artist)
- }
-
- }
- }
-
- // Attempt to fetch the title from a song
- if let currentTrack = iTunes.currentTrack {
- if let track = currentTrack {
- if let name = track.name {
- if let artist = track.artist {
-
- // track properties are empty strings if itunes is closed
- if (!(name != "" && artist != "")) {
- return nil
- }
- return Track(withName: name, andArtist: artist)
- }
- }
- }
- }
- }
-
- return nil
- }
-
-}