Class: Itunes::Player

Inherits:
Object
  • Object
show all
Extended by:
Util::Executor
Defined in:
lib/itunes/player.rb

Defined Under Namespace

Classes: EmptyFileError, FileNotFoundError

Class Method Summary collapse

Methods included from Util::Executor

execute_script, execute_template_based_script, generate_script_from_template, script_base_dir, script_tmp_dir

Class Method Details

.add(file_path) ⇒ Object

Raises:



16
17
18
19
20
21
22
# File 'lib/itunes/player.rb', line 16

def add(file_path)
  raise FileNotFoundError unless File.exist?(file_path)
  raise EmptyFileError    unless File.open(file_path).size > 0

  persistent_id = execute_script("#{script_dir}/add.scpt", file_path)
  Track.find_by(persistent_id: persistent_id).first
end

.current_trackObject



69
70
71
72
# File 'lib/itunes/player.rb', line 69

def current_track
  persistent_id = execute_script("#{script_dir}/current_track.scpt")
  Track.find_by(persistent_id: persistent_id).first
end

.next_trackObject



59
60
61
62
# File 'lib/itunes/player.rb', line 59

def next_track
  persistent_id = execute_script("#{script_dir}/next_track.scpt")
  Track.find_by(persistent_id: persistent_id).first
end

.pauseObject



34
35
36
37
# File 'lib/itunes/player.rb', line 34

def pause
  execute_script("#{script_dir}/pause.scpt")
  self
end

.paused?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/itunes/player.rb', line 43

def paused?
  execute_script("#{script_dir}/player_state.scpt") == 'paused'
end

.playObject



24
25
26
27
# File 'lib/itunes/player.rb', line 24

def play
  execute_script("#{script_dir}/play.scpt")
  self
end

.playing?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/itunes/player.rb', line 39

def playing?
  execute_script("#{script_dir}/player_state.scpt") == 'playing'
end

.positionObject



51
52
53
# File 'lib/itunes/player.rb', line 51

def position
  execute_script("#{script_dir}/position.scpt").to_f
end

.position=(position) ⇒ Object



55
56
57
# File 'lib/itunes/player.rb', line 55

def position=(position)
  execute_script("#{script_dir}/set_position.scpt", position).to_f
end

.prev_trackObject



64
65
66
67
# File 'lib/itunes/player.rb', line 64

def prev_track
  persistent_id = execute_script("#{script_dir}/prev_track.scpt")
  Track.find_by(persistent_id: persistent_id).first
end

.stopObject



29
30
31
32
# File 'lib/itunes/player.rb', line 29

def stop
  execute_script("#{script_dir}/stop.scpt")
  self
end

.stopped?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/itunes/player.rb', line 47

def stopped?
  execute_script("#{script_dir}/player_state.scpt") == 'stopped'
end