add N marker for displaying full track info and make n show only a number

generated filename was ugly if track tag was in format
xx/xx, so %n should display only current track number.
This commit is contained in:
Andrzej Rybczak
2009-09-06 10:27:11 +02:00
parent 1459b27c0d
commit d407bc679b
5 changed files with 26 additions and 2 deletions

View File

@@ -163,6 +163,20 @@ std::string MPD::Song::GetTrack() const
return itsSong->track;
}
std::string MPD::Song::GetTrackNumber() const
{
if (!itsSong->track)
return "";
const char *slash = strrchr(itsSong->track, '/');
if (slash)
{
std::string result(itsSong->track, slash-itsSong->track);
return result[0] != '0' && result.length() == 1 ? "0"+result : result;
}
else
return GetTrack();
}
std::string MPD::Song::GetDate() const
{
return !itsSong->date ? "" : itsSong->date;
@@ -332,6 +346,9 @@ std::string MPD::Song::ParseFormat(std::string::const_iterator &it) const
get = &MPD::Song::GetDate;
break;
case 'n':
get = &MPD::Song::GetTrackNumber;
break;
case 'N':
get = &MPD::Song::GetTrack;
break;
case 'g':