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;
87 QString format(
const TrackInfo *info,
int trackIndex = 0)
const;
95 static QString formatDuration(qint64 duration,
bool hideZero =
true,
bool showMs =
false);
137 QList<Node> children;
140 bool parseField(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
141 bool parseProperty(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
142 bool parseIf(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
143 bool parseDir(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
144 void parseText(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
145 void parseEscape(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
147 QString evalute(
const QList<Node> *nodes,
const TrackInfo *info,
int trackIndex)
const;
148 QString printParam(Param *p,
const TrackInfo *info,
int trackIndex)
const;
149 QString printField(
int field,
const TrackInfo *info,
int trackIndex)
const;
150 QString printProperty(
int field,
const TrackInfo *info)
const;
152 QString dumpNode(Node node)
const;
154 QList<MetaDataFormatter::Node> compile(
const QString &expr);
156 QList<MetaDataFormatter::Node> m_nodes;
157 QMap<QString, int> m_fieldNames;
158 QMap<QString, int> m_propertyNames;
161 #endif // METADATAFORMATTER2_H
The PlayListTrack class provides a track for use with the PlayListModel class.
Definition: playlisttrack.h:36