class Soundcloud9000::Views::PlayerView

draws and manages the top section of sc9000, the player

Attributes

player[RW]

Public Class Methods

new(*attrs) click to toggle source
Calls superclass method Soundcloud9000::UI::View::new
# File lib/soundcloud9000/views/player_view.rb, line 11
def initialize(*attrs)
  super

  @spectrum = true
  padding 2
end

Public Instance Methods

toggle_spectrum() click to toggle source
# File lib/soundcloud9000/views/player_view.rb, line 18
def toggle_spectrum
  @spectrum = !@spectrum
end

Protected Instance Methods

download_progress() click to toggle source
# File lib/soundcloud9000/views/player_view.rb, line 41
def download_progress
  progress = @player.download_progress - @player.play_progress

  if progress > 0
    '.' * (progress * body_width).ceil
  else
    ''
  end
end
draw() click to toggle source
# File lib/soundcloud9000/views/player_view.rb, line 24
def draw
  line progress + download_progress
  with_color(:green) do
    line((duration + ' - ' + status).ljust(16) + @player.title)
  end
  line track_info
  line '>' * (@player.level.to_f * body_width).ceil
end
duration() click to toggle source
# File lib/soundcloud9000/views/player_view.rb, line 59
def duration
  TimeHelper.duration(@player.seconds_played.to_i * 1000)
end
progress() click to toggle source
# File lib/soundcloud9000/views/player_view.rb, line 37
def progress
  '#' * (@player.play_progress * body_width).ceil
end
status() click to toggle source
# File lib/soundcloud9000/views/player_view.rb, line 33
def status
  (@player.playing? ? 'playing' : 'paused')
end
track() click to toggle source
# File lib/soundcloud9000/views/player_view.rb, line 51
def track
  @player.track
end
track_info() click to toggle source
# File lib/soundcloud9000/views/player_view.rb, line 55
def track_info
  "#{track.likes} Likes | #{track.comments} Comments | #{track.url}"
end