21 #ifndef METADATAFORMATTER_H
22 #define METADATAFORMATTER_H
27 #include <qmmpui/playlisttrack.h>
28 #include <qmmp/qmmp.h>
29 #include "qmmpui_export.h"
101 static QString
formatDuration(qint64 duration,
bool hideZero =
true,
bool showMs =
false);
143 QList<Node> children;
146 bool parseField(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
147 bool parseProperty(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
148 bool parseIf(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
149 bool parseDir(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
150 void parseText(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
151 void parseEscape(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end);
153 QString evalute(
const QList<Node> *nodes,
const TrackInfo *info,
int trackIndex)
const;
154 QString printParam(Param *p,
const TrackInfo *info,
int trackIndex)
const;
155 QString printField(
int field,
const TrackInfo *info,
int trackIndex)
const;
156 QString printProperty(
int field,
const TrackInfo *info)
const;
158 QString dumpNode(Node node)
const;
160 QList<MetaDataFormatter::Node> compile(
const QString &expr);
162 QList<MetaDataFormatter::Node> m_nodes;
163 QHash<QString, int> m_fieldNames;
164 QHash<QString, int> m_propertyNames;
The PlayListTrack class provides a track for use with the PlayListModel class.
Definition: playlisttrack.h:37
@ DISCNUMBER
Definition: qmmp.h:85
The TrackInfo class stores metadata and other information about track.
Definition: trackinfo.h:32