diff options
author | Uwe Klotz <uklotz@mixxx.org> | 2020-05-21 15:02:48 +0200 |
---|---|---|
committer | Uwe Klotz <uklotz@mixxx.org> | 2020-05-21 15:02:48 +0200 |
commit | 4ab4a9271265cdf2a26c83f11879c1b1c966d612 (patch) | |
tree | 2664733d8b095e5990cff3e5b7d90711d50346a7 /src/track | |
parent | 75580cd09fdfa2ade97316d25e03598498c01aac (diff) | |
parent | 24a2ff1e83cdf4e26d87e7b310faee3cceacf0f2 (diff) |
Merge branch '2.3' of git@github.com:mixxxdj/mixxx.git
Diffstat (limited to 'src/track')
-rw-r--r-- | src/track/track.cpp | 20 | ||||
-rw-r--r-- | src/track/track.h | 8 |
2 files changed, 25 insertions, 3 deletions
diff --git a/src/track/track.cpp b/src/track/track.cpp index d15bd51260..24781b18df 100644 --- a/src/track/track.cpp +++ b/src/track/track.cpp @@ -362,9 +362,25 @@ bool Track::isMetadataSynchronized() const { QString Track::getInfo() const { QMutexLocker lock(&m_qMutex); if (m_record.getMetadata().getTrackInfo().getArtist().trimmed().isEmpty()) { - return m_record.getMetadata().getTrackInfo().getTitle(); + if (m_record.getMetadata().getTrackInfo().getTitle().trimmed().isEmpty()) { + return m_fileInfo.fileName(); + } else { + return m_record.getMetadata().getTrackInfo().getTitle(); + } } else { - return m_record.getMetadata().getTrackInfo().getArtist() + ", " + m_record.getMetadata().getTrackInfo().getTitle(); + return m_record.getMetadata().getTrackInfo().getArtist() + + QStringLiteral(" - ") + + m_record.getMetadata().getTrackInfo().getTitle(); + } +} + +QString Track::getTitleInfo() const { + QMutexLocker lock(&m_qMutex); + if (m_record.getMetadata().getTrackInfo().getArtist().trimmed().isEmpty() && + m_record.getMetadata().getTrackInfo().getTitle().trimmed().isEmpty()) { + return m_fileInfo.fileName(); + } else { + return m_record.getMetadata().getTrackInfo().getTitle(); } } diff --git a/src/track/track.h b/src/track/track.h index 5d4b64f609..7d7c0c6ba7 100644 --- a/src/track/track.h +++ b/src/track/track.h @@ -74,6 +74,8 @@ class Track : public QObject { Q_PROPERTY(QString durationFormatted READ getDurationTextSeconds STORED false) Q_PROPERTY(QString durationFormattedCentiseconds READ getDurationTextCentiseconds STORED false) Q_PROPERTY(QString durationFormattedMilliseconds READ getDurationTextMilliseconds STORED false) + Q_PROPERTY(QString info READ getInfo STORED false) + Q_PROPERTY(QString titleInfo READ getTitleInfo STORED false) TrackFile getFileInfo() const { // Copying TrackFile/QFileInfo is thread-safe (implicit sharing), no locking needed. @@ -233,9 +235,13 @@ class Track : public QObject { // Set URL for track void setURL(const QString& url); - // Output a formatted string with artist and title. + /// Formatted string with artist and title. QString getInfo() const; + /// The filename if BOTH artist AND title are empty, e.g. for tracks without + /// any metadata in file tags. Otherwise just the title (even if it is empty). + QString getTitleInfo() const; + ConstWaveformPointer getWaveform() const; void setWaveform(ConstWaveformPointer pWaveform); |