Urs Fleisch
c54c924333
Use static_cast instead of C-style casts
2023-07-22 07:09:58 +02:00
Urs Fleisch
d314bfa06a
Make sure that own header file is included first
...
Each header corresponding to a .cpp file must be self-contained,
and can be #included without prerequisites.
2023-07-22 07:09:58 +02:00
Urs Fleisch
cc7d23cdf5
Consistently use quote form when including our own headers
2023-07-22 07:09:58 +02:00
Urs Fleisch
2a1fb27735
clang-tidy: Replace C headers with C++ alternatives
...
run-clang-tidy -header-filter='.*' -checks='-*,modernize-deprecated-headers'
Fixed manually as automatic fix would shuffle headers around.
2023-07-22 07:09:58 +02:00
Urs Fleisch
b5516c9718
clang-tidy: Use default function declarations
...
run-clang-tidy -header-filter='.*' -checks='-*,modernize-use-equals-default' -fix
2023-07-22 07:09:58 +02:00
Urs Fleisch
231772b2ad
clang-tidy: Delete unimplemented private constructors
...
run-clang-tidy -header-filter='.*' -checks='-*,modernize-use-equals-delete' -fix
2023-07-22 07:09:58 +02:00
Urs Fleisch
77ab5e9689
Narrow the scope of iterators
...
Also make sure that it is visible at first glance that iterators are
not taken from temporaries.
2023-07-22 07:09:58 +02:00
Urs Fleisch
c2c9e8989c
clang-tidy: Use auto where it improves the readability
...
run-clang-tidy -header-filter='.*' -checks='-*,modernize-use-auto' \
-config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: '1'}]}" \
-fix
Manually fixed some wrong `const auto` replacements and verified
that all types are deduced correctly.
2023-07-22 07:09:58 +02:00
Urs Fleisch
63922f2676
Avoid unnecessary detaching of containers
...
If only a constant iterator is needed, make the container const if
possible, otherwise use cbegin() and cend() to get a constant iterator
without detaching the container.
These fixes are needed so that `auto` can deduce the correct
iterator type.
2023-07-22 07:09:58 +02:00
Urs Fleisch
b273505c28
clang-tidy: static accessed through instance.
...
run-clang-tidy -header-filter='.*' -checks='-*,readability-static-accessed-through-instance' -fix
2023-07-22 07:09:58 +02:00
Urs Fleisch
abc6c31890
clang-tidy: Use nullptr instead of 0
...
run-clang-tidy -header-filter='.*' -checks='-*,modernize-use-nullptr' -fix
2023-07-22 07:09:58 +02:00
Urs Fleisch
9867bc947e
clang-tidy: Use override keyword
...
run-clang-tidy -header-filter='.*' -checks='-*,modernize-use-override' -fix
2023-07-22 07:09:58 +02:00
whatdoineed2do
e20a53afbb
C bindings - properties i/f ( #1091 )
...
Support properties in C bindings
---------
Co-authored-by: whatdoineed2do/Ray <whatdoineed2do@nospam.gmail.com >
Co-authored-by: Urs Fleisch <ufleisch@users.sourceforge.net >
2023-07-09 19:48:27 +02:00
Urs Fleisch
ceb142c9bd
Remove functions documented (but not marked) as deprecated
...
Clean up other stuff with comments about binary incompatibility,
but only as far as to mostly keep source compatibility.
2023-07-09 07:01:37 +02:00
Urs Fleisch
322085f90e
Windows: Remove unused FileName member, disable two warnings
2023-07-09 07:01:37 +02:00
Urs Fleisch
250dece2ab
Fix warnings about missing virtual destructors
2023-07-09 07:01:37 +02:00
Urs Fleisch
a33cc0635a
Remove deprecated stuff
2023-07-09 07:01:37 +02:00
Urs Fleisch
ca8c2e07ec
Support large files over 2GB on Windows ( #1089 )
...
Backport of 4dcf0b41c6
b01f45e141
https://github.com/taglib/taglib/pull/77
Tested with files larger than 2GB which have been created using
sox -n -r 44100 -C 320 large.mp3 synth 58916 sine 440 channels 2
sox -n -r 44100 -C 0 large.flac synth 25459 sine 440 channels 2
sox -n -r 44100 -C 10 large.ogg synth 229806 sine 440 channels 2
sox -n -r 44100 large.wav synth 6692 sine 440 channels 2
ffmpeg -f lavfi -i "sine=frequency=440:duration=244676" -y large.m4a
The only file which was readable with the tagreader example
before this commit was large.ogg. The problem is that long on
Windows is only 32-bit (also in LLP64 data model of 64-bit
compilation target) and all the file offsets using long are
too small for large files. Now long is replaced by offset_t
(defined to be long long on Windows and off_t on UNIX) for such
cases and some unsigned long are now size_t, which has the
correct size even on Windows.
2023-07-09 07:01:37 +02:00
Urs Fleisch
bc915f5dc8
Use C++17
2023-07-09 07:01:37 +02:00
Urs Fleisch
e5cf30e1e9
Set version and date for TagLib 2.0, simplify SO versioning
2023-07-09 07:01:37 +02:00
Urs Fleisch
c840222a39
Version 1.13.1
v1.13.1
2023-07-01 07:43:27 +02:00
Urs Fleisch
39e712796f
ID3v2: Map "TSST" to "DISCSUBTITLE" property ( #1087 ) ( #1088 )
2023-05-26 13:12:19 +02:00
Urs Fleisch
97203503b0
Do not miss frames when an extended header is present ( #1081 )
2023-03-18 08:08:37 +01:00
Urs Fleisch
e21640bf10
MP4: Detect atoms with invalid length or type ( #1077 )
2023-03-18 08:07:46 +01:00
Ziemowit Łąski
a31356e330
Update FindCppUnit.cmake ( #1076 )
...
* Update FindCppUnit.cmake
Require a more modern cppunit to fix tagib build breakage.
* Update FindCppUnit.cmake
2022-12-21 14:14:35 +01:00
Rosen Penev
9ef9514bfa
clang: remove const return ( #1074 )
...
Found with readability-const-return-type
Signed-off-by: Rosen Penev <rosenp@gmail.com >
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2022-12-10 11:30:21 +01:00
dabrain34
967c0eefed
cmake: generate pc files with the use of prefix ( #1071 )
2022-12-04 13:27:58 +01:00
Rosen Penev
abbf880872
clang-tidy: use member initializer
...
Found with cppcoreguidelines-prefer-member-initializer
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2022-11-28 07:04:42 +01:00
Rosen Penev
e49724ae5f
clang-tidy: remove unused declaration
...
Found with bugprone-forward-declaration-namespace
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2022-11-28 07:04:42 +01:00
Rosen Penev
9427d8f3ba
clang-tidy: use patentheses in macros
...
Found with bugprone-macro-parentheses
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2022-11-28 07:04:42 +01:00
Rosen Penev
f40290dcaf
clang-tidy: don't assign in if
...
Found with bugprone-assignment-in-if-condition
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2022-11-28 07:04:42 +01:00
Rosen Penev
983a35f5ae
clang-tidy: avoid C casting
...
Found with google-readability-casting
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2022-11-28 07:04:42 +01:00
Rosen Penev
4dc6bdcd28
clang-tidy: add ending namespace comments
...
Found with google-readability-namespace-comments
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2022-11-28 07:04:42 +01:00
Rosen Penev
c963d1189a
clang-tidy: no else after return
...
Found with readability-else-after-return
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2022-11-27 06:35:33 +01:00
Rosen Penev
1ac61ffe19
clang-tidy: remove pointless return in void func
...
Found with readability-redundant-control-flow
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2022-11-27 06:35:33 +01:00
Rosen Penev
a564d743f8
clang-tidy: remove duplicate include
...
Found with readability-duplicate-include
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2022-11-27 06:35:33 +01:00
Rosen Penev
8c4d663393
clang-tidy: simplify booleans
...
Found with readability-simplify-boolean-expr
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2022-11-27 06:35:33 +01:00
Urs Fleisch
bc5e56d3eb
Fix parsing of TXXX frame without description ( #1069 )
2022-11-21 21:42:01 +01:00
Ryan Schmidt
8aa7dd81d8
Fix macOS dylib install name to be absolute path
...
Closes #1065
2022-10-28 18:04:34 +02:00
Urs Fleisch
15ff32b685
Version 1.13
v1.13
2022-10-26 15:44:33 +02:00
Urs Fleisch
084108a908
Document replacements for deprecated functions ( #1001 )
2022-10-26 15:42:49 +02:00
Urs Fleisch
decc0fa50a
Fix Doxygen API documentation
...
Since the Doxygen output changed quite a bit since the styling was adapted for
TagLib, the API documentation generated with Doxygen 1.9.1 has several problems:
- In the namespaces and classes lists, the nodes cannot be expanded,
'N' and 'C' characters are prepended to the namespaces and classes instead
of displaying icons.
- Class members are only accessible for the letter 'a'.
- No "Deprecated" sections are displayed (only the "TAGLIB_DEPRECATED"
definition in the signature).
- Some things are strangely styled (e.g. an empty box on the left of the
"Introduction" title).
Now most of the custom styling is removed to get it running again and to avoid
nasty surprises with doxygen changes.
2022-10-24 07:06:23 +02:00
Urs Fleisch
02c7e34681
MSVC: Disable warnings for internal invocations of API functions
...
https://raw.githubusercontent.com/microsoft/vcpkg/master/ports/taglib/msvc-disable-deprecated-warnings.patch
from Uwe Klotz (uklotzde)
2022-10-23 15:37:06 +02:00
Urs Fleisch
5f079d6992
Use GitHub Actions instead of Travis CI
2022-10-23 11:01:26 +02:00
Daniel Chabrowski
2e90ec0ef0
FileStream: seek only when length exceeds buffer size
2022-10-09 19:50:12 +02:00
Urs Fleisch
9914519d43
Update NEWS for v1.13beta
v1.13beta
2022-09-19 18:07:31 +02:00
Urs Fleisch
f80d11ed2a
MP4: Fix heap-buffer-overflow in mp4properties.cpp ( #1058 )
2022-09-05 06:32:53 +02:00
Urs Fleisch
4e7f844ea6
Correctly parse ID3v2.4.0 multiple strings with single BOM ( #1055 )
...
Some ID3v2.4.0 frames such as text information frames support multiple strings
separated by the termination code of the character encoding. If the encoding
is $01 UTF-16 with BOM, all strings shall have the same byte order. In the
multi strings written by TagLib, all string elements of such a multi string
have a BOM. However, I have often seen tags where a BOM exists only at the
beginning, i.e. at the start of the first string. In such a case, TagLib will
only return a list with the first string and a second empty string. This
commit will detect such cases and parse the strings without BOM according to
the BOM of the first string.
2022-08-01 09:27:35 +02:00
Stephen F. Booth
50b89ad19a
Fix ID3v2 version handling for embedded frames
2022-07-24 15:28:45 +02:00
Urs Fleisch
0470c2894d
Use property "WORK" instead of "CONTENTGROUP" for ID3v2 "TIT1" frame
...
Also use "WORK" for ASF "WM/ContentGroupDescription", as it corresponds
to "TIT1" according to
https://docs.microsoft.com/en-us/windows/win32/wmformat/id3-tag-support .
Add property "COMPILATION" for ID3v2 "TCMP" to be consistent with
MP4 "cpil".
2022-03-15 17:52:44 +01:00