fix drawing statusbar if player was stopped at start

this also adds "by accident" scrolling of currently
playing song in statusbar if player is paused.
This commit is contained in:
Andrzej Rybczak
2009-04-26 12:55:15 +02:00
parent 12fa8a9bf6
commit c78d2f296c

View File

@@ -144,20 +144,8 @@ void TraceMpdStatus()
else
block_progressbar_update = !allow_statusbar_unlock;
StatusChanges changes;
switch (Mpd->GetState())
{
case psStop:
changes.PlayerState = 1;
NcmpcppStatusChanged(Mpd, changes, NULL);
break;
case psPause:
changes.ElapsedTime = 1; // restore status
NcmpcppStatusChanged(Mpd, changes, NULL);
break;
default:
break;
}
if (Mpd->GetState() < psPlay)
Statusbar() << wclrtoeol;
}
}
}
@@ -372,7 +360,7 @@ void NcmpcppStatusChanged(Connection *Mpd, StatusChanges changed, void *)
}
static time_t now, past = 0;
time(&now);
if ((now > past || changed.SongID) && Mpd->GetState() == psPlay)
if ((now > past || changed.SongID) && Mpd->GetState() > psStop)
{
time(&past);
if (np.Empty())
@@ -385,7 +373,7 @@ void NcmpcppStatusChanged(Connection *Mpd, StatusChanges changed, void *)
int mpd_elapsed = Mpd->GetElapsedTime();
if (elapsed < mpd_elapsed-2 || elapsed+1 > mpd_elapsed)
elapsed = mpd_elapsed;
else
else if (Mpd->GetState() == psPlay)
elapsed++;
if (!block_statusbar_update && Config.statusbar_visibility)