diff --git a/CMakeLists.txt b/CMakeLists.txt index bbd13db..abe92fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -173,8 +173,8 @@ set(META_APP_AUTHOR "Martchus") set(META_APP_URL "https://github.com/${META_APP_AUTHOR}/${META_PROJECT_NAME}") set(META_APP_DESCRIPTION "C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags") set(META_VERSION_MAJOR 7) -set(META_VERSION_MINOR 0) -set(META_VERSION_PATCH 4) +set(META_VERSION_MINOR 1) +set(META_VERSION_PATCH 0) set(META_PUBLIC_SHARED_LIB_DEPENDS c++utilities) set(META_PUBLIC_STATIC_LIB_DEPENDS c++utilities_static) set(META_PRIVATE_COMPILE_DEFINITIONS LEGACY_API) diff --git a/id3/id3v2frame.cpp b/id3/id3v2frame.cpp index 8208539..a7c47f7 100644 --- a/id3/id3v2frame.cpp +++ b/id3/id3v2frame.cpp @@ -231,7 +231,7 @@ void Id3v2Frame::parse(BinaryReader &reader, uint32 version, uint32 maximalSize, // frame contains text TagTextEncoding dataEncoding = parseTextEncodingByte(static_cast(*buffer.get()), diag); // the first byte stores the encoding if ((version >= 3 && (id() == Id3v2FrameIds::lTrackPosition || id() == Id3v2FrameIds::lDiskPosition)) - || (version < 3 && id() == Id3v2FrameIds::sTrackPosition)) { + || (version < 3 && (id() == Id3v2FrameIds::sTrackPosition || id() == Id3v2FrameIds::sDiskPosition))) { // the track number or the disk number frame try { if (characterSize(dataEncoding) > 1) { @@ -418,8 +418,7 @@ Id3v2FrameMaker::Id3v2FrameMaker(Id3v2Frame &frame, byte version, Diagnostics &d if (Id3v2FrameIds::isTextFrame(m_frameId)) { // make text frames if ((version >= 3 && (m_frameId == Id3v2FrameIds::lTrackPosition || m_frameId == Id3v2FrameIds::lDiskPosition)) - || (version < 3 && m_frameId == Id3v2FrameIds::sTrackPosition)) { - // track number or the disk number frame + || (version < 3 && (m_frameId == Id3v2FrameIds::sTrackPosition || m_frameId == Id3v2FrameIds::sDiskPosition))) { // make track number or disk number frame // -> convert the position to string const auto positionStr(value.toString(TagTextEncoding::Latin1)); diff --git a/id3/id3v2frameids.cpp b/id3/id3v2frameids.cpp index 31b0d8e..0c87396 100644 --- a/id3/id3v2frameids.cpp +++ b/id3/id3v2frameids.cpp @@ -39,6 +39,8 @@ uint32 convertToShortId(uint32 id) return sGenre; case lTrackPosition: return sTrackPosition; + case lDiskPosition: + return sDiskPosition; case lEncoder: return sEncoder; case lBpm: @@ -89,6 +91,8 @@ uint32 convertToLongId(uint32 id) return lGenre; case sTrackPosition: return lTrackPosition; + case sDiskPosition: + return lDiskPosition; case sEncoder: return lEncoder; case sBpm: diff --git a/id3/id3v2frameids.h b/id3/id3v2frameids.h index 44f02dd..ab376b4 100644 --- a/id3/id3v2frameids.h +++ b/id3/id3v2frameids.h @@ -42,6 +42,7 @@ enum KnownValue : uint32 { sTitle = 0x545432, sGenre = 0x54434f, sTrackPosition = 0x54524b, + sDiskPosition = 0x545041, sEncoder = 0x54454e, sBpm = 0x544250, sCover = 0x504943, diff --git a/id3/id3v2tag.cpp b/id3/id3v2tag.cpp index e150d17..49e595f 100644 --- a/id3/id3v2tag.cpp +++ b/id3/id3v2tag.cpp @@ -90,7 +90,7 @@ Id3v2Tag::IdentifierType Id3v2Tag::internallyGetFieldId(KnownField field) const case KnownField::TrackPosition: return sTrackPosition; case KnownField::DiskPosition: - return lDiskPosition; + return sDiskPosition; case KnownField::Encoder: return sEncoder; case KnownField::Bpm: