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)