Class: ITunesObserver::Observer

Inherits:
OSX::NSObject
  • Object
show all
Defined in:
lib/itunes_observer.rb

Overview

Instance Method Summary collapse

Instance Method Details

#observe(&callback) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/itunes_observer.rb', line 28

def observe(&callback)
  @callback = callback
  center = OSX::NSDistributedNotificationCenter.defaultCenter
  center.addObserver_selector_name_object_(self,
    'onPlayerInfo:',
    'com.apple.iTunes.playerInfo',
    'com.apple.iTunes.player')
end

#onPlayerInfo(info) ⇒ Object



21
22
23
24
25
26
# File 'lib/itunes_observer.rb', line 21

def onPlayerInfo(info)
  if info.userInfo['Player State'] == 'Playing'
    result = Result.new(info.userInfo)
    @callback.call(result)
  end
end