lib/mikeplayer.rb in mikeplayer-1.0.2 vs lib/mikeplayer.rb in mikeplayer-1.0.3
- old
+ new
@@ -73,11 +73,11 @@
while (true == pid_alive?)
pause_if_over_time_limit
if (true == playing?)
- indicator = "#{'>' * (playing_time % 4)}"
+ indicator = "#{'>' * (playing_time % 4)}".ljust(4)
info_changed = true
elsif (true == paused?) && (PAUSE_INDICATOR != indicator)
indicator = PAUSE_INDICATOR
info_changed = true
end
@@ -87,16 +87,18 @@
if (0 < minutes_remaining)
mindicator = "(#{minutes_remaining}↓) "
end
- info = "#{info_prefix} #{song.length_str(playing_time)} #{mindicator}#{indicator}".ljust(display_width)
+ print("\r" << ' '.ljust(display_width))
- display_width = info.size
+ info = "#{info_prefix} #{song.length_str(playing_time)} #{mindicator}#{indicator}"
print(info)
+ display_width = info.size
+
info_changed = false
$stdout.flush
end
sleep SLEEP_SETTING
@@ -106,21 +108,22 @@
stdother.close
@pid = nil
if (true == playing?)
- next_song
+ next_song unless @pid.nil?
end
end
@pid = nil
+ print("\r\n")
exit
end
wait_on_user
- puts ""
+ print("\r\n")
end
def cmd_exist?(cmd)
if (true != system('command'))
raise "Missing 'command' command, which is used to test compatibility."
@@ -206,10 +209,11 @@
if (true == pid_alive?)
kill("KILL")
end
@state = STOPPED
+ @pid = nil
end
def pid_alive?(pid = @pid)
if (false == pid.nil?)
return system("ps -p #{pid} > /dev/null")
@@ -225,10 +229,12 @@
end
def previous_song
stop_song
- @playlist.previous
+ if (playing_time < 10)
+ @playlist.previous
+ end
end
def kill(signal)
if (false == @pid.nil?)
Process.kill(signal, @pid)