summaryrefslogtreecommitdiffstats
path: root/src/track
diff options
context:
space:
mode:
authorUwe Klotz <uklotz@mixxx.org>2020-05-20 22:18:22 +0200
committerUwe Klotz <uklotz@mixxx.org>2020-05-20 22:53:31 +0200
commit5d027001c18464094e9500db9672e6f3374243ea (patch)
tree1b0b87d29929ac2b07a39acb0999cf475eaea5a2 /src/track
parent5375559e10b0bf1a634958b34380178281914294 (diff)
Use track filename as info if both artist and title are missing
Diffstat (limited to 'src/track')
-rw-r--r--src/track/track.cpp16
-rw-r--r--src/track/track.h6
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);