21 #ifndef METADATAFORMATTER_H 22 #define METADATAFORMATTER_H 27 #include <qmmpui/playlisttrack.h> 28 #include <qmmp/qmmp.h> 29 #include "qmmpui_export.h" 71 void setPattern(
const QString &pattern);
75 const QString pattern()
const;
85 QString format(
const TrackInfo &info,
int trackIndex = 0)
const;
91 QString format(
const TrackInfo *info,
int trackIndex = 0)
const;
100 static QString formatDuration(qint64 duration,
bool hideZero =
true,
bool showMs =
false);
142 QList<Node> children;
145 bool parseField(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
146 bool parseProperty(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
147 bool parseIf(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
148 bool parseDir(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
149 void parseText(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
150 void parseEscape(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
152 QString evalute(
const QList<Node> *nodes,
const TrackInfo *info,
int trackIndex)
const;
153 QString printParam(Param *p,
const TrackInfo *info,
int trackIndex)
const;
154 QString printField(
int field,
const TrackInfo *info,
int trackIndex)
const;
155 QString printProperty(
int field,
const TrackInfo *info)
const;
157 QString dumpNode(Node node)
const;
159 QList<MetaDataFormatter::Node> compile(
const QString &expr);
161 QList<MetaDataFormatter::Node> m_nodes;
162 QMap<QString, int> m_fieldNames;
163 QMap<QString, int> m_propertyNames;
166 #endif // METADATAFORMATTER2_H
The TrackInfo class stores metadata and other information about track.
Definition: trackinfo.h:31
The PlayListTrack class provides a track for use with the PlayListModel class.
Definition: playlisttrack.h:36