Skip to content

Commit aabe593

Browse files
SimonDedmanclaude
andcommitted
Fix APE tag key case and clang-format issues
TagLib normalizes APE tag keys to uppercase on save/reload, causing the WavPack rating round-trip test to fail. Changed FMPS_Rating to FMPS_RATING in trackmetadata_ape.cpp to match this behavior (consistent with the Xiph Comment code which already used uppercase). Also fix clang-format issues: indentation in trackcollectionmanager.cpp, trailing blank lines, include ordering in metadatasourcetaglib.h, and double blank line in trackmetadata_mp4.cpp. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent fadbe6e commit aabe593

7 files changed

Lines changed: 9 additions & 12 deletions

File tree

src/library/trackcollectionmanager.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -313,11 +313,11 @@ ExportTrackMetadataResult TrackCollectionManager::exportTrackMetadataBeforeSavin
313313
(pTrack->isDirty() &&
314314
m_pConfig &&
315315
(m_pConfig->getValueString(
316-
mixxx::library::prefs::kSyncTrackMetadataConfigKey)
317-
.toInt() == 1 ||
318-
m_pConfig->getValueString(
319-
mixxx::library::prefs::kExportRatingToFileTagsConfigKey)
320-
.toInt() == 1))) {
316+
mixxx::library::prefs::kSyncTrackMetadataConfigKey)
317+
.toInt() == 1 ||
318+
m_pConfig->getValueString(
319+
mixxx::library::prefs::kExportRatingToFileTagsConfigKey)
320+
.toInt() == 1))) {
321321
switch (mode) {
322322
case TrackMetadataExportMode::Immediate: {
323323
// Export track metadata now by saving as file tags.

src/library/trackset/baseplaylistfeature.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -907,4 +907,3 @@ QString BasePlaylistFeature::createPlaylistLabel(const QString& name,
907907
void BasePlaylistFeature::slotResetSelectedTrack() {
908908
slotTrackSelected(TrackId{});
909909
}
910-

src/library/trackset/crate/cratefeature.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -956,4 +956,3 @@ void CrateFeature::slotTrackSelected(TrackId trackId) {
956956
void CrateFeature::slotResetSelectedTrack() {
957957
slotTrackSelected(TrackId{});
958958
}
959-

src/library/trackset/crate/cratefeature.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,5 +132,4 @@ class CrateFeature : public BaseTrackSetFeature {
132132
parented_ptr<QAction> m_pAnalyzeCrateAction;
133133

134134
QPointer<WLibrarySidebar> m_pSidebarWidget;
135-
136135
};

src/sources/metadatasourcetaglib.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
#pragma once
22

3-
#include "sources/metadatasource.h"
4-
53
#include <optional>
64

5+
#include "sources/metadatasource.h"
6+
77
namespace mixxx {
88

99
// Universal default implementation of IMetadataSource using TagLib.

src/track/taglib/trackmetadata_ape.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ void writeItem(
5151

5252
// FMPS Rating - APE item for cross-application rating compatibility
5353
// https://www.freedesktop.org/wiki/Specifications/free-media-player-specs/
54-
const TagLib::String kItemKeyFMPSRating = "FMPS_Rating";
54+
// APE keys must be uppercase to match TagLib's case normalization on save/reload
55+
const TagLib::String kItemKeyFMPSRating = "FMPS_RATING";
5556

5657
// Rating conversion functions
5758
// FMPS uses 0.0-1.0 scale, Mixxx uses 0-5 (with 0 meaning unrated)

src/track/taglib/trackmetadata_mp4.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ int fmpsRatingToMixxx(double fmps) {
7676
}
7777
}
7878

79-
8079
bool readAtom(
8180
const TagLib::MP4::Tag& tag,
8281
const TagLib::String& key,

0 commit comments

Comments
 (0)