Rosen Penev and GitHub
f69c21c8e6
Additional none_of conversion ( #1113 )
2023-08-15 09:21:43 -05:00
Rosen Penev and GitHub
574604765f
Use std algorithms ( #1107 )
...
Found with: readability-use-anyofallof
Signed-off-by: Rosen Penev <[email protected] >
2023-08-09 12:09:28 -05:00
Rosen Penev and GitHub
f2d0e664e7
Add ending namespace comments ( #1108 )
...
Found with google-readability-namespace-comments
Signed-off-by: Rosen Penev <[email protected] >
2023-08-07 20:44:11 -05:00
Rosen Penev and GitHub
185bb7042e
Use unique_ptr for d-pointers ( #1095 )
...
* clang-tidy: make deleted members public
One oversight of modernize-use-equals-delete is that the C++11 way of
doing this is to make it public, which makes the warning still trigger.
Signed-off-by: Rosen Penev <[email protected] >
* clang-tidy: add missing deleted functions
Found with cppcoreguidelines-special-member-functions
Signed-off-by: Rosen Penev <[email protected] >
* unique_ptr conversions
unique_ptr is a safer and cleaner way to handle d pointers.
Also added missing = default.
Signed-off-by: Rosen Penev <[email protected] >
---------
Signed-off-by: Rosen Penev <[email protected] >
2023-08-07 15:08:40 -05:00
Rosen Penev and GitHub
843a8aac80
Replace RefCounter with shared_ptr ( #1100 )
...
* clang-tidy: replace RefCounter with shared_ptr
The latter is C++11.
Found with clang-analyzer-webkit.NoUncountedMemberChecker
Signed-off-by: Rosen Penev <[email protected] >
* remove trefcounter
It is now unused.
Signed-off-by: Rosen Penev <[email protected] >
---------
Signed-off-by: Rosen Penev <[email protected] >
2023-08-07 08:40:24 -05:00
Rosen Penev and GitHub
dcef356e3f
Replace raw buffers with std containers ( #1101 )
...
Signed-off-by: Rosen Penev <[email protected] >
2023-08-06 17:46:59 -05:00
Rosen Penev and GitHub
868f4eef3d
Various cleanups ( #1099 )
...
* cmake: remove atomic checks
All this stuff was replaced with std::atomic
Fixes: 9bcba812af
Signed-off-by: Rosen Penev <[email protected] >
* cmake: remove vsnprintf checks
Available since C++11
Signed-off-by: Rosen Penev <[email protected] >
* clang-tidy: const ref conversions
Signed-off-by: Rosen Penev <[email protected] >
* clang-tidy: handle self assignment
Found with bugprone-unhandled-self-assignment,cert-oop54-cpp
Signed-off-by: Rosen Penev <[email protected] >
* clang-tidy: remove wrong forward declarations
Found with bugprone-forward-declaration-namespace
Signed-off-by: Rosen Penev <[email protected] >
---------
Signed-off-by: Rosen Penev <[email protected] >
2023-08-05 10:31:46 -05:00
Rosen Penev and GitHub
c0e9428218
Fix warnings under clang-cl ( #1106 )
...
-Wmicrosoft-unqualified-friend
-Wdllexport-explicit-instantiation-decl
-Wunused-parameter
Signed-off-by: Rosen Penev <[email protected] >
2023-08-05 10:07:52 -05:00
Rosen Penev and GitHub
bec59b4b7b
Convert to range-based for ( #1104 )
...
Found with MSVC: warning C4456
Signed-off-by: Rosen Penev <[email protected] >
2023-08-05 10:00:07 -05:00
Rosen Penev and GitHub
bd6c3ba174
Use constexpr if ( #1103 )
...
Signed-off-by: Rosen Penev <[email protected] >
2023-08-05 09:56:23 -05:00
Rosen Penev and GitHub
ee8124ed7a
Replace unnecessary loop ( #1105 )
...
Signed-off-by: Rosen Penev <[email protected] >
2023-08-05 09:45:32 -05:00
Scott Wheeler
965260e3cb
Add a note about how I generated list of classes
2023-07-30 06:55:23 +02:00
Scott Wheeler
f903e1ad71
Add checks for the expected sizes of all public classes
...
This ensures that d-pointers exist where they're expected, and that
classes are virtual that we expect to be virtual, as well as ensuring
that we get a failure if the class size changes when it shouldn't.
This also fixes the issues that were discovered by adding these tests.
2023-07-30 06:31:48 +02:00
Scott Wheeler
a1bdb0171d
Remove virtual destructors from POD toolkit types
...
This one's been haunting me for a couple decades. "Make all the things
virtual!" was kind of a strategy I had for forward compatibility when I
wrote this code when I was 20 or so and didn't know better.
2023-07-30 02:47:00 +02:00
Stephen Booth and GitHub
9bcba812af
Use C++11 atomics for RefCounter ( #1097 )
2023-07-29 06:58:50 +02:00
Max-F-Helm and Urs Fleisch
271bd05afa
Improve FrameFactory subclassing
...
Change the ID3v2 frame factory so it is possible to subclass it for
implementing own frames. Additionally it splits up the createFrame()
method to make its usage in subclasses a bit more easy.
2023-07-26 07:39:31 +02:00
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
e20a53afbb
C bindings - properties i/f ( #1091 )
...
Support properties in C bindings
---------
Co-authored-by: whatdoineed2do/Ray <[email protected] >
Co-authored-by: Urs Fleisch <[email protected] >
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 and GitHub
39e712796f
ID3v2: Map "TSST" to "DISCSUBTITLE" property ( #1087 ) ( #1088 )
2023-05-26 13:12:19 +02:00
Urs Fleisch and GitHub
97203503b0
Do not miss frames when an extended header is present ( #1081 )
2023-03-18 08:08:37 +01:00
Urs Fleisch and GitHub
e21640bf10
MP4: Detect atoms with invalid length or type ( #1077 )
2023-03-18 08:07:46 +01:00
Ziemowit Łąski and GitHub
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 and GitHub
9ef9514bfa
clang: remove const return ( #1074 )
...
Found with readability-const-return-type
Signed-off-by: Rosen Penev <[email protected] >
Signed-off-by: Rosen Penev <[email protected] >
2022-12-10 11:30:21 +01:00
dabrain34 and GitHub
967c0eefed
cmake: generate pc files with the use of prefix ( #1071 )
2022-12-04 13:27:58 +01:00
Rosen Penev and Urs Fleisch
abbf880872
clang-tidy: use member initializer
...
Found with cppcoreguidelines-prefer-member-initializer
Signed-off-by: Rosen Penev <[email protected] >
2022-11-28 07:04:42 +01:00
Rosen Penev and Urs Fleisch
e49724ae5f
clang-tidy: remove unused declaration
...
Found with bugprone-forward-declaration-namespace
Signed-off-by: Rosen Penev <[email protected] >
2022-11-28 07:04:42 +01:00
Rosen Penev and Urs Fleisch
9427d8f3ba
clang-tidy: use patentheses in macros
...
Found with bugprone-macro-parentheses
Signed-off-by: Rosen Penev <[email protected] >
2022-11-28 07:04:42 +01:00
Rosen Penev and Urs Fleisch
f40290dcaf
clang-tidy: don't assign in if
...
Found with bugprone-assignment-in-if-condition
Signed-off-by: Rosen Penev <[email protected] >
2022-11-28 07:04:42 +01:00
Rosen Penev and Urs Fleisch
983a35f5ae
clang-tidy: avoid C casting
...
Found with google-readability-casting
Signed-off-by: Rosen Penev <[email protected] >
2022-11-28 07:04:42 +01:00
Rosen Penev and Urs Fleisch
4dc6bdcd28
clang-tidy: add ending namespace comments
...
Found with google-readability-namespace-comments
Signed-off-by: Rosen Penev <[email protected] >
2022-11-28 07:04:42 +01:00
Rosen Penev and Urs Fleisch
c963d1189a
clang-tidy: no else after return
...
Found with readability-else-after-return
Signed-off-by: Rosen Penev <[email protected] >
2022-11-27 06:35:33 +01:00