Class: Playa::Controller

Inherits:
Object
  • Object
show all
Includes:
Vedeu
Defined in:
lib/playa/controller.rb

Instance Method Summary collapse

Constructor Details

#initialize(args = []) ⇒ Controller

Returns a new instance of Controller.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/playa/controller.rb', line 5

def initialize(args = [])
  event :update do
    @view = View.render(menu.items)
  end

  event :select do |track|
    player.stop

    @_player = Player.play(track)
  end

  event :complete do
    trigger(:menu_next)
    trigger(:select, menu.current_item)
  end

  event :key do |key|
    case key
    when :left  then player.rewind
    when :right then player.forward
    when :space then player.toggle
    when :up    then trigger(:menu_prev)
    when :down  then trigger(:menu_next)
    when 'q'    then trigger(:_exit_)
    when :enter
      trigger(:menu_select)
      trigger(:select, menu.current_item)
    end
    trigger(:update)
  end

  @args = args
  @view = View.render(menu.items)
end