def start
super
@playback_thread = Thread.new(@status, self) do |status, server|
while not server.stopped?
if status[:state] == 'play'
song = server.get_current_song
if song.nil?
server.elapsed_time = 0
status[:state] = 'stop'
next
end
status[:time] = "#{server.elapsed_time}:#{song['time']}"
status[:bitrate] = 192
status[:audio] = '44100:16:2'
if server.elapsed_time >= song['time'].to_i
server.elapsed_time = 0
server.next_song
end
server.elapsed_time = server.elapsed_time + 1
elsif status[:state] == 'pause'
song = server.get_current_song
if song.nil?
server.elapsed_time = 0
status[:state] = 'stop'
next
end
status[:time] = "#{server.elapsed_time}:#{song['time']}"
status[:bitrate] = 192
status[:audio] = '44100:16:2'
else
status[:time] = nil
status[:bitrate] = nil
status[:audio] = nil
server.elapsed_time = 0
end
sleep 1
end
end
end