Class: Soundcloud2000::Controllers::PlayerController

Inherits:
Controller
  • Object
show all
Defined in:
lib/soundcloud2000/controllers/player_controller.rb

Instance Attribute Summary

Attributes inherited from Controller

#events

Instance Method Summary collapse

Methods inherited from Controller

#render

Constructor Details

#initialize(view, client) ⇒ PlayerController

Returns a new instance of PlayerController.



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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/soundcloud2000/controllers/player_controller.rb', line 9

def initialize(view, client)
  super(view)

  @client = client
  @player = Models::Player.new

  @player.events.on(:progress) do
    @view.render
  end

  @player.events.on(:complete) do
    events.trigger(:complete)
  end

  @view.player(@player)

  events.on(:key) do |key|
    case key
    when :left
      @player.rewind
    when :right
      @player.forward
    when :space
      if @player.track
        @player.toggle
        @view.render
      end
    when :one
      @player.seek_position(1)
    when :two
      @player.seek_position(2)
    when :three
      @player.seek_position(3)
    when :four
      @player.seek_position(4)
    when :five
      @player.seek_position(5)
    when :six
      @player.seek_position(6)
    when :seven
      @player.seek_position(7)
    when :eight
      @player.seek_position(8)
    when :nine
      @player.seek_position(9)
    end
  end
end

Instance Method Details

#play(track) ⇒ Object



58
59
60
61
62
# File 'lib/soundcloud2000/controllers/player_controller.rb', line 58

def play(track)
  location = @client.location(track.stream_url)

  @player.play(track, location)
end