add support for adding random artists/albums to playlist

This commit is contained in:
Andrzej Rybczak
2010-01-22 22:24:44 +01:00
parent 153081158d
commit df15fe2bf4
4 changed files with 57 additions and 3 deletions

View File

@@ -1844,11 +1844,27 @@ int main(int argc, char *argv[])
if (myScreen == myPlaylist)
{
LockStatusbar();
Statusbar() << "Number of random songs: ";
Statusbar() << "Add random ? [" << fmtBold << 's' << fmtBoldEnd << "ongs/" << fmtBold << 'a' << fmtBoldEnd << "rtists/al" << fmtBold << 'b' << fmtBoldEnd << "ums] ";
wFooter->Refresh();
int answer = 0;
do
{
TraceMpdStatus();
wFooter->ReadKey(answer);
}
while (answer != 's' && answer != 'a' && answer != 'b');
UnlockStatusbar();
mpd_tag_type tag_type = IntoTagItem(answer);
std::string tag_type_str = answer == 's' ? "song" : IntoStr(tag_type);
ToLower(tag_type_str);
LockStatusbar();
Statusbar() << "Number of random " << tag_type_str << "s: ";
size_t number = StrToLong(wFooter->GetString());
UnlockStatusbar();
if (number && Mpd.AddRandomSongs(number))
ShowMessage("%zu random song%s added to playlist!", number, number == 1 ? "" : "s");
if (number && (answer == 's' ? Mpd.AddRandomSongs(number) : Mpd.AddRandomTag(tag_type, number)))
ShowMessage("%zu random %s%s added to playlist!", number, tag_type_str.c_str(), number == 1 ? "" : "s");
}
else if (myScreen == myBrowser && !myBrowser->isLocal())
{