X-Git-Url: https://git.r.bdr.sh/rbdr/lyricli.rb/blobdiff_plain/b8498f5c67d736e9724e124e85aa36a58648afef..2a60e941a77fa78e17270725daa6cfd3bdad4c57:/lib/lyricli/sources/itunes.rb diff --git a/lib/lyricli/sources/itunes.rb b/lib/lyricli/sources/itunes.rb index e69de29..e9a3f49 100644 --- a/lib/lyricli/sources/itunes.rb +++ b/lib/lyricli/sources/itunes.rb @@ -0,0 +1,41 @@ +module Lyricli + module Sources + # The source for iTunes + class Itunes + + class << self + attr_accessor :name + end + + @name = "itunes" + + # The enable method should run all of the tasks needed to validate + # the source. In the case of Rdio it has to authenticate with OAuth. + def self.enable + # Nothing to do + end + + # Instantiates everything it needs to run. + def initialize + @config = Configuration.instance + @script = "current_song.scpt" + end + + # The current_track method should return the name of the current + # artist and song. + # @return [Hash] A hash containing the current `:song` and `:artist`. + def current_track + path_root = File.expand_path(File.dirname(__FILE__)) + path = File.join(path_root, @script) + current = `osascript #{path}` + current = current.split("<-SEP->") + {:artist => current[0], :song => current[1]} + end + + # The reset method resets any configurations it may have + def self.reset + # Nothing to do + end + end + end +end