21 #ifndef METADATAFORMATTER_H
22 #define METADATAFORMATTER_H
27 #include <qmmpui/playlisttrack.h>
28 #include <qmmp/qmmp.h>
29 #include "qmmpui_export.h"
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;
The PlayListTrack class provides a track for use with the PlayListModel class.
Definition: playlisttrack.h:37
@ DISCNUMBER
Definition: qmmp.h:76
The TrackInfo class stores metadata and other information about track.
Definition: trackinfo.h:32