merge some duplicated code in parsing song formats

This commit is contained in:
Andrzej Rybczak
2010-08-22 17:46:23 +02:00
parent a66ab40c25
commit 6687def7f7
4 changed files with 43 additions and 97 deletions

View File

@@ -188,56 +188,7 @@ void Display::SongsInColumns(const MPD::Song &s, void *data, Menu<MPD::Song> *me
std::string tag;
for (size_t i = 0; i < it->type.length(); ++i)
{
switch (it->type[i])
{
case 'l':
get = &MPD::Song::GetLength;
break;
case 'D':
get = &MPD::Song::GetDirectory;
break;
case 'f':
get = &MPD::Song::GetName;
break;
case 'a':
get = &MPD::Song::GetArtist;
break;
case 'A':
get = &MPD::Song::GetAlbumArtist;
break;
case 'b':
get = &MPD::Song::GetAlbum;
break;
case 'y':
get = &MPD::Song::GetDate;
break;
case 'n':
get = &MPD::Song::GetTrackNumber;
break;
case 'N':
get = &MPD::Song::GetTrack;
break;
case 'g':
get = &MPD::Song::GetGenre;
break;
case 'c':
get = &MPD::Song::GetComposer;
break;
case 'p':
get = &MPD::Song::GetPerformer;
break;
case 'd':
get = &MPD::Song::GetDisc;
break;
case 'C':
get = &MPD::Song::GetComment;
break;
case 't':
get = &MPD::Song::GetTitle;
break;
default:
break;
}
get = toGetFunction(it->type[i]);
tag = get ? s.GetTags(get) : "";
if (!tag.empty())
break;