f581615110 
					 
					
						
						
							
							clang-tidy: replace static_cast with dynamic_cast ( #1021 )  
						
						... 
						
						
						
						* clang-tidy: replace static_cast with dynamic_cast
Found with cppcoreguidelines-pro-type-static-cast-downcast
Signed-off-by: Rosen Penev <rosenp@gmail.com > 
						
						
							
						
					 
					
						2021-07-09 21:47:36 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						07eb81e88a 
					 
					
						
						
							
							add missing const  
						
						... 
						
						
						
						Avoids using a non const global variable.
Signed-off-by: Rosen Penev <rosenp@gmail.com > 
						
						
							
						
					 
					
						2021-07-08 20:38:27 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c6f1e2750e 
					 
					
						
						
							
							use std::pair instead of 2D C array ( #1020 )  
						
						... 
						
						
						
						* use std::pair instead of 2D C array
Mostly the same. Except there's now an association between both values.
make_pair has to be used since there's no uniform initialization.
Signed-off-by: Rosen Penev <rosenp@gmail.com > 
						
						
							
						
					 
					
						2021-06-21 08:16:46 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a8884c2b17 
					 
					
						
						
							
							clang-tidy: don't use else after return  
						
						... 
						
						
						
						Found with readability-else-after-return
Signed-off-by: Rosen Penev <rosenp@gmail.com > 
						
						
							
						
					 
					
						2021-06-21 06:49:32 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						76f00c5a8a 
					 
					
						
						
							
							clang-tidy: simplify boolean return  
						
						... 
						
						
						
						Found with readability-simplify-boolean-expr
Signed-off-by: Rosen Penev <rosenp@gmail.com > 
						
						
							
						
					 
					
						2021-06-21 06:49:32 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						68ac7c3106 
					 
					
						
						
							
							clang-tidy: use C++ casting  
						
						... 
						
						
						
						Found with google-readability-casting
Signed-off-by: Rosen Penev <rosenp@gmail.com > 
						
						
							
						
					 
					
						2021-06-21 06:49:32 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						38d1d4c21c 
					 
					
						
						
							
							clang-tidy: add ending namespace comments  
						
						... 
						
						
						
						Found with google-readability-namespace-comments
Signed-off-by: Rosen Penev <rosenp@gmail.com > 
						
						
							
						
					 
					
						2021-06-21 06:49:32 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b77e828d4b 
					 
					
						
						
							
							clang-tidy: remove redundant initializations  
						
						... 
						
						
						
						Found with readability-redundant-member-init
Signed-off-by: Rosen Penev <rosenp@gmail.com > 
						
						
							
						
					 
					
						2021-06-21 06:49:32 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						17e299350a 
					 
					
						
						
							
							Detect by contents if file detected by extension is invalid ( #1011 )  
						
						... 
						
						
						
						This is the case for Opus files with an ogg extension. 
						
						
							
						
					 
					
						2021-05-28 20:25:05 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1d24bd3399 
					 
					
						
						
							
							Fix "error: duplicate ‘volatile’" on systems without HAVE_GCC_ATOMIC in 1.12 ( #1012 )  
						
						... 
						
						
						
						* fix error: duplicate volatile
* fix volatile ATOMIC_INT in constructor 
						
						
							
						
					 
					
						2021-05-13 16:41:35 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4971f8fb03 
					 
					
						
						
							
							ID3v2: Address review comments  
						
						... 
						
						
						
						Change the size check to use isEmpty() as requested. 
						
						
							
						
					 
					
						2021-05-02 12:14:27 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d74689cb93 
					 
					
						
						
							
							ASF: Bounds check the size of each header object  
						
						... 
						
						
						
						UBSan spotted an integer overflow on the line `dataPos += size`, so add
a bounds check to the size that we read. 
						
						
							
						
					 
					
						2021-05-02 12:14:27 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						51ae5748cb 
					 
					
						
						
							
							ID3v2: Return early from decode() on invalid data  
						
						... 
						
						
						
						The while loop in this function assumes that `data.end() - 1` is less
than `data.end()`, which isn't the case if `data` is empty since
`data.end()` can be a nullptr. 
						
						
							
						
					 
					
						2021-05-02 12:14:27 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f2eb331696 
					 
					
						
						
							
							MPC: Fix heap-buffer-overflow in readSV7()  
						
						... 
						
						
						
						If `data` is an allocation of only 3 bytes (MP+) then `data[3]` is a
read past the end of the buffer. 
						
						
							
						
					 
					
						2021-05-02 12:14:27 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5f6bbb20e7 
					 
					
						
						
							
							APE: Fix typo in valLength  
						
						
						
						
							
						
					 
					
						2021-05-02 12:14:27 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						03d03f782e 
					 
					
						
						
							
							APE: Bounds check the length of values  
						
						... 
						
						
						
						`pos`, `valLegnth`, and `data.size()` are all unsigned types so we have
to do a little dance to correctly bounds check them without overflow.
Without this we can get stuck in an infinite loop due to 'pos'
overflowing back to the start of the data. 
						
						
							
						
					 
					
						2021-05-02 12:14:27 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1d3e080f04 
					 
					
						
						
							
							ID3v2: Bounds check a vector's size  
						
						... 
						
						
						
						If the provided vector is empty then `data[0]` dereferences a nullptr,
so add a check that this won't be the case before reading the encoding. 
						
						
							
						
					 
					
						2021-05-02 12:14:27 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3391bd80c4 
					 
					
						
						
							
							FLAC: Validate the size of a read  
						
						... 
						
						
						
						Without this we can crash trying to dereference parts of `header`. 
						
						
							
						
					 
					
						2021-05-02 12:14:27 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1644c0dd87 
					 
					
						
						
							
							Add CMake option for building with ZLib  
						
						
						
						
							
						
					 
					
						2021-03-29 20:21:59 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						85cc41082c 
					 
					
						
						
							
							Update to more modern macOS instructions.  
						
						... 
						
						
						
						Closes  #1005  
					
						2021-03-22 11:36:36 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b5cd4c40e2 
					 
					
						
						
							
							Drop leftovers WITH_ASF and WITH_MP4  
						
						... 
						
						
						
						The options WITH_ASF and WITH_MP4 where remove in commit
dd846904cb 
						
						
							
						
					 
					
						2021-03-06 14:54:31 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						932d45259c 
					 
					
						
						
							
							Fix taglib-config for cross compiling ( #998 )  
						
						
						
						
							
						
					 
					
						2021-03-06 14:52:25 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						844f07d32d 
					 
					
						
						
							
							Make tests work with BUILD_SHARED_LIBS=ON on Windows  
						
						
						
						
							
						
					 
					
						2021-03-06 14:52:25 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						304ab20174 
					 
					
						
						
							
							Install taglib.png icon into html folder structure  
						
						... 
						
						
						
						Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org > 
						
						
							
						
					 
					
						2021-03-06 14:52:25 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						243dd863d7 
					 
					
						
						
							
							Install examples after we selected to build them  
						
						... 
						
						
						
						Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org > 
						
						
							
						
					 
					
						2021-03-06 14:52:25 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d77e2aee0b 
					 
					
						
						
							
							Just set CMAKE_MODULE_PATH instead of list(APPEND), drop ENABLE_STATIC err  
						
						... 
						
						
						
						ENABLE_STATIC error has been there since 2014, that is long enough.
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org > 
						
						
							
						
					 
					
						2021-03-06 14:52:25 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1e636957ab 
					 
					
						
						
							
							Use FeatureSummary for a nice CMake summary output  
						
						... 
						
						
						
						Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org > 
						
						
							
						
					 
					
						2021-03-06 14:52:25 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						507a42871c 
					 
					
						
						
							
							Use GNUInstallDirs  
						
						... 
						
						
						
						Well-established CMake standard for installation directories.
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org > 
						
						
							
						
					 
					
						2021-03-06 14:52:25 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						01348fb619 
					 
					
						
						
							
							Move finding ZLIB to root CMakeLists.txt  
						
						... 
						
						
						
						Small line decrease, but also easier to read what is happening.
Now all dependencies can be read from the root CMakeLists.txt file.
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org > 
						
						
							
						
					 
					
						2021-03-06 14:52:25 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9e0a7f7adb 
					 
					
						
						
							
							Use CMake's CTest which includes BUILD_TESTING option  
						
						... 
						
						
						
						BUILD_TESTING is default enabled, which is a good default anyway.
Move the CppUnit check to the root CMakeLists.txt, simpler and clearer.
BUILD_TESTS is obsolete.
The need for BUILD_SHARED_LIBS=OFF for testing is not clear, it works on Linux.
But I kept it in the instructions for now.
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org > 
						
						
							
						
					 
					
						2021-03-06 14:52:25 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						340ec9932a 
					 
					
						
						
							
							SVG for API doc diagrams makes a lot more sense in 2021  
						
						... 
						
						
						
						This also makes things look non-crappy on high-DPI monitors. 
						
						
							
						
					 
					
						2021-02-16 12:00:52 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c8b39449c3 
					 
					
						
						
							
							Version 1.12  
						
						
						
						
							
 
						
					 
					
						2021-02-15 12:23:07 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bd254654bc 
					 
					
						
						
							
							Update documentation for version 1.12.0  
						
						
						
						
							
						
					 
					
						2021-02-15 10:37:11 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fbc3f9bbec 
					 
					
						
						
							
							Fix doxygen warnings  
						
						
						
						
							
						
					 
					
						2021-02-14 18:20:29 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						99ad01e12f 
					 
					
						
						
							
							Fix file name resolver on Windows  
						
						... 
						
						
						
						The change from "fileref: Use user defined resolvers on streams"
does not work with the Windows FileName implementation, and
TestFileRef::testFileResolver fails. 
						
						
							
						
					 
					
						2021-02-14 18:20:29 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						83aa01c6af 
					 
					
						
						
							
							Ogg: Set granule position to -1 if no packets finish on page ( #864 )  
						
						
						
						
							
						
					 
					
						2021-02-14 10:04:03 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4c14571647 
					 
					
						
						
							
							Update version to 1.12.0  
						
						
						
						
							
 
						
					 
					
						2021-01-23 09:15:32 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f4b476a620 
					 
					
						
						
							
							Add more unit tests  
						
						
						
						
							
						
					 
					
						2021-01-18 20:31:52 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f8d78a61f7 
					 
					
						
						
							
							Merge pull request  #990  from ufleisch/ufleisch/more-tests  
						
						... 
						
						
						
						More unit tests and bug fixes 
						
						
							
						
					 
					
						2021-01-12 18:07:23 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cf6c68bafc 
					 
					
						
						
							
							Support a consistent set of MusicBrainz properties where possible  
						
						... 
						
						
						
						The support for MusicBrainz properties is enhanced with "ARTISTS", "ASIN",
"RELEASECOUNTRY", "RELEASESTATUS", "RELEASETYPE", "MUSICBRAINZ_RELEASETRACKID",
"ORIGINALDATE" on APE, ASF, MP4, ID3v2, and Xiph tags. 
						
						
							
						
					 
					
						2021-01-10 15:19:10 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f7c24930cd 
					 
					
						
						
							
							Add missing iTunes properties for MP4 tags  
						
						
						
						
							
						
					 
					
						2021-01-10 15:18:59 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						310c3bc043 
					 
					
						
						
							
							Add missing 'COMPOSERSORT' property for ID3v2 tags  
						
						
						
						
							
						
					 
					
						2021-01-10 15:18:43 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e6c03c6de8 
					 
					
						
						
							
							Create an APE tag when reading a WavPack file without tags  
						
						... 
						
						
						
						Now it is handled in the same way as for other tags with a
TagUnion. Without this patch, WavPack files without tags cannot
be edited via a FileRef. 
						
						
							
						
					 
					
						2021-01-03 19:06:59 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2c29fbeabb 
					 
					
						
						
							
							Use mapped roles instead of property keys for TIPL roles  
						
						... 
						
						
						
						For an ID3v2 "DJMIXER" property, the "DJ-MIX" TIPL role must be used.
For an ID3v2 "MIXER" property, the "MIX" TIPL role must be used.
Otherwise it will not work when reading the tag and creating
properties from the wrong TIPL roles. 
						
						
							
						
					 
					
						2021-01-03 19:06:59 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4828a3b925 
					 
					
						
						
							
							Do not crash when removing non existing TableOfContentsFrame child  
						
						
						
						
							
						
					 
					
						2021-01-03 19:06:59 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						794a2a0b2b 
					 
					
						
						
							
							Correctly construct PrivateFrame from frame data  
						
						... 
						
						
						
						Frame::setData() has to be used instead of PrivateFrame::setData(). 
						
						
							
						
					 
					
						2021-01-03 19:06:59 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f32d27973f 
					 
					
						
						
							
							Use PCST and not TXXX:PODCAST frame for ID3v2 'PODCAST' property  
						
						
						
						
							
						
					 
					
						2021-01-03 19:06:59 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f74b166435 
					 
					
						
						
							
							Add missing extensions to FileRef::defaultFileExtensions()  
						
						
						
						
							
						
					 
					
						2021-01-03 19:06:59 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c28dc78060 
					 
					
						
						
							
							Add more unit tests  
						
						... 
						
						
						
						This not only increased the test coverage but also revealed some
bugs which are fixed in the following commits. 
						
						
							
						
					 
					
						2021-01-03 19:06:59 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						89fb62cfb1 
					 
					
						
						
							
							Update NEWS  
						
						
						
						
							
						
					 
					
						2021-01-02 10:50:52 +01:00