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:
@@ -70,7 +70,8 @@
|
|||||||
## %t - title
|
## %t - title
|
||||||
## %b - album
|
## %b - album
|
||||||
## %y - year
|
## %y - year
|
||||||
## %n - track number
|
## %n - track number (01/12 -> 01)
|
||||||
|
## %N - full track info (01/12 -> 01/12)
|
||||||
## %g - genre
|
## %g - genre
|
||||||
## %c - composer
|
## %c - composer
|
||||||
## %p - performer
|
## %p - performer
|
||||||
|
|||||||
@@ -295,7 +295,8 @@ For song format you can use:
|
|||||||
%t - title
|
%t - title
|
||||||
%b - album
|
%b - album
|
||||||
%y - year
|
%y - year
|
||||||
%n - track number
|
%n - track number (01/12 -> 01)
|
||||||
|
%N - full track info (01/12 -> 01/12)
|
||||||
%g - genre
|
%g - genre
|
||||||
%c - composer
|
%c - composer
|
||||||
%p - performer
|
%p - performer
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ std::string Display::Columns()
|
|||||||
tag = "Year";
|
tag = "Year";
|
||||||
break;
|
break;
|
||||||
case 'n':
|
case 'n':
|
||||||
|
case 'N':
|
||||||
tag = "Track";
|
tag = "Track";
|
||||||
break;
|
break;
|
||||||
case 'g':
|
case 'g':
|
||||||
@@ -149,6 +150,9 @@ void Display::SongsInColumns(const MPD::Song &s, void *, Menu<MPD::Song> *menu)
|
|||||||
get = &MPD::Song::GetDate;
|
get = &MPD::Song::GetDate;
|
||||||
break;
|
break;
|
||||||
case 'n':
|
case 'n':
|
||||||
|
get = &MPD::Song::GetTrackNumber;
|
||||||
|
break;
|
||||||
|
case 'N':
|
||||||
get = &MPD::Song::GetTrack;
|
get = &MPD::Song::GetTrack;
|
||||||
break;
|
break;
|
||||||
case 'g':
|
case 'g':
|
||||||
|
|||||||
17
src/song.cpp
17
src/song.cpp
@@ -163,6 +163,20 @@ std::string MPD::Song::GetTrack() const
|
|||||||
return itsSong->track;
|
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
|
std::string MPD::Song::GetDate() const
|
||||||
{
|
{
|
||||||
return !itsSong->date ? "" : itsSong->date;
|
return !itsSong->date ? "" : itsSong->date;
|
||||||
@@ -332,6 +346,9 @@ std::string MPD::Song::ParseFormat(std::string::const_iterator &it) const
|
|||||||
get = &MPD::Song::GetDate;
|
get = &MPD::Song::GetDate;
|
||||||
break;
|
break;
|
||||||
case 'n':
|
case 'n':
|
||||||
|
get = &MPD::Song::GetTrackNumber;
|
||||||
|
break;
|
||||||
|
case 'N':
|
||||||
get = &MPD::Song::GetTrack;
|
get = &MPD::Song::GetTrack;
|
||||||
break;
|
break;
|
||||||
case 'g':
|
case 'g':
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ namespace MPD
|
|||||||
std::string GetTitle() const;
|
std::string GetTitle() const;
|
||||||
std::string GetAlbum() const;
|
std::string GetAlbum() const;
|
||||||
std::string GetTrack() const;
|
std::string GetTrack() const;
|
||||||
|
std::string GetTrackNumber() const;
|
||||||
std::string GetDate() const;
|
std::string GetDate() const;
|
||||||
std::string GetGenre() const;
|
std::string GetGenre() const;
|
||||||
std::string GetComposer() const;
|
std::string GetComposer() const;
|
||||||
|
|||||||
Reference in New Issue
Block a user