remove extern int now_playing

This commit is contained in:
Andrzej Rybczak
2009-02-14 15:18:13 +01:00
parent 8653232a2a
commit 11622b7ba5
6 changed files with 61 additions and 47 deletions

View File

@@ -71,7 +71,6 @@ Window *Global::wFooter;
Connection *Global::Mpd;
int Global::now_playing = -1;
int Global::lock_statusbar_delay = -1;
size_t Global::main_start_y;
@@ -813,8 +812,8 @@ int main(int argc, char *argv[])
size_t id = myPlaylist->Main()->Choice();
TraceMpdStatus();
timer = time(NULL);
if (size_t(now_playing) > id) // needed for keeping proper
now_playing--; // position of now playing song.
if (size_t(myPlaylist->NowPlaying) > id) // needed for keeping proper
myPlaylist->NowPlaying--; // position of now playing song.
Mpd->QueueDeleteSong(id);
myPlaylist->Main()->DeleteOption(id);
myPlaylist->Main()->Refresh();
@@ -967,8 +966,8 @@ int main(int argc, char *argv[])
myPlaylist->Main()->GetSelected(list);
for (vector<size_t>::iterator it = list.begin(); it != list.end(); it++)
if (*it == size_t(now_playing) && list.front() > 0)
myPlaylist->Main()->BoldOption(now_playing, 0);
if (*it == size_t(myPlaylist->NowPlaying) && list.front() > 0)
myPlaylist->Main()->BoldOption(myPlaylist->NowPlaying, 0);
vector<size_t> origs(list);
@@ -994,8 +993,8 @@ int main(int argc, char *argv[])
size_t from, to;
from = to = myPlaylist->Main()->Choice();
// unbold now playing as if song changes during move, this won't be unbolded.
if (to == size_t(now_playing) && to > 0)
myPlaylist->Main()->BoldOption(now_playing, 0);
if (to == size_t(myPlaylist->NowPlaying) && to > 0)
myPlaylist->Main()->BoldOption(myPlaylist->NowPlaying, 0);
while (Keypressed(input, Key.MvSongUp) && to > 0)
{
TraceMpdStatus();
@@ -1070,8 +1069,8 @@ int main(int argc, char *argv[])
myPlaylist->Main()->GetSelected(list);
for (vector<size_t>::iterator it = list.begin(); it != list.end(); it++)
if (*it == size_t(now_playing) && list.back() < myPlaylist->Main()->Size()-1)
myPlaylist->Main()->BoldOption(now_playing, 0);
if (*it == size_t(myPlaylist->NowPlaying) && list.back() < myPlaylist->Main()->Size()-1)
myPlaylist->Main()->BoldOption(myPlaylist->NowPlaying, 0);
vector<size_t> origs(list);
@@ -1097,8 +1096,8 @@ int main(int argc, char *argv[])
size_t from, to;
from = to = myPlaylist->Main()->Choice();
// unbold now playing as if song changes during move, this won't be unbolded.
if (to == size_t(now_playing) && to < myPlaylist->Main()->Size()-1)
myPlaylist->Main()->BoldOption(now_playing, 0);
if (to == size_t(myPlaylist->NowPlaying) && to < myPlaylist->Main()->Size()-1)
myPlaylist->Main()->BoldOption(myPlaylist->NowPlaying, 0);
while (Keypressed(input, Key.MvSongDown) && to < myPlaylist->Main()->Size()-1)
{
TraceMpdStatus();
@@ -1190,9 +1189,9 @@ int main(int argc, char *argv[])
}
else if (Keypressed(input, Key.SeekForward) || Keypressed(input, Key.SeekBackward))
{
if (now_playing < 0)
if (!myPlaylist->isPlaying())
continue;
if (!myPlaylist->Main()->at(now_playing).GetTotalLength())
if (!myPlaylist->NowPlayingSong().GetTotalLength())
{
ShowMessage("Unknown item length!");
continue;
@@ -1204,7 +1203,7 @@ int main(int argc, char *argv[])
time_t t = time(NULL);
songpos = Mpd->GetElapsedTime();
Song &s = myPlaylist->Main()->at(now_playing);
const Song &s = myPlaylist->NowPlayingSong();
while (Keypressed(input, Key.SeekForward) || Keypressed(input, Key.SeekBackward))
{
@@ -1284,8 +1283,8 @@ int main(int argc, char *argv[])
{
Config.autocenter_mode = !Config.autocenter_mode;
ShowMessage("Auto center mode: %s", Config.autocenter_mode ? "On" : "Off");
if (Config.autocenter_mode && now_playing >= 0)
myPlaylist->Main()->Highlight(now_playing);
if (Config.autocenter_mode && myPlaylist->isPlaying())
myPlaylist->Main()->Highlight(myPlaylist->NowPlaying);
}
else if (Keypressed(input, Key.UpdateDB))
{
@@ -1300,8 +1299,8 @@ int main(int argc, char *argv[])
}
else if (Keypressed(input, Key.GoToNowPlaying))
{
if (current_screen == csPlaylist && now_playing >= 0)
myPlaylist->Main()->Highlight(now_playing);
if (current_screen == csPlaylist && myPlaylist->isPlaying())
myPlaylist->Main()->Highlight(myPlaylist->NowPlaying);
}
else if (Keypressed(input, Key.ToggleRepeat))
{
@@ -1608,9 +1607,9 @@ int main(int argc, char *argv[])
}
else if (Keypressed(input, Key.GoToPosition))
{
if (now_playing < 0)
if (!myPlaylist->isPlaying())
continue;
if (!myPlaylist->Main()->at(now_playing).GetTotalLength())
if (!myPlaylist->NowPlayingSong().GetTotalLength())
{
ShowMessage("Unknown item length!");
continue;
@@ -1620,7 +1619,7 @@ int main(int argc, char *argv[])
string position = wFooter->GetString(3);
int newpos = StrToInt(position);
if (newpos > 0 && newpos < 100 && !position.empty())
Mpd->Seek(myPlaylist->Main()->at(now_playing).GetTotalLength()*newpos/100.0);
Mpd->Seek(myPlaylist->NowPlayingSong().GetTotalLength()*newpos/100.0);
UnlockStatusbar();
}
else if (Keypressed(input, Key.ReverseSelection))
@@ -1865,13 +1864,13 @@ int main(int argc, char *argv[])
{
for (size_t i = 0; i < myPlaylist->Main()->Size(); i++)
{
if (!myPlaylist->Main()->isSelected(i) && i != size_t(now_playing))
if (!myPlaylist->Main()->isSelected(i) && i != size_t(myPlaylist->NowPlaying))
Mpd->QueueDeleteSongId(myPlaylist->Main()->at(i).GetID());
}
// if mpd deletes now playing song deletion will be sluggishly slow
// then so we have to assure it will be deleted at the very end.
if (now_playing >= 0 && !myPlaylist->Main()->isSelected(now_playing))
Mpd->QueueDeleteSongId(myPlaylist->Main()->at(now_playing).GetID());
if (myPlaylist->isPlaying() && !myPlaylist->Main()->isSelected(myPlaylist->NowPlaying))
Mpd->QueueDeleteSongId(myPlaylist->NowPlayingSong().GetID());
ShowMessage("Deleting all items but selected...");
Mpd->CommitQueue();
@@ -1879,14 +1878,14 @@ int main(int argc, char *argv[])
}
else
{
if (now_playing < 0)
if (!myPlaylist->isPlaying())
{
ShowMessage("Nothing is playing now!");
continue;
}
for (int i = 0; i < now_playing; i++)
for (int i = 0; i < myPlaylist->NowPlaying; i++)
Mpd->QueueDeleteSongId(myPlaylist->Main()->at(i).GetID());
for (size_t i = now_playing+1; i < myPlaylist->Main()->Size(); i++)
for (size_t i = myPlaylist->NowPlaying+1; i < myPlaylist->Main()->Size(); i++)
Mpd->QueueDeleteSongId(myPlaylist->Main()->at(i).GetID());
ShowMessage("Deleting all items except now playing one...");
Mpd->CommitQueue();