class Sc20XX::Controllers::PlayerController
The top section player controller Displays current track position Equalizer and track information
Public Class Methods
new(view, client)
click to toggle source
Calls superclass method
Sc20XX::Controllers::Controller::new
# File lib/sc20XX/controllers/player_controller.rb, line 11 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| if @player.playing? case key when :left @player.rewind when :right @player.forward 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 if key == :space if @player.track @player.toggle @view.render end end end end
Public Instance Methods
play(track)
click to toggle source
# File lib/sc20XX/controllers/player_controller.rb, line 63 def play(track) if track.nil? UI::Input.error('No track currently selected. Use f to switch to '\ "#{@client.current_user.username}'s favorites, or"\ ' s to switch to their playlists/sets.') else location = @client.location(track.stream_url) @player.play(track, location) end end