TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musicrulesanalysis.cpp
Go to the documentation of this file.
1 #include "musicrulesanalysis.h"
2 #include "ttktime.h"
3 
4 static constexpr const char *RULE_TITLE = "%title";
5 static constexpr const char *RULE_ARTIST = "%artist";
6 static constexpr const char *RULE_ALBUM = "%album";
7 static constexpr const char *RULE_DURAION = "%duration";
8 static constexpr const char *RULE_TRACK = "%track";
9 static constexpr const char *RULE_YEAR = "%year";
10 
12 {
13  static QStringList rules{QObject::tr("Title"), QObject::tr("Artist"), QObject::tr("Album"), QObject::tr("Duration"), QObject::tr("Track"), QObject::tr("Year")};
14  return rules;
15 }
16 
17 QString MusicRulesAnalysis::rule(int index)
18 {
19  switch(index)
20  {
21  case 0: return RULE_TITLE;
22  case 1: return RULE_ARTIST;
23  case 2: return RULE_ALBUM;
24  case 3: return RULE_DURAION;
25  case 4: return RULE_TRACK;
26  case 5: return RULE_YEAR;
27  default: return {};
28  }
29 }
30 
31 QString MusicRulesAnalysis::parse(const TTK::MusicSongInformation &info, const QString &value)
32 {
33  QString v(value);
34  v.replace(RULE_TITLE, info.m_songName);
35  v.replace(RULE_ARTIST, info.m_artistName);
36  v.replace(RULE_ALBUM, info.m_albumName);
37  v.replace(RULE_DURAION, QString::number(TTKTime::formatDuration(info.m_duration) / TTK_DN_S2MS));
38  v.replace(RULE_TRACK, info.m_trackNumber);
39  v.replace(RULE_YEAR, info.m_year);
40  return v;
41 }
static QStringList rules()
static constexpr const char * RULE_TITLE
static constexpr const char * RULE_DURAION
#define TTK_DN_S2MS
Definition: ttkglobal.h:276
static constexpr const char * RULE_ALBUM
static QString rule(int index)
static QString parse(const TTK::MusicSongInformation &info, const QString &value)
static constexpr const char * RULE_YEAR
static constexpr const char * RULE_TRACK
The class of the music song information.
Definition: musicobject.h:281
static qint64 formatDuration(const QString &time) noexcept
Definition: ttktime.cpp:123
static constexpr const char * RULE_ARTIST