Urs Fleisch
fb0f7dfa57
More API documentation corrections
2024-01-17 20:54:56 +01:00
Urs Fleisch
c5d798a50d
Correct the API documentation
2024-01-04 17:18:23 +01:00
Urs Fleisch
ef013b76db
Add checks for the expected sizes of new public classes
2024-01-02 14:16:22 +01:00
Urs Fleisch
a6dbc70644
Fix shadowArgument issue reported by cppcheck
2024-01-02 13:50:11 +01:00
Urs Fleisch
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
Urs Fleisch
bd4c9cbf97
Support installation alongside TagLib 1 with -DTAGLIB_INSTALL_SUFFIX=-2
2023-12-24 14:16:15 +01:00
Urs Fleisch
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
Rosen Penev
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
Rosen Penev
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
Rosen Penev
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
Rosen Penev
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
Rosen Penev
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
Rosen Penev
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
Rosen Penev
6d0f0ad170
use to_string
...
Lighterweight function.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-12-22 13:41:34 +01:00
Rosen Penev
eaf7955c63
gcc: remove old style cast
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-12-22 13:41:34 +01:00
Rosen Penev
78c489d9cc
clang: remove redundant comma
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-12-22 13:41:34 +01:00
Urs Fleisch
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
Urs Fleisch
0dff3150c1
Remove UTF16LE means swap compatibility hack
2023-12-22 13:40:56 +01:00
Urs Fleisch
e414987344
C bindings: Add missing types for taglib_file_new_type()
2023-12-22 13:40:18 +01:00
Urs Fleisch
47184c4447
Update documentation for version 2.0
2023-12-22 13:39:51 +01:00
Urs Fleisch
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
Stephen F. Booth
1ee7493abc
Use offset_t in XM::File::save()
2023-12-20 12:05:26 +01:00
Stephen F. Booth
d869f1b3e4
Fix implicit conversion
2023-12-20 12:02:38 +01:00
Stephen F. Booth
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
Stephen F. Booth
6e0741bcdc
Fix incorrect commit
2023-12-18 17:29:39 +01:00
Stephen F. Booth
e9a671476b
Remove extraneous ;
2023-12-18 17:29:39 +01:00
Stephen F. Booth
5b19c7aed3
Remove unnecessary comparison
2023-12-18 17:29:39 +01:00
Stephen F. Booth
98a9530d23
Fix potential fallthrough
2023-12-18 17:29:39 +01:00
Stephen F. Booth
4775c83d8d
Fix potential fallthrough
2023-12-18 17:29:39 +01:00
Stephen F. Booth
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
Stephen F. Booth
57c8dbe014
Use long long (QWORD) for sizes
2023-12-18 17:29:39 +01:00
Stephen F. Booth
bfaf1be6a6
Fix MPC tests
2023-12-18 17:29:39 +01:00
Stephen F. Booth
c9f7772198
Use unsigned long for sampleFrames
2023-12-18 17:29:39 +01:00
Stephen F. Booth
549bca3382
Fix implicit long to int conversions
2023-12-18 17:29:39 +01:00
Stephen F. Booth
98961813dc
Fix implicit long to int conversion
2023-12-18 17:29:39 +01:00
Stephen F. Booth
9a08678098
Fix implicit long to int conversions
2023-12-18 17:29:39 +01:00
Urs Fleisch
c1d8159a34
Fix MinGW warning 'redeclared without dllimport attribute'
2023-12-16 15:01:11 +01:00
Rosen Penev
fa234fc053
make swap function noexcept
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-12-13 12:59:03 +01:00
Rosen Penev
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
Urs Fleisch
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
Urs Fleisch
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
Urs Fleisch
c7babea74a
Fix narrowing warning issued by MSVC
2023-12-11 06:35:08 +01:00
Urs Fleisch
8a42e552aa
Use private implementations for MP4::Atom, MP4::Atoms
2023-12-11 06:35:08 +01:00
Urs Fleisch
28baa03b23
Improve doc comments for PrivateFrame
2023-12-11 06:35:08 +01:00
Urs Fleisch
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
Urs Fleisch
aca1d0d41c
Remove unused file trefcounter.h
2023-12-11 06:35:08 +01:00
Urs Fleisch
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
Urs Fleisch
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
Urs Fleisch
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
certuna
cf2bdce21d
ORIGINALDATE and RELEASEDATE mapppings for MP4
2023-12-05 05:26:55 +01:00