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:
17
src/song.cpp
17
src/song.cpp
@@ -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':
|
||||
|
||||
Reference in New Issue
Block a user