class Playa::Controller

Attributes

args[R]

Public Class Methods

new(args = []) click to toggle source
# File lib/playa/controllers/controller.rb, line 23
def initialize(args = [])
  @args   = args
  @player = Player.new
  @player.events.on(:position_change) { trigger(:progress_update) }
  @player.events.on(:complete)        { trigger(:complete) }

  event :show_player do
    trigger(:_clear_)

    PlaylistView.new.show
    StatusView.new.show
    ProgressView.new(@player).show

    trigger(:_refresh_group_player_)
  end

  event(:progress_update, { delay: 0.5 }) do
    ProgressView.new(@player).show

    trigger(:_refresh_progress_)
  end

  menu('playlist') { items(tracks) }
end

Private Instance Methods

tracks() click to toggle source
# File lib/playa/controllers/controller.rb, line 52
def tracks
  @tracks ||= TrackCollection.new(args).tracks
end