6c1ba88eab
Make Frame::Header::size(), Frame::headerSize() const
2024-01-17 21:25:44 +01:00
fb0f7dfa57
More API documentation corrections
2024-01-17 20:54:56 +01:00
c5d798a50d
Correct the API documentation
2024-01-04 17:18:23 +01:00
ef013b76db
Add checks for the expected sizes of new public classes
2024-01-02 14:16:22 +01:00
a6dbc70644
Fix shadowArgument issue reported by cppcheck
2024-01-02 13:50:11 +01:00
9a026976ae
Do not use std::visit() for std::variant
...
It is not supported for macOS 10.13 and earlier, see
https://stackoverflow.com/questions/53946674/noexcept-visitation-for-stdvariant .
2023-12-29 07:36:03 +01:00
bd4c9cbf97
Support installation alongside TagLib 1 with -DTAGLIB_INSTALL_SUFFIX=-2
v2.0beta
2023-12-24 14:16:15 +01:00
7dc8bfc806
Fix property mappings
...
For MP4 map ENCODEDBY to ©enc instead of ©too, which is now mapped to
ENCODING.
For ASF, add new properties ENCODINGTIME (WM/EncodingTime) and FILEWEBPAGE
(WM/AudioFileURL).
2023-12-24 08:42:15 +01:00
1a1ee8b54f
remove pointless static in namespace
...
Use constexpr too
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-12-22 13:41:34 +01:00
cd044bfc8f
clang-tidy: namespace comment
...
Found with llvm-namespace-comment
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-12-22 13:41:34 +01:00
7eda31e6ef
clang-tidy: use empty()
...
Found with readability-container-size-empty
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-12-22 13:41:34 +01:00
0e6f888d4d
clang-tidy: pass by value
...
Found with modernize-pass-by-value
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-12-22 13:41:34 +01:00
b07db7510f
clang-tidy: use const references
...
Found with performance-unnecessary-value-param
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-12-22 13:41:34 +01:00
1635d4d563
clang-tidy: use auto
...
Found with modernize-use-auto
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-12-22 13:41:34 +01:00
6d0f0ad170
use to_string
...
Lighterweight function.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-12-22 13:41:34 +01:00
eaf7955c63
gcc: remove old style cast
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-12-22 13:41:34 +01:00
78c489d9cc
clang: remove redundant comma
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-12-22 13:41:34 +01:00
56fa36934e
Unify File constructors with ID3v2::FrameFactory parameter ( #1196 )
...
Make constructors consistent so that the FrameFactory is at the
end and optional. Mark the alternative constructors as deprecated.
2023-12-22 13:41:13 +01:00
0dff3150c1
Remove UTF16LE means swap compatibility hack
2023-12-22 13:40:56 +01:00
e414987344
C bindings: Add missing types for taglib_file_new_type()
2023-12-22 13:40:18 +01:00
47184c4447
Update documentation for version 2.0
2023-12-22 13:39:51 +01:00
ab0437db0e
Apply VISIBILITY_HIDDEN also to C++ files
...
It was only used for C files, thereby making symbols of internal classes
like TagUnion visible.
2023-12-20 21:30:15 +01:00
1ee7493abc
Use offset_t in XM::File::save()
2023-12-20 12:05:26 +01:00
d869f1b3e4
Fix implicit conversion
2023-12-20 12:02:38 +01:00
2044b31698
Fix chunk ID validation
...
According to EA IFF 85:
Type IDs
A "type ID", "property name", "FORM type", or any other IFF identifier
is a 32-bit value: the concatenation of four ASCII characters in the
range R S (SP, hex 20) through R~S (hex 7E). Spaces (hex 20) should
not precede printing characters; trailing spaces are ok. Control characters
are forbidden.
2023-12-18 17:29:39 +01:00
6e0741bcdc
Fix incorrect commit
2023-12-18 17:29:39 +01:00
e9a671476b
Remove extraneous ;
2023-12-18 17:29:39 +01:00
5b19c7aed3
Remove unnecessary comparison
2023-12-18 17:29:39 +01:00
98a9530d23
Fix potential fallthrough
2023-12-18 17:29:39 +01:00
4775c83d8d
Fix potential fallthrough
2023-12-18 17:29:39 +01:00
034262c518
Fix implicit conversions
...
This commit does not address any potential mishandling of
64-bit header sizes
2023-12-18 17:29:39 +01:00
57c8dbe014
Use long long (QWORD) for sizes
2023-12-18 17:29:39 +01:00
bfaf1be6a6
Fix MPC tests
2023-12-18 17:29:39 +01:00
c9f7772198
Use unsigned long for sampleFrames
2023-12-18 17:29:39 +01:00
549bca3382
Fix implicit long to int conversions
2023-12-18 17:29:39 +01:00
98961813dc
Fix implicit long to int conversion
2023-12-18 17:29:39 +01:00
9a08678098
Fix implicit long to int conversions
2023-12-18 17:29:39 +01:00
c1d8159a34
Fix MinGW warning 'redeclared without dllimport attribute'
2023-12-16 15:01:11 +01:00
fa234fc053
make swap function noexcept
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-12-13 12:59:03 +01:00
b4fe04f8e0
tests: fix compilation on MSYS2
...
Something about a deleted operator<<.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-12-13 06:24:39 +01:00
c9486731d9
Fix MSVC warning needs to have dll-interface ( #1185 )
...
Unfortunately, MSVC exports everything (not only public members) when
__declspec(dllexport) is set at the class level via TAGLIB_EXPORT, which
leads to many "needs to have dll-interface to be used by clients" 4251
warnings issued by MSVC, because the std::unique_ptr pimpls are
exported too. As it is not possible to "unexport" private members,
such a warning has to be explicitly suppressed for these cases or
all public and protected class member now have to be exported
for classes derived from a template (StringList, ByteVectorList,
PropertyMap).
2023-12-11 06:35:08 +01:00
ec734bbe08
Fix MSVC warning dllexport and extern are incompatible
...
C4910: '__declspec(dllexport)' and 'extern' are incompatible on an
explicit instantiation
2023-12-11 06:35:08 +01:00
c7babea74a
Fix narrowing warning issued by MSVC
2023-12-11 06:35:08 +01:00
8a42e552aa
Use private implementations for MP4::Atom, MP4::Atoms
2023-12-11 06:35:08 +01:00
28baa03b23
Improve doc comments for PrivateFrame
2023-12-11 06:35:08 +01:00
10094f66b9
Remove deprecated APE value(), toStringList(), ID3v2 unsycronisation()
...
- APE::Item::value(): use binaryData()
- APE::Item::toStringList(): use values()
- MPEG::ID3v2::Frame::Header::unsycronisation(): use unsynchronisation()
2023-12-11 06:35:08 +01:00
aca1d0d41c
Remove unused file trefcounter.h
2023-12-11 06:35:08 +01:00
491322d1ba
Tolerate trailing garbage in M4A files ( #1186 )
...
If an M4A file contains trailing garbage (e.g. an APE tag at the
end of the file), it was considered invalid since [e21640b
].
It is important to make sure that atoms which affect modifications
written by TagLib are valid, otherwise the file might be damaged.
However, in cases where invalid atoms do not affect modifications
(which are only done inside the root level "moov" and "moof"
containers), they can be safely ignored.
This commit allows trailing garbage in M4A files as it is also
accepted in MP3, WAV and DSF files.
2023-12-08 15:58:01 +01:00
8b3f1a459e
Fix issues reported by CppCheck
...
Many shadowFunction, some useStlAlgorithm, and others.
cppcheck --enable=all --inline-suppr \
--suppress=noExplicitConstructor --suppress=unusedFunction \
--suppress=missingIncludeSystem --project=compile_commands.json
2023-12-07 05:00:00 +01:00
131918333b
Fix issues reported by Clang Static Analyzer
...
Some deadcode.DeadStores.
On Debian 12:
CXXFLAGS=-I/usr/include/x86_64-linux-gnu/c++/12 \
cmake -DCMAKE_C_COMPILER=/usr/share/clang/scan-build-14/libexec/ccc-analyzer \
-DCMAKE_CXX_COMPILER=/usr/share/clang/scan-build-14/libexec/c++-analyzer \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 \
-DENABLE_CCACHE=ON -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
-DCMAKE_BUILD_TYPE=Debug ../taglib
scan-build make
2023-12-07 05:00:00 +01:00