diff options
author | Uwe Klotz <uklotz@mixxx.org> | 2020-05-20 22:18:22 +0200 |
---|---|---|
committer | Uwe Klotz <uklotz@mixxx.org> | 2020-05-20 22:53:31 +0200 |
commit | 5d027001c18464094e9500db9672e6f3374243ea (patch) | |
tree | 1b0b87d29929ac2b07a39acb0999cf475eaea5a2 /src/track | |
parent | 5375559e10b0bf1a634958b34380178281914294 (diff) |
Use track filename as info if both artist and title are missing
Diffstat (limited to 'src/track')
-rw-r--r-- | src/track/track.cpp | 16 | ||||
-rw-r--r-- | src/track/track.h | 6 |
2 files changed, 20 insertions, 2 deletions
diff --git a/src/track/track.cpp b/src/track/track.cpp index 8213d01702..24781b18df 100644 --- a/src/track/track.cpp +++ b/src/track/track.cpp @@ -362,7 +362,11 @@ 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() + QStringLiteral(" - ") + @@ -370,6 +374,16 @@ QString Track::getInfo() const { } } +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(); + } +} + QDateTime Track::getDateAdded() const { QMutexLocker lock(&m_qMutex); return m_record.getDateAdded(); diff --git a/src/track/track.h b/src/track/track.h index 5d4b64f609..83357f792f 100644 --- a/src/track/track.h +++ b/src/track/track.h @@ -233,9 +233,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); |