From ec326f96ce40efb8cac4195b088803253c2eb588 Mon Sep 17 00:00:00 2001 From: Arno Date: Sun, 27 Aug 2017 04:15:28 +0200 Subject: Prettify metdata output Turn stream info into a HTML table and add Metadata to playlist. --- playerwidget.cpp | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/playerwidget.cpp b/playerwidget.cpp index 2c24576..89fc8d1 100644 --- a/playerwidget.cpp +++ b/playerwidget.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -1379,16 +1380,27 @@ void PlayerWidget::addWebRadio(){ void PlayerWidget::doMetadataChange(const QString &key, const QVariant &value){ if(key == "Title"){ QString np = value.toString(); + QRegularExpression re("\\s?-\\s?"); + QStringList titleParts = np.split(re); + QString artist(tr("n/a")), title(tr("n/a")); + if(titleParts.count() >= 2){ + artist = titleParts.at(0); + title = titleParts.at(1); + } QStandardItem *plRoot = mPlayListModel->invisibleRootItem(); QStandardItem *nowP = new QStandardItem; nowP->setFont(QFont("courier")); nowP->setEditable(false); nowP->setIcon(QIcon(":/dog_hood.png")); nowP->setData(1, RemoteRole); + nowP->setData(artist, ArtistRole); + nowP->setData(title, TitleRole); nowP->setText(np); plRoot->appendRow(nowP); - QString npString = QString("Title: %1").arg(np); - mCurrentTE->setText(npString); + mCurrentTE->clear(); + mCurrentTE->append(QString("%1 %2").arg(tr("Artist:"), -20).arg(artist)); + mCurrentTE->append(QString("%1 %2").arg(tr("Title:"), -20).arg(title)); + mNowPlayingL->setText(np); }else{ if(mOtherMeta[key] != value){ mOtherMeta[key] = value; @@ -1398,13 +1410,14 @@ void PlayerWidget::doMetadataChange(const QString &key, const QVariant &value){ } void PlayerWidget::updateStreamData(){ - QStringList sd; - sd.append(QString("%1: %2").arg("Genre", -16).arg(mOtherMeta.value("Genre").toString())); - sd.append(QString("%1: %2").arg("Publisher", -16).arg(mOtherMeta.value("Publisher").toString())); - sd.append(QString("%1: %2").arg("Location", -16).arg(mOtherMeta.value("location").toString())); - sd.append(QString("%1: %2").arg("Audio Codec", -16).arg(mOtherMeta.value("AudioCodec").toString())); - QString s = sd.join("\n"); - mLeftTE->setText(s); + QString retval; + retval.append(""); + retval.append(QString(tr("")).arg(mOtherMeta.value("Genre").toString())); + retval.append(QString(tr("")).arg(mOtherMeta.value("Publisher").toString())); + retval.append(QString(tr("")).arg(mOtherMeta.value("location").toString())); + retval.append(QString(tr("")).arg(mOtherMeta.value("AudioCodec").toString())); + retval.append("
Genre%1
Publisher%1
Location%1
Audio Codec%1
"); + mLeftTE->setText(retval); } void PlayerWidget::play(const QString &fullPath){ -- cgit v1.2.3-70-g09d2