class Playa::Player

Public Class Methods

new() click to toggle source
# File lib/playa/models/player.rb, line 5
def initialize
  event(:forward) { forward if playing? }
  event(:rewind)  { rewind if playing? }
  event(:toggle)  { toggle }
  event(:play) do |track|
    stop if playing?

    open(track)

    play
  end
end

Public Instance Methods

counter() click to toggle source
# File lib/playa/models/player.rb, line 46
def counter
  player.position
end
events() click to toggle source
# File lib/playa/models/player.rb, line 62
def events
  player.events
end
forward() click to toggle source
# File lib/playa/models/player.rb, line 30
def forward
  player.forward(5)
end
level() click to toggle source
# File lib/playa/models/player.rb, line 58
def level
  player.level
end
play() click to toggle source
# File lib/playa/models/player.rb, line 18
def play
  player.start_stream
end
playing?() click to toggle source
# File lib/playa/models/player.rb, line 42
def playing?
  player.active || false
end
progress() click to toggle source
# File lib/playa/models/player.rb, line 50
def progress
  if playing?
    counter / @track.duration
  else
    0
  end
end
rewind() click to toggle source
# File lib/playa/models/player.rb, line 26
def rewind
  player.rewind(5)
end
stop() click to toggle source
# File lib/playa/models/player.rb, line 22
def stop
  player.stop_stream
end
toggle() click to toggle source
# File lib/playa/models/player.rb, line 34
def toggle
  if playing?
    stop
  else
    play
  end
end
track() click to toggle source
# File lib/playa/models/player.rb, line 66
def track
  @track
end

Private Instance Methods

open(track) click to toggle source
# File lib/playa/models/player.rb, line 72
def open(track)
  @track = track

  player.load(track.filename)
end
player() click to toggle source
# File lib/playa/models/player.rb, line 78
def player
  @_player ||= Audite.new
end