Urs Fleisch
74d93db166
Update changelog for v2.2beta
2026-02-01 12:08:59 +01:00
Stephen Booth
397b6c1de3
Add check for ID3v2 frame data length ( #1300 )
...
Also fix some wrong frame sizes in the unit tests.
---------
Co-authored-by: Urs Fleisch <ufleisch@users.sourceforge.net >
2026-01-31 08:24:54 +01:00
Stephen Booth
51f431c96a
Verify the ID3v2 version and revision are not 0xFF ( #1301 )
2026-01-31 08:21:17 +01:00
Antoine Colombier
11e3eb05bd
MP4: Add support for NI STEM ( #1299 )
2026-01-25 13:33:54 +01:00
Urs Fleisch
2c01b63433
Merge pull request #1149 from complexlogic/matroska
...
Another Matroska Attempt
2026-01-24 15:27:22 +01:00
Urs Fleisch
d83d751443
Matroska: Fix build with older macOS and 32-bit Android compilers
...
When building for macOS < 10.14, the API for std::optional and
std::variant is restricted
error: 'value' is unavailable: introduced in macOS 10.14
error: 'get<..>' is unavailable: introduced in macOS 10.14
There was also an issue with Android armeabi-v7a where long is not
64 bit and a static assertion failed.
2026-01-24 14:59:10 +01:00
Urs Fleisch
f4e7a742c3
Improve Matroska API
...
Make AttachedFile immutable. This is consistent with SimpleTag and
Chapter and avoids using attached files which do not have all required
attributes.
Provide methods to insert and remove a single simple tag, so that
they can be modified without setting all of them while still not
exposing internal lists to the API.
Use DATE_RECORDED instead of DATE_RELEASED for year() and the "DATE"
property. This is more consistent with other tag formats, e.g. for ID3v2
"TDRC" is used, which is the recording time.
2026-01-24 14:59:10 +01:00
Urs Fleisch
68a514f4a0
Matroska: Avoid inlined header methods, only install public headers
2026-01-24 14:59:10 +01:00
Urs Fleisch
607cd5bdf4
Matroska: Fix issues reported by static analysis, formatting, docs
2026-01-24 14:59:10 +01:00
Urs Fleisch
b625be5690
Support for Matroska chapters
2026-01-24 14:59:10 +01:00
Urs Fleisch
d2bf7e72d2
Unit tests for Matroska
2026-01-24 14:59:10 +01:00
Urs Fleisch
280d6306d2
Update property mapping documentation for Matroska
2026-01-24 14:59:10 +01:00
Urs Fleisch
aef78068b3
Render when tags are modified
2026-01-24 14:59:10 +01:00
Urs Fleisch
81815e1091
Include doc type and version in properties
2026-01-24 14:59:10 +01:00
Urs Fleisch
b9122afaca
Preserve track UID in simple tags
...
Some encoders write track specific DURATION tags, which should not be
removed.
2026-01-24 14:59:10 +01:00
Urs Fleisch
1d3a375765
Use segment title as fallback for returned tag title
...
Some applications like handbrake store the title only in the segment
info element.
2026-01-24 14:59:10 +01:00
Urs Fleisch
241b3b2921
Remove offset listeners, they are not used
2026-01-24 14:59:10 +01:00
Urs Fleisch
48104959b2
Integrate cues, fix element rendering and resizing
2026-01-24 14:59:10 +01:00
Urs Fleisch
c817cc0a47
tagwriter: Support setting of complex properties
...
A complex property can be set with
-C <complex-property-key> <key1=val1,key2=val2,...>
The second parameter can be set to "" to delete complex properties with the
given key. The set complex property values, a simple shorthand syntax can be
used. Multiple maps are separated by ';', values within a map are assigned
with key=value and separated by a ','. Types are automatically detected,
double quotes can be used to force a string. A ByteVector can be constructed
from the contents of a file with the path is given after "file://". There is
no escape, but hex codes are supported, e.g. "\x2C" to include a ',' and \x3B
to include a ';'.
Examples:
Set a GEOB frame in an ID3v2 tag:
examples/tagwriter -C GENERALOBJECT \
'data=file://file.bin,description=My description,fileName=file.bin,mimeType=application/octet-stream' \
file.mp3
Set an APIC frame in an ID3v2 tag (same as -p file.jpg 'My description'):
examples/tagwriter -C PICTURE \
'data=file://file.jpg,description=My description,pictureType=Front Cover,mimeType=image/jpeg' \
file.mp3
Set an attached file in a Matroska file:
examples/tagwriter -C file.bin \
'fileName=file.bin,data=file://file.bin,mimeType=application/octet-stream' \
file.mka
Set simple tag with target type in a Matroska file:
examples/tagwriter -C PART_NUMBER \
name=PART_NUMBER,targetTypeValue=20,value=2 file.mka
Set simple tag with binary value in a Matroska file:
examples/tagwriter -C BINARY \
name=BINARY,data=file://file.bin,targetTypeValue=60 file.mka
2026-01-24 14:59:10 +01:00
Urs Fleisch
7a5a10102e
Set Matroska tags which are not in the property map using complex properties
...
Also all attached files can be accessed and modified using complex properties.
2026-01-24 14:59:10 +01:00
Urs Fleisch
d47d28f0f8
Fix and simplify Matroska simple tag
...
Avoid use of raw pointers, fix property interface.
2026-01-24 14:59:10 +01:00
Urs Fleisch
3566b00596
Clean up attachments
...
Avoid use of raw pointers.
2026-01-24 14:59:10 +01:00
Urs Fleisch
98bc68d16e
Implement complex properties for Matroska
2026-01-24 14:59:10 +01:00
Urs Fleisch
8d02484804
Replace raw pointers by smart pointers
...
Also improve type safety and consistency.
2026-01-24 14:59:10 +01:00
Urs Fleisch
cfade6d082
Implement Matroska audio properties
2026-01-24 14:59:10 +01:00
Urs Fleisch
f7ab162514
Make tags and properties more flexible
2026-01-24 14:59:10 +01:00
Urs Fleisch
5a6f1f96f8
Apply TagLib code formatting, fix static analysis issues
2026-01-24 14:59:10 +01:00
Urs Fleisch
6fa3db1e51
C bindings, fileref, fix warnings
2026-01-24 14:59:10 +01:00
Urs Fleisch
4546c00417
Compile time configuration WITH_MATROSKA
2026-01-24 14:59:10 +01:00
complexlogic
f94843614f
Initial cues work
2026-01-24 14:59:10 +01:00
complexlogic
975eaac3ca
Fix seekhead
2026-01-24 14:59:10 +01:00
complexlogic
6d019a894c
Initial attachments support
2026-01-24 14:59:10 +01:00
complexlogic
6342f00e8b
Support tag language
2026-01-24 14:59:10 +01:00
complexlogic
b4e79a4a27
Fix Clang build
2026-01-24 14:59:10 +01:00
complexlogic
80837485cf
Added write support
2026-01-24 14:59:10 +01:00
complexlogic
47e9b9a17c
Initial matroska support
2026-01-24 14:59:10 +01:00
Stefan Brüns
8c7d3368da
Fix reading of last page in ogg stream
...
When trying to read a packet from the last page the readPages() method
would return false for all packets on the last page.
Move the lastPage check just before trying to create the next page, and
after the packetIndex check of the last fetched page.
2026-01-18 20:08:09 +01:00
Stefan Brüns
b4a4b42254
Avoid corrupting an (invalid) FLAC Ogg file without Vorbis comment
...
FLAC in Ogg must have a Vorbis comment Metadata block, but in case
the file still has none avoid overwriting the first packet, i.e.
the Streaminfo Metadata block.
2026-01-18 20:08:09 +01:00
Stefan Brüns
70c6a0c75f
Set last header flag in FLAC Metadata block type field
...
In case the Vorbis comment block is the last one the last block flag
has to be set.
As the other metadata blocks are kept as is, and in original order,
and no other metadata blocks are added/inserted, these can be kept
as is.
Also warn if the header scan loop detects a frame sync sequence (which
is the head of the first non-header packet). Previously, this was
detected as the last header packet, but streamStart and streamLength
are unused, and all packets but the vorbis comment packet are just copied
in order.
See taglib#1297
2026-01-18 20:08:09 +01:00
Stefan Brüns
c67e434939
Do not warn when seeing FLAC picture block in Ogg files
2026-01-18 20:08:09 +01:00
Urs Fleisch
5d44f3eeac
MP4: Support 64-bit atoms on Windows
...
The check for the size of long is no longer needed because since
TagLib 2.0 the related fields are 64-bit on Windows too.
Related to https://bugs.kde.org/show_bug.cgi?id=513531
2026-01-11 20:24:33 +01:00
dependabot[bot]
9c042984d2
Bump actions/checkout from 5 to 6 ( #1294 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-24 06:57:09 -06:00
Rosen Penev
49be371caa
std::accumulate conversion
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2025-10-25 13:00:24 +02:00
Andreas Sturmlechner
cbb3de6836
Fix cmake_minimum_required version range typo
...
While CMake appears to accept the ".." notation, it does not correctly
apply the policy_max version in that case.
Amends ab31d11c8d
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org >
2025-10-22 16:37:21 +02:00
Rosen Penev
11efd2dd10
std::none_of conversion
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2025-10-21 07:17:13 +02:00
Andreas Sturmlechner
ab31d11c8d
Raise CMake minimum version to 3.10..3.31 range
...
CMake 3.10 was released in 2017.
Amends 967aaf7af2 , fixes warning since CMake-3.31:
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org >
2025-10-18 17:00:09 +02:00
Artem Umerov
3c917caf52
Fix std::ostream not defined on Android NDK 29.0.14033849
...
Fix std::ostream not defined on Android NDK 29.0.14033849
2025-09-04 22:16:59 +02:00
dependabot[bot]
fa96a6458e
Bump actions/checkout from 4 to 5 ( #1283 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-18 07:03:51 -05:00
norma
e831f0929f
Fix Unicode property keys in C bindings
...
The C bindings would convert a char* to String using the default
constructor, which uses the Latin1 encoding, breaking when a key
contains a Unicode character (e.g. an ID3v2 comment description).
2025-07-04 09:43:34 +02:00
Urs Fleisch
7d86716194
Version 2.1.1
2025-06-29 17:35:45 +02:00
Urs Fleisch
eb749ac55b
Use ldexpl() instead of ldexp()
...
This will fix "warning: conversion from ‘long double’ to
‘double’ may change value [-Wfloat-conversion]".
2025-06-25 22:08:09 +02:00
Urs Fleisch
148cc9a921
Fix conversion compiler warnings
...
Using a release build with GCC 14.2.0 and -Wextra -Wconversion -Wall.
The generated binaries are not changed by this commit.
2025-06-25 22:08:09 +02:00
Urs Fleisch
88d6b18b4f
Convert IPLS to TIPL and TMCL ( #1274 )
...
The involvement/involvee pairs which are supported for TIPL properties
(ARRANGER, ENGINEER, PRODUCER, DJ-MIX, MIX) are left in the TIPL
frame, other pairs are moved to a TMCL frame. This will result in a
consistent behavior for both ID3v2.3 and ID3v2.4 tags produced by
MusicBrainz Picard.
2025-06-21 10:45:43 +02:00
Urs Fleisch
d61a333f27
Map lowercase MusicBrainz TIPL keys to properties ( #1274 )
2025-06-21 10:45:43 +02:00
Urs Fleisch
e73517d058
CMake targets with TAGLIB_STATIC compile definition ( #1277 )
2025-06-20 10:19:01 +02:00
Urs Fleisch
6563ceaafa
C bindings: Include missing wchar header in tag_c.h ( #1273 )
...
In C++, wchar_t is a built-in fundamental type, but in C, it is not.
Compilation with MinGW will fail without a header included which
defines wchar_t (wchar.h or stddef.h). The other compilers used in our
CI (gcc on Ubuntu, clang on macOS and MSVC on Windows) seem to
know wchar_t without an include.
2025-06-14 08:53:30 +02:00
Urs Fleisch
c57431e903
GitHub Actions: Build with MinGW
2025-06-14 08:53:30 +02:00
Urs Fleisch
42dcfec86b
Use tag_c.h as first include in build with C compiler ( #1273 )
...
This will fail on MinGW because its gcc does not have wchar_t without
including wchar.h. With g++ as used with test_tag_c.cpp, the problem is
undetected because g++ supports wchar_t without including wchar.h.
2025-06-14 08:53:30 +02:00
Urs Fleisch
d48f02030d
Version 2.1
2025-05-21 21:05:30 +02:00
Jamie
3ccc390155
Add file_new and file_new_type wchar variants for C binding ( #1271 )
2025-05-16 17:01:23 +02:00
Urs Fleisch
fbbead3efd
Support custom temp and tests directories ( #1268 ) ( #1270 )
...
The following user-settable values for CMake are supported:
- TESTS_DIR: Tests directory, is path to unit test data when 'data' is
appended. Can be used to run the unit tests on a target.
- TESTS_TMPDIR: Directory for temporary files created during unit tests,
system tmpdir is used if undefined. Has to be defined on systems
without global temporary directory.
2025-05-01 19:55:46 +02:00
Urs Fleisch
ee1931b811
Compile time configuration of supported formats ( #1262 )
...
CMake options WITH_APE, WITH_ASF, WITH_DSF, WITH_MOD, WITH_MP4,
WITH_RIFF, WITH_SHORTEN, WITH_TRUEAUDIO, WITH_VORBIS, by default,
they are all ON.
2025-02-02 12:24:26 +01:00
Stephen Booth
648f5e5882
Add Shorten (SHN) support ( #1257 )
...
* Add Shorten (SHN) support
* Add `<cmath>` include and use `std::log2`
* Use `uintptr_t` for buffer size calculations
* Work around `byteSwap` not using fixed width types
* Remove four-character codes
* Attempt to fix `static_assert`
* Revert previous commit
* Update `read_uint`* functions
* Use ByteVector for byte swaps
* Use different ByteVector ctor
* Rework variable-length input to use ByteVector
* Rename some variables
* Naming and formatting cleanup
* Add basic Shorten tests
* Rename a constant
* Rename `internalFileType` to `fileType`
* Add documentation on `fileType` meaning
* Add DO_NOT_DOCUMENT guard
* Fix shadowVariable issues reported by cppcheck
cppcheck --enable=all --inline-suppr \
--suppress=noExplicitConstructor --suppress=unusedFunction \
--suppress=missingIncludeSystem --project=compile_commands.json
* Formatting cleanup
* More explicit types
Reason for these changes: getRiceGolombCode(k, uInt32CodeSize) was
called with int k for uint32_t& argument.
There was also a warning from MSVC for line 299:
warning C4267: 'argument': conversion from 'size_t' to 'int'
* Additional explicit types
* Rename `SHN` namespace to `Shorten`
Also rename files to match
---------
Co-authored-by: Urs Fleisch <ufleisch@users.sourceforge.net >
2024-12-30 07:23:11 -06:00
Stephen Booth
c1c60ebeea
Use fixed width types ( #1258 )
...
Use fixed width types in `byteSwap` functions
2024-12-22 07:02:05 -06:00
Urs Fleisch
3bc0ea0ecb
Preserve unicode encoding when downgrading to ID3v2.3 ( #1259 ) ( #1260 )
2024-12-22 12:07:25 +01:00
Christian Schmitz
225c73e181
Fixed warning about shadowing variable ( #1254 )
...
You can't name parameter and structure field the same as complier frequently complain about this.
2024-11-22 06:55:34 +01:00
Urs Fleisch
90f62a3c94
Do not store too large FLAC metadata blocks ( #1249 ) ( #1250 )
...
The size of FLAC metadata blocks is stored in only 24 bits. Remove
blocks exceeding this limit when saving FLAC and Ogg FLAC files.
2024-11-14 17:43:18 +01:00
Urs Fleisch
5b6f9ef848
Fix segfaults with String and ByteVector nullptr arguments ( #1247 ) ( #1248 )
2024-11-02 06:39:21 +01:00
Urs Fleisch
e3de03501f
Version 2.0.2
2024-08-24 06:40:41 +02:00
Urs Fleisch
1bd0d711ca
Support older utfcpp versions with utf8cpp CMake target ( #1243 ) ( #1244 )
...
This affects for example openSUSE Leap 15.6, which installs
utfcpp 3.2.1 in its own folder.
Now not only utf8::cpp, but also utf8cpp is supported as a CMake
target.
2024-08-15 12:44:17 +02:00
nekiwo
7c85fcaa81
Remove 'using namespace std' to avoid potential conflicts in example files ( #1241 )
...
Co-authored-by: nekiwo <nekiwo@users.noreply.github.com >
2024-08-05 21:54:33 +02:00
Urs Fleisch
cbe54d2f40
Support free form tags with MP4 properties ( #1239 ) ( #1240 )
2024-07-29 20:24:33 +02:00
Urs Fleisch
c4ed590032
tagwriter option -p not working properly ( #1236 ) ( #1237 )
...
The -p option of tagwriter sample does not work.
This is because the picture file is open in text mode instead of binary.
Also, the isFile function does not work on Windows in 32 bit mode with
large files. Using _stat64 instead of stat solves the problem.
2024-07-19 12:25:46 +02:00
Stephen Booth
f3fb4d83a4
Skip unknown MP4 boxes ( #1231 )
2024-05-18 06:45:10 +02:00
Urs Fleisch
3d4428726e
Fix parsing of ID3v2.2 frames ( #1228 )
2024-05-18 06:43:00 +02:00
Urs Fleisch
ebf4c5bbb1
Version 2.0.1
2024-04-09 19:55:08 +02:00
Urs Fleisch
20cec27ac0
C bindings: Support UTF-8 for property values
2024-04-01 08:45:52 +02:00
Urs Fleisch
99bc87ccff
Fix WASM build by inverting wchar_t size check
...
When building WASM with emscripten
cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/Emscripten.cmake ...
all SIZEOF_ variables which should be defined in ConfigureChecks.cmake
are empty and the wchar_t check fails with "LESS" "2", the other
checks seem to pass since they start with NOT. Instead of explicitly
skipping the check for "if(NOT EMSCRIPTEN)" as is done in vcpkg's
disable-wchar-t-check-emscripten.patch, the check is inverted to
start with NOT, so the build still has a chance to run for compilers
which behave like emscripten.
2024-03-25 20:14:19 +01:00
Urs Fleisch
7951f572b5
Avoid offset_t conflict on Illumos
...
Taken from NetBSD patch-taglib_toolkit_taglib.h.
2024-03-25 20:14:19 +01:00
Urs Fleisch
59ff35772e
Fix building with -DBUILD_TESTING=ON -DBUILD_BINDINGS=OFF
2024-03-25 20:14:19 +01:00
Urs Fleisch
3784628155
Provide equal operator for MP4::Item
...
This is needed to generate MP4::ItemMap bindings with SWIG.
2024-03-25 20:13:55 +01:00
Urs Fleisch
e60df53152
Add virtual to abstract overridden destructor
...
This is redundant, but required by SWIG.
2024-03-25 20:13:55 +01:00
Urs Fleisch
1ae8e18db5
Windows: Suppress yet another MSVC C4251 warning
2024-03-25 20:13:55 +01:00
Urs Fleisch
0896fb9092
Detect utf8cpp by header if cmake config is not found ( #1217 )
2024-02-03 06:28:40 +01:00
Jonas Kvinge
920d97606b
FileStream: Fix opening long paths on Windows ( #1216 )
...
To make sure paths longer than MAX_PATH (260) can be opened, prefix local
paths with `\\?\`, and UNC paths with `\\?\UNC\`.
I've tested on Windows 10 22H2 (Build 19045.3930), even when setting
LongPathsEnabled to 1 in the registry, it still won't open files with long
paths without prefixing them.
For more information see:
https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry
2024-01-28 16:22:14 +01:00
Urs Fleisch
0d2c31b102
Clarify 2.0 source compatibility, remove obsolete URL ( #1214 )
2024-01-28 07:17:05 +01:00
Urs Fleisch
c8c4e5faec
Fix 'get() != pointer()' assertion copying ByteVectorList/StringList ( #1211 )
...
This reverts dfef09f13 but keeps the assignments as a comment so these
functions do not look like they can be defaulted even though they cannot.
2024-01-27 10:56:31 +01:00
Urs Fleisch
0ebb14b855
Version 2.0
2024-01-24 05:10:43 +01:00
Rosen Penev
89af92333c
clang-tidy: use dynamic_cast
...
Found with cppcoreguidelines-pro-type-static-cast-downcast
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-22 18:35:30 +01:00
Rosen Penev
b356fabe12
clang-tidy: avoid else after return
...
Found with: readability-else-after-return
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-22 18:35:30 +01:00
Rosen Penev
8a65068f3b
clang-tidy: fix wrong cast
...
Found with bugprone-misplaced-widening-cast
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-22 18:35:30 +01:00
Rosen Penev
e1ac724cfe
convert const double to const auto
...
Fixes some Wconversion warnings.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-22 18:35:30 +01:00
Urs Fleisch
a08acdcf23
Remove unused types from taglib.h
2024-01-21 20:46:27 +01:00
Urs Fleisch
1799b98c17
Inspection: Table is not correctly formatted
2024-01-21 20:46:27 +01:00
Urs Fleisch
e49390c7c5
Inspection: Type can be replaced with auto
2024-01-21 20:46:27 +01:00
Urs Fleisch
7bcfb96098
Inspection: Code redundancies
2024-01-21 20:46:27 +01:00
Urs Fleisch
580b0b0c82
Inspection: Possibly unused #include directive
2024-01-21 20:46:27 +01:00
Urs Fleisch
5fc3e5c192
Inspection: Possibly uninitialized class member
2024-01-21 20:46:27 +01:00
Urs Fleisch
570b40bdcd
Inspection: Polymorphic class with non-virtual public destructor
2024-01-21 20:46:27 +01:00
Urs Fleisch
c3d73a26ff
Inspection: Parameter names do not match
2024-01-21 20:46:27 +01:00
Urs Fleisch
790815bcf4
Inspection: Missing include guard
2024-01-21 20:46:27 +01:00
Urs Fleisch
1a5c417558
Inspection: Function is not implemented
2024-01-21 20:46:27 +01:00
Urs Fleisch
d87b2dad48
Inspection: Expression can be simplified
2024-01-21 20:46:27 +01:00
Urs Fleisch
613355665c
Inspection: Variable can be moved to inner scope
2024-01-21 20:46:27 +01:00
Urs Fleisch
dfe2aa5253
Inspection: Variable can be moved to init statement
2024-01-21 20:46:27 +01:00
Urs Fleisch
5d921c6325
Inspection: Variable can be made constexpr
2024-01-21 20:46:27 +01:00
Urs Fleisch
710522e6e1
Inspection: Result of a postfix operator is discarded
2024-01-21 20:46:27 +01:00
Urs Fleisch
6b17aa3694
Inspection: Parameter can be made pointer to const
2024-01-21 20:46:27 +01:00
Urs Fleisch
b4f77a4d52
Inspection: Member function can be made const
2024-01-21 20:46:27 +01:00
Urs Fleisch
c907d8b273
Inspection: Functional-style cast is used instead of a C++ cast
2024-01-21 20:46:27 +01:00
Urs Fleisch
98175168f3
Inspection: Declaration and assignment can be joined
2024-01-21 20:46:27 +01:00
Urs Fleisch
73aff544b3
Inspection: C-style cast is used instead of a C++ cast
2024-01-21 20:46:27 +01:00
Rosen Penev
9cbb6615d5
clang-tidy: use using
...
Found with modernize-use-using
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-19 21:57:55 +01:00
Rosen Penev
8b7b48cc9b
clang-tidy: add ending namespace comments
...
Found with llvm-namespace
2024-01-19 21:57:55 +01:00
Rosen Penev
be8d71dad8
MSVC: fix signed/unsigned comparison
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-19 21:57:55 +01:00
Rosen Penev
6abbe579a2
clang-tidy: remove virtual from prot destructors
...
Found with cppcoreguidelines-virtual-class-destructor
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-19 21:57:55 +01:00
Rosen Penev
208fc93aaa
cppcheck: match function argument names
...
Found with funcArgNamesDifferent
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-19 21:57:55 +01:00
Rosen Penev
769feafbe0
cppcheck: include system headers with <>
...
Found with missingInclude
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-19 21:57:55 +01:00
Rosen Penev
dfef09f134
cppcheck: assign d to a value
...
Found with operatorEqVarError, missingMemberCopy
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-19 21:57:55 +01:00
Rosen Penev
3a003c1229
cppcheck: add const
...
Found with constVariablePointer, constParameterPointer
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-19 21:57:55 +01:00
Rosen Penev
8b9a260d18
clang-tidy: fix doubled cases
...
Found with bugprone-branch-clone
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-19 21:57:55 +01:00
Rosen Penev
c2eb6b59b5
clang-tidy: avoid endl
...
Found with performance-avoid-endl
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-19 21:57:55 +01:00
Rosen Penev
99ba7635be
clang-tidy: remove pointless const
...
Found with cppcoreguidelines-avoid-const-or-ref-data-members
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-19 21:57:55 +01:00
Rosen Penev
82b5ded8ee
tvariant: fix -Wconversion warning
...
char -> wchar_t. Just directly use int and remove the cast.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2024-01-19 21:57:55 +01:00
Urs Fleisch
0318201fbd
Make classes with destructor as only virtual member non-virtual
...
These classes are probably not meant to be used polymorphically.
2024-01-17 21:25:44 +01:00
Urs Fleisch
6c1ba88eab
Make Frame::Header::size(), Frame::headerSize() const
2024-01-17 21:25:44 +01:00
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
Urs Fleisch
51d63ab285
Detach list when setAutoDelete() is called
...
When calling setAutoDelete() on the implicitly shared copy of a list,
also auto-deletion of the original container was modified because
it was not detached. On the other hand, detach() was called by some
methods getting an Iterator parameter, which can lead to modification
of other implicitly shared copies but not the object is was called on.
This happens when the method is called on a not-already-detached
container, which is normally not the case because the container is
detached when the iterator is taken (e.g. calling begin()).
In such methods detach() cannot be called, and the client must
make sure that the iterator is taken after making an implicit copy.
This will NOT work:
List<int> l1 = { 1 };
auto it = l1.begin();
List<int> l2 = l1;
l1.erase(it);
This will modify both l1 and l2. The second and the third lines
must be swapped so that l1.begin() will detach l1 from l2.
2023-12-02 08:03:14 +01:00
Urs Fleisch
3f11e0ae2f
TestId3v2FrameFactory: Fix memory leak
...
The frames in a frameList() copy were not deleted because it had the
autoDelete property active. However, removed frames cannot be auto
deleted. Using setAutoDelete() affects the source of the copy, which has
to be investigated further.
2023-12-01 07:55:55 +01:00
Urs Fleisch
bd06012b02
Implement property interface for RIFF Info
2023-12-01 07:55:55 +01:00
Urs Fleisch
9233ff1f5d
Support OWNER property for MP4
...
OWNER ownr
2023-12-01 07:55:55 +01:00
Urs Fleisch
88219f2493
Support additional properties for ASF
...
ARTISTWEBPAGE WM/AuthorURL
ENCODING WM/EncodingSettings
INITIALKEY WM/InitialKey
ORIGINALALBUM WM/OriginalAlbumTitle
ORIGINALARTIST WM/OriginalArtist
ORIGINALFILENAME WM/OriginalFilename
ORIGINALLYRICIST WM/OriginalLyricist
2023-12-01 07:55:55 +01:00
Urs Fleisch
9df243ef74
Separate multiple values in basic tag with " / " instead of " "
2023-12-01 06:22:35 +01:00
Urs Fleisch
c1bb678695
Remove redundant UserTextIdentificationFrame::fieldList()
2023-12-01 06:22:35 +01:00
Urs Fleisch
56382e8cd4
Return tag union for tag() of WAV file
2023-12-01 06:22:35 +01:00
Urs Fleisch
8bb8fc5fe6
Remove null byte removal for table of contents frame
2023-12-01 06:22:35 +01:00
Urs Fleisch
8b564baf01
Make PropertyMap::unsupportedData() const
2023-12-01 06:22:35 +01:00
Urs Fleisch
3d67b139e4
Fix extensibility of ID3v2 FrameFactory
...
Because the main extension point of FrameFactory was using a protected
Frame subclass, it was not really possible to implement a custom frame
factory. Existing Frame subclasses also show that access to the frame
header might be needed when implementing a Frame subclass.
2023-11-23 16:41:46 +01:00
Urs Fleisch
59166f6757
ID3v2: Always pass correct FrameFactory from File to Tag
2023-11-23 16:41:46 +01:00
Urs Fleisch
b993e70cf4
Use ID3v2::FrameFactory also for AIFF
2023-11-23 16:41:46 +01:00
Urs Fleisch
b7dc1ab8ac
Fail MPEG header check when frame length is zero ( #1174 )
2023-11-23 16:41:13 +01:00
Urs Fleisch
c86a2fce70
Fix MPC content check in presence of ID3v2 tag
2023-11-23 16:41:13 +01:00
Urs Fleisch
faddc4aa06
Export CMake configuration
...
This will install a <libdir>/cmake/taglib/ folder with CMake
configuration, so that users can simply use
find_package(TagLib)
add_executable(myproject ...)
target_link_libraries(myproject TagLib::tag)
2023-11-23 16:40:40 +01:00
Urs Fleisch
16326b2479
Restore ZLIB_LIBRARIES_FLAGS, used for .pc files
2023-11-23 16:40:40 +01:00
Urs Fleisch
c083d7ce15
Clients can control supported MP4 atoms using an ItemFactory ( #1175 )
2023-11-23 16:39:57 +01:00
Urs Fleisch
9679b08120
Verify type of ID3v2 frames used for complex properties ( #1173 )
...
A frame with ID "APIC" is not guaranteed to be an AttachedPictureFrame,
it can also be an invalid UnknownFrame with ID "APIC". Check the types
of the frames before accessing them.
2023-11-09 20:59:47 +01:00
Urs Fleisch
0e395f4ec4
Use ID3v2::FrameFactory also for WAV and DSDIFF ( #1172 )
...
* Use ID3v2::FrameFactory also for WAV and DSDIFF
* Apply suggestions from code review
Co-authored-by: Kevin André <hyperquantum@gmail.com >
---------
Co-authored-by: Kevin André <hyperquantum@gmail.com >
2023-11-09 18:58:51 +01:00
Urs Fleisch
52b245f015
MP4: Use integer instead of boolean for hdvd atom ( #1169 ) ( #1170 )
2023-11-05 14:40:49 +01:00
Urs Fleisch
2f4c76b52a
MP4: Get duration from mvhd if not present in mdhd ( #1165 ) ( #1168 )
2023-11-05 14:40:37 +01:00
Urs Fleisch
dfa33bec08
Fix crash with invalid WAV files ( #1163 ) ( #1164 )
...
With specially crafted WAV files having the "id3 " chunk as the
only valid chunk, when trying to write the tags, the existing
"id3 " chunk is removed, and then vector::front() is called on
the now empty chunks vector.
Now it is checked if the vector is empty to avoid the crash.
2023-11-05 14:40:18 +01:00
Urs Fleisch
f202fa25c3
GitHub Actions: Update Homebrew utfcpp to 4.0.2 ( #1171 )
...
Revert "Fix build on Mac with Homebrew utf8cpp"
This reverts commit 70b4ce79fb .
Is now fixed upstream
https://github.com/nemtrif/utfcpp/pull/113
https://github.com/nemtrif/utfcpp/releases/tag/v4.0.2
https://github.com/Homebrew/homebrew-core/pull/153333
2023-11-05 14:39:33 +01:00
Urs Fleisch
70b4ce79fb
Fix build on Mac with Homebrew utf8cpp
2023-11-03 22:53:31 +01:00
Urs Fleisch
8c63c877ad
Add "MP2" to supported file extensions
2023-11-03 17:05:29 +01:00
Nick Shaforostoff
3869aa189f
Raw AAC (ADTS) support ( #508 )
...
Detect ADTS MPEG header to use it also for AAC.
The test file empty1s.aac was generated using
ffmpeg -f lavfi -i anullsrc=r=11025:cl=mono -t 1 -acodec aac empty1s.aac
---------
Co-authored-by: Nick Shaforostov <mshaforostov@airmusictech.com >
Co-authored-by: Urs Fleisch <ufleisch@users.sourceforge.net >
2023-11-03 05:17:39 +01:00
Urs Fleisch
a7c0b53f7a
C bindings: taglib_file_new_iostream() to access file from memory ( #987 )
...
A ByteVectorStream can be created/freed from C using
taglib_memory_iostream_new()/taglib_iostream_free().
2023-10-27 09:46:54 +02:00
Urs Fleisch
135c0eb647
tagreader: Fix displaying of seconds in length, UTF-8 for ostream
...
The padding was wrong, 8 seconds were displayed as 0:80 instead of 0:08.
Also make the output of tagreader and tagreader_c the same, including
the encoding, which was still ISO-8859-1 for std::ostream.
2023-10-27 09:46:54 +02:00
Urs Fleisch
0db487bf61
Remove deprecated FileRef::create() method
...
In order to achieve this, the TagLib_File type of the C bindings is now
a FileRef and no longer a File. The support for the .oga extension has been
ported to FileRef(), so that taglib_file_new() should still behave the
same, but additionally also support content based file type detection.
2023-10-27 09:46:54 +02:00
Urs Fleisch
8d98ebf24b
Provide properties methods on FileRef, make FileRef non-virtual
...
Use of FileRef::file() is discouraged, but was necessary to access the
properties. It was also not clear whether to access the properties via
tag() or file(). With the property methods on FileRef, it should become
the "simple usage" interface it was meant to be.
As the destructor was the only virtual method on FileRef, it is now made
non-virtual. Probably, it is not useful as a virtual base class.
2023-10-27 09:46:54 +02:00
Urs Fleisch
11f94903d0
DSDIFF: Add tests for ID3 in PROP and DIIN chunks
2023-10-23 06:06:05 +02:00
Urs Fleisch
dce8e016b9
DSDIFF: Fix MSVC warnings
2023-10-23 06:06:05 +02:00
Urs Fleisch
6b5f28d56d
DSDIFF: Fix adding and removing DIIN chunks
...
Also modernize and simplify code, fix formatting, support
ID3v2FrameFactory, fix updating the internal chunk bookkeeping
after file modifications, stripping ID3 and DIIN tags.
2023-10-23 06:06:05 +02:00
Stephen F. Booth
19cceab211
DSDIFF support, add tests, fix formatting
2023-10-23 06:06:05 +02:00
Urs Fleisch
182edcd3f9
Add unit tests for C bindings
2023-10-21 06:19:55 +02:00
Urs Fleisch
a3ad2d0aaa
C bindings for complex properties like pictures ( #953 )
...
Provides a unified API for complex properties in the same way as
the Properties API in the C bindings. Since constructing and
traversing complex properties in C is a bit complicated, there
are convenience functions for the most common use case of getting
or setting a single picture.
TAGLIB_COMPLEX_PROPERTY_PICTURE(props, data, size, "Written by TagLib",
"image/jpeg", "Front Cover");
taglib_complex_property_set(file, "PICTURE", props);
and
TagLib_Complex_Property_Attribute*** properties =
taglib_complex_property_get(file, "PICTURE");
TagLib_Complex_Property_Picture_Data picture;
taglib_picture_from_complex_property(properties, &picture);
2023-10-21 06:19:55 +02:00
complexlogic
1d213b8b98
List: Add Sort Functions ( #1160 )
2023-10-18 07:54:22 +02:00
complexlogic
b40b834b1b
Add ByteVector conversion functions, tests
2023-10-15 08:29:58 +02:00
Urs Fleisch
6be03b7ae1
Unified interface for complex properties like pictures ( #94 )
...
Provides a dynamic interface for properties which cannot be represented
with simple strings, e.g. pictures. The keys of such properties can
be queried using `complexPropertyKeys()`, which could return for example
["PICTURE"]. The property can then be read using
`complexProperties("PICTURE")`, which will return a list of variant maps
containing the picture data and attributes. Adding a picture is as
easy as
t->setComplexProperties("PICTURE", {
{
{"data", data},
{"pictureType", "Front Cover"},
{"mimeType", "image/jpeg"}
}
});
2023-10-14 09:01:59 +02:00
Urs Fleisch
75d4252480
Variant type as container for complex properties
2023-10-14 09:01:59 +02:00
Urs Fleisch
304ab62957
Fix building without zlib
2023-10-14 09:01:59 +02:00
Rosen Penev
89a54863ee
std::array conversion ( #1157 )
2023-10-09 17:09:27 +02:00
nmariusp
3f25d3c342
Proofreading ( #1155 )
...
---------
Co-authored-by: Urs Fleisch <ufleisch@users.sourceforge.net >
2023-10-08 05:58:33 +02:00
Urs Fleisch
2e3a66cc31
Fix memory leak in testParsePodcastFrame()
2023-10-07 09:18:22 +02:00
Urs Fleisch
41077aa57e
Braced list initialization for StringList and ByteVectorList ( #1154 )
...
Additionally, provide operator==() and operator!=() for Map and
operator<<() for ByteVectorList to facilitate the writing of tests.
2023-10-07 08:51:17 +02:00
complexlogic
21b08c0dcb
List: Support Braced List Initialization ( #1154 )
...
* List: support braced list initialization
* Use swap for assignment
---------
Co-authored-by: complexlogic <complexlogic@users.noreply.github.com >
2023-10-07 07:27:29 +02:00
complexlogic
8a800b8c38
Map: Support Braced List Initialization ( #1153 )
...
* Map: support braced list initialization
* Use swap assignment
---------
Co-authored-by: complexlogic <complexlogic@users.noreply.github.com >
2023-10-07 07:27:14 +02:00
Kevin André
c332aa04f2
Add simple runtime version check API ( #970 )
...
How to use:
#include <tversionnumber.h>
if (TagLib::runtimeVersion() >= TagLib::VersionNumber(1, 11, 1)) {
// running v1.11.1 or higher
}
if (TagLib::runtimeVersion() >= TagLib::VersionNumber(1, 12)) {
// running v1.12 or higher
}
---------
Co-authored-by: Urs Fleisch <ufleisch@users.sourceforge.net >
2023-10-06 14:15:30 +02:00
Urs Fleisch
24e0ac7aa4
Do not use tabs in CMake files
2023-09-30 15:12:51 +02:00
evpobr
ad1696ade6
Fix undefined PLATFORM_WINRT CMake option ( #870 )
2023-09-30 14:34:58 +02:00
Urs Fleisch
c13a42021a
Do not scan full MPEG file for ID3v2 tag in Fast read style ( #968 ) ( #1151 )
...
This is based on the patch used by VLC, but the full scan is only
skipped when the read style is explicitly set to Fast.
https://code.videolan.org/videolan/vlc/-/blob/master/contrib/src/taglib/0001-Implement-ID3v2-readStyle-avoid-worst-case.patch
2023-09-30 14:25:52 +02:00
Jan Palus
2154078187
cmake: support both relative and absolute paths for pc files ( #1152 )
...
cmake supports both absolute and relative to prefix install dirs. #1071
effectively mandated relative paths only. check if install dir is
relative or absolute and either include ${prefix} in pc file or not
Fixes #1098
2023-09-30 14:25:00 +02:00
Urs Fleisch
eaf7ff8b94
DSF: Support frame factory, ID3v2.3, allow trailing garbage
...
Additionally test coverage and formatting are improved.
2023-09-26 16:23:03 +02:00
Stephen F. Booth
39d1d68237
DSD Stream File (DSF) support
2023-09-26 16:23:03 +02:00
Rosen Penev
e275abb8a3
Convert private raw pointers to unique_ptr ( #1127 )
...
Simplifies the code quite a bit.
2023-09-23 06:46:05 +02:00
nmariusp
967aaf7af2
Require CMake version 3.5 ( #1148 )
...
Fix issue "CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.".
2023-09-16 22:00:22 -05:00
Rosen Penev
48c4bf9c05
change two loops to while ( #1147 )
...
and one to for range.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-16 13:28:12 +02:00
Rosen Penev
bdf50eda99
use some more auto ( #1146 )
2023-09-16 13:12:04 +02:00
Rosen Penev
653c2fe9e1
clang-tidy: use using instead of typedef ( #1120 )
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-16 09:06:14 +02:00
Rosen Penev
6ed0ca28db
add utf8cpp git submodule ( #1142 )
...
* add utf8cpp git submodule
More standard. Allows using the system provided utf8cpp.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
* cmake: use standard find_package for zlib
Simpler.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
---------
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-16 08:41:01 +02:00
Rosen Penev
cf5ad66922
default some more ( #1135 )
...
* remove defaulted constructor
It gets implicitly generated.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
* default some more
swap is not needed here as shared_ptr is copyable.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
---------
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-16 08:25:04 +02:00
Rosen Penev
97a74ca3d8
clang: fix -Wextra-semi warnings ( #1134 )
...
Achieved by adding do/while to mandate a semicolon.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-16 08:23:45 +02:00
Rosen Penev
7646184d6b
unused includes ( #1133 )
...
* unused includes
Signed-off-by: Rosen Penev <rosenp@gmail.com >
* Use consistent order of includes
Always include in the following order:
- Own header files
- Standard header files
- System header files
- Project header files (toolkit first)
Exceptions:
- cppunit/extensions/HelperMacros.h must be included after
header files declaring stream operators
- config.h must be included before its definitions are used
---------
Signed-off-by: Rosen Penev <rosenp@gmail.com >
Co-authored-by: Urs Fleisch <ufleisch@users.sourceforge.net >
2023-09-16 08:22:36 +02:00
dependabot[bot]
2dc1aa4ec9
build(deps): bump actions/checkout from 3 to 4 ( #1143 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-10 12:27:11 +02:00
Rosen Penev
00cfee30b6
github: add dependabot ( #1141 )
...
Bot to update CI.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-10 07:10:59 +02:00
Rosen Penev
88cb197111
replace vector with array ( #1140 )
...
No need for vector. Allows simplifying some code.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-10 06:44:13 +02:00
Rosen Penev
110a253ba3
use using declarations ( #1139 )
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-10 06:40:24 +02:00
Rosen Penev
d42e8ed3fe
remove out of line declaration ( #1137 )
...
Seems to have been an oversight at some point.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-08 13:41:41 +02:00
Rosen Penev
37ba5a5cc1
convert missed for loop ( #1136 )
...
clang-tidy missed it as the declaration is outside of the loop.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-07 11:04:02 -05:00
Rosen Penev
23186f24ff
remove unused typedefs ( #1138 )
...
This was done in C++98 times. No longer needed with auto.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-07 11:02:55 -05:00
Rosen Penev
528b84fbde
size() to isEmpty() ( #1131 )
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-06 21:23:28 +02:00
Rosen Penev
912897cd35
simplify boolean expressions ( #1130 )
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-06 21:16:59 +02:00
Rosen Penev
54f84cc924
clang-tidy: use data() ( #1129 )
...
Found with readability-container-data-pointer
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-06 21:15:56 +02:00
Urs Fleisch
47c4e0859c
Restore const iterators replaced in #1107 ( #1128 )
...
Also make sure that the lines calling std algorithms are not
excessively long.
2023-09-06 20:59:01 +02:00
Rosen Penev
524b588a1e
manual range loop conversions ( #1126 )
...
* manual range loop conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com >
* Restore const containers where non const temporaries are iterated
* Use std::as_const() instead of const container copies where possible
---------
Signed-off-by: Rosen Penev <rosenp@gmail.com >
Co-authored-by: Urs Fleisch <ufleisch@users.sourceforge.net >
2023-09-06 20:58:13 +02:00
Rosen Penev
303b55fb97
clang-tidy: ending namespace comment ( #1132 )
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-03 21:39:49 -05:00
Rosen Penev
ecf1d4fa53
clang: fix documentation ( #1111 )
...
* Use [[deprecated]] always
Simplifies the code. Codebase is C++17 anyways.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
* clang: fix documentation
Found with Wdocumentation
Signed-off-by: Rosen Penev <rosenp@gmail.com >
* add deprecated to length() and fix usages
Signed-off-by: Rosen Penev <rosenp@gmail.com >
---------
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-09-03 15:14:05 +02:00
Urs Fleisch
d2bd56c519
Fix possible loss of data warning by MSVC
2023-09-02 16:30:45 +02:00
Rosen Penev
040b069957
clang-tidy: fix mismatched variable names ( #1109 )
...
Found with readability-inconsistent-declaration-parameter-name
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-31 06:46:58 +02:00
Urs Fleisch
f44ea9b80b
Fixed signedness warning
2023-08-30 17:58:15 +02:00
Rosen Penev
0ba61343a4
std::list and unique_ptr conversions ( #1122 )
...
The former is standard C++ and the latter allows getting rid of
autodelete.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-30 16:49:31 +02:00
Rosen Penev
cdc87aec10
clang-tidy: init members by default ( #1110 )
...
Found with modernize-use-default-member-init
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-30 16:26:14 +02:00
Rosen Penev
4a86489186
clang-tidy: no else after return ( #1119 )
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-21 09:19:53 -05:00
Rosen Penev
85c678f587
Use nullptr ( #1117 )
...
Found with modernize-use-nullptr
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-17 10:36:22 -05:00
Rosen Penev
29e88cfe66
Default FileName copy constructor ( #1118 )
...
Found with: modernize-use-equals-default
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-17 10:33:56 -05:00
Rosen Penev
128c55bc53
Remove dead forward declaration ( #1121 )
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-17 10:30:01 -05:00
Rosen Penev
cf352ac7f4
Move temporary into vector instead of copying ( #1115 )
...
more efficient.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-15 19:13:22 -05:00
Rosen Penev
bbb8221301
Handle self-assignment ( #1114 )
...
Found with cert-oop54-cpp
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-15 16:58:56 -05:00
Rosen Penev
f69c21c8e6
Additional none_of conversion ( #1113 )
2023-08-15 09:21:43 -05:00
Rosen Penev
574604765f
Use std algorithms ( #1107 )
...
Found with: readability-use-anyofallof
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-09 12:09:28 -05:00
Rosen Penev
f2d0e664e7
Add ending namespace comments ( #1108 )
...
Found with google-readability-namespace-comments
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-07 20:44:11 -05:00
Rosen Penev
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 <rosenp@gmail.com >
* clang-tidy: add missing deleted functions
Found with cppcoreguidelines-special-member-functions
Signed-off-by: Rosen Penev <rosenp@gmail.com >
* unique_ptr conversions
unique_ptr is a safer and cleaner way to handle d pointers.
Also added missing = default.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
---------
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-07 15:08:40 -05:00
Rosen Penev
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 <rosenp@gmail.com >
* remove trefcounter
It is now unused.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
---------
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-07 08:40:24 -05:00
Rosen Penev
dcef356e3f
Replace raw buffers with std containers ( #1101 )
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-06 17:46:59 -05:00
Rosen Penev
868f4eef3d
Various cleanups ( #1099 )
...
* cmake: remove atomic checks
All this stuff was replaced with std::atomic
Fixes: 9bcba812af
Signed-off-by: Rosen Penev <rosenp@gmail.com >
* cmake: remove vsnprintf checks
Available since C++11
Signed-off-by: Rosen Penev <rosenp@gmail.com >
* clang-tidy: const ref conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com >
* clang-tidy: handle self assignment
Found with bugprone-unhandled-self-assignment,cert-oop54-cpp
Signed-off-by: Rosen Penev <rosenp@gmail.com >
* clang-tidy: remove wrong forward declarations
Found with bugprone-forward-declaration-namespace
Signed-off-by: Rosen Penev <rosenp@gmail.com >
---------
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-05 10:31:46 -05:00
Rosen Penev
c0e9428218
Fix warnings under clang-cl ( #1106 )
...
-Wmicrosoft-unqualified-friend
-Wdllexport-explicit-instantiation-decl
-Wunused-parameter
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-05 10:07:52 -05:00
Rosen Penev
bec59b4b7b
Convert to range-based for ( #1104 )
...
Found with MSVC: warning C4456
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-05 10:00:07 -05:00
Rosen Penev
bd6c3ba174
Use constexpr if ( #1103 )
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-08-05 09:56:23 -05:00
Rosen Penev
ee8124ed7a
Replace unnecessary loop ( #1105 )
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
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
9bcba812af
Use C++11 atomics for RefCounter ( #1097 )
2023-07-29 06:58:50 +02:00
Max-F-Helm
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
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
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
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
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
James D. Smith
10721b4b41
Test for ID3v1 false positives.
2022-03-13 08:11:23 +01:00
James D. Smith
cebaf9a8e2
Utils: Fix potential ID3v1 false positive in the presence of an APE tag.
2022-03-13 08:11:23 +01:00
Urs Fleisch
197d2a684b
Correctly parse MP4 non-full meta atoms ( #1041 )
...
There are m4a files with regular (non-full) meta atoms. When such
a meta atom is not correctly parsed, the subsequent atoms are not
recognized and offsets will not be adjusted when atoms are added,
which will corrupt the MP4 file.
This change will look behind the meta atom to check if the next
atom follows directly, i.e. without the four bytes with version
and flags as they exist in full atoms. In such a case, these
four bytes will not be skipped.
Witnesses of this strange format specification are
https://leo-van-stee.github.io/
https://github.com/axiomatic-systems/Bento4/blob/v1.6.0-639/Source/C%2B%2B/Core/Ap4ContainerAtom.cpp#L60
2022-03-12 07:33:32 +01:00
Urs Fleisch
e255e749e8
fileref: Adapt formatting to TagLib code style
2022-02-27 07:11:53 +01:00
Hugo Beauzée-Luyssen
a7eb7735ee
fileref: Reduce variables scope
2022-02-27 07:11:53 +01:00
Hugo Beauzée-Luyssen
0de8b45612
tests: Fix stream based resolver test
2022-02-27 07:11:53 +01:00
Hugo Beauzée-Luyssen
bdd8ff2af0
fileref: Fall back on file name resolvers
...
when no stream resolver is available
2022-02-27 07:11:53 +01:00
Hugo Beauzée-Luyssen
82964ba176
detectByResolvers: Don't mandate an actual file to be present
...
The main point of IOStream is to be able to use taglib with some content
that can't be fopen()'ed, for instance a network file, or a local file
on a system that doesn't support opening a file directly through fopen
& such.
This commit adds an overload for detectByResolvers that will stick to
using an IOStream all the way.
2022-02-27 07:11:53 +01:00
Hugo Beauzée-Luyssen
f7887e7235
FileTypeResolver: Add a StreamTypeResolver interface
2022-02-27 07:11:53 +01:00
Urs Fleisch
8ab618da18
Add tests checking if looking up tags creates map entries ( #931 )
2022-02-09 20:07:13 +01:00
Urs Fleisch
c98fba7cc4
APE: Do not create map entry if looked up tag does not exist ( #931 )
2022-02-09 20:07:13 +01:00
whatdoineed2do/Ray
52bf85f8ca
FLAC: Do not create map entry if looked up tag does not exist ( #931 )
2022-02-09 20:07:13 +01:00
Urs Fleisch
a4bb904a01
Map: Add method value() to look up without creating entry
2022-02-09 20:07:13 +01:00
Scott Wheeler
05486d00bf
We don't need to export these symbols
2022-01-15 13:52:05 +01:00
Urs Fleisch
c4a0855f42
Add MP4::File::strip() to remove meta atom from file
...
This changes the modifications from the last commit in order to
achieve the following behavior: MP4::File::save() works in the
same way as before, i.e. it will never shrink the file and will
make space from removed items available as padding in the form of
a "free" atom. To completely remove the "meta" atom from the file,
a new method strip() is introduced, which can be used in the same
way as its MPEG::File::strip() counterpart.
2022-01-06 18:07:15 +01:00
Urs Fleisch
2cb7973162
Remove MP4 meta atom when empty tag is saved
...
Currently, MP4 tags can only grow. If items are removed, they are
just replaced by padding in the form of "free" atoms. This change
will remove the whole "meta" atom when an MP4 tag without items
is saved. This will make it possible, to bring the file back to
its pristine state without metadata.
2022-01-06 18:07:15 +01:00
Dzmitry Neviadomski
ff8a9ea831
Add -Wall compiler flag to Clang compilers.
...
Use CMAKE's `CMAKE_<LANG>_COMPILER_ID`, available from 3.0.2.
See: https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html
2021-12-31 07:51:38 +01:00
ivan tkachenko
fd66b0d3b6
Add compile_commands.json to gitignore
...
Other entries were copied from KDE/marble repo as well.
See also: https://invent.kde.org/sdk/kdesrc-build/-/issues/86
2021-12-08 19:24:52 +01:00
Rosen Penev
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
Rosen Penev
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
Rosen Penev
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
Rosen Penev
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
Rosen Penev
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
Rosen Penev
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
Rosen Penev
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
Rosen Penev
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
Urs Fleisch
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
Oleg Antonyan
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
bobsayshilol
4971f8fb03
ID3v2: Address review comments
...
Change the size check to use isEmpty() as requested.
2021-05-02 12:14:27 +02:00
bobsayshilol
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
bobsayshilol
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
bobsayshilol
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
bobsayshilol
5f6bbb20e7
APE: Fix typo in valLength
2021-05-02 12:14:27 +02:00
bobsayshilol
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
bobsayshilol
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
bobsayshilol
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
Julius Brüggemann
1644c0dd87
Add CMake option for building with ZLib
2021-03-29 20:21:59 +02:00
Scott Wheeler
85cc41082c
Update to more modern macOS instructions.
...
Closes #1005
2021-03-22 11:36:36 +00:00
Jörg Krause
b5cd4c40e2
Drop leftovers WITH_ASF and WITH_MP4
...
The options WITH_ASF and WITH_MP4 where remove in commit
dd846904cb back in 2011. It's time to
remove the leftovers :-)
2021-03-06 14:54:31 +01:00
Urs Fleisch
932d45259c
Fix taglib-config for cross compiling ( #998 )
2021-03-06 14:52:25 +01:00
Urs Fleisch
844f07d32d
Make tests work with BUILD_SHARED_LIBS=ON on Windows
2021-03-06 14:52:25 +01:00
Andreas Sturmlechner
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
Andreas Sturmlechner
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
Andreas Sturmlechner
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
Andreas Sturmlechner
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
Andreas Sturmlechner
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
Andreas Sturmlechner
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
Andreas Sturmlechner
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
Scott Wheeler
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
Urs Fleisch
c8b39449c3
Version 1.12
2021-02-15 12:23:07 +01:00
Urs Fleisch
bd254654bc
Update documentation for version 1.12.0
2021-02-15 10:37:11 +01:00
Urs Fleisch
fbc3f9bbec
Fix doxygen warnings
2021-02-14 18:20:29 +01:00
Urs Fleisch
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
Urs Fleisch
83aa01c6af
Ogg: Set granule position to -1 if no packets finish on page ( #864 )
2021-02-14 10:04:03 +01:00
Urs Fleisch
4c14571647
Update version to 1.12.0
2021-01-23 09:15:32 +01:00
Urs Fleisch
f4b476a620
Add more unit tests
2021-01-18 20:31:52 +01:00
Urs Fleisch
f8d78a61f7
Merge pull request #990 from ufleisch/ufleisch/more-tests
...
More unit tests and bug fixes
2021-01-12 18:07:23 +01:00
Urs Fleisch
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
Urs Fleisch
f7c24930cd
Add missing iTunes properties for MP4 tags
2021-01-10 15:18:59 +01:00
Urs Fleisch
310c3bc043
Add missing 'COMPOSERSORT' property for ID3v2 tags
2021-01-10 15:18:43 +01:00
Urs Fleisch
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
Urs Fleisch
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
Urs Fleisch
4828a3b925
Do not crash when removing non existing TableOfContentsFrame child
2021-01-03 19:06:59 +01:00
Urs Fleisch
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
Urs Fleisch
f32d27973f
Use PCST and not TXXX:PODCAST frame for ID3v2 'PODCAST' property
2021-01-03 19:06:59 +01:00
Urs Fleisch
f74b166435
Add missing extensions to FileRef::defaultFileExtensions()
2021-01-03 19:06:59 +01:00
Urs Fleisch
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
Urs Fleisch
89fb62cfb1
Update NEWS
2021-01-02 10:50:52 +01:00
Urs Fleisch
59a2994f4e
Fix spelling and typos
2021-01-02 10:50:52 +01:00
Urs Fleisch
f3bdd416da
Remove some DSF and DSDIFF leftovers
...
These can be merged back into master from the branch
add_dsf_and_dsdiff_file_formats.
2021-01-02 10:50:52 +01:00
Urs Fleisch
39f86d02e7
Merge pull request #989 from ufleisch/ufleisch/id3v2-genres
...
Correctly read and write multiple ID3v2.3.0 genres (#988 )
2021-01-01 11:48:35 +01:00
Urs Fleisch
1a2e1d08ac
Merge pull request #986 from ufleisch/ufleisch/wav-extensible-subformat
...
WAV: Support subformat in WAVE_FORMAT_EXTENSIBLE (#850 )
2021-01-01 11:48:06 +01:00
Urs Fleisch
3f3b48353c
Merge pull request #983 from ufleisch/ufleisch/flac-comment-before-picture
...
FLAC: Store comment block before picture block (#954 )
2021-01-01 11:45:14 +01:00
Urs Fleisch
54f5c66b65
Merge pull request #981 from ufleisch/ufleisch/alac-without-bitrate
...
Calculate bitrate for ALAC files without it (#961 )
2021-01-01 11:45:12 +01:00
Urs Fleisch
3749dd7b75
Write ID3v2.3 genres with multiple references to ID3v1 genres ( #988 )
...
As described in id3v2.3.0.txt (4.2.1, TCON), multiple genres are
only possible as references to ID3v1 genres with an optional
refinement as a text. When downgrading multiple genres from
ID3v2.4.0, they are now converted to numbers when possible and
the first genre text without ID3v1 reference is added as a
refinement. The keywords RX and CR are supported too.
2020-12-30 17:38:04 +01:00
Urs Fleisch
d602ae483e
Read ID3v2.3 genres with multiple references to ID3v1 genres ( #988 )
...
As described in id3v2.3.0.txt (4.2.1, TCON), now multiple genres
are possible, e.g. "(51)(39)". Additionally, support the keywords
RX and CR.
2020-12-30 17:37:54 +01:00
Urs Fleisch
5374cb1ac4
Merge pull request #980 from ufleisch/ufleisch/wav-float-without-fact
...
Calculate bitrate for IEEE Float WAV files without fact chunk (#959 )
2020-12-28 09:16:44 +01:00
Urs Fleisch
8a461ccedc
Merge pull request #978 from ufleisch/ufleisch/wavs-with-garbage
...
Accept WAV files with garbage appended (#973 )
2020-12-28 09:07:39 +01:00
Urs Fleisch
17c2220588
Merge pull request #963 from dbry/wavpack-fixes
...
WavPack fixes with test file verifying issue #962
2020-12-28 09:07:37 +01:00
Urs Fleisch
271c004b30
Merge pull request #942 from uqs/master
...
Fix spelling of Bebop and update Fusion and Hardcore to match Wikipedia
2020-12-28 09:07:34 +01:00
Urs Fleisch
25d9bd1814
Merge pull request #935 from jiblime/static-config
...
taglib-config.cmake has static libdir and includedir variables
2020-12-28 09:07:32 +01:00
Urs Fleisch
b0bb7f8c0f
Merge pull request #888 from chouquette/use_resolvers_on_streams
...
fileref: Use user defined resolvers on streams
2020-12-28 09:07:30 +01:00
Urs Fleisch
4d3ab73d2e
Merge pull request #855 from shaforostoff/broken_mp3
...
fix reading audioproperties for broken mp3 files
2020-12-28 09:05:31 +01:00
Urs Fleisch
ae867cbd8c
ID3v1: Improve compatibility by mapping renamed genre names to codes
...
Also added a test to check if the renamed genre names are used and
check if using the old names still works.
2020-12-27 19:53:11 +01:00
Urs Fleisch
563fbaf82a
Handle the case when MP4 file header has zero bitrate
...
This incorporates [6ca536b5 ] (mp4 properties: handle the case when
mp4 file header has zero bitrate) from PR #899 with a more accurate
bitrate calculation and a unit test.
2020-12-27 10:17:34 +01:00
Urs Fleisch
e5ad041e42
A few more corrections to genre names
2020-12-24 10:08:47 +01:00
Hugo Beauzée-Luyssen
9ca7b0c33a
fileref: Use user defined resolvers on streams
...
Since the resolve only use the filename, there is no reason not to probe
them, as a filename might be available through the IOStream interface.
When using a ByteVectorStream, the filename will be empty and user
defined resolvers won't be probed.
2020-12-23 12:34:54 +01:00
Urs Fleisch
a00b3499b4
WavPack: Add test with non-standard sample rate
2020-12-23 07:04:51 +01:00
Urs Fleisch
d84e86da9c
Clean up code to better match the TagLib style
2020-12-23 07:04:51 +01:00
Urs Fleisch
741ed4e4bf
Add test for IEEE Float WAV file without fact chunk
2020-12-22 16:02:01 +01:00
Urs Fleisch
e4813f4996
Calculate bitrate for IEEE Float WAV files without fact chunk ( #959 )
...
When a WAV file with float format without a fact chunk containing
a totalSamples value is encountered, the bitrate is not calculated.
However, since all samples have the same number of bits, the
number of samples can be calculated from the size of the data chunk
and number of channels and bits per sample, as it is done in the
PCM case.
2020-12-22 15:46:48 +01:00
Urs Fleisch
1332d44ff6
WAV: Test properties of file with WAVE_FORMAT_EXTENSIBLE
...
uint8we.wav: http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Samples/AFsp/M1F1-uint8WE-AFsp.wav
2020-12-21 15:42:13 +01:00
Urs Fleisch
3d71ea1ad2
ALAC: Test properties of file without bitrate
2020-12-21 13:31:24 +01:00
Urs Fleisch
02c8995273
Calculate bitrate for ALAC files without it ( #961 )
...
If the "alac" atom of an MP4 file has a zero bitrate, it is calculated.
2020-12-21 12:22:25 +01:00
Urs Fleisch
7e92af6e8b
FLAC: Test if picture is stored after comment
2020-12-21 11:46:10 +01:00
Urs Fleisch
7ec1127f3e
FLAC: Store comment block before picture block ( #954 )
...
When the picture block is large and comes before the comment block,
Windows will no longer display the tags. This can be fixed by
storing the comment block before the picture block instead of
appending it at the end.
2020-12-21 11:09:15 +01:00
Urs Fleisch
30d839538d
Make PlainFile available to all tests
2020-12-21 08:44:32 +01:00
Scott Wheeler
8f6b6ac055
Don't pull in C++11+ for one class
2020-12-20 18:38:05 +01:00
Scott Wheeler
a5f11697f7
Get things building again with C++98
2020-12-20 18:12:14 +01:00
Scott Wheeler
1721354627
Explicitly set C98 for this target
...
Sometime I'd like to get the lib over to C++1x, but for now, enforce
the currently in-use standard.
2020-12-20 14:22:20 +00:00
Scott Wheeler
ac7e5303a6
Merge pull request #969 from ujjwalsh/master
...
Adding support for Linux on power
2020-12-20 15:17:40 +01:00
Scott Wheeler
8ba246cdbe
Merge pull request #984 from ufleisch/ufleisch/m4a-empty-strings-remove-items
...
MP4: Remove item when empty string is set (#929 )
2020-12-20 15:13:58 +01:00
Scott Wheeler
6656528f18
Also allow #include <taglib/foo.h> with taglib.pc and friends
...
Closes #495
2020-12-20 14:09:49 +00:00
Urs Fleisch
bad2cea122
WAV: Support subformat in WAVE_FORMAT_EXTENSIBLE ( #850 )
2020-12-20 11:47:04 +01:00
Urs Fleisch
61d5bcfd5b
MP4: Remove item when empty string is set ( #929 )
...
This will make the behavior for MP4 tags compliant to the API
documentation and consistent with other tag formats.
2020-12-13 12:37:20 +01:00
Urs Fleisch
2dd6931eee
Accept WAV files with garbage appended ( #973 )
...
This will allow editing the tags of WAV files which have data
appended at the end. The corresponding unit test checks that the
original contents are still available after editing the metadata
of such files.
2020-12-06 08:56:35 +01:00
Scott Wheeler
91b00b17b2
Missing const here
2020-10-12 16:52:09 +02:00
Scott Wheeler
e116824380
Downgrade numerical genres back to ID3v2.3 format
...
Closes #631
2020-10-12 08:46:51 +02:00
Scott Wheeler
2db13ad8cf
Add a little sanity to the formatting here
2020-10-12 08:36:57 +02:00
ujjwalsh
cd767738fc
adding support for linux on power
2020-09-01 16:55:07 +00:00
David Bryant
43bc11541d
correctly read very high sample rates from WavPack files
2020-07-02 17:22:03 -07:00
David Bryant
6806dc4cf2
make WavPack seekFinalIndex() more robust to false triggers
2020-07-02 16:15:51 -07:00
David Bryant
ec9c49b964
add test for WavPack DSD (issue #962 )
2020-07-01 08:35:20 -07:00
David Bryant
872cafb0b9
Several fixes for WavPack files, including issue #962
...
Fixes to properly handle WavPack files with leading and
trailing non-audio blocks, non-standard sampling rates,
and DSD audio (introduced in WavPack 5).
2020-06-30 22:19:38 -07:00
Scott Wheeler
47342f6974
Prefer COMM frames with no description for setComment()
...
This creates symetry with ID3v2::Tag::comment() in preferring frames with no description
when choosing which COMM frame should be updated. (Previously setComment() simply updated
the first COMM frame.)
Fixes #950
2020-03-27 12:14:51 +01:00
Ulrich Spörlein
5763d042a6
Fix spelling of Bebop and update Fusion and Hardcore to match Wikipedia
...
Source: https://en.wikipedia.org/wiki/List_of_ID3v1_Genres
Similar patches will be sent to libid3tag and ffmpeg to harmonize the
genre names and spellings.
2019-12-19 14:53:57 +01:00
jiblime
cd9e6b7502
Changed libdir/includedir variables to change based on a user's system and match syntax
2019-10-19 15:13:28 -07:00
Scott Wheeler
54508df30b
Needs to be defined to nothing if none of the #if blocks match
2019-09-20 10:32:33 +02:00
Scott Wheeler
dcf0331eb1
Use newer function signatures
2019-09-19 15:23:34 +02:00
Scott Wheeler
96155f35fa
Use new method signatures
2019-09-19 15:19:17 +02:00
Scott Wheeler
ebd3373d6d
Correctly decode signed values
...
In SV7 these are a mix of signed and unsigned shorts; in SV8 they're all
signed. Storing them as an int is fine for signed or unsigned shorts as
it's wide enough to contain either of them.
Unfortunately there are no explicit tests for SV7 at the moment; that
would be ideal to add before the next release.
CC @carewolf
2019-09-12 12:13:24 +02:00
Scott Wheeler
f3ecfa11bb
Completely remove StripAll from the API
...
I'd imagined it being useful for calls to `strip()`, but it's not
actually used there since that's an OR-ed together set of flags
representing which tags to strip.
2019-09-12 11:19:57 +02:00
Scott Wheeler
7082b9f66b
Unsaved (and incorrect looking) field
2019-09-12 10:46:11 +02:00
Scott Wheeler
de25bc6111
StripAll should be treated as equivalent to StripOthers in save()
2019-09-12 07:57:16 +02:00
Scott Wheeler
074f30e3fa
Remove DSF and DSDIFF from master to a feature branch
...
These can be merged back into master once they're in a more mature state.
2019-09-12 07:55:34 +02:00
Scott Wheeler
f1b40de66b
Unify File::save(...) APIs between file formats that support ID3v2
...
Closes #922
2019-09-11 06:48:27 +02:00
Scott Wheeler
0b99cd9bac
Revert switch to other static size method
...
This was based on a misread of the header: at present there is no
non-static size() method, so removing the argument makes the behavior
incorrect.
2019-09-11 00:58:18 +02:00
Scott Wheeler
4668cf0f93
Missing header that should have been added in b8dc105
2019-09-11 00:42:15 +02:00
Scott Wheeler
c05fa78406
Mark deprected methods and remove internal usage
...
This does not put the deprecated marker on methods that will or could resolve
to the same overload, e.g.:
void foo(bool bar = true); // <-- not marked
void foo(Bar bar) // <-- since this will have a default argument in the new version
2019-09-11 00:39:37 +02:00
Scott Wheeler
b8dc105ae3
Deprecate calls to MPEG::File::save(...) that use boolean params
...
This uses explicit enums for e.g. the ID3v2 version, making calls more
readable:
file.save(ID3v1 | ID3v2, StripOthers, ID3v2::v4, Duplicate);
Instead of:
file.save(ID3v1 | ID3v2, true, 4, true);
Needs to be ported to other types, per #922
2019-09-10 22:59:07 +02:00
Scott Wheeler
fced0f46e9
Add docs for this method
2019-09-10 13:31:44 +02:00
Scott Wheeler
dc0f667a4c
No tabs in TagLib
2019-09-10 13:08:11 +02:00
Scott Wheeler
085180e9a4
Require at least CMake 3
2019-09-10 12:45:36 +02:00
Scott Wheeler
ef1312d622
Add -lz to taglib.pc and taglib-config when built with zlib
...
Closes #872
2019-09-10 12:41:11 +02:00
StefanBruens
86c0428475
Clear valid flag for invalid Speex files
...
This matches the corresponding code in vorbisfile.cpp, opusfile.cpp and flagfile.cpp, and fixes taglib/taglib#902 .
2019-09-10 11:44:21 +02:00
Scott Wheeler
3c78c4cfc9
Merge pull request #883 from ufleisch/riff-padding
...
Do not ignore non zero RIFF padding if leading to parse error (#882 )
2019-09-10 11:25:46 +02:00
Scott Wheeler
c8bb6271e5
Merge pull request #917 from ufleisch/ogg-bitrate
...
Calculate Ogg bitrate without comment size (#874 )
2019-09-10 11:14:15 +02:00
Scott Wheeler
84f7462526
Tests need C++11
2019-09-05 17:29:40 +02:00
Urs Fleisch
2f23892182
Calculate Ogg bitrate without overhead size ( #874 )
2019-09-02 22:14:41 +02:00
Scott Wheeler
2918602ad0
Merge pull request #910 from joerg-krause/patch-1
...
Drop CMAKE_SYSROOT from taglib-config
2019-08-26 23:37:24 +02:00
Scott Wheeler
c146cd7e92
Merge pull request #909 from williamjcm/patch-1
...
Make TagLib seach in its source dir for utf8-cpp.
2019-08-26 23:34:47 +02:00
Scott Wheeler
b124e621fe
Merge pull request #912 from whatdoineed2do/m4a-track-year-equal0-bugfix
...
MP4 - setTrack()/setYear() accepts 0 to remove the tag
2019-08-26 23:32:44 +02:00
Scott Wheeler
044fba2921
Merge pull request #919 from jonaski/spelling
...
Fix spelling and typos
2019-08-26 23:26:55 +02:00
Jonas Kvinge
e72a98903f
Fix spelling and typos
2019-08-26 23:23:33 +02:00
whatdoineed2do
79bc9ccf8e
Call fflush() before ftruncate() to drop all buffered data ( #914 )
...
This avoids stale data presented to caller via a fread()
Current bug due to the buffered data can be seen in stripping mp3s of tags
f.strip(ID3v1);
f.strip(APE);
The ID3v1 tag sits at the end of file (strip calls ftruncate()) and the APE
strip performs a readFile() that would return the stream buffered/truncated data
and reinsert
2019-07-25 07:27:49 +04:30
whatdoineed2do/Ray
850a3565a4
setTrack()/setYear() accepts 0 to remove the tag as per
...
documentation/functionality across other tpyes (mp3/flac/...); m4a do not honour
this and instead sets the underlying value to 0.
This commit fixes this issue (#911 )
2019-07-13 16:03:51 +01:00
Jörg Krause
18d424995f
Drop CMAKE_SYSROOT from taglib-config
...
Commit d4c938cbc7 is about fixing taglib-config for proper cross-compilation. The fix is right in principle, but wrong about adding `CMAKE_SYSROOT`. The correct prefix path should be set outside of the config file as some embedded Linux distros like OpenWrt or OpenEmbedded install with a different DESTDIR, and dependent packages see a different sysroot.
2019-06-16 15:33:52 +02:00
Guillaume Jacquemin
d04db70bc6
Make TagLib seach in its source dir for utf8-cpp.
...
Without this change, TagLib is unusable as part of CMake projects that rely on `add_subdirectory()` for dependencies.
2019-06-01 10:19:27 +02:00
StefanBruens
ba7adc2bc2
Respect atom type when converting rate tag ( #896 )
...
* Respect atom type when converting rate tag
TagLib prior to #818 (commit ff28cf276c ) read and wrote the "rate" tag as
text, and switched to reading it as integer value even when the atom class
is a text type. This breaks reading existing files, and can be avoided by
taking the atom type into account.
This fixes issue #885 .
* Respect MP4::Item type when writing the rate tag
TagLib prior to #818 (commit ff28cf276c ) read and wrote the "rate" tag
as text, and switched to writing the integer value of the MP4::Item.
This breaks writing from applications which supply the value as
StringList, which was the previously implemented API. Applications using
an MP4::Item(UInt) are still supported without changes on the application
side.
This is the complementary writing part for issue #885 .
2019-05-31 15:51:16 +04:30
Urs Fleisch
79bb1428c0
Support ID3v2 GRP1 frame introduced with iTunes 12.5.4.42, #903 . ( #904 )
2019-05-17 15:45:48 +04:30
Jörg Krause
7470f92a67
fix taglib-config file for cross compiling ( #906 )
2019-05-17 15:43:35 +04:30
Tim Malseed
6455671ece
Update mp4properties.cpp ( #893 )
...
When parsing mp4 media header version 1 (mdhd) atoms, the timescale (unit) is parsed as a `LongLong` (8 bytes), but instead should be a `UInt` (4 bytes). This results in an incorrect timescale, and also pushes the offset of the duration (length) off by 4 bytes.
The end result being that the AudioProperties track length for mp4's with mdhd v1 comes back as 0.
See: https://wiki.multimedia.cx/index.php/QuickTime_container
| Entry | Bytes (v0) | Bytes (v1) |
| :--- | :---: | :---: |
| size | 4 | 4 |
| type | 4 | 4 |
| version | 1 | 1 |
| flags | 3 | 3 |
| creation time* | 4 | **8** |
| modification time* | 4 | **8** |
| time scale | 4 | 4 |
| duration* | 4 | **8** |
| language | 2 | 2 |
| quality | 2 | 2 |
2019-03-17 08:22:19 -05:00
Tim Malseed
660748210f
Minor fix for mp4 media header v0 minimum size check ( #895 )
...
Mp4 media header (mdhd) v0 atoms are a minimum of 8 bytes for size & type information, plus 24 bytes for remaining entries (`24 +8`) bytes in total, rather than (`24 + 4`).
See https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFChap2/qtff2.html#//apple_ref/doc/uid/TP40000939-CH204-25615
2019-03-17 08:20:43 -05:00
Urs Fleisch
1cf176af61
Do not ignore non zero RIFF padding if leading to parse error ( #882 )
2019-02-10 08:40:20 +01:00
Stephen F. Booth
5cb589a5b8
Updated NEWS for the latest changes
2018-10-28 08:43:45 -05:00
Stephen F. Booth
a4d04e0c40
Added APE, DSF, and DFF formats to the list
2018-10-28 08:42:19 -05:00
Stephen F. Booth
4ab0891646
Added DSF and DSDIFF authors
2018-10-28 08:35:15 -05:00
Jonas Kvinge
d71398c953
Add DSF and DSDIFF file types management ( #878 )
...
* Add DSF and DSDIFF file types management
* Fixes for some build chains
* unit64_t replaced by unsigned long long, warning fixes
* Remove C++11 extension incompatible with some build chains (enumeration in a nested name specifier)
* Change typedef types (uint, ulong, ...) to standard types
remove BUILD_FRAMEWORK changes from this pull request
* Replace deprecated String::null and ByteVector::null by String() and ByteVector()
Styling update, thanks to FestusHagen
* Restyling
* Restyling to reduce length of excessively long lines
* Add to detectByExtension
* Added `isSupported(IOStream *stream)` to `DSF::File` and `DSDIFF::File`
2018-10-26 19:45:49 -05:00
evpobr
bfed3797a0
Improve CMake VISIBILITY_HIDDEN option handling ( #810 )
...
Use standard CMake's CXX_VISIBILITY_PRESET property.
2018-10-26 19:26:53 -05:00
Ola Nordstrom
e435372146
added OS X built files to .gitignore ( #828 )
2018-10-26 19:23:44 -05:00
Bert Wesarg
c2f544c9d1
Fill TableOfContentsFrame::toString(). ( #852 )
2018-10-26 19:21:18 -05:00
Scott Wheeler
8ca75f03b5
Follow TagLib's brace style
2018-10-10 19:24:44 +02:00
safu9
036a0317b9
Add support for file descriptor to FileStream ( #832 )
...
Add support for file descriptor
2018-10-10 12:25:02 -04:00
Bert Wesarg
8f6fe0b16c
Don't list the description twice in UserTextIdentificationFrame::toString() ( #853 )
2018-10-09 18:55:02 -05:00
Scott Gayou
2c4ae870ec
Fixed OOB read when loading invalid ogg flac file. ( #868 ) ( #869 )
...
CVE-2018-11439 is caused by a failure to check the minimum length
of a ogg flac header. This header is detailed in full at:
https://xiph.org/flac/ogg_mapping.html . Added more strict checking
for entire header.
2018-10-09 18:46:55 -05:00
Urs Fleisch
d8d56d3937
Add support for cmID, purl, egid MP4 atoms ( #862 ). ( #863 )
2018-04-09 08:32:05 -05:00
Nick Shaforostov
2d90d938fe
fix reading audioproperties for broken mp3 files
2018-03-02 16:18:10 +01:00
Scott Wheeler
a80093167f
Update links
2017-11-20 00:03:52 +01:00
Xijian Yan
249f892455
Fix crash when loading an empty mpeg file ( #830 )
...
When loading an empty file (empty.txt -> empty.mp3 ), TagLib will crash.
buffer.size() is 0, then buffer.size() - 1 is undefined (unsigned int)
2017-11-06 09:48:17 -06:00
Stephen F. Booth
cb9f07d9dc
Don't assume TDRC is an instance of TextIdentificationFrame ( #831 )
...
If TDRC is encrypted, FrameFactory::createFrame() returns UnknownFrame
which causes problems in rebuildAggregateFrames() when it is assumed
that TDRC is a TextIdentificationFrame
2017-09-30 10:15:41 -05:00
Sergei Trofimovich
0b583bafd0
taglib: fix test build failure on powerpc/c++11 ( #834 )
...
powerpc is a platform with 'char' == 'unsigned char'.
As a result '-1' is not expressible in char and build fails as:
```
# '-funsigned-char' to force test build failure on other platforms
$ cmake .. -DBUILD_TESTS=YES -DCMAKE_CXX_FLAGS="-O2 -funsigned-char" -DCMAKE_C_FLAGS="-O2 -funsigned-char"
...
$ make check
tests/test_synchdata.cpp: In member function 'void TestID3v2SynchData::testToUIntBroken()':
tests/test_synchdata.cpp:78:33: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
char data[] = { 0, 0, 0, -1 };
^
```
The fix is to expliticly cast -1 to 'char'.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org >
2017-09-18 20:06:55 -05:00
Tsuda Kageyu
4648394841
Check if mandatory header objects are present when opening ASF files.
...
Also removes some assignments of "this".
It feels too tricky when it is not absolutely necessary.
2017-06-13 17:22:00 +09:00
Tsuda Kageyu
e026d797e0
Use a macro to pretend virtual functions.
2017-06-13 17:01:53 +09:00
Tsuda Kageyu
eeb2f5de09
Fix some typos in debug messages.
2017-06-13 15:05:25 +09:00
Tsuda Kageyu
1792ee9db8
Update NEWS.
2017-06-12 13:07:21 +09:00
Tsuda Kageyu
1fb310ec1f
Merge pull request #799 from TsudaKageyu/filetype-detection
...
Enable FileRef to detect file types by the actual content of a stream.
2017-06-12 13:04:15 +09:00
Tsuda Kageyu
c8bcd153fe
TableOfContentsFrame depends on ByteVectorList.
2017-06-09 17:52:56 +09:00
Tsuda Kageyu
662f340f93
Merge pull request #824 from evpobr/fix-createfile2
...
Fix WinRT configuring
2017-06-09 08:53:25 +09:00
Tsuda Kageyu
48d8c0a808
Merge pull request #823 from TsudaKageyu/isolate-3rdparty-lib
...
Isolate 3rdparty library for easier maintenance.
2017-06-09 08:53:10 +09:00
evpobr
5ebd3d5276
Fix WinRT configuring
...
Don't rely on _WIN32_WINNT value to enable WinRT support.
if _WIN32_WINNT is not set manually, it is defaulted to SDK version. So
if you use SDK > 8 you cannot use TagLib under Win7 and lower because of
CreateFile2 function dependency.
PLATFORM_WINRT option (OFF by default) was introduced to enable WinRT
build.
Related issues: https://github.com/Microsoft/vcpkg/issues/1240
2017-06-08 19:00:37 +05:00
Tsuda Kageyu
14af861d24
Isolate 3rdparty library for easier maintenance.
2017-06-07 12:51:44 +09:00
Tsuda Kageyu
3795f277fb
Update UTF8-CPP to v2.3.5.
2017-06-07 12:12:31 +09:00
Tsuda Kageyu
6045995e65
Remove an unused include directory from taglib/CMakeLists.txt.
2017-06-07 11:38:46 +09:00
Tsuda Kageyu
c2fe93c12b
Restore FileRef::create() in order not to change the previous behavior.
2017-06-06 09:17:34 +09:00
Michael Helmling
ea9202d9ee
Update INSTALL.md
...
Added a note that with MS Visual Studio 2017 one can directly open the CMake project.
2017-06-05 14:49:09 +02:00
Stephen F. Booth
3c657d1a44
Merge pull request #821 from supermihi/master
...
Fix Markdown syntax of INSTALL file and rename it to *.md
2017-06-05 07:37:12 -04:00
Michael Helmling
adf0f76360
Fix Markdown syntax of INSTALL file and rename it to *.md
...
This enables proper formatted display of the file on e.g. GitHub, increasing readability.
2017-06-05 11:09:16 +02:00
Tsuda Kageyu
682ea77c2b
Mention that FileRef::create no longer works.
2017-05-31 09:41:41 +09:00
Tsuda Kageyu
15c3c756ca
Update NEWS.
2017-05-31 09:28:30 +09:00
Tsuda Kageyu
4801fbb927
Merge pull request #818 from LindyBalboa/add_rate_atom_support
...
Add direct support for "rate" atom
2017-05-31 09:20:27 +09:00
Tsuda Kageyu
22de22b701
Fix memory leaks in a test.
2017-05-26 16:49:36 +09:00
Tsuda Kageyu
48a1a05a88
Fix MSVC warnings about unreferenced variables.
2017-05-23 17:46:16 +09:00
Tsuda Kageyu
6000a19f70
Fix the Travis-CI testing on OS X.
...
AppleClang 7.3 doesn't get along with CppUnit by default.
2017-05-23 17:33:22 +09:00
Conner R. Phillips
ff28cf276c
Add direct support for "rate" atom
...
Resolves #817
2017-04-22 07:45:29 +02:00
Tsuda Kageyu
4891ee729d
Remove an useless UTF-8 BOM.
2017-02-24 15:47:30 +09:00
Tsuda Kageyu
9419dab51b
Allow SYLT frames to have a timestamp with no text.
...
Thanks to lemonboy999.
2017-02-24 15:40:30 +09:00
Tsuda Kageyu
45ee18e206
FilePrivate is responsible to delete a stream pointer instead of File.
...
Generally, TagLib leaves the Private classes to delete their members.
2017-02-08 17:49:48 +09:00
Tsuda Kageyu
bf7ee62dc6
Merge branch 'filetype-detection' of https://github.com/TsudaKageyu/taglib into filetype-detection
2017-02-07 22:37:13 +09:00
Tsuda Kageyu
f76b1e5429
Rename the functions 'isValidStream' to 'isSupported'.
...
The name 'isValidStream' is a little misleading because it doesn't check if the stream is really valid. Additionally, 'isSupported' can be naturally overloaded.
2017-02-07 22:36:56 +09:00
Tsuda Kageyu
f7b15fad20
Remove some redundant code.
2017-02-06 10:35:49 +09:00
Tsuda Kageyu
dd4adf94ce
Fix wrong endian of boolean values when saving ASF files.
2017-02-06 10:06:10 +09:00
Tsuda Kageyu
d4d8410c08
Restore the layout of the copyright header of test_fileref.cpp.
2017-02-04 23:45:15 +09:00
Tsuda Kageyu
931bb042c3
Enable FileRef to detect file types by the actual content of a stream.
...
FileRef doesn't work with ByteVectorStream as reported at #796 , since ByteVectorStream is not associated with a file name and FileRef detects file types based on file extensions.
This commit makes FileRef to work with ByteVectorStream by enabling it to detect file types based on the actual content of a stream.
2017-02-04 23:31:08 +09:00
Tsuda Kageyu
a5d9e49c49
Remove obsolete comments.
...
The bug mentioned in the comments are already fixed.
2017-02-04 01:31:20 +09:00
Scott Wheeler
179c175a6c
Ignore warnings about OSAtomicIncrement32Barrier
...
The warnings suggest moving to std::atomic functions, but those are only
available in C++11. It would be possible to switch to the C versions of
those functions, which are now provided in stdatoic.h (in C11), but
let's wait until we actually hit problems with this function and are a
few more OS versions into C11 headers being included by default.
2017-02-03 13:56:02 +00:00
Tsuda Kageyu
ba98628919
Avoid searching the same area twice in MPEG::File::previousFrameOffset().
2017-02-01 14:23:03 +09:00
Tsuda Kageyu
87fc4012f4
Add some test cases for invalid UTF-8 sequences.
2017-01-31 14:27:23 +09:00
Tsuda Kageyu
dd5ab2a08f
Fix and add some test cases for invalid surrogate pairs.
2017-01-31 14:19:30 +09:00
Tsuda Kageyu
b74ffba4b5
Update NEWS.
2017-01-31 00:21:41 +09:00
Tsuda Kageyu
4552f2c2eb
Remove redundant functions in tstring.cpp.
...
Two versions of copyFromUTF16() are almost the same.
2017-01-30 22:38:08 +09:00
Tsuda Kageyu
6398796f95
Remove function bodies of some non-specialized template functions.
...
The code won't link when a wrong version is used. It's better than showing a debug message.
2017-01-30 16:11:59 +09:00
Tsuda Kageyu
2c7ac6d6a9
Add a few more test cases for invalid UTF-8 sequences.
2017-01-30 12:56:53 +09:00
Tsuda Kageyu
6a61f02f85
Merge pull request #794 from TsudaKageyu/utf8-library
...
Replace unicode.h/unicode.cpp by the UTF8-CPP library.
2017-01-30 12:54:43 +09:00
Tsuda Kageyu
038b52ae01
Check an invalid UTF-8 sequence consists of single char.
...
Single char can be an invalid UTF sequence. For example, { 0x80 } is invalid.
2017-01-30 11:35:39 +09:00
Tsuda Kageyu
598ab752bc
Stop assuming that std::wstring has a contiguous and null-terminated buffer.
2017-01-30 00:36:38 +09:00
Tsuda Kageyu
922fd611ae
Reduce useless memory reallocation in String::upper().
2017-01-28 01:17:21 +09:00
Tsuda Kageyu
3d14ff74b1
Remove a duplicate test file.
2017-01-27 22:10:02 +09:00
Tsuda Kageyu
978b822774
Remove some redundant code in tstring.cpp.
2017-01-27 15:11:08 +09:00
Tsuda Kageyu
0c45c63943
Replace unicode.h/unicode.cpp by the UTF8-CPP library.
...
unicode.h/unicode.cpp are no longer maintained and incompatible with Debian's guideline.
UTF8-CPP is maintained on GitHub and published under the Boost Software License which is compatible with either LGPL or MPL and should go along with Debian's guideline.
2017-01-27 14:47:55 +09:00
Tsuda Kageyu
586c9bd962
Add a test for unpaired surrogate characters in a UTF-16 string.
2017-01-26 17:33:54 +09:00
Tsuda Kageyu
fc38a0e401
Remove some redundant code.
...
TagUnion::access() does the same thing as FLAC::File::ID3v2Tag().
2017-01-22 00:43:32 +09:00
Tsuda Kageyu
5fc5a2e81a
Prefer isEmpty()/empty() to size() == 0.
2017-01-21 19:10:32 +09:00
Tsuda Kageyu
a358e87cc4
Revert useless changes accidentally committed.
2017-01-21 11:13:49 +09:00
Tsuda Kageyu
5ba8b740f9
Add missing consts.
2017-01-21 11:09:05 +09:00
Tsuda Kageyu
c4a3c3ab97
Combine two internal functions which are always used together.
2017-01-21 01:34:50 +09:00
Tsuda Kageyu
6bb92c34fa
Ignore fake MPEG frame headers when seeking them.
2017-01-20 22:38:25 +09:00
Tsuda Kageyu
d2e0e55223
Efficient lookup for an ID3v2 tag in MPEG files with garbage.
...
This looks for an ID3v2 tag until reaching the first valid MPEG frame in O(n) time.
2017-01-20 21:14:38 +09:00
Tsuda Kageyu
d64c833359
Update NEWS.
2017-01-16 01:14:35 +09:00
Tsuda Kageyu
c9c757e0ff
Merge pull request #791 from TsudaKageyu/flac-empty-seektable
...
Be tolerant of empty FLAC seektable blocks.
2017-01-16 01:12:07 +09:00
Tsuda Kageyu
9b548260f5
Initialize d-pointers in class member initializer list.
2017-01-16 01:05:30 +09:00
Tsuda Kageyu
406e872ac3
Always use parentheses with new. It's a bit safer.
2017-01-16 01:00:28 +09:00
Tsuda Kageyu
193cbe3b6b
Initialize all the data members of ASF::Attribute.
2017-01-14 23:29:46 +09:00
Tsuda Kageyu
13be28a52c
Be tolerant of empty FLAC seektable blocks.
2017-01-10 00:11:13 +09:00
Tsuda Kageyu
56a7656c2e
Remove some TODO comments which are no longer necessary.
2017-01-08 01:43:04 +09:00
Michael Helmling
c97be6630e
Fix #789 (typo in member doc)
2017-01-06 09:08:02 +01:00
Stephen F. Booth
6fcc690233
Merge pull request #787 from rshanmu/master
...
Renamed unsupported-extension.xxx and modified test
2016-12-22 12:17:12 -05:00
Ramesh Shanmugasundaram
83c72518ab
Renamed unsupported-extension.xxx and modified test
...
The file name unsupported-extension.xxx causes issue when unpacked
taglib-xxx.gz over an NFS partition. The file extension ".xxx" is the
one NFS uses for its own purpose and hence it will not allow creation
of this file.
Hence renamed the file and modified the test cases that checks for this
file.
Signed-off-by: Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com >
2016-12-22 15:19:45 +00:00
Tsuda Kageyu
de87cd7736
Remove the CMake check for Boost I missed out on.
2016-12-20 12:06:21 +09:00
Tsuda Kageyu
14c3ce5737
Remove all the optional dependencies on Boost.
2016-12-20 11:54:06 +09:00
Tsuda Kageyu
ffa32b19a7
Fix the CMake check for std::atomic_int.
...
std::atomic_int of Visual C++ 2012 cannot be constructed with integer.
2016-12-20 11:48:14 +09:00
Tsuda Kageyu
8905e7095a
Safer conversion of boolean values in ASF attributes.
...
Technically, boolean values in Extended Content Description Object is not necessarily be 0 or 1.
2016-12-19 10:37:10 +09:00
Tsuda Kageyu
a19a623d4b
Make use of increment/decrement operators of std::atomic.
2016-12-09 10:09:31 +09:00
Tsuda Kageyu
250c59f783
Remove optional dependencies on Boost's dynamic libraries.
...
Using precompiled Boost libraries can lead to depending on external dynamic libraries.
2016-12-09 09:42:29 +09:00
Tsuda Kageyu
8eda5d5053
Merge pull request #784 from haoxi911/master
...
Fix #667 : Compiled TagLib framework for OS X fails at codesign.
2016-12-09 09:00:04 +09:00
Hao Xi
b5115e3497
Fix #667 : Compiled TagLib framework for OS X fails at codesign.
2016-12-08 12:53:40 +08:00
Tsuda Kageyu
36ccad2bd4
Rewrite ByteVector::replace() to run in O(n) time.
2016-12-05 11:02:59 +09:00
Tsuda Kageyu
b00a5c1aab
Add a test to check if ByteVector is detached correctly when being replaced.
2016-12-05 10:15:26 +09:00
Tsuda Kageyu
f6a604f54b
#include guards in CMake generated headers.
2016-12-02 17:26:43 +09:00
Tsuda Kageyu
489e2e6cbb
Update NEWS.
2016-12-01 15:25:30 +09:00
Tsuda Kageyu
9336c82da3
Fix possible Ogg packet losses.
2016-12-01 11:32:01 +09:00
Tsuda Kageyu
cfbaf34597
Prevent the segment table of Ogg pages from exceeding the size limit.
2016-12-01 10:51:59 +09:00
Tsuda Kageyu
046c98230f
Remove Utils::floatByteOrder() and use systemByteOrder() instead.
...
We can safely assume that the integer and float byte orders are the same on IEEE754 compliant systems.
2016-11-29 14:58:39 +09:00
Tsuda Kageyu
4381bd75f3
Add a test for #743/#779.
2016-11-29 10:53:33 +09:00
Tsuda Kageyu
6df61cf2af
Small fix in style.
2016-11-29 10:38:11 +09:00
Tsuda Kageyu
e9ef40fe7f
Merge pull request #779 from supermihi/master
...
Fixes #743 by not overwriting existing Xiph comment in FLAC::File::save
2016-11-28 21:03:39 +09:00
Michael Helmling
2786aa7463
Fixes #743 by not overwriting existing Xiph comment in FLAC::File::save
2016-11-27 19:17:13 +01:00
Tsuda Kageyu
d3062f3af4
A bit more tolerant check to return itself in String::substr().
2016-11-26 13:05:14 +09:00
Stephen F. Booth
7871afec37
Merge pull request #778 from martin-flaska/optimization
...
String::substr optimization
2016-11-25 16:38:32 -05:00
Martin Flaska
c9a0754e3b
tstring: String::substr optimization when returning itself as a substring
...
Use copy ctor to return in a case whole string is being returned.
The intention was to optimize String::stripWhiteSpace for no-strip case
(without any leading or trailing white space removal).
copyFromUTF16 was used in any case previously and allocated duplicate
buffer for the same string - no implicit sharing.
Signed-off-by: Martin Flaska <martin.flaska@legrand.us >
2016-11-25 15:32:26 +01:00
Martin Flaska
6cfb11bb12
test_string: Make 'stripWhiteSpace' test more complex
...
No string without leading/trailing spaces was used in the test.
Signed-off-by: Martin Flaska <martin.flaska@legrand.us >
2016-11-25 13:56:39 +01:00
Tsuda Kageyu
ad075a56f9
Suppress MSVC warnings in test.
2016-11-24 14:45:22 +09:00
Stephen F. Booth
f80a7c0d83
Merge pull request #776 from mathbunnyru/small_improvements
...
Small improvements
2016-11-23 23:31:49 -05:00
mathbunnyru
5e1d9fad31
Small fixes
2016-11-24 02:05:19 +03:00
mathbunnyru
eff28c55bf
Increment fixes
2016-11-22 01:10:28 +03:00
Tsuda Kageyu
d5b9d7b8a7
Update NEWS.
2016-11-18 13:55:43 +09:00
Tsuda Kageyu
ce77fbb0e7
Merge pull request #772 from TsudaKageyu/vorbis-fields
...
Fix handling of lowercase 'metadata_block_picture' field
2016-11-18 13:52:38 +09:00
Tsuda Kageyu
b98a984b66
Fix handling of lowercase 'metadata_block_picture' fields in Vorbis comments.
...
Also refactored some redundant code for parsing pictures.
2016-11-11 00:07:32 +09:00
Tsuda Kageyu
f9a747dceb
Avoid adding fields with invalid keys to Vorbis Comments.
...
According to the spec, '\x7F' is not allowed.
2016-11-10 23:35:14 +09:00
Tsuda Kageyu
7b8d576bde
Don't decode redundant UTF-8 sequences in Win32.
...
Linux and OS X are working well and won't be affected.
2016-11-10 17:12:58 +09:00
Tsuda Kageyu
2651372291
Separate some tests to make them more specific.
2016-11-09 15:51:33 +09:00
Tsuda Kageyu
499f6db977
Check invalid Unicode APE keys properly.
2016-11-09 00:29:03 +09:00
Tsuda Kageyu
9d58e9f8e8
Removed a utility function which is used only at one place.
2016-11-08 23:27:55 +09:00
Tsuda Kageyu
56cd3695f7
Add README.md.
2016-11-08 22:56:42 +09:00
Tsuda Kageyu
d81d894d41
tolower() depends on the current locale.
...
It's much easier to write our own function than to use locales properly.
2016-11-08 21:39:53 +09:00
Tsuda Kageyu
e390cbac52
Update NEWS.
2016-11-08 21:17:00 +09:00
Tsuda Kageyu
253c61e37d
Merge pull request #765 from TsudaKageyu/zero-length-atom
...
Proper handling of MP4 atoms with zero length.
2016-11-08 21:12:47 +09:00
Tsuda Kageyu
1848b3bc6f
Merge pull request #759 from ufleisch/mp4_classical
...
Support new classical music frames introduced with iTunes 12.5, #758 .
2016-11-08 21:12:31 +09:00
Tsuda Kageyu
aae23f3c07
Initialize all the data members of ID3v2::ChapterFrame.
2016-11-07 14:12:38 +09:00
Tsuda Kageyu
da9df1b2a8
Values of FILE_* macros are guaranteed in Win32.
2016-11-07 00:42:12 +09:00
Tsuda Kageyu
70334edd19
Add List::swap() and Map::swap().
2016-11-04 16:43:14 +09:00
Tsuda Kageyu
f5ca097379
Proper handling of MP4 atoms with zero length.
...
If the size of an atom is 0, it designates the last atom which extends to the end of the file.
2016-11-02 15:44:50 +09:00
Tsuda Kageyu
eb6d058ab9
Remove a useless branch.
...
longLength <= LONG_MAX is always true if sizeof(long) == sizeof(long long).
2016-11-01 16:03:15 +09:00
Tsuda Kageyu
e6a69e24bc
Add a common function to generate a long string to test.
2016-10-31 20:01:52 +09:00
Tsuda Kageyu
dcab8ed90e
Allow ScopedFileCopy to be const.
2016-10-31 10:29:13 +09:00
Tsuda Kageyu
f5ce498182
Suppress MSVC warnings about narrowing conversions.
2016-10-30 23:51:35 +09:00
Tsuda Kageyu
ee7fa78011
Update NEWS.
2016-10-30 22:51:15 +09:00
Tsuda Kageyu
873c917081
Assume that SetFilePointerEx() and GetFileSizeEx() are always available.
...
This drops support for Windows 9x and NT 4.0 or older.
2016-10-30 22:36:18 +09:00
Tsuda Kageyu
d3bd8fb7ff
Assume that CreateFileW() is always available.
...
This drops support for Windows 9x.
2016-10-30 22:25:34 +09:00
Tsuda Kageyu
005441faaa
Prevent overflows, just in case.
2016-10-28 15:25:50 +09:00
Tsuda Kageyu
935534aa53
Backport a test from taglib2 branch.
2016-10-28 15:19:35 +09:00
Tsuda Kageyu
65a24bbc51
Remove some useless seek()/tell() from RIFF::File.
2016-10-28 14:22:50 +09:00
Tsuda Kageyu
711b35cc6e
Encourage compilers to optimize out debug() and debugData().
...
It's sort of like a throwback, but I found that debug(const String &s) {} doesn't prevent a String from being constructed and the error messages from being embedded.
2016-10-28 11:19:51 +09:00
Tsuda Kageyu
d53ca6f736
Update NEWS.
2016-10-27 15:40:14 +09:00
Tsuda Kageyu
aa5f9bb221
Suppress some warnings in test.
2016-10-27 15:23:24 +09:00
Tsuda Kageyu
d2b3547254
Add a test for File::truncate().
2016-10-27 15:15:22 +09:00
Tsuda Kageyu
06ca9a099d
Check if file size <= LONG_MAX.
2016-10-27 15:10:34 +09:00
Tsuda Kageyu
8d873e4e3e
Merge pull request #761 from albertofustinoni/master
...
WinRT compatibility
2016-10-24 22:06:35 +09:00
Alberto Fustinoni
b2fa124451
formatting
2016-10-24 21:24:53 +09:00
Alberto Fustinoni
ff5b2dc96f
Whitespace
2016-10-24 21:22:57 +09:00
Alberto Fustinoni
757f5ebc96
Refactoring
2016-10-24 21:19:31 +09:00
Tsuda Kageyu
e36a9cabb9
Update NEWS.
2016-10-24 12:03:23 +09:00
Alberto Fustinoni
606f6c0e74
Better define guards
2016-10-23 23:25:16 +09:00
Alberto Fustinoni
1cc047c953
Styling
2016-10-23 20:17:49 +09:00
Alberto Fustinoni
cae4f1b804
Merge branch 'master' of https://github.com/albertofustinoni/taglib.git
2016-10-23 20:13:26 +09:00
Alberto Fustinoni
deffe83fd0
Use newer file system calls when in Windows 8+ to allow compilation as WinRT asembly
2016-10-23 12:32:16 +09:00
Tsuda Kageyu
597dcde72a
Update the version to v1.11.1.
2016-10-22 02:45:52 +09:00
Tsuda Kageyu
6a96a6426a
Replace a possibly non-free file in the test suite.
2016-10-22 02:11:16 +09:00
Tsuda Kageyu
69c65284a5
Update NEWS.
2016-10-22 01:06:57 +09:00
Tsuda Kageyu
97aaa0f979
Restore the ABI breakage by bringing back a removed private static variable.
2016-10-19 15:57:28 +09:00
Urs Fleisch
1b64bb0cb7
Support new classical music frames introduced with iTunes 12.5, #758 .
...
M4A:
©wrk: Work (string)
©mvn: Movement Name (string)
©mvi: Movement Number (number)
©mvc: Movement Count (number)
shwm: Show Work & Movement (0/1)
ID3 (2.3, 2.4; MVN, MVI for 2.2):
MVNM: Movement Name
MVIN: Movement Number/Count
2016-10-18 20:45:54 +02:00
Tsuda Kageyu
0dac721ce2
Update NEWS.
2016-09-26 17:48:44 +09:00
Stephen F. Booth
bbeeca6fdb
Merge pull request #754 from hyperquantum/master
...
Fix defect in ByteVectorStream::seek when Position==End.
2016-09-15 21:11:08 -04:00
Kevin André
7e90313690
Fix defect in ByteVectorStream::seek when Position==End.
2016-09-15 16:30:16 +02:00
Tsuda Kageyu
1d3c95f692
Merge pull request #752 from evpobr/cmake-ver
...
Move cmake_minimum_required at the top
2016-09-12 15:56:45 +09:00
Tsuda Kageyu
8c3801f18d
Merge pull request #753 from FestusHagen/fh1.m_AddBuildSharedLibsOption
...
Add BUILD_SHARED_LIBS option for CMake GUI.
2016-09-12 15:56:33 +09:00
Festus Hagen
c9bdd416ef
Add BUILD_SHARED_LIBS option for CMake GUI.
2016-08-25 15:03:44 -04:00
evpobr
9f28e037fe
Move cmake_minimum_required at the top
2016-08-20 22:37:53 +05:00
Stephen F. Booth
92c070ba9e
Merge pull request #749 from jwelton/fix-typo
...
Fix Typo
2016-08-14 17:10:18 -04:00
Jake Welton
75e3ec73aa
Change string to end offset
2016-08-14 22:02:33 +01:00
Tsuda Kageyu
3e47a036fb
Update NEWS.
2016-05-14 10:46:42 +09:00
Tsuda Kageyu
9b995544e4
Fix reading table of contents frames with a lot of children.
2016-05-14 09:58:19 +09:00
Tsuda Kageyu
d8e5077961
Update NEWS.
2016-04-29 17:26:33 +09:00
Tsuda Kageyu
6422054540
Merge pull request #739 from frgm/master
...
c: fix a typo
2016-04-23 06:54:59 +09:00
Svyatoslav Mishyn
1b878102f0
c: fix a typo
...
readble => readable
2016-04-22 16:46:15 +03:00
Tsuda Kageyu
0a85f9b227
Revert "Hide a private static variable."
...
This reverts commit 25ffbcb4b9 .
# Conflicts:
# taglib/mpeg/id3v2/id3v2framefactory.cpp
# taglib/mpeg/id3v2/id3v2framefactory.h
2016-04-22 09:27:04 +09:00
Stephen F. Booth
31f3109b47
Merge pull request #732 from dirkvdb/master
...
Also ignore the virtual destructor warning when compiling with clang
2016-04-02 13:21:39 -04:00
Dirk Vanden Boer
76f8ff388f
Also ignore the virtual destructor warning when compiling with clang
2016-03-20 20:33:04 +01:00
Tsuda Kageyu
7627ae48ed
Change some static_casts to dynamic_casts in test_id3v2.cpp.
...
static_casts are unsafe and some of following tests doesn't work well with them.
2016-03-17 22:50:34 +09:00
Tsuda Kageyu
b2a6768704
Don't stop parsing an ID3v2 SYLT frame when its description is empty.
2016-03-14 20:35:09 +09:00
Tsuda Kageyu
7d270a7e20
Update NEWS.
2016-03-10 21:38:08 +09:00
Tsuda Kageyu
bf53dc6131
Merge pull request #726 from amethystAnt/ape-keys-bug
...
Fixed bug #725 - changed the maximum length of an APE key to 255
2016-03-07 06:41:21 +09:00
Karel Patlejch
ff8b6a91e7
Fixed bug #725 - changed the maximum length of an APE key to 255
2016-03-06 21:15:18 +01:00
Tsuda Kageyu
1a82419872
Add myself to maintainers.
2016-03-03 10:06:51 +09:00
Tsuda Kageyu
5a3265d031
Update NEWS for v1.11 BETA 2.
2016-03-03 05:02:14 +09:00
Tsuda Kageyu
a27199b772
Support Boost iostreams library to decode compressed ID3v2 frames in additiion to zlib.
...
This will help Windows users build TagLib without zlib source.
2016-03-02 11:14:11 +09:00
Tsuda Kageyu
6c27a32de8
Skip a useless debug message.
2016-02-24 21:32:25 +09:00
Tsuda Kageyu
11abffc0f6
Update NEWS.
2016-02-22 23:27:46 +09:00
Tsuda Kageyu
2aea23aed2
Add some debug messages to RIFF::File, just in case.
2016-02-22 23:17:17 +09:00
Tsuda Kageyu
e8ef0e0a4b
Improve the padding handling of RIFF files a bit.
2016-02-22 23:12:34 +09:00
Tsuda Kageyu
520da50bc5
Always update the global RIFF size when updating RIFF files.
2016-02-22 22:27:18 +09:00
Tsuda Kageyu
c0a909b709
Fix a broken indent.
2016-02-22 01:39:40 +09:00
Tsuda Kageyu
8d09f12847
Remove some #ifdefs and #includes no longer used.
2016-02-22 00:35:11 +09:00
Tsuda Kageyu
710166e32d
Separate zlib related code rather than having several #ifdef blocks.
2016-02-21 23:16:48 +09:00
Tsuda Kageyu
01054009ac
Make the code in ByteVector::append() a bit more clearer.
2016-02-21 00:43:33 +09:00
Tsuda Kageyu
7d8aa7b8bd
ByteVector::append() can't take the vector itself.
2016-02-20 19:42:46 +09:00
Tsuda Kageyu
98a57744c3
Add some tests for ByteVector::replace().
2016-02-20 11:50:47 +09:00
Tsuda Kageyu
8c4b484e67
Fix a possible out-of-bounds access in SynchData::decode().
...
This also avoids an extra memory copy.
2016-02-19 20:58:09 +09:00
Tsuda Kageyu
2166d703e0
Small fix in style.
2016-02-18 14:34:16 +09:00
Tsuda Kageyu
887f3b28e5
Add a TODO comment in ByteVector::replace().
2016-02-18 14:29:17 +09:00
Tsuda Kageyu
6a9db50c03
Revert "Remove more useless inline specifiers."
...
This reverts commit dadfe79799 .
2016-02-18 03:51:42 +09:00
Tsuda Kageyu
07d95e0dc0
Add an overload of ByteVector::replace() which takes chars.
...
Currently, this is only way of using ByteVector::replace().
2016-02-18 03:47:02 +09:00
Tsuda Kageyu
a9acca5d81
Decode unsynchronized ID3v2 frames efficiently.
...
It makes a great difference when decoding huge unsynchronized ID3v2 frames.
2016-02-18 03:07:38 +09:00
Tsuda Kageyu
dadfe79799
Remove more useless inline specifiers.
...
They are no longer needed since the unnamed namespaces have solved the ODR violation.
2016-02-17 22:06:36 +09:00
Tsuda Kageyu
552185a8b8
Cast the parameters of boost::endian::endian_reverse(), just in case.
2016-02-16 20:35:27 +09:00
Tsuda Kageyu
46eacaeba4
Inline functions had better have internal linkages.
...
This also removes useless inline specifiers.
2016-02-15 20:53:27 +09:00
Tsuda Kageyu
455e827e1e
Explicitly set a false flag in ConfigureChecks.cmake.
2016-02-15 02:18:42 +09:00
Tsuda Kageyu
c08e0b1357
Reorganize some redundant or missing tests.
2016-02-15 01:49:23 +09:00
Tsuda Kageyu
f3016c0892
Enable Boost Endian library again.
...
It should be detected properly now.
2016-02-15 01:36:17 +09:00
Tsuda Kageyu
f8f7cb0904
Update NEWS.
2016-02-15 00:26:41 +09:00
Tsuda Kageyu
d037b8c908
Make sure we don't write UTF8 or UTF16BE to ID3v2.3 tags.
2016-02-15 00:22:18 +09:00
Tsuda Kageyu
c349ba3a31
Add OS X settings to travis.yml.
2016-02-14 03:29:03 +09:00
Tsuda Kageyu
bb006e41d7
Disable Boost Endian library for now.
...
It's not detected properly depending on the environment.
2016-02-14 03:17:37 +09:00
Tsuda Kageyu
ab2267f9aa
Find Boost properly.
...
check_cxx_source_compiles() depends on the Visual Studio settings.
2016-02-14 01:53:02 +09:00
Tsuda Kageyu
73662037eb
Merge branch 'master' of https://github.com/taglib/taglib
2016-02-11 20:53:22 +09:00
Tsuda Kageyu
aa339eba87
Fix a wrong test for base64 decoding.
2016-02-11 20:47:55 +09:00
Scott Wheeler
45a3bdb695
Properly mark functions as virtual
2016-02-10 11:08:46 +00:00
Tsuda Kageyu
5a155ef4ce
Fix memory leaks when saving Ogg files.
2016-02-07 04:46:40 +09:00
Tsuda Kageyu
184a151d41
Add some missing FileRef tests.
2016-02-06 21:56:51 +09:00
Tsuda Kageyu
cc2ccbc20c
Test if FileRef chooses a correct File type.
2016-02-06 21:32:03 +09:00
Tsuda Kageyu
fa46185ca4
Add a supplementary note to a comment.
2016-02-06 21:14:12 +09:00
Tsuda Kageyu
fffff35ca5
Correct the license information.
2016-02-06 01:27:36 +09:00
Tsuda Kageyu
31894f47f6
Fix another typo in NEWS.
2016-02-05 19:57:09 +09:00
Tsuda Kageyu
c1e3d65b68
Fix a typo in NEWS
2016-02-05 10:53:56 +09:00
Tsuda Kageyu
a8ecbbaef4
Update NEWS.
2016-02-03 20:33:13 +09:00
Tsuda Kageyu
24575aab23
Remove strnlen() since some compilers lack it.
2016-02-03 20:21:04 +09:00
Tsuda Kageyu
c04b24a2f5
More efficient handling of broken APE item keys.
...
This also improves the performance when handling intact APE items.
2016-02-03 01:08:16 +09:00
Tsuda Kageyu
013fbbf22c
APE::Tag::addValue() may append a string to non-text items.
2016-02-02 00:42:08 +09:00
Tsuda Kageyu
5350bc8501
Oops! We already have a function to check APE item keys.
2016-02-01 22:46:08 +09:00
Tsuda Kageyu
92a1a00624
APE item keys should be ASCII between 0x20 and 0x7E, not UTF-8.
2016-02-01 22:19:43 +09:00
Tsuda Kageyu
8afbf6c92a
Update NEWS.
2016-01-30 11:13:32 +09:00
Tsuda Kageyu
9976155aa9
Ignore 'fact' chunk of WAV files if their format is PCM.
...
TagLib reports wrong length of some PCM files with a 'fact' chunk.
2016-01-30 00:51:28 +09:00
Tsuda Kageyu
c2cb9ab8b0
Update NEWS with the specific release date.
2016-01-28 13:31:22 +09:00
Tsuda Kageyu
758b7e39ce
Update the version to v1.11.
2016-01-28 13:17:56 +09:00
Tsuda Kageyu
4ba7bb5a8a
Reorganize NEWS to put new features first.
2016-01-28 12:13:18 +09:00
Tsuda Kageyu
0b62ba1530
Remove the body of deprecated function Ogg::Page::getCopyWithNewPageSequenceNumber().
2016-01-28 12:00:27 +09:00
Tsuda Kageyu
fe92f3dffe
Add a test for broken MPEG audio frames.
2016-01-09 13:30:00 +09:00
Tsuda Kageyu
b8e82a7775
Amend an outdated comment.
2016-01-09 10:15:42 +09:00
Tsuda Kageyu
3dc873b7d0
Check if two consecutive MPEG audio frames are consistent.
...
This fixes reading the audio properties of some MP3 files reported by a Kodi user.
This is basically the same check as FFmpeg does.
2016-01-08 20:08:04 +09:00
Tsuda Kageyu
1254534ed4
Another workaround for broken MPEG headers.
2016-01-08 02:30:17 +09:00
Tsuda Kageyu
7a5fb7d672
Revert some unnecessary changes.
2016-01-08 02:22:44 +09:00
Tsuda Kageyu
5b7ee5bc1a
Initialize all the private data members.
2016-01-08 01:57:18 +09:00
Tsuda Kageyu
815d1583e9
Avoid repeating insert() operations in Ogg::File.
2016-01-06 17:57:37 +09:00
Tsuda Kageyu
6c183a7df8
Update NEWS.
2016-01-06 17:43:32 +09:00
Tsuda Kageyu
8d5f821b16
Merge pull request #689 from TsudaKageyu/save-ogg
...
Fix a segfault when saving an Ogg file repeatedly.
2016-01-06 09:46:35 +09:00
Tsuda Kageyu
0611744171
Merge pull request #706 from TwoFX/master
...
Remove "FORCE" in CMake path specifications to allow installation to a non-standard directory structure
2016-01-05 13:20:28 +09:00
Markus Himmel
c25e0c6ead
Remove "FORCE" in CMake path specifications to allow installation to a
...
non-standard directory structure.
2015-12-29 10:29:58 +01:00
Tsuda Kageyu
45762d20f1
Fix a silly mistake.
2015-12-25 16:52:26 +09:00
Tsuda Kageyu
67434aa7b4
Merge pull request #705 from TsudaKageyu/mpeg-invalid-frame
...
More robust checks for invalid MPEG frame headers. (again)
2015-12-25 08:58:06 +09:00
Tsuda Kageyu
cb23f91c98
Merge branch 'master' of https://github.com/dukeyin/taglib into dukeyin-master
...
# Conflicts:
# tests/test_id3v2.cpp
2015-12-24 13:47:55 +09:00
Tsuda Kageyu
37c4d0b11d
Update NEWS.
2015-12-24 09:43:21 +09:00
Tsuda Kageyu
626d13467e
Merge pull request #701 from TsudaKageyu/flac-strip
...
Enable FLAC::File to remove non-standard tags.
2015-12-24 09:41:48 +09:00
Tsuda Kageyu
02eac18d00
Fix a segfault when saving an Ogg file repeatedly.
...
This also reduces memory usage when reading/writing Ogg files.
Especially, it stops holding an entire file when renumbering Ogg pages.
2015-12-24 08:58:56 +09:00
Tsuda Kageyu
4064b34eff
A bit more tolerant check for the MPEG frame length.
2015-12-22 20:39:58 +09:00
Tsuda Kageyu
22708a0af6
Add some supplementary comments.
2015-12-22 17:06:40 +09:00
Tsuda Kageyu
12da0ebd6d
Amend a vague comment and debug message.
2015-12-22 15:18:53 +09:00
Tsuda Kageyu
d13a3e3e16
Update NEWS.
2015-12-22 15:11:21 +09:00
Tsuda Kageyu
e8b28a0466
Merge pull request #703 from inizan-yannick/master
...
Fix .pc file configuration.
2015-12-22 15:07:27 +09:00
Tsuda Kageyu
081d6eaf76
More robust checks for invalid MPEG frame headers. (again)
2015-12-22 14:57:23 +09:00
Tsuda Kageyu
ac361c7692
Unify some duplicate internal functions.
2015-12-22 11:49:55 +09:00
Yannick Inizan
d7de3983d9
Fix .pc file configuration.
2015-12-21 22:25:49 +01:00
Tsuda Kageyu
1aca1f64fe
Enable FLAC::File to remove non-standard tags.
2015-12-21 15:42:41 +09:00
Tsuda Kageyu
5a1f44d166
Avoid the risk of subtracting between signed and unsigned types.
2015-12-21 14:29:59 +09:00
Tsuda Kageyu
130654316b
Backport some comments from tablib2 branch.
2015-12-21 13:54:02 +09:00
Tsuda Kageyu
5cd139a578
Small fix in style.
2015-12-21 13:34:48 +09:00
Tsuda Kageyu
dd2ed47703
Avoid an implicit const cast.
2015-12-21 13:06:43 +09:00
Tsuda Kageyu
d0238ba82f
Avoid the risk of subtracting between signed and unsigned types.
2015-12-21 11:44:25 +09:00
Tsuda Kageyu
cf5d431d77
Remove an unused private data member.
2015-12-21 10:49:46 +09:00
Tsuda Kageyu
4ec264b6a1
Update NEWS.
2015-12-21 10:05:05 +09:00
Tsuda Kageyu
ef92ee223f
Merge pull request #699 from TsudaKageyu/flac-duplicate-comments
...
Remove duplicate Vorbis comment blocks when saving a FLAC file.
2015-12-21 10:03:14 +09:00
Tsuda Kageyu
8b6bcf411a
Update NEWS.
2015-12-18 13:54:47 +09:00
Tsuda Kageyu
aa66b0651d
Merge pull request #688 from TsudaKageyu/save-wv
...
Fix saving WavPack files.
2015-12-18 13:52:54 +09:00
Tsuda Kageyu
7c5d1e02de
Update NEWS.
2015-12-18 09:03:31 +09:00
Tsuda Kageyu
6d27a1013d
Merge pull request #687 from TsudaKageyu/save-mpc
...
Fix saving MPC files.
2015-12-18 09:00:45 +09:00
Tsuda Kageyu
50711f4758
Update NEWS.
2015-12-17 16:59:28 +09:00
Tsuda Kageyu
6998be94f6
Merge pull request #686 from TsudaKageyu/save-ape
...
Fix saving APE files.
2015-12-17 16:57:24 +09:00
Tsuda Kageyu
862952bdcc
Remove unnecessary private data members from TrueAudio::File.
2015-12-17 11:43:11 +09:00
Tsuda Kageyu
f0b0b736e3
Update NEWS.
2015-12-17 11:26:45 +09:00
Tsuda Kageyu
546870d83a
Merge pull request #684 from TsudaKageyu/save-mpeg
...
Fix saving MPEG files.
2015-12-17 11:24:25 +09:00
Tsuda Kageyu
581e58585a
Amend a comment that refers to a deprecated function.
2015-12-16 13:39:22 +09:00
Tsuda Kageyu
36b905670c
Replace TagLib::uint with unsinged int.
2015-12-16 12:59:43 +09:00
Tsuda Kageyu
42459fe457
Update NEWS.
2015-12-16 11:49:55 +09:00
Tsuda Kageyu
fc571e5150
Merge pull request #683 from TsudaKageyu/save-mp4
...
Fix saving MP4 files.
2015-12-16 11:48:52 +09:00
Tsuda Kageyu
5480458dfc
Change a method name of XiphComment to make it consistent with other method.
2015-12-16 11:00:13 +09:00
Tsuda Kageyu
9950fca3c2
Remove duplicate Vorbis comment blocks when saving a FLAC file.
2015-12-16 10:00:08 +09:00
Tsuda Kageyu
63e838f831
Make use of List iterators and setAutoDelete() in FLAC::File.
2015-12-15 15:31:33 +09:00
Tsuda Kageyu
94f28b4fa1
Update NEWS.
2015-12-15 15:18:07 +09:00
Tsuda Kageyu
680784c7b7
Merge pull request #682 from TsudaKageyu/save-flac
...
Fix saving FLAC files.
2015-12-15 15:08:14 +09:00
Tsuda Kageyu
5d517127ae
Merge pull request #698 from TsudaKageyu/mpeg-header-check
...
More robust checks for invalid MPEG frame headers.
2015-12-15 10:11:13 +09:00
Tsuda Kageyu
be9b5cc93a
More robust checks for invalid MPEG frame headers.
2015-12-08 11:20:51 +09:00
Tsuda Kageyu
847eec23cf
Fix careless copy-and-paste code.
2015-12-04 14:29:26 +09:00
Tsuda Kageyu
9dfb3fe452
Update NEWS.
2015-12-04 14:15:51 +09:00
Tsuda Kageyu
a013c7c4c2
Merge pull request #694 from FestusHagen/fh1.m_NoSharedLibTests
...
Disable tests with a shared library.
2015-12-04 11:41:44 +09:00
Festus Hagen
62ec63b039
Disable tests with a shared library.
2015-12-03 15:04:37 -05:00
Tsuda Kageyu
52d3122e9e
Remove some unused private data members.
2015-12-03 16:55:05 +09:00
Tsuda Kageyu
24f220224d
Move a test to the proper place.
...
The test is actually for XiphComment, not Vorbis::File.
2015-12-03 13:05:18 +09:00
Tsuda Kageyu
a1ac23530e
Simpler conversion from bits to bytes.
2015-12-03 12:34:54 +09:00
Tsuda Kageyu
e99910dd74
Revert some ABI breaking changes.
2015-12-03 10:06:04 +09:00
Tsuda Kageyu
88ad2843f4
Small cosmetic fixes.
2015-12-03 02:25:16 +09:00
Tsuda Kageyu
a0b8683656
Use a standard type rather than TagLib::uint.
...
This won't break the ABI compatibility.
2015-12-03 02:15:41 +09:00
Tsuda Kageyu
085a0ef298
Use a standard type rather than TagLib::ulong.
...
This won't break the ABI compatibility.
2015-12-03 00:03:06 +09:00
Tsuda Kageyu
363c471a2d
Small cosmetic fixes.
2015-12-02 23:21:23 +09:00
Tsuda Kageyu
7f8efec4d4
Merge pull request #545 from FestusHagen/fh1.m_TDRC
...
Append TIME to TDRC, adjusted test_id3v2.cpp as appropriate.
2015-12-02 21:11:53 +09:00
Tsuda Kageyu
dcc0fe553c
Use a standard type rather than TagLib::ushort.
...
This won't break the ABI compatibility.
2015-12-02 18:59:45 +09:00
Tsuda Kageyu
8bdddaabce
Use a standard type rather than TagLib::uchar.
...
This won't break the ABI compatibility.
2015-12-02 18:11:52 +09:00
Tsuda Kageyu
2cb89b85c9
Make use of List iterators and setAutoDelete() in XiphComment.
2015-12-02 17:33:11 +09:00
Tsuda Kageyu
e6e9ba6094
Fix saving FLAC files.
...
This fixes all the issues reported at #622 .
2015-12-02 17:21:12 +09:00
Tsuda Kageyu
7b854c5434
Update NEWS.
2015-12-02 15:01:10 +09:00
Tsuda Kageyu
1529af7a12
Merge branch 'xiph-picture' of https://github.com/gogglesmm/taglib into gogglesmm-xiph-picture
...
# Conflicts:
# tests/test_bytevector.cpp
# tests/test_ogg.cpp
2015-12-02 14:59:50 +09:00
Tsuda Kageyu
e475e31e0d
Update NEWS.
2015-12-02 14:28:41 +09:00
Tsuda Kageyu
ea55c8b5c1
Merge branch 'cmake-allow-BUILD_SHARED_LIBS-to-drive-ENABLE_STATIC' of https://github.com/tSed/taglib into tSed-cmake-allow-BUILD_SHARED_LIBS-to-drive-ENABLE_STATIC
...
# Conflicts:
# CMakeLists.txt
# examples/CMakeLists.txt
2015-12-02 14:21:58 +09:00
Tsuda Kageyu
bc8b60ea46
Remove an unreachable statement.
2015-12-02 14:08:20 +09:00
Tsuda Kageyu
83ffc87598
Surround some internal stuff by anonymous namespaces.
2015-12-02 12:00:43 +09:00
Tsuda Kageyu
d97292c593
Amend some comments refer to the 'offset_t' type. It no longer exists.
2015-12-02 11:36:54 +09:00
Tsuda Kageyu
060a50ab11
Use a standard type rather than TagLib::wchar.
...
This won't break the ABI compatibility.
2015-12-02 11:30:29 +09:00
Tsuda Kageyu
6966be4292
Use a standard type rather than TagLib::ulonglong.
...
TagLib::ulonglong is not used in the public headers, so the changes are trivial.
2015-12-02 09:13:10 +09:00
Lukáš Lalinský
f38749aacf
Merge pull request #690 from stefansaraev/pkgconfig
...
fix pkgconfig file for cross compiling
2015-12-01 16:47:47 +01:00
Tsuda Kageyu
b4b16fd7e0
Merge pull request #691 from FestusHagen/fh1.m_ushortAmbiguities
...
Silence ushort ambiguity errors
2015-12-01 00:02:25 +09:00
Festus Hagen
b1c67fc5dc
Silence ushort ambiguity errors
2015-11-30 08:09:08 -05:00
Stefan Saraev
90f1f03163
fix pkgconfig file for cross compiling
2015-11-30 14:14:10 +02:00
Tsuda Kageyu
101a330d55
The new test wasn't called.
2015-11-30 18:32:49 +09:00
Tsuda Kageyu
59088096e6
Add some tests for M4V files.
2015-11-30 17:18:50 +09:00
Tsuda Kageyu
d1ceffd1f0
Merge branch 'm4v' of https://github.com/videolabs/taglib into videolabs-m4v
...
# Conflicts:
# taglib/fileref.cpp
2015-11-30 17:12:03 +09:00
Tsuda Kageyu
eb6542bc8b
Unify some duplicate internal functions.
2015-11-30 16:35:37 +09:00
Tsuda Kageyu
bccd57a470
Add const to an unchanged data member.
2015-11-30 16:21:58 +09:00
Tsuda Kageyu
a6701ddcda
Remove some private data members not needed to belong to private classes.
2015-11-30 15:43:18 +09:00
Tsuda Kageyu
31d1f11969
Use a const pointer to initialize a const pointer.
2015-11-30 15:00:32 +09:00
Tsuda Kageyu
f9e558eef5
Avoid trying to remove tag chunks when an AIFF file doesn't have an ID3v2 tag.
2015-11-30 14:17:26 +09:00
Tsuda Kageyu
fcdf7c2ae2
Add some tests to check if the internal flags are updated when writing WAV files.
2015-11-30 13:46:43 +09:00
Tsuda Kageyu
8c424badad
Avoid writing an empty ID3v2 tag in an AIFF file.
2015-11-30 13:42:25 +09:00
Tsuda Kageyu
f1b683b582
Remove some private data members not needed to be carried.
2015-11-30 13:09:11 +09:00
Tsuda Kageyu
5e37f0101d
Remove some private data members not needed to be carried.
2015-11-30 12:53:52 +09:00
Tsuda Kageyu
b541ec8b68
Remove some private data members not needed to be carried.
2015-11-30 12:35:29 +09:00
Tsuda Kageyu
1fa677e2ef
Add some tests about splitting/merging Ogg pages.
2015-11-29 01:57:15 +09:00
Festus Hagen
463e8f313a
Append TIME to TDRC, adjusted test_id3v2.cpp as appropriate.
2015-11-27 17:54:20 -05:00
Tsuda Kageyu
8130b30397
Close temporary files regardless if the tests are successful or not.
...
delete statements are skipped when assertions fail.
2015-11-27 15:20:16 +09:00
Tsuda Kageyu
6b836c6ba7
Add ENABLE_CCACHE build option to allow users opt in to use ccache.
2015-11-27 12:15:03 +09:00
Tsuda Kageyu
f5a3f2b6c1
Update NEWS.
2015-11-27 09:37:29 +09:00
Tsuda Kageyu
4b8e39e8f0
Merge branch 'fh1.m_AddBuildBindingsOption' of https://github.com/FestusHagen/taglib into FestusHagen-fh1.m_AddBuildBindingsOption
...
# Conflicts:
# CMakeLists.txt
2015-11-27 09:35:13 +09:00
Tsuda Kageyu
905bf89e66
Fix saving WavPack files.
...
This fixes the issue reported at #624 .
2015-11-27 09:30:03 +09:00
Tsuda Kageyu
67cbf2c0a8
Silence a GCC warning in tests about ignoring a return value.
2015-11-27 02:45:33 +09:00
Tsuda Kageyu
3f84621d58
Small cleanups in CMakeLists.txt.
2015-11-27 02:27:24 +09:00
Tsuda Kageyu
083eadec60
Fix saving MPC files.
...
This fixes the issue reported at #624 .
2015-11-27 00:53:03 +09:00
Tsuda Kageyu
f180445be5
Fix saving APE files.
...
This fixes the issue reported at #624 .
2015-11-27 00:22:07 +09:00
Tsuda Kageyu
cbc279b899
Merge pull request #685 from g-coder/patch-2
...
Added ccache support for faster compilation
2015-11-26 20:03:17 +09:00
g-coder
e1bcb101f0
Update CMakeLists.txt
2015-11-26 15:51:42 +05:30
g-coder
14f3b6c928
Added ccache support for faster compilation
...
ccache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again. It provides support for C/C++ languages.
It makes compilation fast if it is available on the machine.
https://ccache.samba.org/
2015-11-26 15:12:23 +05:30
Tsuda Kageyu
b6361ddde5
Fix saving MPEG files.
...
This fixes all the issues reported at #618 .
2015-11-25 01:56:07 +09:00
Tsuda Kageyu
66dd0b8a6f
Small cosmetic fixes.
2015-11-25 00:12:18 +09:00
Tsuda Kageyu
94b7828990
Fix saving MP4 files.
...
This fixes the issue reported at #619 .
2015-11-24 23:41:10 +09:00
Tsuda Kageyu
fa4289e044
Fix instance references to a static member function.
2015-11-24 16:36:50 +09:00
Tsuda Kageyu
3612c2cc24
Small cosmetic fix.
2015-11-24 15:45:38 +09:00
Tsuda Kageyu
477aba9465
Merge pull request #676 from TsudaKageyu/string-hide-private
...
Hide private things from a public header.
2015-11-23 17:48:06 +09:00
Tsuda Kageyu
a640074a21
Hide some private functions from a public header.
2015-11-23 03:26:38 +09:00
Tsuda Kageyu
25ffbcb4b9
Hide a private static variable.
...
This is so-called Scott Mayers' singleton pattern.
2015-11-23 01:32:12 +09:00
Tsuda Kageyu
e44de9f37f
Remove duplicate tags when saving AIFF files.
...
Just the same way as WAV already does.
2015-11-22 21:03:33 +09:00
Tsuda Kageyu
2b7d6fef47
Reduce redundant ref()/deref() operations.
2015-11-22 20:11:08 +09:00
Tsuda Kageyu
ae633105d6
Fix an instance reference to a static data member.
2015-11-22 19:43:17 +09:00
Tsuda Kageyu
6978131d22
Silence some GCC warnings about no return statement.
2015-11-22 18:42:49 +09:00
Tsuda Kageyu
83a0bc3710
Avoid using obsolete XiphComment::removeField().
2015-11-22 18:30:56 +09:00
Tsuda Kageyu
6477132301
Update NEWS.
2015-11-22 16:23:53 +09:00
Tsuda Kageyu
559c6b28c9
Merge pull request #681 from TsudaKageyu/xiph-remove-fields
...
Add alternative methods to XiphComment::removeField() that may cause …
2015-11-22 16:19:15 +09:00
Tsuda Kageyu
e9f70a59b2
Merge branch 'genversion' of https://github.com/ufleisch/taglib into ufleisch-genversion
...
# Conflicts:
# CMakeLists.txt
2015-11-22 10:38:35 +09:00
Tsuda Kageyu
f34d73d319
Make FileRef::FileTypeResolver work properly.
2015-11-21 18:29:41 +09:00
Tsuda Kageyu
ef3ce1e38a
Style fixes in fileref.cpp.
2015-11-21 17:06:26 +09:00
Tsuda Kageyu
8724184d56
Fix a typo in a comment.
2015-11-21 10:32:32 +09:00
Tsuda Kageyu
61dabe61a7
Update NEWS.
2015-11-21 10:30:48 +09:00
Tsuda Kageyu
de0fc83066
Style fixes in fileref.cpp.
2015-11-21 10:29:37 +09:00
Tsuda Kageyu
c3807e59cd
Merge pull request #528 from chouquette/master
...
FileRef: Allow an IOStream to be used
2015-11-21 09:51:03 +09:00
Tsuda Kageyu
b592f78238
Unify common functions for finding tags.
...
Several classes have exactly identical functions for finding tags.
This also hides the functions from public headers.
2015-11-21 09:30:04 +09:00
Tsuda Kageyu
84e3582332
Add alternative methods to XiphComment::removeField().
...
Using XiphComment::removeField() may lead to a linkage error, however we can't fix the method itself without breaking the ABI or changing its behavior.
So we added some alternative method and marked the old one deprecated.
2015-11-20 23:28:32 +09:00
Tsuda Kageyu
ce1c03faa3
Update NEWS.
2015-11-20 23:08:43 +09:00
Tsuda Kageyu
94c941928a
Merge pull request #654 from TsudaKageyu/xiph-setcomment
...
Fix XiphComment::setComment() for the case that a Vorbis comment has …
2015-11-20 23:02:51 +09:00
Tsuda Kageyu
8c6fe45453
Avoid using String::null where an empty string is required.
...
String::null is not necessarily be empty or remains the same instance.
Using it in a public header may lead to a linkage error.
2015-11-20 22:21:47 +09:00
Tsuda Kageyu
c4fe65787c
Avoid using String::isNull() where it is considered to be confused with isEmpty().
2015-11-20 20:59:13 +09:00
Tsuda Kageyu
29b0568dec
Revert "Add a test about handing "COMMENT" and "DESCIPRION" fields in XiphComment."
...
This reverts commit 8f147034d6 .
2015-11-20 14:18:40 +09:00
Tsuda Kageyu
7d0a651f3e
Revert "Use always "COMMENT" field when updating XiphComment."
...
This reverts commit ba5137bf2d .
2015-11-20 14:18:23 +09:00
Tsuda Kageyu
224f133d65
Merge pull request #643 from TsudaKageyu/save-asf
...
Avoid writing duplicate tags when saving ASF files.
2015-11-20 13:52:33 +09:00
Tsuda Kageyu
f956c89141
Remove a warning from a comment and update NEWS.
2015-11-20 13:48:51 +09:00
Tsuda Kageyu
6dc8d701a8
Avoid writing duplicate tags when saving ASF files.
...
Reduce memory reallocations and copies when saving ASF files.
2015-11-20 13:48:25 +09:00
Tsuda Kageyu
779f904940
Update NEWS.
2015-11-20 13:35:07 +09:00
Tsuda Kageyu
4161746d89
Update NEWS.
2015-11-20 13:25:28 +09:00
Tsuda Kageyu
6d5654028a
Merge pull request #642 from TsudaKageyu/strip-and-properties
...
Fix segfaults when calling File::properties() after strip().
2015-11-20 13:24:01 +09:00
Tsuda Kageyu
93d55dafd6
Update NEWS.
2015-11-20 10:50:21 +09:00
Tsuda Kageyu
e1e1b6c60c
Merge pull request #623 from TsudaKageyu/erase-duplicate-id3v2
...
Skip duplicate ID3v2 tags and treat them as an extra blank of the first one.
2015-11-20 10:49:11 +09:00
Tsuda Kageyu
1cc3e4cc57
Consistent rounding when calculating the MP4 audio length.
2015-11-19 18:24:20 +09:00
Tsuda Kageyu
f310b1810d
Update NEWS.
2015-11-19 17:55:18 +09:00
Tsuda Kageyu
e10684312e
Efficient lookup for an ID3v2 tag in a MPEG file.
...
An ID3v2 tag or MPEG frame is most likely be at the beginning of the file.
2015-11-19 17:31:51 +09:00
Tsuda Kageyu
a3564d8c68
Efficient lookup for the MP4/ASF field name and ID3v1 genre tables.
...
Linear lookup is much faster and memory efficient when an array is very small.
2015-11-19 16:35:55 +09:00
Tsuda Kageyu
95ef0e7882
Add some tests for String::toInt() with too large values.
2015-11-19 14:52:02 +09:00
Tsuda Kageyu
13a258d9ed
Backport shorter versions of some functions from taglib2.
2015-11-19 14:45:36 +09:00
Tsuda Kageyu
72a807def1
Fix a string conversion bug in tag_c.cpp.
2015-11-19 11:50:39 +09:00
Tsuda Kageyu
539d951277
Avoid using ByteVector::null where an empty vector is required.
...
ByteVector::null is not necessarily be empty or remains the same instance.
Using it in a public header may lead to a linkage error.
2015-11-19 10:52:46 +09:00
Tsuda Kageyu
21788f4a26
Efficient lookup for the ID3v2 frame ID table.
...
Linear lookup is much faster and memory efficient when an array is very small.
2015-11-19 10:07:10 +09:00
Tsuda Kageyu
74cb6f3fc7
Merge pull request #493 from TsudaKageyu/nested-refcounter
...
Simplify overly complicated ByteVector::mid() implementation.
2015-11-19 09:37:40 +09:00
Tsuda Kageyu
e0f1151c5c
Resolve some conflicts before merging.
2015-11-19 09:27:15 +09:00
Tsuda Kageyu
10e1fcd686
Consistent notations between ByteVector::data() and at().
2015-11-19 09:23:20 +09:00
Tsuda Kageyu
3bce77a359
Use linear search instead of the Knuth-Morris-Pratt algorithm in ByteVector::find().
...
In almost all cases, it handles too small data for KMP to work effectively.
2015-11-19 09:23:19 +09:00
Tsuda Kageyu
0ffd2e8ab9
Replace DATA macro with more straightforward notations.
2015-11-19 09:23:19 +09:00
Tsuda Kageyu
7e85d9b202
Simplify overly complicated ByteVector::mid() implementation.
...
Especially remove the useless nested RefCounters.
2015-11-19 09:23:19 +09:00
Tsuda Kageyu
c6443dabc6
Use the same type name between a List and its iterator.
2015-11-18 17:58:13 +09:00
Tsuda Kageyu
c5db39fbf4
Merge pull request #661 from ufleisch/podcast-frames
...
Support for Apple podcast frames
2015-11-18 17:48:14 +09:00
Tsuda Kageyu
b6469bda1a
Merge pull request #628 from RyanLucchese/rl-ConstReverseIterator-solaris-bug
...
return const correct reverse iterator for newer Sun compiler
2015-11-18 17:23:16 +09:00
Tsuda Kageyu
978a5f0a27
Merge pull request #629 from RyanLucchese/rl-fix-class-instantiation-solstudio
...
check SUNPRO_CC version before using Map workaround
2015-11-18 17:22:25 +09:00
Tsuda Kageyu
8203ccf04c
Merge pull request #608 from TsudaKageyu/mp4-has-tags
...
Add a method to check if an MP4 file on disk actually has a tag.
2015-11-18 17:14:26 +09:00
Tsuda Kageyu
47860c20f4
Make use of List iterators.
2015-11-18 17:06:49 +09:00
Tsuda Kageyu
6e6e11f21a
Use List::isEmpty() rather than size() to check if the list is empty.
...
std::list::empty() is guaranteed to be an O(1) operation.
2015-11-18 16:57:41 +09:00
Tsuda Kageyu
288e97ad44
Make use of List iterators.
2015-11-18 16:38:30 +09:00
Tsuda Kageyu
07b26ab3e4
Make use of List iterators and setAutoDelete().
2015-11-18 15:29:04 +09:00
Tsuda Kageyu
0f00dfc778
Add a comment to List::isEmpty().
2015-11-18 15:14:50 +09:00
Tsuda Kageyu
b01fecd280
Separate some tests for MP4::File::hasMP4Tag().
2015-11-18 14:25:22 +09:00
Tsuda Kageyu
69921b8090
Amend the comment on MP4::File::hasMP4Tag().
2015-11-18 14:17:29 +09:00
Tsuda Kageyu
1caaa8a020
Reduce duplicate code between String::ctor() and operator=().
...
It's safer to have only one pair of ref()/deref() than to have a several pairs.
2015-11-18 14:03:45 +09:00
Tsuda Kageyu
4f3844114a
Mark some variables and functions deprecated.
...
ByteVector::null, ByteVector::isNull(), String::null, String::isNull() have got marked deprecated.
It's dangerous to use them, and they will be removed in taglib2.
2015-11-18 10:29:25 +09:00
Tsuda Kageyu
76de4234a1
Add a test for the CRC checksum of Ogg pages.
2015-11-17 15:05:43 +09:00
Tsuda Kageyu
4bac99e3da
Add some notes about ByteVector::isNull() and ByteVector::null.
2015-11-17 13:06:03 +09:00
Tsuda Kageyu
6b7a2c4cf7
Add some notes about String::isNull() and String::null.
2015-11-17 11:41:13 +09:00
Tsuda Kageyu
1a942627bf
Add String::clear() method to clear the string.
2015-11-17 11:29:52 +09:00
Tsuda Kageyu
3128f425b8
vsnprintf()/vsprintf() does not necessarily return -1 when failed.
2015-11-17 11:06:19 +09:00
Tsuda Kageyu
3f968933f4
Use std::wstring::empty() rather than size() == 0.
...
Depending on the implementation, empty() can be more efficient than size().
2015-11-17 10:49:30 +09:00
Tsuda Kageyu
67f44071cd
Fix the usage of boost::endian::endian_reverse().
2015-11-14 14:49:59 +09:00
Tsuda Kageyu
11fbf394a3
Skip duplicate ID3v2 tags and treat them as an extra blank of the first one.
...
This enables all the file formats to handle duplicate ID3v2 tags properly and erase them automatically.
2015-11-13 11:55:56 +09:00
Tsuda Kageyu
a25e1e9f90
Correct the ID3v2 padding size calculation.
2015-11-13 11:44:12 +09:00
Tsuda Kageyu
091ab9dee0
Reduce memory reallocation when rendering an ID3v2 tag.
...
Prevent an ID3v2 padding from being ridiculously large.
2015-11-13 11:35:37 +09:00
Tsuda Kageyu
c353a71ce5
Remove an unused private data member.
2015-11-13 11:23:27 +09:00
Tsuda Kageyu
762581fe3f
Add a method to check if an MP4 file on disk actually has a tag.
2015-11-13 11:14:12 +09:00
Tsuda Kageyu
8f147034d6
Add a test about handing "COMMENT" and "DESCIPRION" fields in XiphComment.
2015-11-13 11:07:50 +09:00
Tsuda Kageyu
6775cef651
Make use of the Boost Endian library for byte swapping.
...
It's likely to be better at choosing the most efficient method than our CMake tests.
2015-11-13 10:58:23 +09:00
Tsuda Kageyu
86c7e905ba
Silence some MSVC security warnings by replacing strdup() with _strdup().
...
Backported from taglib2.
2015-11-13 10:06:01 +09:00
Sander Jansen
2184aa476f
xiph: preserve any picture data we can't decode in the text comments
2015-11-12 08:50:34 -06:00
Sander Jansen
3e8eff16b8
another style fix
2015-11-12 08:50:34 -06:00
Sander Jansen
41a44f4ab2
Support reading deprecated COVERART xiphcomment
2015-11-12 08:50:34 -06:00
Sander Jansen
70e471f1d1
Check if saved picture can be read back correctly
2015-11-12 08:50:34 -06:00
Sander Jansen
f836cb4dea
Two more spaces
2015-11-12 08:50:34 -06:00
Sander Jansen
47bd01ecda
Minor style fixes
2015-11-12 08:50:34 -06:00
Sander Jansen
90ad17b4c5
Additional unit tests for base64 encoder/decoder
2015-11-12 08:50:34 -06:00
Sander Jansen
f4c1beb161
Make fromBase64 more strict and update code to follow taglib coding style
2015-11-12 08:50:34 -06:00
Sander Jansen
c963d3ba04
correctly filter out invalid base64 characters
2015-11-12 08:50:34 -06:00
Sander Jansen
c4a02a1799
remove redundant size specificier in mid usage
2015-11-12 08:50:34 -06:00
Sander Jansen
59a1b7a491
add forgotten const cast
2015-11-12 08:50:34 -06:00
Sander Jansen
62bb3c95c8
Make ByteVector::fromBase64 as static member function
2015-11-12 08:50:34 -06:00
Sander Jansen
d3351a0012
Delete pictures in XiphComment destructor
2015-11-12 08:50:34 -06:00
Sander Jansen
0c14bd0ed0
Add FLAC::Picture support to Xiph Comment
2015-11-12 08:50:34 -06:00
Sander Jansen
7bbf5a2e79
add base64 encoder/decoder to bytevector
2015-11-12 08:48:00 -06:00
Tsuda Kageyu
ba5137bf2d
Use always "COMMENT" field when updating XiphComment.
...
The recommended field name for additional comments is "COMMENT".
It's the same behavior as "DATE" or "TRACKNUMBER" field.
2015-11-12 17:37:22 +09:00
Tsuda Kageyu
b3cea6cca7
Fix XiphComment::setComment() for the case that a Vorbis comment has the "COMMENT" field.
2015-11-12 17:16:47 +09:00
Tsuda Kageyu
a533b9c665
Hide private things from a public header.
...
Some functions and a variable in tstring.h are not needed to be exposed in a public header.
2015-11-12 15:36:02 +09:00
Tsuda Kageyu
ec8e611909
Fix an instance reference to a static data member.
2015-11-12 14:48:24 +09:00
Tsuda Kageyu
c66e6b27d9
Small cleanups in CMakeLists.txt.
2015-11-12 14:41:15 +09:00
Tsuda Kageyu
1d379fdb2f
Small cleanups in audioproperties.cpp.
2015-11-12 14:24:04 +09:00
Tsuda Kageyu
47813c5a7f
A bit more accurate calculation of the AIFF audio length.
...
Actually, it's unlikely to improve the accuracy, but prevents a useless round-trip conversion between double and int.
2015-11-12 14:10:09 +09:00
Tsuda Kageyu
94ff9124c7
Skip both ID3v1 and APE tags when seeking the last MPEG frame.
2015-11-12 13:52:46 +09:00
Lukáš Lalinský
9f697fce8e
1.10
2015-11-11 22:41:59 +01:00
Tsuda Kageyu
320d0f5ad7
Use List::isEmpty() than size() > 0.
...
Small revision of pokowaka's fix. isEmpty() is a little better than size() > 0, since std::list::empty() is guaranteed to be an O(1) operation.
2015-11-06 16:13:43 +09:00
Tsuda Kageyu
77087cf865
Merge pull request #675 from garima-g/patch-1
...
Add self-assignment check in operator=
2015-11-05 15:43:03 +09:00
garima-g
8b4a27beb4
Add self-assignment check in operator=
...
Method 'operator=' should check its argument with 'this' pointer.
2015-11-05 11:19:44 +05:30
garima-g
998ebf4ce6
Add self-assignment check in operator=
...
Method 'operator=' should check its argument with 'this' pointer.
2015-11-05 11:16:34 +05:30
garima-g
ccaf650214
Add self-assignment check in operator=
...
Method 'operator=' should check its argument with 'this' pointer.
2015-11-05 11:12:24 +05:30
garima-g
9fad0b28a5
Add self-assignment check in operator=
...
Method 'operator=' should check its argument with 'this' pointer.
2015-11-05 11:09:20 +05:30
Lukáš Lalinský
153820bf12
Merge pull request #669 from pokowaka/bad_access
...
Fixes access violation
2015-10-12 14:30:00 +02:00
Erwin Jansen
29be00dc59
Fixes access violation
...
- Fixes access violation when setting empty stringlist on integer
properties in mp4 tag
- Add a unit test that validates the fix.
2015-10-09 22:11:27 -07:00
Stephen F. Booth
ab30ec3a6f
Merge pull request #664 from pbhd/master
...
add options R, I, D for replace/insert/delete of arbitrary tags
2015-09-23 23:09:55 -04:00
Peter Bauer
0a90687805
add options R, I, D for replace/insert/delete of arbitrary tags
2015-09-23 14:11:40 +02:00
Hugo Beauzée-Luyssen
e750cb491d
FileRef: Allow an IOStream to be used
2015-09-15 15:01:40 +02:00
Steve Lhomme
1f7715a5da
Add support for M4V tag parsing
2015-09-15 13:15:51 +02:00
Urs Fleisch
8e7504a66f
Add support for ID2v2 PCST frames (podcast).
2015-09-08 20:42:30 +02:00
Hasso Tepper
9ad5bb1d62
Support for proprietary frames Apple iTunes uses to tag podcast files.
2015-09-07 20:25:34 +02:00
Tsuda Kageyu
5ca4cd2f52
Revert "Small cleanups in audioproperties.cpp."
...
This reverts commit b49e3e5620 .
2015-08-31 16:29:13 +09:00
Tsuda Kageyu
70f8fb1bae
Revert "Add and fix some comments in ConfigureChecks.cmake."
...
This reverts commit fa6f33e552 .
2015-08-31 16:28:24 +09:00
Tsuda Kageyu
030e177640
Revert "Small cleanups in CMakeLists.txt."
...
This reverts commit 021c539002 .
2015-08-31 16:28:12 +09:00
Tsuda Kageyu
3bb0b11bff
Revert "Fix an instance reference to a static data member."
...
This reverts commit 9666b64f28 .
2015-08-31 16:21:26 +09:00
Tsuda Kageyu
60558d6a4a
Revert "A bit more accurate calculation of the AIFF audio length."
...
This reverts commit 15a1505880 .
2015-08-31 16:20:58 +09:00
Tsuda Kageyu
12f59d774e
Revert "Hide an internal variable from a public header."
...
This reverts commit fbd3b71690 .
2015-08-31 16:20:41 +09:00
Tsuda Kageyu
e2466a72f8
Revert "Skip both ID3v1 and APE tags when seeking the last MPEG frame."
...
This reverts commit 6d925da75e .
2015-08-31 16:20:15 +09:00
Tsuda Kageyu
9666b64f28
Fix an instance reference to a static data member.
2015-08-31 10:34:12 +09:00
Tsuda Kageyu
15a1505880
A bit more accurate calculation of the AIFF audio length.
2015-08-31 01:48:29 +09:00
Tsuda Kageyu
fbd3b71690
Hide an internal variable from a public header.
2015-08-30 01:01:34 +09:00
Tsuda Kageyu
6a76f491f8
Merge pull request #579 from TsudaKageyu/frameoffset2
...
Skip both ID3v1 and APE tags when seeking the last MPEG frame.
2015-08-29 00:09:14 +09:00
Tsuda Kageyu
6d925da75e
Skip both ID3v1 and APE tags when seeking the last MPEG frame.
2015-08-28 17:04:15 +09:00
Tsuda Kageyu
e178875b40
Mention that String::toWString()/toCWString() doesn't return UTF-32 string.
2015-08-28 13:38:22 +09:00
Tsuda Kageyu
bf45cfd84a
Check if QT_VERSION macro is defined.
2015-08-28 01:38:09 +09:00
Tsuda Kageyu
b49e3e5620
Small cleanups in audioproperties.cpp.
2015-08-27 11:29:40 +09:00
Tsuda Kageyu
fa6f33e552
Add and fix some comments in ConfigureChecks.cmake.
2015-08-26 15:05:34 +09:00
Tsuda Kageyu
021c539002
Small cleanups in CMakeLists.txt.
2015-08-26 08:14:31 +09:00
Lukáš Lalinský
aedfeba66b
Missed the full version string in taglib-config.cmd.cmake
2015-08-25 20:46:11 +02:00
Lukáš Lalinský
29ed265281
Skip the patch version if it's 0
2015-08-25 17:04:34 +02:00
Tsuda Kageyu
b6adb1f108
Remove a private data member not needed to carry.
2015-08-25 11:03:00 +09:00
Tsuda Kageyu
c7231c58a3
Improve a test about handling duplicate tags in WAV files.
2015-08-25 11:03:00 +09:00
Tsuda Kageyu
c5cf9b93bc
Fix segfaults when calling File::properties() after strip().
...
Backport TagUnion::properties() and TagUnion::removeUnsupportedProperties() from taglib2.
2015-08-25 11:03:00 +09:00
Tsuda Kageyu
1bb06b1f7a
Add RIFF::WAV::File::strip() function.
...
Avoid saving an empty tag.
2015-08-25 11:03:00 +09:00
Lukáš Lalinský
35aa6c4e84
Update date in NEWS
2015-08-23 20:09:22 +02:00
Lukáš Lalinský
54cea3edc3
Reorganize NEWS to put new features first
2015-08-23 12:20:25 +02:00
Lukáš Lalinský
0178d47c85
Don't use const ref to an integer in ChapterFrame
2015-08-23 12:20:25 +02:00
Lukáš Lalinský
71bc17b5e6
Lalala
2015-08-23 12:20:25 +02:00
Tsuda Kageyu
ac38f4ade1
Remove an unused private data member.
2015-08-23 18:25:17 +09:00
Tsuda Kageyu
b9f898698d
Revert "Remove some private data members not needed to carry."
...
This reverts commit 7c17d32b3a .
2015-08-23 18:21:51 +09:00
Tsuda Kageyu
bd564546f4
Fix some typos in comments.
2015-08-14 00:10:19 +09:00
Tsuda Kageyu
d90617959b
Fix some typos in comments.
2015-08-11 09:45:32 +09:00
Tsuda Kageyu
bc106ad81e
Separate two variable initializations.
2015-08-10 00:50:13 +09:00
Tsuda Kageyu
a23f808627
Remove an useless #include.
2015-08-09 13:26:51 +09:00
Tsuda Kageyu
e4cd963b12
Improve a test about splitting OGG pages.
...
Check for #529 .
2015-08-08 15:18:16 +09:00
Tsuda Kageyu
eff92fed98
Improve a test about splitting OGG pages.
...
Check for #529 .
2015-08-07 16:47:13 +09:00
Tsuda Kageyu
80441ff754
Remove a workaround for an older version of GCC.
...
GLIBC's byte swap functions are a good fallback option.
2015-08-07 08:59:16 +09:00
Festus Hagen
35d5ba4eff
Add BUILD_BINDINGS option, moved if(BUILD_EXAMPLES) to taglib/CMakeLists, plus some cleanup.
2015-08-06 17:26:37 -04:00
Tsuda Kageyu
edbafdbd88
Remove some redundant code from trefcounter.cpp.
2015-08-07 02:10:56 +09:00
Tsuda Kageyu
98ac8ba569
Add a comment about unused constants.
2015-08-07 02:03:03 +09:00
Tsuda Kageyu
173c58cf49
Merge pull request #580 from TsudaKageyu/negative-seek
...
Fix inconsistent negative seek behavior between Linux and Windows.
2015-08-07 01:32:26 +09:00
Tsuda Kageyu
ec3d050adc
Merge pull request #644 from petrows/master
...
Install target should be checked to avoid conflicts
2015-08-07 01:20:03 +09:00
Tsuda Kageyu
19a7e45997
Merge pull request #639 from TsudaKageyu/remove-cmake-check-float
...
Run-time check for byte order rather than CMake check.
2015-08-07 01:17:27 +09:00
Tsuda Kageyu
49563a9cd0
Merge pull request #640 from TsudaKageyu/cmake-vsprintf
...
CMake check for vsprintf_s/vsnprintf rather than sprintf_s/snprintf.
2015-08-07 01:14:12 +09:00
Tsuda Kageyu
1abe61640a
Merge pull request #645 from FestusHagen/fh1.m_UintAmbiguities_WavePackProperties
...
Silence uint ambiguity error in wavepackproperties.
2015-08-06 16:35:45 +09:00
Festus Hagen
65a6572299
Silence uint ambiguity errors in wavepackproperties.
2015-08-06 03:22:03 -04:00
Peter Petrovich
46e74c9391
Install target check fix
2015-08-05 08:45:27 +03:00
Tsuda Kageyu
7c17d32b3a
Remove some private data members not needed to carry.
2015-08-05 11:54:30 +09:00
Tsuda Kageyu
bfe4ec5df5
Update NEWS.
...
Added support for reading the encoder information of WMA files.
Added support for reading the codec of WAV files.
Added support for multi channel WavPack files.
Added support for reading the nominal bitrate of Ogg Speex files.
Added support for VBR headers in MPEG files.
2015-08-05 02:58:45 +09:00
Tsuda Kageyu
81b7d0046e
Merge branch 'master' of https://github.com/TsudaKageyu/taglib
2015-08-04 23:34:01 +09:00
Tsuda Kageyu
5990c72a01
Fix a typo in NEWS.
2015-08-04 23:27:28 +09:00
Tsuda Kageyu
018e969026
Add warnings about calling File::save() repeatedly.
2015-08-04 15:47:18 +09:00
Tsuda Kageyu
04ec7eae25
Add some supplementary comments.
2015-08-03 22:31:16 +09:00
Tsuda Kageyu
b6e7bb2c84
Update version to 1.10.0.
2015-08-03 16:14:48 +09:00
Tsuda Kageyu
f112d538ea
Merge pull request #612 from TsudaKageyu/flac-id3v1
...
Avoid overwriting the audio stream when adding an ID3v1 tag to a FLAC…
2015-08-03 15:54:16 +09:00
Tsuda Kageyu
ac5ef0291c
Update NEWS.
...
Fixed possible file corruptions when adding an ID3v1 tag to FLAC files.
2015-08-03 15:51:50 +09:00
Tsuda Kageyu
8fa86162c7
Add a test to check if the FLAC audio stream remains intact after adding an ID3v1 tag.
2015-08-03 15:40:30 +09:00
Tsuda Kageyu
fa17b4da6b
Avoid overwriting the audio stream when adding an ID3v1 tag to a FLAC file.
2015-08-03 15:39:27 +09:00
Tsuda Kageyu
076e845912
Run-time check for integer byte order rather than CMake check.
...
It will easily be optimized out.
2015-08-03 13:08:58 +09:00
Tsuda Kageyu
f830177b3b
Correct the order of #includes in tests.
2015-08-03 11:41:55 +09:00
Tsuda Kageyu
0650dc77a1
Fix some comments.
2015-08-02 03:24:25 +09:00
Tsuda Kageyu
c0f537a155
Merge pull request #581 from FestusHagen/fh2.m_FixUintAmbiguitiesInTests
...
Silence uint ambiguity errors in tests.
2015-08-02 02:40:20 +09:00
Tsuda Kageyu
44d9f2bf25
Run-time check for floating point byte order rather than CMake check.
...
It's safer not to use an unofficial CMake script.
2015-08-01 23:40:23 +09:00
Tsuda Kageyu
89e6ad96a4
Check for vsnprintf first.
2015-08-01 23:38:50 +09:00
Tsuda Kageyu
aa1dd0278d
CMake check for vsprintf_s/vsnprintf rather than sprintf_s/snprintf.
2015-08-01 23:38:50 +09:00
Tsuda Kageyu
13dab99af0
Remove unused includes from ConfigureChecks.cmake.
2015-08-01 23:34:36 +09:00
Tsuda Kageyu
03ec83ecca
Add AudioProperties::lengthInSeconds() and lengthInMilliseconds() functions to emulate virtual abstract functions.
2015-08-01 02:23:18 +09:00
Tsuda Kageyu
ce02910c6b
Update NEWS.
...
Marked FLAC::File::streamInfoData() deprecated. It returns an empty ByteVector.
Marked FLAC::File::streamLength() deprecated. It returns zero.
2015-08-01 02:06:35 +09:00
Tsuda Kageyu
f25e30d33f
Revert "Reorder CMake checks for sprintf() variants."
...
This reverts commit c69364d831 .
2015-08-01 01:59:36 +09:00
Tsuda Kageyu
4dcccfbd6a
Update NEWS.
...
New API for the audio length in milliseconds.
2015-08-01 01:46:35 +09:00
Tsuda Kageyu
7ca1b0c4d3
Merge pull request #575 from TsudaKageyu/chunk-offset
...
Stop calculating the offset in RIFF::File::chunkData().
2015-08-01 01:31:17 +09:00
Tsuda Kageyu
11f4e4e1ca
Merge pull request #567 from TsudaKageyu/audioprop-wv
...
(wishlist) WavPack: AudioProperties improvements
2015-08-01 01:30:19 +09:00
Tsuda Kageyu
9759bd2dd7
Merge pull request #566 from TsudaKageyu/audioprop-tta
...
(wishlist) TrueAudio: AudioProperties improvements
2015-08-01 01:30:12 +09:00
Tsuda Kageyu
b28784538a
Merge pull request #565 from TsudaKageyu/audioprop-wav
...
(wishlist) WAV: AudioProperties improvements
2015-08-01 01:30:03 +09:00
Tsuda Kageyu
fdea096c8d
Merge pull request #564 from TsudaKageyu/audioprop-aiff
...
(wishlist) AIFF: AudioProperties improvements
2015-08-01 01:29:46 +09:00
Tsuda Kageyu
a9d030544a
Merge pull request #563 from TsudaKageyu/audioprop-vorbis
...
(wishlist) Ogg Vorbis: AudioProperties improvements
2015-08-01 01:29:35 +09:00
Tsuda Kageyu
8344c4d7f8
Merge pull request #562 from TsudaKageyu/audioprop-speex
...
(wishlist) Ogg Speex: AudioProperties improvements
2015-08-01 01:29:22 +09:00
Tsuda Kageyu
8b1e872f81
Merge pull request #561 from TsudaKageyu/audioprop-opus
...
(wishlist) Ogg Opus: AudioProperties improvements
2015-08-01 01:29:13 +09:00
Tsuda Kageyu
6a778751ee
Merge pull request #560 from TsudaKageyu/audioprop-mpeg
...
(wishlist) MPEG: AudioProperties improvements
2015-08-01 01:29:06 +09:00
Tsuda Kageyu
4328a830f9
Merge pull request #559 from TsudaKageyu/audioprop-mpc
...
(wishlist) MusePak: AudioProperties improvements
2015-08-01 01:27:20 +09:00
Tsuda Kageyu
ae99cbe64e
Merge pull request #558 from TsudaKageyu/audioprop-mp4
...
(wishlist) MP4: AudioProperties improvements
2015-08-01 01:27:15 +09:00
Tsuda Kageyu
692ce897cb
Merge pull request #557 from TsudaKageyu/audioprop-flac
...
(wishlist) FLAC: AudioProperties improvements
2015-08-01 01:27:06 +09:00
Tsuda Kageyu
0ed1c29acc
Merge pull request #556 from TsudaKageyu/audioprop-asf
...
(wishlist) ASF: AudioProperties improvements
2015-08-01 01:26:52 +09:00
Tsuda Kageyu
3c59b7858a
Merge pull request #555 from TsudaKageyu/audioprop-ape
...
(wishlist) APE: AudioProperties improvements
2015-08-01 01:21:59 +09:00
Tsuda Kageyu
2c9f63d9b0
Merge pull request #568 from TsudaKageyu/audioprop-mod
...
(wishlist) MOD: AudioProperties improvements
2015-08-01 01:04:34 +09:00
Tsuda Kageyu
0b43b7136d
FLAC: Remove unused formal parameters.
2015-08-01 00:49:25 +09:00
Tsuda Kageyu
1e752a1e8f
FLAC: Add debug messages to tell some functions are obsolete.
2015-08-01 00:49:23 +09:00
Tsuda Kageyu
29a31859ff
FLAC: Move some public functions to above private ones.
2015-08-01 00:49:22 +09:00
Tsuda Kageyu
0b01461d50
FLAC: Avoid using deprecated functions.
2015-08-01 00:49:22 +09:00
Tsuda Kageyu
a77abedf63
Remove some more data members not needed to carry.
2015-08-01 00:49:22 +09:00
Tsuda Kageyu
21412e2ba2
FLAC: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (#503 )
Add bitsPerSample() property besides sampleWidth(). (#360 )
Remove some data members which are not needed to carry.
Add some tests for audio properties.
Add some supplementary comments.
2015-08-01 00:49:21 +09:00
Tsuda Kageyu
dbf9644c8d
WavPack: Remove unused formal parameters.
2015-08-01 00:44:41 +09:00
Tsuda Kageyu
592e14f950
TrueAudio: Remove unused formal parameters.
2015-08-01 00:41:42 +09:00
Tsuda Kageyu
1fb3727c4c
WAV: Remove unused formal parameters.
2015-08-01 00:37:31 +09:00
Tsuda Kageyu
0501fbdd72
AIFF: Remove unused formal parameters.
2015-08-01 00:33:56 +09:00
Tsuda Kageyu
5235abc498
Vorbis: Remove unused formal parameters.
2015-08-01 00:30:13 +09:00
Tsuda Kageyu
d944009904
Speex: Remove unused formal parameters.
2015-08-01 00:22:09 +09:00
Tsuda Kageyu
f729f863cd
Opus: Remove unused formal parameters.
2015-08-01 00:19:20 +09:00
Tsuda Kageyu
c715ec09e4
MPEG: Hide an internal function from the public header.
2015-08-01 00:15:51 +09:00
Tsuda Kageyu
4f621140ce
MPEG: Remove unused formal parameters.
2015-08-01 00:09:59 +09:00
Tsuda Kageyu
bd251aed37
MusePak: Remove unused formal parameters.
2015-08-01 00:04:27 +09:00
Tsuda Kageyu
34ab65aa57
MP4: Hide an internal function from the public header.
2015-07-31 23:59:22 +09:00
Tsuda Kageyu
7f0c547ba6
MP4: Remove unused formal parameters.
2015-07-31 23:55:30 +09:00
Tsuda Kageyu
0ff38ed52b
ASF: Remove unused formal parameters.
2015-07-31 23:39:58 +09:00
Tsuda Kageyu
2b1116cec1
APE: Remove unused formal parameters.
2015-07-31 23:18:50 +09:00
Tsuda Kageyu
88947e7a48
Silence some MSVC specific warnings in tests.
2015-07-31 20:55:23 +09:00
Tsuda Kageyu
5ad69a81dc
Silence some MSVC2015 specific warnings.
2015-07-31 12:23:01 +09:00
Tsuda Kageyu
c9963af848
MP4 atom length is limited up to 31 bits.
...
32-bit value will be negative.
2015-07-31 11:24:36 +09:00
Tsuda Kageyu
f38e32163e
Add some comments to tutils.h.
2015-07-31 10:27:16 +09:00
Tsuda Kageyu
c69364d831
Reorder CMake checks for sprintf() variants.
...
VS2015 has snprintf(), however sprintf_s() is still recommended.
2015-07-31 10:11:01 +09:00
Tsuda Kageyu
3142330bee
Remove sudo from .travis.yml.
...
This allows our tests to run faster on the container-based infrastructure.
2015-07-31 09:06:24 +09:00
Tsuda Kageyu
9b849c5da8
Merge pull request #554 from FestusHagen/fh1.m_FriendlyCppUnitSearch
...
Don't look for CppUnit unless BUILD_TESTS, general cleanup.
2015-07-30 23:55:16 +09:00
Tsuda Kageyu
a197f45ca8
Merge pull request #595 from TsudaKageyu/gcc-warning-test
...
Silence a GCC warning about ignoring a return value in test.
2015-07-30 23:39:04 +09:00
Tsuda Kageyu
6dcecf0e71
Fix a typo in a debug message.
2015-07-30 23:36:44 +09:00
Tsuda Kageyu
47800d1000
Merge pull request #625 from TsudaKageyu/checksum-comment
...
(minor, comment only) Add a supplementary comment to ByteVector::checksum().
2015-07-30 23:30:43 +09:00
Tsuda Kageyu
cc8c3cd1fd
Merge pull request #617 from TsudaKageyu/useless-call
...
Remove an useless function call.
2015-07-30 23:30:18 +09:00
Tsuda Kageyu
58994e330e
Update NEWS.
...
Fixed reading FLAC files with zero-sized padding blocks.
2015-07-30 22:03:02 +09:00
Tsuda Kageyu
572afd437d
Merge pull request #638 from TsudaKageyu/update-news
...
Update NEWS.
2015-07-30 22:00:00 +09:00
Tsuda Kageyu
1eef4177e7
Merge pull request #637 from TsudaKageyu/flac-zero-sized-padding
...
Make FLAC::File tolerant to zero-sized padding blocks.
2015-07-30 21:58:42 +09:00
Tsuda Kageyu
64fac517ed
Update NEWS.
2015-07-30 10:03:47 +09:00
Tsuda Kageyu
f79c766ba4
Avoid creating zero-sized padding blocks.
2015-07-29 23:05:17 +09:00
Tsuda Kageyu
6f944b0291
Make FLAC::File tolerant to zero-sized padding blocks.
2015-07-29 20:52:56 +09:00
Ryan Lucchese
04bee3faec
added comments explaining ByteVector::rbegin() const and ByteVector::rend() const
2015-07-06 16:25:57 -06:00
Ryan Lucchese
e8c1a11730
better const correctness for ByteVector::rbegin() const and ByteVector::rend() const
2015-07-01 15:47:21 -06:00
Ryan Lucchese
d8e8ec69fe
changed SUNPRO_CC version check to first check if SUNPRO_CC is defined
2015-06-30 13:41:09 -06:00
Ryan Lucchese
6d0712c8df
changed SUNPRO_CC version check to first check if SUNPRO_CC is defined
2015-06-30 13:23:25 -06:00
Ryan Lucchese
00b2f6a386
check SUNPRO_CC version before defining WANT_CLASS_INSTANTIATION_OF_MAP in apetag.cpp - causes problems on newer Solaris Studio compiler
2015-06-30 12:50:03 -06:00
Ryan Lucchese
a3dccdc7a3
added sun compiler version check before changing constness of ConstReverseIterator in ByteVector
2015-06-30 12:46:25 -06:00
Ryan Lucchese
b698c73690
return const correct reverse iterator to prevent Solaris compiler from choking on const conversion
2015-06-30 12:18:12 -06:00
Tsuda Kageyu
801c9db810
WAV: Avoid using a magic number.
2015-06-30 15:59:01 +09:00
Tsuda Kageyu
409b135dd5
MPEG: Fix warnings about signed/unsigned mismatch on some compilers.
2015-06-30 11:58:07 +09:00
Tsuda Kageyu
4dd14d4d73
Add a supplementary comment to ByteVector::checksum().
2015-06-27 01:29:16 +09:00
Tsuda Kageyu
44e6419644
ASF: Hide some internal functions from the public header.
2015-06-23 18:22:31 +09:00
Tsuda Kageyu
467658e463
ASF: Make use of List iterators and setAutoDelete().
2015-06-23 17:43:50 +09:00
Tsuda Kageyu
3fcb21642c
ASF: Hide internal class declarations from the public header.
2015-06-23 17:34:33 +09:00
Tsuda Kageyu
472ce9f42c
ASF: Use CodecType enum instead of a magic number.
2015-06-23 11:48:25 +09:00
Tsuda Kageyu
be33340383
Remove an useless function call.
2015-06-22 09:54:17 +09:00
Tsuda Kageyu
91ed3548f1
ASF: Enable ASF::Properties to get the audio codec information.
2015-06-21 02:42:47 +09:00
Tsuda Kageyu
b56f4c4372
APE: Reduce useless File::Find() operations.
2015-06-20 20:41:02 +09:00
Tsuda Kageyu
2155b4fd50
TrueAudio: A bit more accurate calculation of the stream length.
2015-06-20 17:36:00 +09:00
Tsuda Kageyu
e605e96835
MusePak: Avoid seeking a file when not needed.
2015-06-20 17:30:25 +09:00
Tsuda Kageyu
dfee7020da
APE: Find an ID3v2 tag and calculate the stream length in APE::File.
2015-06-20 04:34:34 +09:00
Scott Wheeler
e90b5e5f2f
Merge pull request #614 from TsudaKageyu/win32-pkg-config
...
Enable pkg-config on Windows.
2015-06-19 09:12:32 +02:00
Tsuda Kageyu
642baca4ed
Fix inconsistent negative seek behavior between Linux and Windows.
2015-06-19 02:42:18 +09:00
Tsuda Kageyu
da01fa5745
Enable pkg-config on Windows.
2015-06-19 01:26:12 +09:00
Tsuda Kageyu
78c70cf5bb
MOD: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (always return 0)
2015-06-18 18:03:53 +09:00
Tsuda Kageyu
8f6af3f020
WavPack: A bit more accurate calculation of the stream length.
2015-06-18 18:00:03 +09:00
Tsuda Kageyu
22f250eaa4
WavPack: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (#503 )
Add isLossless() property.
Support multi channel. (#92 )
Remove some data members which are not needed to carry.
Add some tests for audio properties.
Add some supplementary comments.
2015-06-18 17:59:06 +09:00
Tsuda Kageyu
eb73612a2b
TrueAudio: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (#503 )
Avoid possible arithmetic overflows. (#520 )
Remove some data members which are not needed to carry.
Add some tests for audio properties.
Add some supplementary comments.
2015-06-18 17:52:36 +09:00
Tsuda Kageyu
9c8e36d3be
WAV: Move property parsing code to Properties.
...
Make use of 'fact' chunk to get the number of total samples.
2015-06-18 17:47:39 +09:00
Tsuda Kageyu
ed25204d75
WAV: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (#503 )
Add bitsPerSample() property besides sampleWidth(). (#360 )
Add format() property. (#360 )
Add some tests for audio properties.
Add some supplementary comments.
2015-06-18 17:43:09 +09:00
Tsuda Kageyu
03fd0a3ead
AIFF: Calculate the actual average bitrate even if a file is compressed.
...
Move property parsing code to Properties.
2015-06-18 17:38:41 +09:00
Tsuda Kageyu
aede4ac851
AIFF: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (#503 )
Add bitsPerSample() property besides sampleWidth(). (#360 )
Add some tests for audio properties.
Add some supplementary comments.
2015-06-18 17:30:58 +09:00
Tsuda Kageyu
3823afcc87
Ogg Vorbis: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (#503 )
Remove some data members which are not needed to carry.
Add some tests for audio properties.
Add some supplementary comments.
2015-06-18 17:24:31 +09:00
Tsuda Kageyu
4dba88fa31
Ogg Speex: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (#503 )
Add bitrateNominal() property.
Remove some data members which are not needed to carry.
Add some tests for audio properties.
Add some supplementary comments.
2015-06-18 17:23:03 +09:00
Tsuda Kageyu
f3d8100c7b
Ogg Opus: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (#503 )
Remove some data members which are not needed to carry.
Add some tests for audio properties.
Add some supplementary comments.
2015-06-18 17:19:23 +09:00
Tsuda Kageyu
b2c79bc084
MPEG: No need to get the length of an ID3v2 tag twice.
2015-06-18 17:14:12 +09:00
Tsuda Kageyu
f82be353b4
MPEG: Properties::xingHeader() should return null if a VBR header is not found.
2015-06-18 17:14:12 +09:00
Tsuda Kageyu
9ec6d28239
MPEG: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (#503 )
Support VBRI header in addition to Xing. (#136 )
Fix MPEG frame seeker functions. (maybe #190 )
Calculate MPEG frame length accurately.
Remove some data members which are not needed to carry.
Add some tests for audio properties.
Add some supplementary comments.
2015-06-18 17:14:04 +09:00
Tsuda Kageyu
3a1c784eec
MusePak: A bit more accurate calculation of the stream length.
2015-06-18 17:05:58 +09:00
Tsuda Kageyu
4a014c8113
MusePak: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (#503 )
Remove some data members which are not needed to carry.
Add some tests for audio properties.
Add some supplementary comments.
2015-06-18 17:05:58 +09:00
Tsuda Kageyu
5d77553759
MP4: Remove useless ByteVector::mid() operations.
2015-06-18 17:00:10 +09:00
Tsuda Kageyu
da14f67e2c
MP4: Do rounding when calculating the bit rate.
2015-06-18 17:00:10 +09:00
Tsuda Kageyu
9226fa76b3
MP4: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (#503 )
Add some tests for audio properties.
Add some supplementary comments.
Move parsing code to read() for consistency with other classes.
2015-06-18 17:00:10 +09:00
Tsuda Kageyu
ff36648e92
ASF: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (#503 )
Add bitsPerSample() property. (#360 )
Add some tests for audio properties.
Add some supplementary comments.
2015-06-18 16:33:56 +09:00
Scott Wheeler
447a4739c5
Merge pull request #611 from TsudaKageyu/fix-bufsize
...
Fix mismatched file I/O buffer sizes.
2015-06-18 08:22:59 +02:00
Tsuda Kageyu
f15fe869a5
Add a test for APE files with an ID3v2 tag.
2015-06-18 14:41:37 +09:00
Tsuda Kageyu
125d887b85
APE: Use the audio stream length in calculating the bit rate.
2015-06-18 14:41:37 +09:00
Tsuda Kageyu
9a8e41b9d6
APE: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (#503 )
Enable to read bit depth from older version files. (#360 )
Remove some data members which are not needed to carry.
Add some tests for audio properties.
Add some supplementary comments.
2015-06-18 14:41:37 +09:00
Tsuda Kageyu
68ef160dbc
Fix mismatched file I/O buffer sizes.
2015-06-18 11:23:31 +09:00
Scott Wheeler
6d71bdf8b7
Merge pull request #607 from TsudaKageyu/unused-function
...
Remove some unused private function prototypes.
2015-06-15 21:15:08 +02:00
Tsuda Kageyu
b37eaace15
Removed an unused data member from MPE::File.
...
It seems to be related to scan().
2015-06-12 14:07:52 +09:00
Tsuda Kageyu
c1c70edb76
Remove some unused private function prototypes.
2015-06-12 11:50:38 +09:00
Tsuda Kageyu
75159d5d8a
Silence a GCC warning about ignoring a return value in test.
2015-06-10 03:44:30 +09:00
Stephen F. Booth
46862bf537
Merge pull request #594 from TsudaKageyu/typos-in-comment
...
Fix some typos in comments.
2015-06-08 22:19:27 -04:00
Tsuda Kageyu
2b260fd2e8
Fix some typos in comments.
2015-06-09 10:33:32 +09:00
Scott Wheeler
b1a35a8b31
Add const to docs
2015-06-03 01:21:12 +02:00
Stephen F. Booth
88ef556d4e
Merge pull request #591 from TsudaKageyu/wmemcpy
...
Use wmemcpy() rather than memcpy() and sizeof(wchar_t).
2015-06-02 08:19:33 -04:00
Samuel Martin
00c6e7ea79
cmake: use BUILD_SHARED_LIBS instead of ENABLE_STATIC to drive the shared object build
...
In case ENABLE_STATIC is still set on the CMake command line, this
change will makes CMake bail out becaus e this option is no longer
supported.
This patch makes taglib more compliant with the distro package framework
that uses the standards CMake options.
Signed-off-by: Samuel Martin <s.martin49@gmail.com >
2015-06-01 19:27:05 +02:00
Tsuda Kageyu
0c0f123a08
Use wmemcpy() rather than memcpy() and sizeof(wchar_t).
2015-06-01 13:52:55 +09:00
Festus Hagen
48311cca14
Undo comment stacking.
2015-05-31 22:12:18 -04:00
Michael Helmling
db90f4b358
Prefix #ifndef with TAGLIB_ in tpropertymap.h
2015-05-29 19:53:42 +02:00
Festus Hagen
b5d65edab7
Silence uint ambiguity errors in tests.
2015-05-27 14:07:53 -04:00
Scott Wheeler
a06d55ae6f
Merge pull request #577 from TsudaKageyu/frameoffset
...
Fix MPEG::File::firstFrameOffset() and lastFrameOffset(). (#190 )
2015-05-26 17:53:24 +02:00
Stephen F. Booth
c5f2e9342d
Merge pull request #578 from TsudaKageyu/test-temp
...
A lot of zero-sized temporary files are left after a test session on …
2015-05-25 08:41:37 -04:00
Tsuda Kageyu
2d778d5a0a
A lot of zero-sized temporary files are left after a test session on Windows.
2015-05-25 15:51:19 +09:00
Stephen F. Booth
0aa75b2e8d
Merge pull request #574 from TsudaKageyu/skip-dup-chunks
...
Skip duplicate chunks when reading AIFF/WAV files.
2015-05-24 14:38:50 -04:00
Tsuda Kageyu
618a939c56
Fix MPEG::File::firstFrameOffset() and lastFrameOffset(). ( #190 )
2015-05-25 02:41:27 +09:00
Tsuda Kageyu
2337fbcfc6
Stop calculating the offset in RIFF::File::chunkData().
2015-05-25 00:43:36 +09:00
Tsuda Kageyu
9da20a8a52
Skip duplicate chunks when reading AIFF/WAV files.
...
Similar to #492 .
There is no good reason to use the last chunk rather than the first one.
2015-05-25 00:40:13 +09:00
Stephen F. Booth
4129b919c1
Merge pull request #572 from TsudaKageyu/map-erase2
...
Map::erase() can take a key directly so no need to call find() before…
2015-05-23 08:21:58 -04:00
Tsuda Kageyu
6d6f544010
Map::erase() can take a key directly so no need to call find() beforehand.
2015-05-23 18:12:01 +09:00
Stephen F. Booth
93da3ba6d9
Merge pull request #571 from TsudaKageyu/fuzzed-wv
...
Avoid an infinite loop when reading fuzzed WavPack files. (#482 )
2015-05-22 07:44:41 -04:00
Stephen F. Booth
e064b88049
Merge pull request #570 from TsudaKageyu/audioprop-typo
...
Fix a typo in comment.
2015-05-22 07:41:46 -04:00
Tsuda Kageyu
3094540a4b
Avoid an infinite loop when reading fuzzed WavPack files. ( #482 )
2015-05-22 14:15:10 +09:00
Tsuda Kageyu
8e21dcc3d4
Fix a typo in comment.
2015-05-22 12:06:01 +09:00
Stephen F. Booth
0ea22348cb
Merge pull request #569 from TsudaKageyu/map-erase
...
std::map::erase() can take a key directly and has no-throw guarantee.
2015-05-21 22:46:15 -04:00
Stephen F. Booth
48ca54de1f
Merge pull request #484 from TsudaKageyu/fix-rfind
...
Fix File::rfind() for small files.
2015-05-21 22:44:10 -04:00
Tsuda Kageyu
54de66f275
std::map::erase() can take a key directly and has no-throw guarantee.
2015-05-22 01:26:56 +09:00
Lukáš Lalinský
d4b0ba2a7a
TagLib::XM::Properties is a public class that should be exported
2015-05-20 15:18:01 -07:00
Festus Hagen
abc5743222
Removed missed unnecessary BUILD_TESTS check.
2015-05-20 15:34:05 -04:00
Scott Wheeler
525396d9c2
Merge pull request #550 from TsudaKageyu/fix-test
...
Fix test code to work on some environments.
2015-05-20 19:24:52 +02:00
Tsuda Kageyu
bb9679b51a
Fix test code to work on some environments.
...
const char * is more preferable than string for ifstream constructor.
2015-05-21 02:03:06 +09:00
Festus Hagen
e44cba56b5
Don't look for CppUnit unless BUILD_TESTS, general cleanup.
2015-05-20 11:11:55 -04:00
Scott Wheeler
e4cf012522
Bring the API more in line with the rest of TagLib
...
Like in #255 , this also makes it possible to read values from the
tag in a const function.
2015-05-20 14:26:53 +02:00
Scott Wheeler
a37d423ea8
Merge pull request #549 from TsudaKageyu/win32-test
...
Modify the test code to work on MSVC/Windows.
2015-05-20 13:50:49 +02:00
Tsuda Kageyu
88a4cf34b8
Modify the test code to work on MSVC/Windows.
2015-05-20 20:19:20 +09:00
Scott Wheeler
81261dd128
This should also work Windows and has less duplicated code
2015-05-20 11:53:32 +02:00
Scott Wheeler
3bea9f6bee
Don't use tempnam on UNIX
...
This silences the huge stream of warnings when building the tests.
I think I didn't break the Windows version in the process (though
it may make sense to use the built in Windows functions there
instead), but I don't have a Windows build environment here, so
I can't test.
2015-05-20 11:45:32 +02:00
Scott Wheeler
9cc2d7cfee
Merge pull request #546 from TsudaKageyu/test-surrogate-pair
...
Add a test for strings that contains surrogate pairs.
2015-05-19 19:57:47 +02:00
Scott Wheeler
fe1bf015bb
Merge pull request #548 from TsudaKageyu/render-twice
...
No need to call ID3v2::Frame::render() twice when saving an ID3v2 tag.
2015-05-19 11:28:50 +02:00
Tsuda Kageyu
287078566f
No need to call ID3v2::Frame::render() twice when saving an ID3v2 tag.
2015-05-19 17:39:37 +09:00
Scott Wheeler
60966518e2
Quote path names including user-provided variables
...
This should make these work even if the value contains spaces
Closes #344
2015-05-19 10:15:15 +02:00
Tsuda Kageyu
2268efb49e
Add a test for strings that contains surrogate pairs.
2015-05-19 09:01:47 +09:00
Scott Wheeler
29f535dc8d
Remove *file argument to private members
...
This is already covered by d->file, so there's no reason to pass a pointer
to the member dozens of times.
2015-05-18 23:11:51 +02:00
Scott Wheeler
592522d34c
Moar const fixes
2015-05-18 23:00:16 +02:00
Scott Wheeler
6b9e4e4403
1001 Const fixes (plus iterator rename)
2015-05-18 22:48:55 +02:00
Scott Wheeler
089e44f3db
Remove unnecessary checks for null before delete
...
Closes #343
2015-05-18 21:40:21 +02:00
Scott Wheeler
bd3c4dc1b2
Merge pull request #515 from TsudaKageyu/empty-id3v2-frame
...
Skip empty ID3v2 frames when saving an ID3v2 tag.
2015-05-18 21:36:37 +02:00
Scott Wheeler
bba562b557
Add accessors to manipulate MP4 tags without modifying the internal structure
...
This brings the MP4 API in line closer to other tag formats and makes it
possible to access the tag data from const functions.
"ItemListMap" has been renamed to "ItemMap" (with the old version
deprecated). It seems that the "ListMap" notion was copied probably
from Allan's ApeTag implementation, which incorrectly copied the term
from the XiphTag. Notably, in XiphTag, because a field can have multiple
values, the "ListMap" is a map of lists. Calling things a "ListMap" where
there can be only one value doesn't fit.
Closes #255
2015-05-18 21:18:33 +02:00
Scott Wheeler
451d23ca37
Add isEmpty() to MP4
...
Closes #457
2015-05-18 20:30:19 +02:00
Scott Wheeler
d248f77ab9
Show something useful for ChapterFrame::toString()
...
Closes #517
2015-05-18 19:51:18 +02:00
Tsuda Kageyu
727a11573a
Fix File::rfind() for small files to work just like ByteVector::rfind().
2015-05-19 01:24:37 +09:00
Scott Wheeler
34da0c0dab
Update signature and docs
...
Specifically this allows the frame to be constructed and then to have
the children and embedded frames set later.
2015-05-18 18:19:43 +02:00
Scott Wheeler
7316cd331d
Remove the null termination stuff from the ToC frames too
2015-05-18 18:17:10 +02:00
Scott Wheeler
3a977c55c4
We've moved away from including the null byte in the returned value
...
This does change previous behavior, but the previous behavior was
particularly stupid and inconsistent with everything else in TagLib.
It should be possible to mitigate this by putting the same safety
guards in the TableOfContents
2015-05-18 17:29:52 +02:00
Scott Wheeler
a094ce7dd2
Don't underflow if there are no embedded frames
...
Closes #513
2015-05-18 17:11:18 +02:00
Scott Wheeler
941efcba18
This isn't tracked as part of the elementID anymore
2015-05-18 16:53:12 +02:00
Scott Wheeler
ffb543acbb
Split chapter data and embedded frame data
...
This will allow us to test parsing them separately
2015-05-18 16:45:57 +02:00
Scott Wheeler
fc24b3d22b
Don't require users to include a padding byte explicitly
...
This makes it where the natural construction can be used of something
like:
new ChapterFrame("ID", ... )
Closes #514
2015-05-18 16:41:30 +02:00
Scott Wheeler
a9e064c58e
Also test second constructor
2015-05-18 16:30:37 +02:00
Scott Wheeler
1a5d89d29e
Update signature and docs to be more in-line with TagLib's style
2015-05-18 16:00:47 +02:00
Scott Wheeler
650b581f9e
Merge pull request #544 from TsudaKageyu/advance
...
Use std::advance rather than a loop and increment.
2015-05-18 15:09:28 +02:00
Scott Wheeler
0739dd232a
It doesn't make sense to set the factory after construction
...
Closes #259
2015-05-18 14:21:55 +02:00
Scott Wheeler
41a250a15d
Make this macro work with current Qt versions
...
Closes #499
2015-05-18 12:42:24 +02:00
Tsuda Kageyu
8da0013482
Add a test to check if an empty ID3v2 frame is really skipped.
2015-05-18 19:03:20 +09:00
Scott Wheeler
0288059495
Add astylerc
2015-05-18 11:31:55 +02:00
Tsuda Kageyu
6e40361c0e
Use std::advance rather than a loop and increment.
2015-05-18 09:31:43 +09:00
Lukáš Lalinský
c2570fe115
Merge pull request #521 from TsudaKageyu/gcc-warning
...
Fix a GCC/Clang warning about singed/unsigned comparison.
2015-05-17 10:06:10 -07:00
Lukáš Lalinský
bd91da55ba
Merge pull request #542 from TsudaKageyu/comment-typos
...
Fix some typos in comment.
2015-05-17 10:05:43 -07:00
Tsuda Kageyu
3a3a6a6fda
Fix some typos in comment.
2015-05-18 00:31:46 +09:00
Lukáš Lalinský
64c43b0d3f
Merge pull request #535 from FestusHagen/fh1.m_UintAmbiguity
...
Silenced uint ambiguity error.
2015-05-16 17:03:53 -07:00
Lukáš Lalinský
db2dfa9515
Merge pull request #538 from gogglesmm/optimize-mid-to-uint
...
bytevector.mid(pos,4).toUInt() => bytevector.toUInt(pos)
2015-05-15 20:06:24 -07:00
Lukáš Lalinský
0069debf0c
Merge pull request #536 from FestusHagen/fh1.m_CMakeSubProjectFix
...
Fix for using Taglib as a CMake sub directory project.
2015-05-15 19:48:43 -07:00
Lukáš Lalinský
69563d83a0
Merge pull request #533 from TsudaKageyu/bytevector-resize
...
Fix the wrong padding of ByteVector::resize().
2015-05-15 19:43:38 -07:00
Sander Jansen
60775306ea
Fix code styling
2015-05-15 21:39:34 -05:00
Sander Jansen
4f77420248
replace use of bytevector.mid(pos,4).toUInt() with more optimized bytevector.toUInt(pos)
2015-05-15 21:25:44 -05:00
Tsuda Kageyu
b021ed44e9
Revert the last two commits.
...
But leave the tests unchanged, and add some comments.
2015-05-16 11:16:00 +09:00
Tsuda Kageyu
1f99c93a61
Reduce redundant memset when resizing ByteVector.
2015-05-16 03:46:34 +09:00
Tsuda Kageyu
a924ca0db7
Expand the internal buffer of ByteVector only if really needed.
...
Add tests for all execution paths of ByteVector::resize().
2015-05-14 11:20:35 +09:00
Urs Fleisch
b5c0ab58ba
Get version information from taglib.h.
...
This avoids duplication of the version information in both
CMakeLists.txt and taglib.h while keeping the possibility to
use something different from CMake.
2015-05-10 10:30:51 +02:00
Festus Hagen
e43c1a3c09
Fix for using Taglib as a CMake sub directory project.
2015-05-09 20:29:52 -04:00
Festus Hagen
1e9529380d
Silenced uint ambiguity error.
2015-05-09 14:19:33 -04:00
Tsuda Kageyu
ff8443f33a
Fix the wrong padding of ByteVector::resize().
...
The expanded area will be filled with garbage instead of correct padding in some corner cases.
2015-05-02 02:43:08 +09:00
Lukáš Lalinský
62ab41fa07
Merge pull request #532 from TsudaKageyu/bytevector-detach-test
...
A little robuster tests for ByteVector iterators after detaching.
2015-04-29 10:14:16 -07:00
Tsuda Kageyu
00e3504264
A little robuster tests for ByteVector iterators after detaching.
2015-04-29 17:15:13 +09:00
Lukáš Lalinský
852da79899
Merge pull request #531 from TsudaKageyu/bytevector-detach
...
Fix ByteVector to return correct iterators after detached.
2015-04-28 20:34:53 -07:00
Tsuda Kageyu
ab047f6054
Fix ByteVector to return correct iterators after detached.
2015-04-29 10:28:08 +09:00
Lukáš Lalinský
5bad35c4cb
Merge pull request #527 from TsudaKageyu/wma-guid
...
Fix saving WMA files with some GUID fields.
2015-04-28 10:42:06 -07:00
Tsuda Kageyu
8d708c03e1
Store any GUID fields in Metadata Library Object.
2015-04-28 16:40:24 +09:00
Tsuda Kageyu
f9a0b50830
Fix saving WMA files with some GUID fields.
2015-04-28 12:06:24 +09:00
Tsuda Kageyu
8491266b12
Fix a GCC/Clang warning about singed/unsigned comparison.
2015-04-17 09:38:21 +09:00
Stephen F. Booth
066b5aa57e
Merge pull request #492 from TsudaKageyu/duplicate-id3v2-aiff-wav
...
Check AIFF/WAV files for duplicate tags.
2015-03-25 08:16:41 -04:00
Tsuda Kageyu
5f0a7da481
Take into account the frame header version when skipping an empty frame.
2015-03-24 10:41:39 +09:00
Tsuda Kageyu
d33d684fab
Discard empty ID3v2 frames instead of adding a dummy null byte.
2015-03-24 10:31:52 +09:00
Tsuda Kageyu
4c4be0a263
Add a dummy byte to an empty ID3v2 frame to stick to the ID3v2 spec.
2015-03-22 22:14:21 +09:00
Michael Helmling
f476cf2b45
Merge pull request #511 from TsudaKageyu/tag-prop
...
Fix a bug that Tag::setProperties() clears the date instead of the track number
2015-03-20 10:28:20 +01:00
Tsuda Kageyu
68c0b0591b
Fix a bug that Tag::setProperties() clears the date instead of the track number.
2015-03-20 13:33:13 +09:00
Stephen F. Booth
8fccaf30d2
Merge pull request #479 from TsudaKageyu/fuzzed-mp4
...
Fix an infinite loop when parsing MP4 files.
2015-02-18 08:15:50 -05:00
Tsuda Kageyu
b69973bcf2
Fix infinite loops when parsing MP4 files.
2015-02-18 11:33:10 +09:00
Tsuda Kageyu
30eac7569f
Check AIFF/WAV files for duplicate tags.
...
AIFF/WAV files can have duplicate tags and it leads to memory leak.
2015-02-18 11:31:55 +09:00
Lukáš Lalinský
f6081ed32e
Merge pull request #505 from TsudaKageyu/fuzzed-ape-tests
...
Separate the tests for fuzzed APE files.
2015-02-17 09:22:35 +01:00
Tsuda Kageyu
0839a23902
Separate the tests for fuzzed APE files.
2015-02-17 12:36:57 +09:00
Lukáš Lalinský
f35a279dd1
Merge pull request #496 from TsudaKageyu/fuzzed-mpc
...
Some fixes for fuzzed MPC files.
2015-02-16 19:26:57 +01:00
Tsuda Kageyu
e463d14f2e
Check for EOF to fix a segfault while parsing fuzzed MPC files.
2015-02-17 01:22:39 +09:00
Tsuda Kageyu
829ae2112a
Check the packet size to fix a segfault error while parsing fuzzed MPC files.
2015-02-17 01:22:39 +09:00
Tsuda Kageyu
65664e6855
Check for EOF to fix an infinite loop while parsing fuzzed MPC files.
2015-02-17 01:22:39 +09:00
Tsuda Kageyu
2193d6dd84
Fix an out-of-bounds access and consequent errors while parsing fuzzed MPC files.
...
Consequent errors may vary: segfault, zerodiv and so forth.
2015-02-17 01:22:38 +09:00
Stephen F. Booth
ef786188ad
Merge pull request #502 from TsudaKageyu/fix-save-wav
...
Fix saving ID3v2/INFO tags of WAV files.
2015-01-31 14:12:18 -05:00
Tsuda Kageyu
2b5ee8deb9
Fix saving ID3v2/INFO tags of WAV files.
...
The old tag won't be removed when the new tag is empty.
2015-01-30 14:51:28 +09:00
Scott Wheeler
ed09c9cf87
Merge pull request #494 from TsudaKageyu/fix-zlib
...
Fix a wrong parameter for zlib.
2015-01-06 17:06:10 +01:00
Tsuda Kageyu
9d91610fc0
Fix a wrong parameter for zlib.
...
z_stream.avail_in has to be the length of the input buffer.
It will fail when frameDataLength is smaller than the actual compressed data size.
2015-01-06 18:45:42 +09:00
Stephen F. Booth
aed689c145
Merge pull request #491 from TsudaKageyu/aiff-hasid3v2
...
Implement missing AIFF::File::hasID3v2Tag().
2015-01-05 08:17:21 -05:00
Tsuda Kageyu
c6a63a3a2f
Implement missing AIFF::File::hasID3v2Tag().
2015-01-05 18:20:31 +09:00
Stephen F. Booth
2b0a540228
Merge pull request #490 from TsudaKageyu/remove-uncompr
...
Remove an unused file from taglib/CMakeLists.txt.
2015-01-04 22:31:42 -05:00
Tsuda Kageyu
2685ec1842
Remove an unused file from taglib/CMakeLists.txt.
...
uncompr.c is no longer used since caa53e8
2015-01-05 11:00:47 +09:00
Scott Wheeler
fdea6dcd40
Merge pull request #489 from TsudaKageyu/frame-flag-tests
...
Add some tests for huge memory allocation due to bad ID3v2 frame header ...
2015-01-05 02:03:06 +01:00
Tsuda Kageyu
ed253d3691
Add some tests for huge memory allocation due to bad ID3v2 frame header flags.
...
The tests covers #466 and #486 .
Also fixes a compilation error on some compilers.
2015-01-05 09:34:30 +09:00
Scott Wheeler
57729b834a
Show a debugging message when we have an error reading
2015-01-04 20:13:24 +01:00
Scott Wheeler
caa53e8de5
Read the compressed data as a stream
...
This avoids allocating the complete buffer at first based solely
on the value read from the frame header. This then does a sanity
check at the end of reading to make sure that the two values match.
At present, it just prints a debugging message if the values do not
match.
Fixes #466
2015-01-04 19:58:18 +01:00
Lukáš Lalinský
31982660c8
Merge pull request #485 from TsudaKageyu/oga-segfault
...
Fix a segfault when reading faulty Ogg/FLAC files.
2015-01-01 19:48:23 +01:00
Lukáš Lalinský
bd7b8cc36a
Merge pull request #473 from TsudaKageyu/fix-infotag
...
Fix an infinite loop when parsing an INFO tag.
2015-01-01 19:46:53 +01:00
Tsuda Kageyu
bc9bbfe3fa
Add a check for faulty Ogg/FLAC files.
2015-01-02 00:10:51 +09:00
Tsuda Kageyu
7adea3df22
Separate tests for fuzzed WAV files.
2015-01-01 23:18:43 +09:00
Tsuda Kageyu
5ebb2ece80
Fix a segfault when reading faulty Ogg/FLAC files.
2015-01-01 19:59:30 +09:00
Tsuda Kageyu
0d2e01df61
Fix a segfault when parsing WAV properties.
2014-12-31 01:46:30 +09:00
Tsuda Kageyu
695fb5ec16
Add a test for fuzzed WAV files.
2014-12-31 01:44:25 +09:00
Tsuda Kageyu
3170d47ec3
Fix an infinite loop when parsing an INFO tag.
2014-12-31 01:44:25 +09:00
Stephen F. Booth
79b7c14129
Merge pull request #481 from TsudaKageyu/aiff-c
...
Add support for AIFF-C files.
2014-12-30 10:51:17 -05:00
Tsuda Kageyu
977fb2aeb0
Fix compilation errors on Clang.
2014-12-31 00:41:22 +09:00
Tsuda Kageyu
3b8c7d4e3a
Add support for AIFF-C files.
2014-12-30 23:53:40 +09:00
Lukáš Lalinský
be33389884
Merge pull request #476 from TsudaKageyu/fuzzed-ape
...
Some fixes for fuzzed APE files.
2014-12-29 09:47:10 +01:00
Lukáš Lalinský
59ae61de6e
Merge pull request #456 from TsudaKageyu/id3v2-padding
...
ID3v2 padding won't increase beyond 1% of the file size.
2014-12-29 09:26:55 +01:00
Tsuda Kageyu
16ac2cd240
Added some tests for fuzzed APE files.
2014-12-23 21:02:00 +09:00
Tsuda Kageyu
61543432c0
Fix an excessive loop when parsing an APE file.
2014-12-23 20:58:36 +09:00
Tsuda Kageyu
4a9614bfc3
Fix a division by zero error when parsing an APE file.
2014-12-23 20:54:20 +09:00
Tsuda Kageyu
1a917a38cd
Fix ID3v2 padding size calculation.
2014-12-09 10:54:21 +09:00
Lukáš Lalinský
735e17f504
Merge remote-tracking branch 'TsudaKageyu/64bit-atom'
...
Conflicts:
ConfigureChecks.cmake
2014-12-08 16:52:33 -08:00
Tsuda Kageyu
0731bc7b2e
Remove CMake check for sizeof(long).
2014-12-09 08:55:46 +09:00
Bart van der Velden
fb1c744daf
Compile without warnings with MSVC
2014-12-08 09:42:04 -08:00
Lukáš Lalinský
1bc5acd7a7
Merge pull request #424 from TsudaKageyu/format
...
Unified redundant string format functions. (backport from taglib2)
2014-12-08 09:38:03 -08:00
Lukáš Lalinský
f30f5ccce5
Merge pull request #441 from xhochy/tests-fix-vectorsize
...
Fix ByteVector sizes in some test cases
2014-12-08 09:36:28 -08:00
Lukáš Lalinský
421eb5e97e
Merge pull request #420 from TsudaKageyu/remove-codecvt
...
Replaced codecvt with Win32 API.
2014-12-08 09:14:00 -08:00
Lukáš Lalinský
5e60ec48e9
Merge pull request #454 from TsudaKageyu/duplicate-id3v2
...
Skip duplicate ID3v2 tags in MPEG files.
2014-12-08 09:09:28 -08:00
Lukáš Lalinský
68eca440c9
Merge pull request #458 from achalddave/fix-gcc-errors
...
Fix more uint/TagLib::uint ambiguities
2014-12-08 08:54:27 -08:00
Achal Dave
7b03403791
Fix more uint/TagLib::uint ambiguities
2014-11-18 15:06:10 -08:00
Tsuda Kageyu
d80c4c96c3
ID3v2 padding won't increase beyond 1% of the file size.
2014-10-23 12:38:38 +09:00
Tsuda Kageyu
73b9b9b58d
Avoid reading an entire ID3v2 tag when skipping it.
2014-10-23 08:14:10 +09:00
Lukáš Lalinský
072851869a
Merge pull request #453 from TsudaKageyu/editorconfig
...
Suggestion: Use EditorConfig to help us stick to our coding style.
2014-10-22 19:31:14 +02:00
Tsuda Kageyu
269e78f1a0
Add a test for duplicate ID3v2 tags.
2014-10-21 00:16:43 +09:00
Tsuda Kageyu
71acf3b6f7
Comment on a weird workaround for duplicate ID3v2 tags.
2014-10-20 23:13:15 +09:00
Tsuda Kageyu
e41dc68a6b
Skip duplicate ID3v2 tags in MPEG files.
2014-10-20 21:21:32 +09:00
Tsuda Kageyu
cfad951442
Use EditorConfig to help us stick to our coding style.
...
http://editorconfig.org/
2014-10-20 11:27:30 +09:00
Lukáš Lalinský
23ffb24472
Merge pull request #448 from TsudaKageyu/msvc-error
...
Fix a compilation error on MSVC.
2014-10-16 10:15:51 +02:00
Tsuda Kageyu
a8bfcd81be
Fix a compilation error on MSVC.
2014-10-16 07:19:31 +09:00
Scott Wheeler
bd7419f0bd
Rebuild TRDC from v2.3 fields
...
This fixes an issue that was reported to me via email with the recording
date being thrown away from v2.3 tags.
2014-09-25 23:07:09 +02:00
Scott Wheeler
71c1ce375f
Don't leak
2014-09-25 20:46:47 +02:00
Scott Wheeler
cff8d22818
Missing assignment
2014-09-25 20:46:47 +02:00
Scott Wheeler
0051351ebb
TableOfContents and ChapterFrame can be added to v2.3 or v2.4 tags
2014-09-25 20:01:00 +02:00
Scott Wheeler
82315276db
Take ownership of embedded frames, as documented
...
Previously embedded frames that were created automatically were
never deleted.
Fixes #440
2014-09-18 16:23:28 +02:00
Scott Wheeler
8ea07be47e
Merge branch 'master' of https://github.com/taglib/taglib
2014-09-18 16:12:34 +02:00
Scott Wheeler
eae4605e6e
Merge pull request #439 from xhochy/test-memleaks
...
Fix various memleaks in the tests
2014-09-18 16:11:12 +02:00
Scott Wheeler
b6289c64dd
Break up the mega-lines
2014-09-18 11:21:18 +02:00
Scott Wheeler
e6d7dd08f2
No reason to store this in the d-pointer
2014-09-18 10:24:48 +02:00
Uwe L. Korn
ee283789b7
Fix ByteVector sizes in some test cases
2014-09-14 20:08:31 +01:00
Uwe L. Korn
205569c8d2
Fix various memleaks in the tests
2014-09-14 18:03:27 +01:00
Lukáš Lalinský
4b67beffc8
Merge pull request #434 from DidierMalenfant/master
...
Ignoring files generated when creating an Xcode project via cmake.
2014-08-25 14:09:44 +02:00
Didier Malenfant
b7a514886d
Ignoring files generated when creating an Xcode project via cmake.
2014-08-23 20:37:32 -07:00
Tsuda Kageyu
0e6d8617ae
Revert "Removed an ambiguous cast from FileNameHandle to FileName."
...
This reverts commit 9af7601bae .
2014-08-23 00:04:33 +09:00
Tsuda Kageyu
dfbaee4103
Removed an ambiguous cast from FileNameHandle to FileName.
2014-08-23 00:04:33 +09:00
Tsuda Kageyu
f29c5f45f8
Workaround for 64-bit MP4 atoms.
2014-08-23 00:04:33 +09:00
Lukáš Lalinský
b1a8205561
Merge pull request #430 from TsudaKageyu/const-iterator
...
Reduce useless detach operations by making some non-const iterators cons...
2014-08-21 09:47:36 +02:00
Tsuda Kageyu
2971891c69
Reduce useless detach operations by making some non-const iterators const.
2014-08-21 16:35:35 +09:00
Lukáš Lalinský
d5e3d6ea7c
Merge pull request #421 from TsudaKageyu/fix-wav-strip
...
Fixed a bug on stripping tags when saving .WAV files.
2014-08-20 10:12:43 +02:00
Lukáš Lalinský
20ce66f98b
Merge pull request #422 from TsudaKageyu/detach
...
Added some missing detach()s to List<T>, ByteVector and String.
2014-08-20 10:09:08 +02:00
Stephen F. Booth
aff3351a25
Merge pull request #427 from TsudaKageyu/linebreak
...
Small fixes in line breaking.
2014-08-17 09:01:47 -04:00
Tsuda Kageyu
387890d956
Small fixes in line breaking.
2014-08-16 15:33:39 +09:00
Lukáš Lalinský
8765d40c2c
Merge pull request #426 from TsudaKageyu/string-cmp
...
Added some operators to compare String to string literals.
2014-08-12 18:15:37 +02:00
Tsuda Kageyu
9bb0eb7ee9
Added some operators to compare String to string literals.
2014-08-12 23:58:45 +09:00
Lukáš Lalinský
d34c922c75
Merge pull request #425 from TsudaKageyu/fix-cmake
...
Removed a useless line from ConfigureChecks.cmake.
2014-08-12 09:42:19 +02:00
Tsuda Kageyu
3c727e091e
Removed a useless line from ConfigureChecks.cmake.
2014-08-12 13:42:44 +09:00
Tsuda Kageyu
a055933e10
Unified the same debug messages.
2014-08-12 13:33:25 +09:00
Tsuda Kageyu
20c0aac309
Unified redundant string format functions. (backport from taglib2)
2014-08-11 01:09:07 +09:00
Tsuda Kageyu
929829b2b5
Removed useless strlen() and wcslen().
2014-08-10 01:13:25 +09:00
Tsuda Kageyu
1944588595
Added some missing detach()s to List<T>, ByteVector and String.
2014-08-08 13:12:14 +09:00
Tsuda Kageyu
31a74927e4
Fixed a bug on stripping tags when saving .WAV files.
2014-08-07 18:49:53 +09:00
Tsuda Kageyu
972aa1feef
Replaced codecvt with Win32 API.
2014-08-07 17:35:42 +09:00
Lukáš Lalinský
c23ee5331f
Merge pull request #418 from TsudaKageyu/debug-msg
...
Fixed some debug messages.
2014-08-07 00:37:17 +02:00
Lukáš Lalinský
0f605be198
Merge pull request #414 from TsudaKageyu/fix-floattest
...
Fixed some mistakes in the CMake module for float types.
2014-08-07 00:36:59 +02:00
Tsuda Kageyu
590cb29f99
Improved the CMake check for float/double format. (Intel compiler support)
2014-08-06 20:57:04 +09:00
Tsuda Kageyu
286fd2abec
Fixed some debug messages.
2014-08-06 16:13:15 +09:00
Tsuda Kageyu
f76d76728d
Fixed some mistakes in the CMake module for float types.
2014-08-04 17:51:05 +09:00
Lukáš Lalinský
80f5436370
Merge pull request #413 from TsudaKageyu/msvc-tests3
...
Fixed a test to work with MSVC.
2014-08-04 09:09:20 +02:00
Tsuda Kageyu
043d2bbef5
Fixed a test to work with MSVC.
2014-08-04 15:11:50 +09:00
Lukáš Lalinský
cf59d51d93
Merge pull request #406 from TsudaKageyu/utf16-byteorder
...
Fixed handling UTF-16 byte order.
2014-07-23 10:21:37 +02:00
Lukáš Lalinský
9569b99e4c
Merge pull request #405 from TsudaKageyu/missing-include
...
Added a missing #include.
2014-07-23 10:20:38 +02:00
Tsuda Kageyu
590405d878
Fixed handling UTF-16 byte order.
2014-07-23 15:36:16 +09:00
Tsuda Kageyu
c03b91aed3
Added a missing #include.
2014-07-23 14:56:18 +09:00
Lukáš Lalinský
ee2908a6cf
Merge pull request #399 from TsudaKageyu/float-conv
...
Added float conversion functions to ByteVector.
2014-07-22 12:10:54 +02:00
Tsuda Kageyu
e29f1d39e7
Added float conversion functions to ByteVector.
...
Added CMake checks about IEEE754 compliance.
2014-07-17 12:09:14 +09:00
Lukáš Lalinský
b509106031
Merge pull request #398 from TsudaKageyu/fix-chap
...
Fixed some compilation error on MSVC in CHAP and CTOC frames support.
2014-07-16 22:30:10 +02:00
Tsuda Kageyu
47cd6fad4f
Fixed some compilation error on MSVC in CHAP and CTOC frames support.
2014-07-17 01:43:56 +09:00
Lukáš Lalinský
fb24dfe7cf
Merge pull request #393 from TsudaKageyu/msvc-tests
...
Modified some tests to work with MSVC.
2014-07-16 16:02:10 +02:00
Lukáš Lalinský
f42263e04a
Merge pull request #392 from TsudaKageyu/zlib-source
...
Added a Windows-friendly build option ZLIB_SOURCE.
2014-07-16 15:58:52 +02:00
Lukáš Lalinský
43872f362d
Merge pull request #390 from TsudaKageyu/vector-bounds
...
Fixed out-of-bounds access in findVector().
2014-07-16 15:57:55 +02:00
Lukáš Lalinský
73d3436570
Merge pull request #391 from TsudaKageyu/setlasterror
...
Added some SetLastError()s to get correct error codes in Win32.
2014-07-16 15:56:59 +02:00
Lukáš Lalinský
1e50b8dc25
Merge pull request #394 from ufleisch/master
...
Add genres 148 to 191 to list of ID3v1 genres.
2014-07-16 15:54:03 +02:00
Lukáš Lalinský
4a585c5258
Merge remote-tracking branch 'krejclu6/krejclu6_chapters'
2014-07-16 15:52:41 +02:00
Tsuda Kageyu
5f738a9819
Changed to skip the ZLib check when ZLIB_SOURCE is set.
2014-07-09 09:52:08 +09:00
Tsuda Kageyu
d7995b807f
Fixed the tests to work with MSVC when UNICODE is set.
2014-06-24 01:29:15 +09:00
Urs Fleisch
3e60e339a4
Add genres 148 to 191 to list of ID3v1 genres.
...
This genres were added for Winamp version 5.6, see
<http://en.wikipedia.org/wiki/ID3#List_of_genres >.
2014-06-21 12:34:42 +02:00
Tsuda Kageyu
5feabe0988
Updated INSTALL.
2014-06-20 10:36:09 +09:00
Tsuda Kageyu
29a5129096
Modified some tests to work with MSVC.
2014-06-20 09:06:26 +09:00
Tsuda Kageyu
fadb57e4cd
Added a Windows-friendly build option ZLIB_SOURCE.
2014-06-19 19:54:12 +09:00
Tsuda Kageyu
653b631aea
Added a check for patternSize and removed a useless check.
2014-06-19 16:57:36 +09:00
Tsuda Kageyu
cb3abf15ad
Added a test for out-of-bounds access in findVector().
2014-06-19 13:22:50 +09:00
Tsuda Kageyu
29377fc8f1
Added some SetLastError()s to get correct error codes in Win32.
2014-06-19 12:58:07 +09:00
Tsuda Kageyu
663f10d51d
Fixed out-of-bounds access in findVector().
2014-06-19 12:19:18 +09:00
Lukas Krejci
a192db07c0
Code clean-up.
2014-06-11 17:52:05 +02:00
Lukas Krejci
459adc69ad
Merge branch 'krejclu6_chapters' of https://github.com/krejclu6/taglib into krejclu6_chapters
...
Conflicts:
taglib/mpeg/id3v2/id3v2framefactory.cpp
tests/test_id3v2.cpp
2014-05-18 16:29:54 +02:00
Lukas Krejci
500b3e630b
Uncommenting unit test.
2014-05-18 16:15:35 +02:00
Lukas Krejci
5c5c89e8d9
Added functions for work with embedded frames.
...
Added embedded frames parsing.
Added embedded frames rendering.
Modified constructor of CHAP and CTOC frame, so it can accept list of embedded frames.
Added unit tests for CHAP and CTOC frames parsing and rendering (with support of embedded frames).
Fixed bugs in rendering of CTOC frames.
Added functions for adding and removing child elements in CTOC frames.
2014-05-18 16:15:35 +02:00
Lukáš Krejčí
140fb2b3f6
Removed duplicated CHAP frame testing funtion.
2014-05-18 16:15:35 +02:00
Lukáš Krejčí
98ed58f910
Changed copyright and e-mail in modified files.
2014-05-18 16:15:35 +02:00
Lukáš Krejčí
7d99b8276a
Fixed errors in ChapterFrame constructor.
...
Fixed errors in ChapterFrame method renderFields.
Fixed errors in TableOfContentsFrame method parseFields.
Added ChapterFrame and TableOfContentsFrame headers and sources to CMakeLists.txt.
Added some basic testing of CHAP and CTOC frames parsing.
2014-05-18 16:15:35 +02:00
Lukáš Krejčí
17841e89ae
Fixed error in childElements function.
2014-05-18 16:14:00 +02:00
Lukáš Krejčí
c5f9258462
Finished parseFields, renderFields and asProperty methods of ChapterFrame and TableOfContentsFrame classes.
...
Methods setElementID of ChapterFrame and TableOfContentsFrame classes now automatically terminates new element ID with null.
2014-05-18 16:14:00 +02:00
Lukáš Krejčí
3a1040d55b
Added basic members of ChapterFrame and TableOfContentsFrame classes.
...
Fixed minor bugs in ChapterFrame and TableOfContentsFrame headers.
2014-05-18 16:11:55 +02:00
Lukáš Krejčí
0864634ea6
Created CPP and H files for CTOC and CHAP frames.
2014-05-18 16:11:55 +02:00
Stephen F. Booth
f27e0aaecf
Merge pull request #370 from supermihi/fix162v2
...
Fix #162 : Xiph and APE generic getters return space-concatenated values
2014-04-24 21:35:50 -04:00
Lukáš Lalinský
ecc768d459
Merge pull request #380 from TsudaKageyu/fix-comment
...
Removed a wrong note from a comment in tstring.h.
2014-04-11 10:33:56 +02:00
Tsuda Kageyu
fabc411cb9
Removed a wrong note from a comment in tstring.h.
2014-04-11 17:16:55 +09:00
Lukáš Lalinský
2d528d844a
Merge pull request #356 from TsudaKageyu/string-comment
...
Added some comment about UTF-16 encoding to String::data().
2014-04-10 20:05:55 +02:00
Lukáš Lalinský
c65753c766
Add ALBUMARTIST property mapping for WMA
2014-04-10 20:05:14 +02:00
Lukáš Lalinský
7e10b13962
Merge pull request #372 from TsudaKageyu/cmake-warning
...
Suppressed the warning "Policy CMP0022 is not set" on CMake 2.8.12.
2014-04-10 20:04:17 +02:00
Lukáš Lalinský
05e26119f7
Merge pull request #377 from amigadave/master
...
Add ALBUMARTIST property mapping for MP4
2014-04-10 20:01:36 +02:00
David King
95a59c416b
Add ALBUMARTIST property mapping for MP4
...
https://code.google.com/p/mp4v2/wiki/iTunesMetadata
2014-04-10 17:33:29 +01:00
Tsuda Kageyu
3f557be608
Suppressed the warning "Policy CMP0022 is not set" on CMake 2.8.12.
2014-04-05 21:08:21 +09:00
Lukáš Lalinský
9ca7877587
Merge pull request #371 from TsudaKageyu/cmake-ver
...
Changed cmake_minimum_required from 2.6.0 to 2.8.0.
2014-04-05 13:07:58 +02:00
Tsuda Kageyu
a93ee10134
Changed cmake_minimum_required from 2.6.0 to 2.8.0.
2014-04-05 19:44:47 +09:00
Michael Helmling
1723e9b18a
Fix #162 : Xiph and APE generic getters return space-concatenated values
2014-04-03 21:07:29 +02:00
Lukáš Lalinský
16b8688c1a
Merge pull request #362 from ufleisch/master
...
Add support for synchronized lyrics (SYLT) and event timing codes (ETCO) for ID3v2
2014-03-30 19:21:47 +02:00
Urs Fleisch
3b60af2c0b
Add support for ID3v2 ETCO frames (event timing codes).
2014-03-30 09:28:14 +02:00
Urs Fleisch
eba99c3a70
Add support for ID3v2 SYLT frames (synchronized lyrics).
2014-03-30 09:26:03 +02:00
Tsuda Kageyu
6bcd422afa
Small fix of a comment
2014-03-14 15:12:03 +09:00
Tsuda Kageyu
c357d293a1
Added some comment about UTF-16 encoding to String::data().
2014-03-13 14:38:03 +09:00
Stephen F. Booth
cfb43223dc
Merge pull request #354 from TsudaKageyu/opus-bitrate
...
opus: Estimate the bitrate if possible
2014-03-09 21:37:50 -04:00
Tsuda Kageyu
72cd379f30
opus: Estimate the bitrate if possible
2014-03-10 09:37:10 +09:00
Lukáš Lalinský
a3d724af27
Merge pull request #352 from TsudaKageyu/tagreader-sprintf
...
Avoid using sprintf() in tagreader.cpp to fix an MSVC warning.
2014-02-19 16:34:42 +01:00
Tsuda Kageyu
05e0081414
Avoid using sprintf() in tagreader.cpp to fix an MSVC warning.
2014-02-19 23:35:23 +09:00
Lukáš Lalinský
b658f95e06
Merge pull request #338 from funman/master
...
Also build/install taglib_c.pc when targetting windows
2014-02-17 08:46:13 +01:00
Lukáš Lalinský
2758aed34d
Merge pull request #348 from TsudaKageyu/string-memcpy
...
Reduced a useless memory copy in tstring.cpp.
2014-02-17 08:45:49 +01:00
Lukáš Lalinský
12b25868b7
Merge pull request #349 from TsudaKageyu/install-typo
...
Fixed a typo in INSTALL.
2014-02-17 08:44:54 +01:00
Tsuda Kageyu
1deff52d95
Fixed a typo in INSTALL.
2014-02-17 11:22:40 +09:00
Tsuda Kageyu
69eaa75f64
Reduced a useless memory copy in tstring.cpp.
2014-02-15 20:25:00 +09:00
Lukáš Lalinský
3e0c73bdbc
Merge pull request #347 from TsudaKageyu/xm-seek
...
Changed XM::File::save() to use seek() properly.
2014-02-14 17:21:49 +01:00
Tsuda Kageyu
9e94f8bb6c
Changed XM::File::save() to use seek() properly.
2014-02-14 19:22:53 +09:00
Lukáš Lalinský
aa49723b48
Merge pull request #330 from TsudaKageyu/fix-emptystring
...
Fixed a bug reported at #328
2014-02-05 00:02:47 -08:00
Tsuda Kageyu
167513ae57
Avoid using &d->data[0] when d->data is empty.
2014-02-05 10:35:07 +09:00
Tsuda Kageyu
d0f3e9b186
Use std::string::c_str() rather than &s[0] where a const pointer is required.
2014-01-24 09:48:39 +09:00
Stephen F. Booth
4fc020e0d3
Merge pull request #340 from mineo/patch-1
...
Remove a superfluos 'x'
2014-01-18 13:12:21 -08:00
Wieland Hoffmann
db147e672e
Remove a superfluos 'x'
2014-01-18 18:11:31 +01:00
Rafaël Carré
c45a0694f9
Also build/install taglib.pc when targetting windows
...
.pc file is notably used when cross-compiling windows software
2014-01-13 22:49:17 +01:00
Tsuda Kageyu
584bbc7c78
Fixed conversion from empty String to ByteVector
2013-12-04 09:37:59 +09:00
Lukáš Lalinský
10b804e0ae
Merge pull request #322 from TsudaKageyu/mailaddress
...
Fixed a mail address
2013-11-24 23:25:19 -08:00
Tsuda Kageyu
4f8ab4b63f
Fixed a mail address
2013-11-25 14:12:34 +09:00
Stephen F. Booth
5593c251c8
Merge pull request #321 from TsudaKageyu/nominmax
...
Fixed warnings in MinGW
2013-11-23 19:24:55 -08:00
Tsuda Kageyu
7d7a7be115
Fixed warnings in MinGW
2013-11-23 23:42:20 +09:00
Stephen F. Booth
f733077917
Merge pull request #307 from TsudaKageyu/string-abi
...
Fixed the ABI breakage in TagLib::String
2013-11-15 15:04:30 -08:00
Stephen F. Booth
670493f97f
Merge pull request #310 from TsudaKageyu/backslash
...
Replaced wrongly used slashes with backslashes in some comments
2013-11-15 03:55:04 -08:00
Tsuda Kageyu
d4adc22922
Replaced wrongly used slashes with backslashes in some comments
2013-11-15 15:31:23 +09:00
Stephen F. Booth
34f8cd8a90
Merge pull request #309 from TsudaKageyu/fix-replace
...
Rewrote ByteVector::replace() simpler (fix for the issue #308 )
2013-11-14 07:01:29 -08:00
Tsuda Kageyu
4a7d31c87b
Rewrote ByteVector::replace() simpler
2013-11-14 14:58:14 +09:00
Tsuda Kageyu
3bf30af66c
Fixed ABI breakage in TagLib::String
2013-11-06 17:01:21 +09:00
Lukáš Lalinský
ee9720a997
Merge pull request #304 from funman/master
...
Win32: avoid symbol lookup if UNICODE is defined
2013-10-28 01:12:48 -07:00
Rafaël Carré
69e58b5f3f
Win32: avoid symbol lookup if UNICODE is defined
2013-10-28 04:39:04 +01:00
Duke Yin
de17843d8c
Update tests
2013-10-17 15:14:29 -04:00
Duke Yin
944143a91b
Handle iTunes ID3v2.3 hacks
...
iTunes writes the 2.4 frames TSOA, TSOT, TSOP to 2.3 files. (It
additionally defines TSO2 and TSOC for both 2.3 and 2.4.) TagLib should
not delete these frames.
2013-10-16 18:48:49 -04:00
Lukas Krejci
1ce5385e30
Uncommenting unit test.
2013-10-13 18:38:54 +02:00
Lukas Krejci
5ed2d88f78
Added functions for work with embedded frames.
...
Added embedded frames parsing.
Added embedded frames rendering.
Modified constructor of CHAP and CTOC frame, so it can accept list of embedded frames.
Added unit tests for CHAP and CTOC frames parsing and rendering (with support of embedded frames).
Fixed bugs in rendering of CTOC frames.
Added functions for adding and removing child elements in CTOC frames.
2013-10-13 18:27:43 +02:00
Lukáš Lalinský
aa61823432
Fix the length of the TXXX translation mapping ( closes #283 )
2013-10-08 17:50:01 +02:00
Lukáš Lalinský
2f7af42092
Update version to 1.9.1
2013-10-08 17:46:34 +02:00
Lukáš Lalinský
2d5abd46d2
Added TagLib::MP4::PropertyMap::codec()
2013-10-08 17:41:09 +02:00
Lukáš Lalinský
9b5869ea37
Merge remote-tracking branch 'TsudaKageyu/chunksize'
2013-10-08 16:18:43 +02:00
Lukáš Lalinský
02ebd0bcbe
Change log for 1.9.1
2013-10-08 16:18:30 +02:00
Lukáš Lalinský
5693ab0403
Merge remote-tracking branch 'TsudaKageyu/fix-string'
2013-10-08 16:12:49 +02:00
Lukáš Lalinský
27000438f5
Merge remote-tracking branch 'TsudaKageyu/msvc_wchar_t'
2013-10-08 16:09:01 +02:00
Lukáš Lalinský
a6f759cc9a
These shouldn't be executable either
2013-10-08 16:06:58 +02:00
Lukáš Lalinský
a175b8356b
Reintroduce the old RefCounter from 1.8, which is needed by TagLib::Map<> and TagLib::List<> ( closes #296 )
2013-10-08 16:06:03 +02:00
Tsuda Kageyu
873df184fe
Workaround for when MSVC doesn't have wchar_t as a built-in type
2013-10-08 19:55:44 +09:00
Tsuda Kageyu
079e3e0b87
Fixed detecting RIFF files with invalid chunk sizes
2013-10-07 17:04:55 +09:00
Lukáš Lalinský
95776b5905
These files should not be marked as executable
2013-10-06 17:11:01 +02:00
Lukáš Lalinský
dcfb71bcb4
Update version number to 1.9
2013-10-05 10:53:15 +02:00
Lukáš Lalinský
f2c9ed4f36
Update NEWS
2013-10-05 10:09:09 +02:00
Lukáš Lalinský
2407933087
Merge remote-tracking branch 'TsudaKageyu/wavpack-samplerate'
2013-10-05 09:53:49 +02:00
Stephen F. Booth
2af43ec8bf
Merge pull request #290 from FestusHagen/m_WinInstallNotes
...
Update Windows INSTALL notes.
2013-10-01 19:51:11 -07:00
Festus Hagen
85d76a2428
Update Windows INSTALL notes.
2013-09-30 18:06:55 -04:00
Stephen F. Booth
5a4a05d9bc
Merge pull request #280 from TsudaKageyu/info-fieldlist
...
Added a missing fieldListmap() method to RIFF::Info::Tag
2013-09-28 18:07:26 -07:00
Stephen F. Booth
a2188e6cf9
Merge pull request #285 from TsudaKageyu/algorithm
...
Added missing #include <algorithm> for std::min() and std::max()
2013-09-20 04:59:27 -07:00
Tsuda Kageyu
e6f9a06894
Added missing #include <algorithm> for std::min() and std::max()
2013-09-20 08:26:37 +09:00
Tsuda Kageyu
e125bcb78b
Fixed a possible out-of-bound access when reading WavPack files
2013-09-19 04:09:28 +09:00
Tsuda Kageyu
23b418b4e9
Added a missing fieldListmap() method to RIFF::Info::Tag
2013-09-17 14:59:19 +09:00
Tsuda Kageyu
cf892f2cb8
Fixed a bug in creating String from ByteVector
2013-09-13 03:47:03 +09:00
Lukáš Lalinský
c12b6697f9
Merge remote-tracking branch 'TsudaKageyu/byteorder-detection'
2013-07-21 14:42:50 +02:00
Tsuda Kageyu
89fcab5669
Fixed an MSVC specific runtime error only in debug mode
2013-07-17 23:35:41 +09:00
Tsuda Kageyu
35ca010df6
Introduced the runtime byte order detection when config.h is missing
2013-07-17 15:02:02 +09:00
Tsuda Kageyu
0f58646bfb
Added a test for APE::Item
2013-07-14 11:35:10 +09:00
Tsuda Kageyu
4d126c49e9
Fixed a crash of APE::Item::toString() when the data type is binary
2013-07-14 02:47:48 +09:00
Lukáš Lalinský
3a636c752b
Merge remote-tracking branch 'TsudaKageyu/string-api-master'
2013-07-11 10:08:05 +02:00
Lukáš Lalinský
ff5ab030c5
Merge remote-tracking branch 'TsudaKageyu/fix-opus'
2013-07-11 10:06:35 +02:00
Lukáš Lalinský
ff3b1466e1
Merge remote-tracking branch 'TsudaKageyu/comment-update'
2013-07-11 10:05:29 +02:00
Lukáš Lalinský
89cb785f22
Merge remote-tracking branch 'TsudaKageyu/has-tags'
2013-07-11 10:03:28 +02:00
Tsuda Kageyu
30f62ba887
Updated the relevant comments
2013-07-04 22:14:42 +09:00
Tsuda Kageyu
1503909824
Added the methods to check which kind of tags the file actually has.
2013-07-04 18:11:33 +09:00
Tsuda Kageyu
75b685fa53
Updated the related comments
2013-06-24 01:29:33 +09:00
Tsuda Kageyu
62d55223b2
Added conversion from String to const wchar_t*
2013-06-24 01:13:25 +09:00
Tsuda Kageyu
418a6c79cb
Comment update: Added some supplementary explanations and fixed some spellings.
2013-06-23 02:08:10 +09:00
Tsuda Kageyu
ab417fd9e3
Changed the style to follow TagLib's one
2013-06-22 18:06:40 +09:00
Tsuda Kageyu
35cdcd3b95
Added a missing check if an Opus file is open
2013-06-22 16:12:57 +09:00
Tsuda Kageyu
a845f70c49
Added some test cases for FileRef about unsupported files
2013-06-21 15:29:00 +09:00
Lukáš Lalinský
7e866e11ad
Merge remote-tracking branch 'FestusHagen/sw_initorder'
2013-06-21 08:01:50 +02:00
Festus Hagen
6acbcfc68a
Fix file modes 2.
2013-06-20 18:50:14 -04:00
Festus Hagen
02c81aaac2
Fix file modes.
2013-06-20 18:37:06 -04:00
Festus Hagen
550510ff3f
Silence Initialization Order Warnings 2.
2013-06-20 16:40:05 -04:00
Lukáš Lalinský
5051010835
Move byteSwap to a (private) shared include file, rather than having the same code in tstring.cpp and tbytevector.cpp
2013-06-20 15:22:06 +02:00
Lukáš Lalinský
fdb8a6b065
Reintroduce HAVE_CONFIG_H so that TagLib can be built without CMake
2013-06-20 15:07:25 +02:00
Lukáš Lalinský
6d4299ea94
Merge remote-tracking branch 'TsudaKageyu/debug-msg3'
2013-06-20 13:40:26 +02:00
Tsuda Kageyu
b84b3afc9c
Making use of std::bitset::to_string()
2013-06-15 13:21:07 +09:00
Festus Hagen
451616f99a
Silence Initialization Order Warnings.
2013-06-11 17:20:46 -04:00
Tsuda Kageyu
496b58e0c9
Updated the comment for DebugListener class
2013-06-11 19:23:46 +09:00
Tsuda Kageyu
886236b978
Removed getDebugListener()
2013-06-10 16:29:33 +09:00
Tsuda Kageyu
6d2e0e8050
Moved a macro from taglib_config.h to config.h
2013-06-10 01:19:47 +09:00
Tsuda Kageyu
2f29ed003c
Added a CMake option that allows to show debug messages in release mode
2013-06-09 23:52:05 +09:00
Tsuda Kageyu
12953b3fdc
Removed TAGLIB_EXPORT from getDebugListener
2013-06-08 22:26:13 +09:00
Tsuda Kageyu
448648d61b
Simplified DebugListener class
2013-06-08 21:40:30 +09:00
Lukáš Lalinský
241465eaac
Merge branch 'revert-changes' of https://github.com/TsudaKageyu/taglib
2013-06-08 12:58:53 +02:00
Tsuda Kageyu
dce00b96b8
Revert "Fixed some MSVC specific warnings"
...
This reverts commit 93f304a91d .
2013-06-08 13:14:06 +09:00
Tsuda Kageyu
3b2d620671
Enabled users to define custom debug message listeners
2013-06-08 09:59:36 +09:00
Tsuda Kageyu
e18546560e
Enabled users to define custom debug message listeners
2013-06-08 03:05:50 +09:00
naiar
fc9abc7a33
fixed build failure
2013-06-07 20:00:13 +09:00
Tsuda Kageyu
98d010f460
Merge pull request #232 from TsudaKageyu/remove-shlwapi
...
Removed the dependency on shlwapi.dll in Win32
2013-06-05 21:59:11 -07:00
Tsuda Kageyu
36d7f9ba32
Removed the dependency on shlwapi.dll in Win32
2013-06-06 13:45:23 +09:00
Tsuda Kageyu
c4c5b06643
Merge pull request #231 from TsudaKageyu/containsat
...
Fixed behavior change of ByteVector::containsAt()
2013-06-01 12:03:34 -07:00
Tsuda Kageyu
767a6ec4a2
Added some tests for containsAt()
2013-06-02 04:00:34 +09:00
Tsuda Kageyu
860a605c8d
Fixed behavior change of ByteVector::containsAt()
2013-06-02 03:45:13 +09:00
Tsuda Kageyu
df5bf232eb
Merge pull request #230 from TsudaKageyu/gcc42-3
...
Fixed compilation error with GCC4.2
2013-06-01 10:49:07 -07:00
Tsuda Kageyu
90a4bae6cc
Fixed compilation error with GCC4.2
2013-06-02 02:37:15 +09:00
Tsuda Kageyu
3ae452ee2a
Merge pull request #229 from TsudaKageyu/gcc42-2
...
Fixed compilation error with GCC4.2
2013-06-01 10:11:52 -07:00
Tsuda Kageyu
bc2d3ea72e
Fixed compilation error with GCC4.2
2013-06-02 02:05:11 +09:00
Tsuda Kageyu
9ccc4878d0
Merge pull request #228 from TsudaKageyu/gcc42
...
Fixed compilation error with GCC4.2
2013-06-01 08:05:29 -07:00
Tsuda Kageyu
6365f36c75
Fixed compilation error with GCC4.2
2013-06-01 23:55:52 +09:00
Tsuda Kageyu
da3d9b1c55
Merge pull request #226 from TsudaKageyu/file-comments
...
Fixed comments for File constructors
2013-05-30 22:34:21 -07:00
Tsuda Kageyu
f77a84486e
Fixed comments for File constructors
2013-05-30 02:04:10 +09:00
Tsuda Kageyu
cf9f2a436b
Merge pull request #224 from TsudaKageyu/memoryleak
...
Fixed memory leak of ByteVector
2013-05-27 08:20:38 -07:00
Tsuda Kageyu
e73afa3325
Fixed memory leak of ByteVector
2013-05-28 00:02:09 +09:00
Tsuda Kageyu
dfee045d46
Merge pull request #222 from TsudaKageyu/vc-filename
...
Fixed some MSVC specific warnings
2013-05-26 06:03:49 -07:00
Tsuda Kageyu
93f304a91d
Fixed some MSVC specific warnings
2013-05-26 14:38:36 +09:00
Tsuda Kageyu
ddabffc7ef
Merge pull request #221 from TsudaKageyu/fix-shlwapi
...
Fixed shlwapi.h and shlwapi.lib detection for MSVC
2013-05-25 12:20:57 -07:00
Tsuda Kageyu
42d268c2c9
Fixed shlwapi.h and shlwapi.lib detection for MSVC
2013-05-26 04:17:18 +09:00
Tsuda Kageyu
e7c0f3322d
Merge pull request #220 from FestusHagen/cmake_shlwapi
...
Added FindShlwapi.cmake in lieu of pragma comment() in fileref.h.
2013-05-25 12:04:08 -07:00
Festus Hagen
b3f3eeeec7
Added FindShlwapi.cmake in lieu of pragma comment() in fileref.h.
2013-05-25 01:58:49 -04:00
Tsuda Kageyu
54fbe15611
Merge pull request #219 from joelverhagen/master
...
Windows build fails on master (due to RefCounter not being exported)
2013-05-23 18:44:15 -07:00
Joel Verhagen
d7523d7843
Added TAGLIB_EXPORT to RefCounter for Windows build
2013-05-23 13:42:51 -04:00
Tsuda Kageyu
ca801c5411
Merge pull request #215 from TsudaKageyu/smallfile
...
Fixed bugs on manipulating small files
2013-05-23 02:22:48 -07:00
Tsuda Kageyu
4667ba02e5
Fixed bugs on manipulating small files
2013-05-23 17:45:16 +09:00
Tsuda Kageyu
3151336050
Merge pull request #209 from TsudaKageyu/bytevector
...
Changed behavior of ByteVector::toNumber() when overrun
2013-05-20 13:50:59 -07:00
Tsuda Kageyu
848f8c316e
Changed behavior of ByteVector::toNumber() when overrun
2013-05-21 05:36:01 +09:00
Tsuda Kageyu
2303da48a2
Merge pull request #204 from TsudaKageyu/number
...
Changed String::number() to use a standard function
2013-05-18 22:59:02 -07:00
Tsuda Kageyu
bbec1c7f81
Changed String::number() to use a standard function
2013-05-19 14:39:45 +09:00
Tsuda Kageyu
79f3edebc0
Added myself to AUTHORS
2013-05-19 11:59:37 +09:00
Tsuda Kageyu
d49d0a6888
Merge pull request #203 from TsudaKageyu/fix-filestream
...
Fixed initialization of FileStream
2013-05-18 19:21:36 -07:00
Tsuda Kageyu
5c3f096fe4
Fixed initialization of FileStream
2013-05-19 11:09:43 +09:00
Tsuda Kageyu
7060d53cf3
Merge pull request #202 from TsudaKageyu/fix-filestream
...
Small refactoring of FileStream
2013-05-18 10:49:31 -07:00
Tsuda Kageyu
dcf11b9586
Small refactoring of FileStream
2013-05-19 02:33:17 +09:00
Tsuda Kageyu
229d69864d
Merge pull request #201 from TsudaKageyu/unicodefile
...
Small change in Win9x support
2013-05-18 07:41:07 -07:00
Tsuda Kageyu
36d9fc1973
Small change in Win9x support
2013-05-18 23:30:15 +09:00
Tsuda Kageyu
d06f480f82
Merge pull request #199 from TsudaKageyu/fix-zlib
...
Fixed the test for ID3V2's compressed frame
2013-05-16 04:38:24 -07:00
Tsuda Kageyu
f9efcfb8d6
Fixed the test for ID3V2's compressed frame
2013-05-16 20:29:58 +09:00
Lukáš Krejčí
cbd6f73431
Removed duplicated CHAP frame testing funtion.
2013-05-04 21:25:55 +02:00
Tsuda Kageyu
db06166330
Merge pull request #187 from TsudaKageyu/config
...
Removed config.h and moved macros into taglib_config.h
2013-05-03 08:03:51 -07:00
Tsuda Kageyu
5d8f781467
Fixed mismatched macro names
2013-05-03 21:05:55 +09:00
Tsuda Kageyu
03adafbfd9
Removed TAGLIB_HAVE_STD_WSTRING macro that affects the public ABI
2013-05-03 18:28:28 +09:00
Tsuda Kageyu
198530547d
Removed RefCounter implementation from a public header
2013-05-03 13:53:32 +09:00
Tsuda Kageyu
4b6745b59b
Merge pull request #188 from TsudaKageyu/string-comment
...
Fixed comments in tstring.h
2013-05-02 21:10:26 -07:00
Tsuda Kageyu
6f0bf734d5
Fixed comments in tstring.h
2013-05-03 13:03:38 +09:00
Tsuda Kageyu
23bd3784a1
Separated public and private config.h
2013-05-03 11:44:36 +09:00
Tsuda Kageyu
8f8ef3788f
Prefixed public variables
2013-05-02 23:26:06 +09:00
Tsuda Kageyu
b0938a3cf1
Removed config.h and moved macros into taglib_config.h
2013-05-02 20:41:59 +09:00
Tsuda Kageyu
a2688a1ff0
Merge pull request #180 from TsudaKageyu/master
...
Fixed possible memory leak
2013-04-30 09:39:23 -07:00
Tsuda Kageyu
d6fc2ef4aa
Fixed possible memory leak
2013-05-01 01:32:48 +09:00
Tsuda Kageyu
9f29804f60
Merge pull request #178 from rakuco/clear-mbstate_t-correctly
...
Correctly initialize std::mbstate_t.
2013-04-29 15:06:57 -07:00
Raphael Kubo da Costa
289b6abb43
Correctly initialize std::mbstate_t.
...
mbstate_t is an opaque type that is often a union or a struct, so setting it
directly to 0 is incorrect and causes build failures with some compilers
such as clang.
2013-04-29 23:56:07 +03:00
Tsuda Kageyu
55f1224d6e
Merge pull request #176 from TsudaKageyu/master
...
Add some error handling to tfilestream.cpp
2013-04-27 17:37:17 -07:00
Tsuda Kageyu
395743eb49
Add some error handling to tfilestream.cpp
2013-04-28 09:14:37 +09:00
Tsuda Kageyu
62827269b6
Merge pull request #175 from TsudaKageyu/master
...
Comment update
2013-04-27 11:10:37 -07:00
Tsuda Kageyu
d2273a7218
Comment update
2013-04-28 03:06:59 +09:00
Tsuda Kageyu
bd85cf8928
Merge pull request #174 from TsudaKageyu/alignment
...
Fixed detection of alignment-tolerant CPUs
2013-04-27 11:02:31 -07:00
Tsuda Kageyu
f3cbb883f2
Fixed detection of alignment-tolerant CPUs
2013-04-28 02:57:51 +09:00
Lukáš Krejčí
65006952f3
Changed copyright and e-mail in modified files.
2013-04-27 16:09:15 +02:00
Lukáš Krejčí
4815dbba68
Fixed errors in ChapterFrame constructor.
...
Fixed errors in ChapterFrame method renderFields.
Fixed errors in TableOfContentsFrame method parseFields.
Added ChapterFrame and TableOfContentsFrame headers and sources to CMakeLists.txt.
Added some basic testing of CHAP and CTOC frames parsing.
2013-04-27 15:42:23 +02:00
Lukáš Krejčí
bcad792e75
Fixed error in childElements function.
2013-04-26 23:16:06 +02:00
Tsuda Kageyu
a80222efa5
Merge pull request #171 from TsudaKageyu/string-test
...
Add some tests for String
2013-04-26 04:35:57 -07:00
Tsuda Kageyu
5e13e0c838
Add some tests for String
2013-04-26 19:43:10 +09:00
Tsuda Kageyu
58765ac40a
Merge pull request #170 from TsudaKageyu/master
...
Small bug fix in tstring.cpp
2013-04-26 01:52:15 -07:00
Tsuda Kageyu
6e35e56d7f
Small bug fix in tstring.cpp
2013-04-26 17:32:39 +09:00
Tsuda Kageyu
a9cdbb7e75
Merge pull request #166 from TsudaKageyu/cmake_test
...
Refactor out some stuff to CMake tests
2013-04-25 18:54:37 -07:00
Tsuda Kageyu
8c71428d4f
Add missing HAVE_WIN_ATOMIC block
2013-04-23 16:25:18 +09:00
Tsuda Kageyu
2c85b4d178
Fix mistaken preprocessor conditionals
2013-04-23 10:42:45 +09:00
Tsuda Kageyu
3293cee11e
Skip unnecessary CMake tests
2013-04-23 08:47:48 +09:00
Tsuda Kageyu
27990d0623
Merge pull request #169 from TsudaKageyu/win9x-unicode
...
Improve Unicode file name handling in Win9x
2013-04-22 10:10:14 -07:00
Tsuda Kageyu
986ee3c44a
Improve Unicode file name handling in Win9x
2013-04-23 01:59:02 +09:00
Tsuda Kageyu
dfb3962511
Merge pull request #168 from TsudaKageyu/fix-win9x
...
Fix a change breaks compatibility with Win9x
2013-04-22 08:28:34 -07:00
Tsuda Kageyu
3e89f7cb40
Fix a change breaks compatibility with Win9x
2013-04-23 00:15:54 +09:00
Tsuda Kageyu
8c233f4552
Merge pull request #167 from TsudaKageyu/filesize
...
Improve getting file size in Win32
2013-04-21 16:29:26 -07:00
Tsuda Kageyu
c2896fd629
Improve getting file size in Win32
2013-04-22 08:01:25 +09:00
Lukáš Krejčí
fcfd9f59fe
Finished parseFields, renderFields and asProperty methods of ChapterFrame and TableOfContentsFrame classes.
...
Methods setElementID of ChapterFrame and TableOfContentsFrame classes now automatically terminates new element ID with null.
2013-04-21 16:16:57 +02:00
Tsuda kageyu
49b07a2662
Refactor out some stuff to CMake tests
2013-04-21 22:24:12 +09:00
Tsuda Kageyu
529d78f54b
Merge pull request #165 from TsudaKageyu/sign-ext
...
Fix unexpected sign extension
2013-04-21 00:15:02 -07:00
Tsuda kageyu
dc89bdd3f0
Fix unexpected sign extension
2013-04-21 16:06:12 +09:00
Lukáš Krejčí
4be1279430
Added basic members of ChapterFrame and TableOfContentsFrame classes.
...
Fixed minor bugs in ChapterFrame and TableOfContentsFrame headers.
2013-04-20 16:49:57 +02:00
Lukáš Krejčí
08ae0e8c63
Created CPP and H files for CTOC and CHAP frames.
2013-04-20 15:52:52 +02:00
Tsuda Kageyu
81a9f0474d
Merge pull request #161 from TsudaKageyu/fix-syncdata
...
Fix reading corrupted ID3v2 syncdata
2013-04-19 17:43:16 -07:00
Tsuda kageyu
8a7d1dd796
Fix reading corrupted ID3v2 syncdata
2013-04-20 09:40:01 +09:00
Tsuda Kageyu
457b1abac8
Merge pull request #160 from TsudaKageyu/fix-cast-align
...
Fix -Wcast-align violation
2013-04-19 14:43:42 -07:00
Tsuda kageyu
e8498b9264
Fix -Wcast-align violation
2013-04-20 05:54:06 +09:00
Tsuda Kageyu
3eeff8b933
Merge pull request #158 from TsudaKageyu/fix-errmsg
...
Fix an error message in Win32
2013-04-18 14:30:37 -07:00
Tsuda kageyu
d959ab89f1
Fix an error message in Win32
2013-04-19 06:13:27 +09:00
Tsuda Kageyu
b081fb2833
Merge pull request #157 from TsudaKageyu/file-win32
...
Fix improper file handling in Win32
2013-04-18 06:38:48 -07:00
Tsuda kageyu
e0805b039c
Fix improper file handling in Win32
2013-04-18 22:16:59 +09:00
Tsuda Kageyu
c352b5e0c7
Merge pull request #155 from TsudaKageyu/gcc-warnings
...
Fix some GCC specific warnings
2013-04-18 04:09:30 -07:00
Tsuda kageyu
a71749a6b5
Fix some GCC specific warnings
2013-04-18 19:52:52 +09:00
Tsuda Kageyu
a188778eb8
Merge pull request #154 from TsudaKageyu/tonumber
...
ByteVector::toUInt() takes offset and length
2013-04-18 03:26:21 -07:00
Tsuda kageyu
439f27640a
ByteVector::toUInt() takes offset and length
2013-04-18 18:36:19 +09:00
Tsuda Kageyu
c9209cc99e
Merge pull request #150 from TsudaKageyu/detect-codecvt
...
Detect <codecvt> header automatically
2013-04-17 08:42:14 -07:00
Tsuda kageyu
1370a1cc83
Detect <codecvt> header automatically
2013-04-18 00:32:14 +09:00
Tsuda Kageyu
266e8f5ae4
Merge pull request #149 from TsudaKageyu/fileref-string
...
Fix improper string handling
2013-04-17 07:55:33 -07:00
Tsuda kageyu
ccaac6c336
Fix improper string handling
2013-04-17 23:47:09 +09:00
Tsuda Kageyu
88005640d5
Merge pull request #148 from TsudaKageyu/reset-smart-pointer
...
Revert changes concerning the smart pointer
2013-04-17 07:08:36 -07:00
Tsuda kageyu
1f4e06ea7c
Revert changes concerning the smart pointer
2013-04-17 22:54:56 +09:00
Tsuda Kageyu
b6c9fb2da1
Merge pull request #147 from TsudaKageyu/shared_ptr
...
Use shared_ptr if possible regardless of C++11 support
2013-04-17 06:03:28 -07:00
Tsuda kageyu
66f5f396ff
Use shared_ptr if possible regardless of C++11 support
2013-04-17 21:41:23 +09:00
Tsuda Kageyu
c9628aae49
Merge pull request #145 from TsudaKageyu/classname
...
Changed some class names
2013-04-16 20:51:33 -07:00
Tsuda kageyu
bb5d3f0600
Changed some class names
2013-04-17 12:45:14 +09:00
Tsuda Kageyu
1f819ce2c5
Merge pull request #144 from TsudaKageyu/restore-abi2
...
Restore ABI changed in pull request #60
2013-04-16 20:38:29 -07:00
Tsuda kageyu
593eda7d9d
Restore ABI changed in pull request #60
2013-04-17 12:28:00 +09:00
Tsuda Kageyu
14dab7c649
Merge pull request #143 from TsudaKageyu/restore-abi
...
Restore ABI breaking change
2013-04-16 19:41:55 -07:00
Tsuda kageyu
94a07fa39a
Restore ABI breaking change
2013-04-17 11:33:01 +09:00
Tsuda Kageyu
492a0f8199
Merge pull request #142 from TsudaKageyu/shared_ptr
...
Use std::shared_ptr<T> if C++11 is available
2013-04-16 19:27:42 -07:00
Tsuda kageyu
24736b919a
Use std::shared_ptr<T> if C++11 is available
2013-04-17 11:12:42 +09:00
Tsuda Kageyu
38220a57ce
Merge pull request #141 from TsudaKageyu/smart-ptr
...
Replace RefCounter with a smart pointer
2013-04-16 18:38:41 -07:00
Tsuda kageyu
b14dc1572d
Replace RefCounter with a smart pointer
2013-04-17 10:10:25 +09:00
Tsuda Kageyu
21964f3cbc
Merge pull request #139 from TsudaKageyu/refactor-string
...
Small refactoring of tstring.cpp
2013-04-16 06:47:28 -07:00
Tsuda kageyu
c13921b7c7
Small refactoring of tstring.cpp
2013-04-16 21:47:12 +09:00
Tsuda Kageyu
39fef2705c
Merge pull request #138 from TsudaKageyu/refector-bytevector
...
Small refactoring of tbytevector.cpp
2013-04-16 05:34:59 -07:00
Tsuda kageyu
8c427c7de9
Small refactoring of tbytevector.cpp
2013-04-16 19:57:04 +09:00
Tsuda Kageyu
0bb995abd0
Merge pull request #137 from TsudaKageyu/refactor-bytevector
...
Small refactoring of tbytevector.cpp
2013-04-15 22:55:22 -07:00
Tsuda kageyu
0195eef865
Small refactoring of tbytevector.cpp
2013-04-16 14:35:47 +09:00
Tsuda Kageyu
cc3dbd84ce
Merge pull request #134 from TsudaKageyu/fix-byteswap
...
Bug fix for #132
2013-04-15 14:02:17 -07:00
Tsuda kageyu
5e6285afab
Bug fix for #132
2013-04-16 05:53:36 +09:00
Tsuda Kageyu
df28a1335a
Merge pull request #133 from TsudaKageyu/fix-byteswap
...
Bug fix for #132
2013-04-15 12:22:37 -07:00
Tsuda kageyu
88a0871784
Bug fix for #132
2013-04-16 04:06:29 +09:00
Tsuda Kageyu
f0edca2f8c
Merge pull request #132 from TsudaKageyu/byteswap
...
Add cross-platform byte order conversions
2013-04-15 08:26:32 -07:00
Tsuda Kageyu
f5462e3e19
Add cross-platform byte order conversions
2013-04-16 00:12:37 +09:00
Lukáš Lalinský
53c5a97b4c
Add tests for newline handling in String ( #125 )
2013-04-15 10:47:43 +02:00
Lukáš Lalinský
a3352fd899
Use the first instance of a MP4 atom ( #126 )
...
When a file contains multiple MP4 atoms with the same name, use the first
one. This is consistent with iTunes and other popular software.
2013-04-15 10:13:47 +02:00
Jingmin Wei
4a85e1e1ca
Allow the second byte of MPEG header to contain 0xFF
...
0xFF in the second byte means MPEG Version 1, Layer I, no CRC protection.
http://mpgedit.org/mpgedit/mpeg_format/MP3Format.html
2013-04-15 09:46:08 +02:00
Lukáš Lalinský
94efe5c187
Merge pull request #116 from ufleisch/tagduplication
...
Parameter to disable duplication between ID3v1 and ID3v2 tags, #115 .
2013-04-14 23:47:59 -07:00
Tsuda Kageyu
bef59a0b9a
Merge pull request #131 from TsudaKageyu/vc-warning
...
Fix VC++ specific warnings
2013-04-14 13:29:29 -07:00
Tsuda Kageyu
86142343ee
Fix VC++ specific warnings
2013-04-15 05:23:39 +09:00
Tsuda Kageyu
5b2458ed66
Merge pull request #130 from TsudaKageyu/improve-string
...
Some improvements of String
2013-04-14 13:17:31 -07:00
Tsuda Kageyu
b52cd44c25
Some improvements of String
2013-04-15 05:03:54 +09:00
Tsuda Kageyu
40997e7fc9
Merge pull request #122 from TsudaKageyu/reduce-copy
...
Reduce unnecessary memory copies by ByteVector
2013-04-06 06:32:26 -07:00
Tsuda Kageyu
a4e68a0304
Reduce unnecessary memory copies by ByteVector
2013-04-05 22:07:58 +09:00
Urs Fleisch
703736fbcb
Parameter to disable duplication between ID3v1 and ID3v2 tags, #115 .
2013-03-23 13:56:31 +01:00
Tsuda Kageyu
fd45808555
Merge pull request #104 from TsudaKageyu/test-warnings
...
Fix warnings in test_flacpicture.cpp
2013-03-19 06:03:23 -07:00
Tsuda Kageyu
e9fec47411
Fix warnings in test_flacpicture.cpp
2013-03-19 21:54:56 +09:00
Stephen F. Booth
6029352c09
Merge pull request #96 from nightingale-media-player/master
...
Make textual lyric frames use UTF8
2013-01-20 07:56:30 -08:00
rsjtdrjgfuzkfg
077208d17a
Create UTF8-Lyrics per default.
2013-01-18 17:21:35 +01:00
Michael Helmling
08863dec0b
Found and fixed more missing property interface forwarders.
...
Probably due to a copy-and-paste error the implementation of
File::removeUnsupportedProperties() contained cases for several type
which do not reimplement this method; for others the implementation was
missing and is now included.
In addition, the formats Speex and Opus suffered from the same bug as
OggFLAC in the commit before, which is now fixed.
2013-01-03 23:20:15 +01:00
Michael Helmling
80af92a715
Add forwarders for the property interface to Ogg::FLAC::File.
...
Fixes an infinite method resolution recursion in File::properties() and
File::setProperties(). Thanks to Sebastian Rachuj for pointing out this bug.
2013-01-03 23:00:17 +01:00
Lukáš Lalinský
237e0ec23c
Merge pull request #93 from magcius/master
...
c: Add support for TAGLIB_STATIC to the C bindings
2013-01-01 03:00:27 -08:00
Jasper St. Pierre
d52e97dfcd
c: Add support for TAGLIB_STATIC to the C bindings
...
Otherwise, we'll fail with dllimport/dllexport linking errors on
Windows.
2013-01-01 04:28:00 -05:00
Michael Helmling
8329d6ac1a
Update documentation of the property map interface in TagLib::File.
2012-12-27 11:38:01 +01:00
Michael Helmling
f1d723077f
Consistently handle invalid and deprecated tags in setProperties()
...
This commit reverts the use of strip() in setProperties() because the
latter function should not change the file before save() is called.
Instead, the following policy is now consistently applied for file formats
with multiple tag types:
- the recommended tag type is created, if it does not exist
- deprecated tags are updated, if they exist, but not created
- illegal tag types are ignored by setProperties(), but used in properties()
if no others exist.
The only tag types considered "illegal" so far are APEv2 in MPEG and ID3 in FLAC.
2012-12-26 22:46:37 +01:00
Michael Helmling
a095c468b2
Revert "Add a test to show a problem with properties() and duplication."
...
This reverts commit 6e3391a846 . The "problem" demonstrated in there won't be fixed due to lack of significance.
2012-12-20 17:30:19 +01:00
Michael Helmling
b14e6a3570
Update for pull request #89 : Change how setProperties() updates tags.
...
For file types supporting more than one tag format, setProperties() now always creates the most modern one. Deprecated tags are stripped.
2012-12-20 17:28:50 +01:00
Michael Helmling
6e3391a846
Add a test to show a problem with properties() and duplication.
2012-12-10 21:22:11 +01:00
Michael Helmling
c0ca5c97d5
Fix issue #88 by changing the behavior of setProperties().
...
For file types that support multiple tag standards (for example, FLAC
files can have ID3v1, ID3v2, and Vorbis comments) setProperties is now
called for all existing tags instead of only for the most recommended
one.
This fixes the problem that under some circumstances it was not possible
to delete a value using setProperties() because upon save() the call to
Tag::duplicate recovered that value from the ID3v1 tag.
2012-12-10 20:56:16 +01:00
Michael Helmling
d5cf6d72e2
Merge remote-tracking branch 'official/master'
2012-12-10 19:55:29 +01:00
Michael Helmling
9eb0f2941f
Add a test case for the return value of setProperties()
2012-12-10 19:55:23 +01:00
naota
3fa295d99d
Include sys/stat.h to define S_* properly
...
Without including sys/stat.h, this file failed to build on FreeBSD with the following error.
In file included from /var/tmp/portage/media-libs/taglib-1.8/work/taglib-1.8/tests/test_trueaudio.cpp:5:0:
/var/tmp/portage/media-libs/taglib-1.8/work/taglib-1.8/tests/utils.h: In function 'std::string copyFile(const string&, const string&)':
/var/tmp/portage/media-libs/taglib-1.8/work/taglib-1.8/tests/utils.h:36:62: error: 'S_IRUSR' was not declared in this scope
/var/tmp/portage/media-libs/taglib-1.8/work/taglib-1.8/tests/utils.h:36:72: error: 'S_IWUSR' was not declared in this scope
In file included from /var/tmp/portage/media-libs/taglib-1.8/work/taglib-1.8/tests/test_mpeg.cpp:6:0:
/var/tmp/portage/media-libs/taglib-1.8/work/taglib-1.8/tests/utils.h: In function 'std::string copyFile(const string&, const string&)':
/var/tmp/portage/media-libs/taglib-1.8/work/taglib-1.8/tests/utils.h:36:62: error: 'S_IRUSR' was not declared in this scope
/var/tmp/portage/media-libs/taglib-1.8/work/taglib-1.8/tests/utils.h:36:72: error: 'S_IWUSR' was not declared in this scope
gmake[2]: *** [tests/CMakeFiles/test_runner.dir/test_mpeg.cpp.o] Error 1
2012-11-28 07:54:08 +09:00
Lukáš Lalinský
812f63502b
Implement the PropertyMap interface for WMA
2012-11-23 09:32:00 +01:00
Lukáš Lalinský
353eb9f00f
Implement the PropertyMap interface for MP4
2012-11-22 10:40:22 +01:00
Lukáš Lalinský
1b813d9d6c
Document sort names
2012-11-21 17:26:17 +01:00
Lukáš Lalinský
c5dade5ee7
Use names that are consistent with Vorbis Comments
2012-11-21 17:24:32 +01:00
Lukáš Lalinský
e75d6f616c
Add support for reading MusicBrainz IDs from ID3v2 tags to PropertyMap
2012-11-21 17:21:30 +01:00
Lukáš Lalinský
15b601f053
Use PropertyMap in tagreader
2012-11-21 14:40:26 +01:00
Lukáš Lalinský
45317ef7f2
Revert "Fix opening of read-only files on Windows"
...
This reverts commit ade8dc1a21 .
2012-11-20 18:34:51 +01:00
Lukáš Lalinský
3da792152a
Merge pull request #85 from TsudaKageyu/fix-readonly
...
Fix reading read-only files in Win32
2012-11-20 09:23:16 -08:00
Tsuda Kageyu
3f6da779d2
Fix compilation in non-Win32
2012-11-20 22:46:03 +09:00
Tsuda Kageyu
57b8ae6e1c
Fix reading read-only files in Win32
2012-11-20 22:20:34 +09:00
Lukáš Lalinský
ade8dc1a21
Fix opening of read-only files on Windows
...
The CreateFile* functions return INVALID_HANDLE_VALUE on error, not NULL.
http://article.gmane.org/gmane.comp.kde.devel.taglib/2346
2012-11-20 14:15:16 +01:00
Lukáš Lalinský
c6f7ad3e83
Revert "Add a tool to inspect audio files, only MP4 is implemented for now"
...
This reverts commit 45b0279b41 .
2012-11-12 16:14:32 +01:00
Lukáš Lalinský
dbe6be778b
Build also examples
2012-11-11 16:44:01 +01:00
Lukáš Lalinský
45b0279b41
Add a tool to inspect audio files, only MP4 is implemented for now
2012-11-11 16:43:36 +01:00
Lukáš Lalinský
3a5aeb4573
Parse covr atoms with type 0 (fixes issue #84 )
2012-11-11 16:04:08 +01:00
Lukáš Lalinský
72745846f4
Update NEWS
2012-11-11 14:49:31 +01:00
Lukáš Lalinský
9e788bb8c2
Fix tests when compiled with clang on Linux
2012-11-11 14:26:10 +01:00
Lukáš Lalinský
56fbe7e14d
Make travis run tests also with clang
2012-11-10 20:51:17 +01:00
Lukáš Lalinský
44155f6771
Merge pull request #79 from gonemad/master
...
Check if file is open before reading tags
2012-11-04 01:27:43 -07:00
Lukáš Lalinský
341711c04b
Merge pull request #83 from jmarshallnz/more_itunes_hacks
...
A small fix, and some additional iTunes hacks (v2.2 frames in v2.3 tag)
2012-11-04 01:26:26 -07:00
Jonathan Marshall
be6187e893
adds new iTunes hack for v2.2 frames stored in a v2.3 tag (iTunes v8.1.1.10 for example)
2012-11-04 19:54:28 +13:00
Jonathan Marshall
c42bdeab43
fixes noop frame id size check in ID3v2::FrameFactory::createFrame
2012-11-04 19:52:10 +13:00
gonemad
7d7c58cb8e
Merge branch 'master' of https://github.com/taglib/taglib
2012-10-18 20:17:35 -04:00
Lukáš Lalinský
044da877e6
Make sure we build the tests
2012-10-13 13:38:35 +02:00
Lukáš Lalinský
2d7686b5fa
Actually run the tests
2012-10-13 13:36:33 +02:00
Lukáš Lalinský
074f6db6d8
Needs sudo
2012-10-13 13:34:44 +02:00
Lukáš Lalinský
7a884af0ef
Experimenting with Travis CI
2012-10-13 13:33:36 +02:00
Lukáš Lalinský
e568e1019d
Remove useless debug print
2012-10-13 09:11:20 +02:00
Lukáš Lalinský
ca543039a5
Include Opus in docs
2012-10-13 09:06:09 +02:00
Lukáš Lalinský
5e7b1da632
Add support for Ogg Opus
2012-10-13 08:55:23 +02:00
gonemad
6b9ef6421f
Fixed indents
2012-10-11 22:10:19 -04:00
gonemad
d15c8453ac
Added check if file is open before attempting to read tags
2012-10-11 21:20:03 -04:00
Lukáš Lalinský
1e660dda71
Partial changelog for 1.9
2012-10-10 17:09:03 +02:00
Lukáš Lalinský
2a77afc593
Merge remote-tracking branch 'nightingale/master'
2012-10-10 16:45:36 +02:00
Tsuda Kageyu
a9df3e48f7
Fix a bug in updating MP4 tags
2012-10-10 21:17:05 +09:00
rsjtdrjgfuzkfg
c8994ede3f
Restrict url frame generation to W??? Frames to prevent known non-text non-url frameIDs to be handled as url when containing only one String. No longer describe the default comment as "COMMENT".
2012-10-08 20:19:12 +02:00
Lukáš Lalinský
7e255733e0
Merge remote-tracking branch 'TsudaKageyu/id3v1-genrenumber'
2012-10-08 13:23:17 +02:00
Julien Ramseier
72f9a96cce
Fix missing CppUnit include directive
2012-10-07 15:41:40 +02:00
Stephen F. Booth
1308ff6479
Merge pull request #73 from ArnaudBienner/master
...
Corrupted FLAC files scan can result in heavy CPU consumption: fix
2012-10-07 05:29:02 -07:00
Arnaud Bienner
b7a15092d8
Faster FLAC::FilePrivate destructor
2012-10-07 03:07:53 +02:00
Arnaud Bienner
ad9ffc62e6
Consider FLAC file as being invalid if a 0 length block is found
2012-10-07 03:04:02 +02:00
Tsuda Kageyu
46e613dcca
Add reading/writing ID3v1 genre in number
2012-10-04 19:23:10 +09:00
Urs Fleisch
2d7414733e
Crash when saving xm files ( fixes #68 )
2012-09-30 15:42:16 +02:00
Lukáš Lalinský
9f597bab1b
Change some variables to follow the TagLib naming convention
2012-09-30 10:50:19 +02:00
Lukáš Lalinský
321b9b5a8b
Merge remote-tracking branch 'TsudaKageyu/filestream'
2012-09-30 10:43:58 +02:00
Lukáš Lalinský
60a3a4e455
Various uint fixes
...
We really need to get rid of TagLib::uint...
2012-09-30 10:22:10 +02:00
Lukáš Lalinský
57e5cc8c17
Merge remote-tracking branch 'TsudaKageyu/infotag-patch'
2012-09-30 10:15:56 +02:00
Lukáš Lalinský
5250673fa0
Merge pull request #70 from FestusHagen/taglib-config_cmd
...
Win32 taglib-config.cmd support.
2012-09-30 01:06:49 -07:00
Lukáš Lalinský
ab5e19a016
Merge pull request #69 from FestusHagen/SW_MinGW
...
Silence warnings with MinGW 4.6.3.
2012-09-29 06:54:36 -07:00
Festus Hagen
8790e9de01
Silence warnings with MinGW 4.6.3.
2012-09-29 09:01:44 -04:00
Festus Hagen
1086d4476d
Win32 taglib-config.cmd support.
2012-09-28 21:41:45 -04:00
Lukáš Lalinský
7b80418122
Fix the version number
2012-09-26 20:30:53 +02:00
Stephen F. Booth
02d034f53f
Merge pull request #65 from TsudaKageyu/tagsondisk
...
Add MPEG::FILE::Has*Tag functions
2012-09-08 05:14:30 -07:00
Tsuda Kageyu
e7126db97c
Add MPEG::FILE::Has*Tag functions
2012-09-08 14:13:20 +09:00
Tsuda Kageyu
4582ea3b27
Fixed CMakeLists.txt
2012-09-08 01:17:15 +09:00
Tsuda Kageyu
43e100fd37
FileStream improvement in Win32
2012-09-07 23:48:06 +09:00
Tsuda Kageyu
071a1477b5
Fixed an API change
2012-09-07 08:16:30 +09:00
Tsuda Kageyu
61c8013f2c
Added missing comments
2012-09-07 08:16:28 +09:00
Tsuda Kageyu
9c8c215c30
Support INFO tags of RIFF wave files.
2012-09-07 08:16:26 +09:00
Lukáš Lalinský
aa34afda79
Merge remote-tracking branch 'TsudaKageyu/substr-bug'
2012-09-06 20:03:15 +02:00
Lukáš Lalinský
942ec58de5
Add tests for String::substr
2012-09-06 20:03:08 +02:00
Lukáš Lalinský
082a36147b
Add change log, update SOVERSION
2012-09-06 19:57:10 +02:00
Lukáš Lalinský
f11b206fe8
Do not delete the IOStream object in TagLib::File
2012-09-06 19:43:52 +02:00
Lukáš Lalinský
e37f6ed752
Update CMakeLists.txt
2012-09-06 19:30:45 +02:00
Lukáš Lalinský
d2f20e8d2a
Merge branch 'master' of https://github.com/moeeka/taglib
2012-09-06 19:24:22 +02:00
Rupert Daniel
f194a55c0f
Updated OWNE implementaion with minor changes after pull review
2012-09-06 12:11:20 +01:00
Rupert Daniel
719187794e
Implementation of the ID3v2.4 OWNE frame.
2012-09-05 16:37:46 +01:00
Tsuda Kageyu
74b94613a0
Bug fix in String::substr()
2012-09-05 19:46:52 +09:00
Lukáš Lalinský
33d0be110b
Fix ambiguous reference to uint in tests
2012-09-03 19:55:55 +02:00
Tsuda Kageyu
df12b4ffc6
Refectored the FileStream constructor.
2012-09-03 01:45:28 +09:00
Tsuda Kageyu
d16c24ae21
Merge branch 'master' of https://github.com/taglib/taglib into security-warnings
2012-09-02 23:40:11 +09:00
Lukáš Lalinský
1c35918834
Merge remote-tracking branch 'TsudaKageyu/warnings'
2012-09-02 15:25:41 +02:00
Tsuda Kageyu
d163f36d35
Fix Visual C++ specific warnings about security
2012-08-23 21:57:12 +09:00
Tsuda Kageyu
590cd4c9f6
Fix warnings with VS2010
2012-08-23 20:54:18 +09:00
Tsuda Kageyu
6c0227ee13
Fix compilation errors with Visual Studio 2010
2012-08-23 19:58:21 +09:00
Lukáš Lalinský
9bb57fe0a7
Merge remote-tracking branch 'TsudaKageyu/id3v2-comment-update'
2012-08-23 11:00:32 +02:00
tsuda.kageyu@gmail.com
3fecdbf428
Comment update for ID3v2::Tag::setLatin1StringHandler()
2012-08-23 17:57:00 +09:00
Lukáš Lalinský
356c7a5d6e
Merge remote-tracking branch 'TsudaKageyu/cross-border-delete'
2012-08-23 10:51:47 +02:00
tsuda.kageyu@gmail.com
4b4f70253b
Comment update for ID3v1::Tag::setStringHandler()
2012-08-23 17:45:25 +09:00
Lukáš Lalinský
8b61a06fda
Merge remote-tracking branch 'TsudaKageyu/id3v2-brokenlatin1-patch'
2012-08-23 10:22:43 +02:00
Lukáš Lalinský
6801ac2515
Merge remote-tracking branch 'poiru/master'
2012-08-23 10:19:08 +02:00
Lukáš Lalinský
29d17bb8e9
Merge remote-tracking branch 'supermihi/master'
2012-08-23 10:17:05 +02:00
tsuda.kageyu@gmail.com
fe8053c7d5
Support broken Latin-1 encodings in ID3V2
2012-08-23 12:19:51 +09:00
tsuda.kageyu@gmail.com
eb63ee8ec6
Remove possible cross binary boundary delete
2012-08-23 11:09:22 +09:00
Lukáš Lalinský
e86e5f906b
ID3 frame IDs with 0 should be recognized as valid
...
http://article.gmane.org/gmane.comp.kde.devel.taglib/2275
2012-08-17 07:50:48 +02:00
Lukáš Lalinský
60e82e6694
Ignore additional files
2012-08-17 07:34:44 +02:00
Birunthan Mohanathas
fc6e02da35
Update header comments to reflect c4163a2
2012-08-02 17:25:20 +03:00
Michael Helmling
4140c5f2eb
Check PropertyMap keys format-specifically instead of globally.
...
Instead of statically forbidding certain keys in PropertyMap, now the
setProperties() implementations of the different formats check if the
keys are valid for that particular specification and include them in
the returned PropertyMap otherwise.
This should remove an unneccessary complification for programmers since
now there's only one step, namely calling setProperties(), where
problems might occur.
Also the previous implementation leads to problems with invalid keys:
because taglib doesn't use exceptions, something like
map.insert("FORBIDDEN KEY", "some value");
would lead to the value being inserted under String::null, which
smells like the source of strange bugs.
2012-07-30 20:52:30 +02:00
Michael Helmling
fc3fc10f60
add id3v2 frame delete test
2012-07-23 20:53:25 +02:00
BSDKaffee
3bc123aed6
- Disambiguate uint and ushort references
2012-07-15 01:57:53 -04:00
Lukáš Lalinský
3b392f2402
Changelog for 1.8 beta
2012-07-14 21:53:09 +02:00
Lukáš Lalinský
8ff0feb28e
Cast to long
2012-07-14 21:21:03 +02:00
Lukáš Lalinský
61ed295af8
Merge remote-tracking branch 'poiru/master'
2012-07-14 21:09:54 +02:00
Lukáš Lalinský
09af2a7b57
Merge remote-tracking branch 'robinst/mpeg-file-id3vxtag-docs-inexistent-tags'
2012-07-14 21:08:59 +02:00
Lukáš Lalinský
050ff3835d
Revert "Install examples if built."
...
This reverts commit 52e96e48c5 .
2012-07-14 21:06:53 +02:00
Lukáš Lalinský
674ae0fa6d
Merge remote-tracking branch 'kensington/master'
2012-07-14 21:06:08 +02:00
Lukáš Lalinský
411d318f34
Merge remote-tracking branch 'robinst/dont-copy-from-id3v1-when-only-saving-id3v2'
2012-07-14 21:03:16 +02:00
Lukáš Lalinský
fbb1c7e554
Merge branch 'mpc_sv8'
2012-07-11 14:15:37 +02:00
Lukáš Lalinský
fd818857e0
More Musepack tests
2012-07-11 14:15:12 +02:00
Lukáš Lalinský
930168f990
Refactoring of the Musepack SV8 properties code
2012-07-11 14:13:41 +02:00
Alex Novichkov
291d925fc1
MPC v8 audio properties
2012-07-11 13:08:10 +02:00
Scott Wheeler
7c4c455a40
Use '0' here instead of 'NULL'
...
0 is used throughout the rest of the TagLib source, and generally
preferred in C++:
http://www2.research.att.com/~bs/bs_faq2.html#null
2012-07-03 12:26:20 +02:00
Stephen F. Booth
f429d6f406
Merge pull request #41 from EliaCereda/master
...
Properly initialize frame
2012-06-30 07:33:25 -07:00
Elia Cereda
c68fe9ad7b
Fixed error "Branch condition evaluates to a garbage value" (from Xcode 4.3.3 Static Analyzer, mpeg/id3v2/id3v2tag.cpp:377)
...
This error occurs when the frame variable is left uninitialized because its id doesn't match any of the ids in the if and else-id cases. Initializing it on declaration fixes this issue.
2012-06-30 16:25:33 +02:00
Stephen F. Booth
81aac3a590
Merge pull request #39 from robinst/install-build-tests-option
...
Mention -DBUILD_TESTS=on in "Unit Tests" of INSTALL
2012-06-11 04:57:04 -07:00
Robin Stocker
7279b4fb7b
Don't duplicate from ID3v1 to ID3v2 when saving only ID3v2
...
When saving only v2 with stripOthers (which means stripping v1), the
data from v1 would still be duplicated to v2. Likewise for the other way
around.
This is not the expected outcome when e.g. a frame was removed in v2,
because it would be added again on save from the v1 data. The test shows
that.
This changes save to only duplicate the data when the other tag type
will not be stripped.
2012-06-10 18:53:25 +02:00
Robin Stocker
b0ac79c60e
Mention -DBUILD_TESTS=on in "Unit Tests" of INSTALL
2012-06-10 18:26:06 +02:00
Robin Stocker
382aec46f7
Fix docs of MPEG::File::ID3v(1|2)Tag for inexistent tag
...
Since 37e2d629 , the ID3v1 and ID3v2 tags are always created at the end
of MPEG::File::read. So contrary to what the documentation said, a null
pointer is never returned.
To check if a tag contains data, refer to isEmpty() in the
documentation.
2012-06-10 15:27:54 +02:00
Michael Palimaka
b5ad68d64b
Add custom 'check' target that depends on the test_runner target for backwards compatibility.
2012-05-17 03:42:36 +10:00
Michael Palimaka
52e96e48c5
Install examples if built.
2012-05-16 04:37:25 +10:00
Michael Palimaka
5bcfecb6cc
Use ctest instead of custom target.
2012-05-16 04:00:22 +10:00
Lukáš Lalinský
2c2a486313
Merge branch 'stable'
...
Conflicts:
CMakeLists.txt
NEWS
2012-04-20 18:30:07 +02:00
Lukáš Lalinský
059f2243b3
Prepare 1.7.2 release
2012-04-20 17:57:13 +02:00
Lukáš Lalinský
cce6ad46c9
Reverse the version check, similarly to what mp4v2 does
2012-04-20 17:52:12 +02:00
Birunthan Mohanathas
06597123b8
Remove trailing whitespace
2012-04-19 13:09:45 +03:00
Birunthan Mohanathas
e5ede410bc
Tabs to spaces
2012-04-19 13:04:42 +03:00
Vinnie Falco
dafb3af742
Remove 'using namespace std' in tmap.h
2012-04-17 22:05:09 -07:00
Lukáš Lalinský
089643f115
Merge remote-tracking branch 'vinniefalco/rename_enums'
2012-04-17 08:49:02 +02:00
Vinnie Falco
26f458b87f
Resolve scope resolution for APE::Footer definitions in apefooter.cpp
2012-04-15 07:58:50 -07:00
Vinnie Falco
c22791318c
Resolve ambiguous File symbol in apetag.cpp
2012-04-15 07:57:02 -07:00
Vinnie Falco
5081e3cf4f
Rename anonymous enumeration symbols to be unique trueaudiofile.cpp
2012-04-15 02:41:27 -07:00
Vinnie Falco
1bde4cea09
Rename anonymous enumeration symbols to be unique in wavpackfile.cpp
2012-04-15 02:40:46 -07:00
Vinnie Falco
0907e86a94
Rename anonymous enumeration symbols to be unique in apefile.cpp
2012-04-15 02:40:23 -07:00
Vinnie Falco
742a3a1dbb
Rename anonymous enumeration symbols to be unique in mpcfile.cpp
2012-04-15 02:39:19 -07:00
Vinnie Falco
04a4a6b8d4
Rename anonymous enumeration symbols to be unique in flacfile.cpp
2012-04-15 02:38:15 -07:00
Jeff Mitchell
b216b448c5
Fix compilation
2012-04-12 18:41:40 -04:00
Stephen F. Booth
4f8a6fdfaf
Verify that an APE text item isn't empty before use
2012-04-12 10:53:32 -04:00
Stephen F. Booth
32a4ac6599
Preserve source code backward compatibility
2012-04-10 18:06:58 -04:00
Stephen F. Booth
ca26a9ad3e
Added support for APE tag binary items
2012-04-10 07:24:12 -04:00
Stephen F. Booth
bd03e352cc
Allow tag items to be replaced
2012-04-07 08:54:22 -04:00
Stephen F. Booth
69ac59f5f0
Added sampleFrames() to audio properties
2012-04-06 18:30:13 -04:00
Stephen F. Booth
2297a6d531
Added missing tmap.h
2012-04-06 18:29:56 -04:00
Lukáš Lalinský
2a4850f211
Merge branch 'stable'
...
Conflicts:
CMakeLists.txt
2012-03-18 09:22:53 +01:00
scottmc
288c6e4a3f
Include <iostream> instead of <ostream> to fix compilation on Haiku
2012-03-18 09:20:26 +01:00
Lukáš Lalinský
606edf8171
Increment the version number
2012-03-17 11:02:24 +01:00
Lukáš Lalinský
3c7b05a900
Merge branch 'stable'
...
Conflicts:
NEWS
2012-03-17 10:59:34 +01:00
Lukáš Lalinský
009c43952f
Changelog
2012-03-17 10:58:22 +01:00
Birunthan Mohnathas
9c1668f28b
Fixed (huge) memory leak with ASF.
2012-03-17 10:48:57 +01:00
Lukáš Lalinský
8e67b40bdc
Fix compilation errors
2012-03-17 10:45:52 +01:00
Lukáš Lalinský
76222cb1eb
Merge branch 'master' of https://github.com/supermihi/taglib
2012-03-17 10:41:02 +01:00
Birunthan Mohnathas
138dfca682
Additional change to previous fix.
2012-03-12 22:13:58 +02:00
Birunthan Mohnathas
c4163a26e8
Fixed memory leak of FrameFactory singleton.
2012-03-12 18:56:08 +02:00
Birunthan Mohnathas
4496efe33b
Fixed (huge) memory leak with ASF.
2012-03-12 18:44:08 +02:00
Lukáš Lalinský
3a760b060c
Merge branch 'stable'
...
Conflicts:
taglib/riff/aiff/aiffproperties.cpp
taglib/trueaudio/trueaudioproperties.cpp
tests/test_wav.cpp
2012-03-10 09:16:37 +01:00
Lukáš Lalinský
110cac8429
Avoid uint overflow in case the length + index is over UINT_MAX
2012-03-10 09:13:04 +01:00
Lukáš Lalinský
258ae751b5
Don't store the output of ByteVector::toUInt() in int, use uint instead
2012-03-10 09:12:32 +01:00
Lukáš Lalinský
df1d3e028e
Make sure to not try dividing by zero
2012-03-10 09:12:19 +01:00
Stephen F. Booth
23c86cf27d
Check if the header is TTA1 before parsing
2012-03-10 09:11:51 +01:00
Lukáš Lalinský
f59c3b67aa
Detect RIFF files with invalid chunk sizes
...
The bug report has a WAVE file with zero-sized 'data' chunk, which causes
TagLib to iterate over the file, 8 bytes in each iteration. The new code
adds a check for the chunk name, which forces it to mark the file as
invalid if the chunk name doesn't contain ASCII characters.
https://bugs.kde.org/show_bug.cgi?id=283412
2012-03-10 09:06:55 +01:00
Stephen F. Booth
294cb22241
Don't crash when wav files have a 0 for bit per channel (sampleWidth)
...
I've seen this in a wav that has an audio format of MP3 (0x55)
2012-03-10 08:58:45 +01:00
Frank Lai
b7ec0d26ab
Be more careful when parsing Vorbis Comments
2012-03-10 08:52:59 +01:00
Scott Wheeler
934ce51790
Don't lead the scanned blocks on save
2012-03-10 08:52:17 +01:00
Lukáš Lalinský
dcdf4fd954
Avoid uint overflow in case the length + index is over UINT_MAX
2012-03-10 08:46:20 +01:00
Lukáš Lalinský
ab8a0ee893
Don't store the output of ByteVector::toUInt() in int, use uint instead
2012-03-04 12:01:21 +01:00
Lukáš Lalinský
77d61c6eca
Make sure to not try dividing by zero
2012-03-04 11:51:05 +01:00
Michael Helmling
f5a2518273
Fixed handling of UnknownFrames in ID3v2.
...
- If an unknown frame with id "XXXX" occurs, an entry
"UNKNOWN/XXXX" is added to unsupportedData().
The removeUnsupportedProperties() method in turn
removes all unknown frames with id "XXXX" if it
encounters a string "UNKNOWN/XXXX" in the given list.
- Implemented findByDescription() to UnsynchronizedLyricsFrame
in order to support removal of lyrics frames with unsupported
keys.
- Adapted id3v2 test case to new QuodLibet policy.
2012-02-26 19:21:57 +01:00
Michael Helmling
6e6d823992
Removed quodlibet special case handling
2012-02-26 18:38:03 +01:00
Michael Helmling
f859fcf82a
Add support for Unknown TXXX frames.
2012-02-26 18:07:02 +01:00
Michael Helmling
37c87e0317
Fixed identation
2012-02-26 10:56:18 +01:00
Michael Helmling
0a3b998ca5
Fix USLT frame creation in Frame::createTextualFrame()
2012-02-26 10:43:08 +01:00
Michael Helmling
fa0656e3c6
remove Tests/Examples build from CMakeLists
2012-02-26 10:37:59 +01:00
Michael Helmling
b05c3161c7
Added ID3v2 PropertyMap interface documentation.
2012-02-25 19:11:31 +01:00
Michael Helmling
79670beca1
some cosmetic changes
2012-02-25 18:59:53 +01:00
Michael Helmling
9fd22023cd
Merge remote-tracking branch 'official/master'
2012-02-25 18:51:30 +01:00
Michael Helmling
b8d5246f88
Moved APE test to correct place; added MOD tag test.
2012-02-25 18:46:19 +01:00
Michael Helmling
05b5e06928
added APE tag PropertyMap test
2012-02-25 18:32:00 +01:00
Michael Helmling
d28cc83fb4
Added another test for ID3v2 PropertyMap interface; fixed various bugs
2012-02-25 18:22:17 +01:00
Michael Helmling
495a028da3
removed debug messages
2012-02-19 15:15:25 +01:00
Michael Helmling
23d303a896
fixed bugs preventing tests from running
2012-02-19 15:13:31 +01:00
Michael Helmling
6c054af3ed
Added some functions, started to fix bugs.
2012-02-19 12:15:28 +01:00
Michael Helmling
70c3264279
fixed tests
2012-02-15 22:09:28 +01:00
Michael Helmling
cfa5ac6569
Fixed id3v2 test
2012-02-15 21:56:02 +01:00
Michael Helmling
de51307de7
Added lots of missing includes
2012-02-15 21:54:19 +01:00
Michael Helmling
140f4a57e2
fixed lots of bugs found by 'make'
2012-02-14 22:11:30 +01:00
Michael Helmling
8a8e9b702c
Ported xm.
2012-02-14 21:35:50 +01:00
Michael Helmling
d6215365a1
Ported wavpack.
2012-02-14 21:34:43 +01:00
Michael Helmling
2185d52f56
Ported trueaudio.
2012-02-14 21:32:36 +01:00
Michael Helmling
48aaaf8dc4
Ported s3m; removed old id3v2dicttools.
2012-02-14 21:29:30 +01:00
Michael Helmling
d2c43d7174
ID3 interface complete; vorbis done; wav done
2012-02-14 21:27:14 +01:00
Lukáš Lalinský
cdfb447042
Add explicitly declared default constructor to StringHandler
2012-02-04 21:22:52 +01:00
Lukáš Lalinský
2d00b690de
Merge branch 'master' of https://github.com/poiru/taglib
2012-02-04 20:38:14 +01:00
Stephen F. Booth
51675f3399
Added sampleFrames to FLACProperties
2012-02-04 11:34:40 -05:00
Stephen F. Booth
fa662a23db
Check if the header is TTA1 before parsing
2012-02-04 08:39:45 -05:00
Stephen F. Booth
dc628204c0
Added sampleFrames() for TTA files
2012-02-04 08:30:34 -05:00
Birunthan Mohanathas
9564956a7f
Removed space.
2012-02-02 18:12:37 +02:00
Birunthan Mohnathas
1f2248d24b
Additional change to previous fix.
2012-02-02 17:50:58 +02:00
Birunthan Mohnathas
06424598bb
Fixed memory leak.
2012-02-02 15:03:41 +02:00
Stephen F. Booth
7b3f279294
Correctly handle non-integral bit depths
2012-01-30 22:31:15 -05:00
Michael Helmling
a8632f710f
More progress in ID3 ... setProperties() will get messy :(
2012-01-22 22:06:24 +01:00
Michael Helmling
0c8e5bbec8
Implemented asProperties() in all relevant textual frames.
2012-01-22 17:08:02 +01:00
Michael Helmling
a5e45f196b
Started to work on ID3v2.
2012-01-21 23:05:59 +01:00
Michael Helmling
e4d955d6ef
Migration to new PropertyMap ... done ape to mod.
2012-01-21 14:52:24 +01:00
Michael Helmling
18ae797df4
Add unsupportedData() to PropertyMap, simplified [] behavior.
2012-01-17 18:09:30 +01:00
Michael Helmling
d11189b975
Basic implementation of a PropertyMap.
...
Implemented key/valuelist property map with
case-insensitive ASCII keys and StringList values.
Todo:
- subclass StringList to add flags indicating whether a value could
be written to the specific file format
- add member attribute indicating list of frames that could not be
parsed into the PropertyMap representation.
2012-01-16 22:37:30 +01:00
Michael Helmling
67d896e6a7
Implemented the most easy comments on the pull request.
2012-01-14 22:02:17 +01:00
Michael Helmling
ea41cd8903
Merge remote-tracking branch 'official/master'
2012-01-14 20:57:15 +01:00
Lukáš Lalinský
d904281c6b
Make it possible to generate an XML report
2012-01-14 10:16:54 +01:00
Lukáš Lalinský
40bf52e70f
Reverse the version check, similarly to what mp4v2 does
2012-01-10 17:18:20 +01:00
Lukáš Lalinský
b981b6dde7
Check also for the deprecated GIF type
2012-01-08 15:54:15 +01:00
Lukáš Lalinský
c237998983
Support non-UTF8 free-form atoms
2012-01-08 13:17:42 +01:00
Urs Fleisch
5ff810e98d
Support for ID3v2.2 frames used by iTunes (TCP, TS2, TSA, TSC, TSP, TST)
...
https://bugs.kde.org/show_bug.cgi?id=290330
2012-01-05 16:33:29 +01:00
Michael Helmling
7875d02a8f
Merge remote-tracking branch 'official/master'
2012-01-04 19:49:50 +01:00
Scott Wheeler
baafb3e290
Funny that there managed to be no operator!= for String for so long.
2012-01-01 16:01:18 +01:00
Michael Helmling
c4cef55158
Added tests and information about ignored id3 frames.
...
The ID3v2::toDict() function now has an optional
StringList* argument which will contain information
about frames that could not be converted to the dict
interface.
There are some dict tests for APE and FLAC now, and the
ID3v2 test was enlarged.
2012-01-01 14:42:48 +01:00
Michael Helmling
0eaf3a3fbd
Implemented dict interface for more formats.
...
Now supported: MOD files (IT, MOD, S3M, XM), RIFF files
(AIFF, WAV), TrueAudio, WavPack.
2011-11-02 21:02:35 +01:00
Michael Helmling
292a377d1e
Merge remote-tracking branch 'official/master'
2011-10-30 18:28:52 +01:00
Lukáš Lalinský
6ea8599313
Detect RIFF files with invalid chunk sizes
...
The bug report has a WAVE file with zero-sized 'data' chunk, which causes
TagLib to iterate over the file, 8 bytes in each iteration. The new code
adds a check for the chunk name, which forces it to mark the file as
invalid if the chunk name doesn't contain ASCII characters.
https://bugs.kde.org/show_bug.cgi?id=283412
2011-10-08 18:41:15 +02:00
Michael Helmling
772bc9f7c4
Further cleanup and simplification in id3v2dicttools
2011-09-12 21:52:11 +02:00
Michael Helmling
0c2ca20ec2
Restructured and simplified ID3v2Tag::fromDict().
2011-09-11 22:07:49 +02:00
Michael Helmling
2d31075047
Splitted ID3v2Tag::toDict() into several functions.
...
This should simplify future transition to virtual functions.
2011-09-11 18:22:15 +02:00
Graham Perks
837c9ef288
Add cmake option for visibility=hidden
2011-09-09 10:17:54 -05:00
Michael Helmling
0356249368
Merge remote-tracking branch 'official/master'
2011-09-01 16:33:39 +02:00
Michael Helmling
5647b2e293
Made im/export functions nonvirtual. Added similar functions to File and
...
its subclasses. TagLib::File contains a bunch of dynamic_casts to call
the correct specializations.
2011-08-28 22:58:40 +02:00
Lukáš Lalinský
686bcf55a9
Add support for iPhone ringtones
2011-08-28 11:02:34 +02:00
Michael Helmling
fa8159a9d0
Added toDict and fromDict methods for APE tags.
2011-08-27 22:30:20 +02:00
Michael Helmling
58db919e43
More support for the unified dictionary interface.
...
Addded fromDict() function to ID3v2Tag. Added fromDict() and
toDict() functions to the TagUnion class (uses the first non-empty tag).
Added fromDict() and toDict() functions for the generic Tag class, only
handling common tags without duplicates. Addded preliminary mp3 test
case. Python3 bindings now available on my github site.
2011-08-27 01:18:21 +02:00
Michael Helmling
b262180857
Some preliminary work for unified dictionary tag interface support.
...
- toDict() and fromDict() for XiphComments
- toDict() for ID3v2 Tags
2011-08-26 21:48:40 +02:00
Tim De Baets
bec3875b94
Added removePicture() to FLAC::File
2011-08-16 01:57:01 +02:00
Urs Fleisch
ce53d13af1
Add suport for more MP4 metadata atoms
...
https://bugs.kde.org/show_bug.cgi?id=275784
2011-08-13 17:07:41 +02:00
Mathias Panzenböck
4868bb5690
ByteVector::replace: test shrinking
2011-08-06 19:43:17 +02:00
Jonathan Liu
7cc36db760
Use the default frame factory when it's necessary to parse ID3v2 tags in APE files
...
https://bugs.kde.org/show_bug.cgi?id=278773
2011-08-06 11:05:20 +02:00
Lukáš Lalinský
028f831417
Basic tests for ByteVector::replace()
2011-08-05 18:47:53 +02:00
Lukáš Lalinský
303af305db
Merge remote branch 'panzi/master'
2011-08-05 18:35:24 +02:00
Johannes Pfau
22b57f4463
Add taglib_free function to C binding
2011-08-05 13:17:42 +02:00
Mathias Panzenböck
11c993e9f0
use DATA() macro
2011-08-01 15:33:27 +02:00
Mathias Panzenböck
3b14dc3e94
ByteVector::replace: forgot detach() and opt. when pattern not found
2011-08-01 15:14:58 +02:00
Mathias Panzenböck
ad7645f8e9
ByteVector::replace performance improvements
2011-08-01 04:13:55 +02:00
Lukáš Lalinský
fb2decb7de
Reformatting
2011-07-28 19:16:32 +02:00
Lukáš Lalinský
3a837e7fc7
Reformatting
2011-07-28 19:06:35 +02:00
Lukáš Lalinský
0730076a0f
Merge remote-tracking branch 'gperks/master'
...
Conflicts:
taglib/asf/asfpicture.cpp
taglib/it/itproperties.h
2011-07-28 19:03:46 +02:00
Lukáš Lalinský
364a840d83
Merge remote-tracking branch 'setosha/ASFPicture_warning_fix'
2011-07-28 18:53:57 +02:00
Scott Wheeler
e9cd383139
Merge pull request #14 from sbooth/master
...
Some non-PCM wave files can cause SIG_ARITHMETIC
2011-07-28 05:45:11 -07:00
Stephen F. Booth
a41b32bbb2
Don't crash when wav files have a 0 for bit per channel (sampleWidth)
...
I've seen this in a wav that has an audio format of MP3 (0x55)
2011-07-28 08:36:14 -04:00
Scott Wheeler
98d6b97798
Fix warning
2011-07-27 23:22:23 +02:00
Scott Wheeler
019fe4843f
ByteVector works on chars, not unsigned chars, so there needs to be a cast before the comparison
2011-07-27 23:14:54 +02:00
Scott Wheeler
bb25953767
These methods can't be protected since they're called from IT::File
...
In general this code could use a fair bit of tidying up both stylistically and semantically.
2011-07-27 23:07:38 +02:00
Scott Wheeler
4795831b4a
Fix spelling / formatting in comments.
2011-07-27 23:06:06 +02:00
Graham Perks
19484c059d
Document ENABLE_STATIC_RUNTIME
2011-07-27 14:35:24 -05:00
Graham Perks
10ea76ff11
Add build option for Visual Studio to link with the static runtime (/MT vs /MD), pass -DENABLE_STATIC_RUNTIME=ON to cmake
2011-07-27 14:25:26 -05:00
Graham Perks
5f84bbf61a
Correction to OS X build; include basic Windows build instructions
2011-07-27 10:54:33 -05:00
Graham Perks
8b647e5fa7
Fix for VS2010 which had been throwing out "cannot access protected member declared in class 'TagLib::Mod::Properties'" errors.
2011-07-26 21:45:32 -05:00
Graham Perks
0341079b92
Misc typo corrections
2011-07-26 21:45:28 -05:00
Graham Perks
1a53bfd71a
Example cmake for OS X to build a static library
2011-07-26 11:12:27 -05:00
Graham Perks
6aa41d8180
Updated OS X build instructions
2011-07-25 17:56:42 -05:00
Scott Wheeler
101a624c46
Merge branch 'master' of github.com:taglib/taglib
2011-07-21 00:06:50 +02:00
Lukáš Lalinský
3b4e4357e6
Only include config.h if HAVE_CONFIG_H is defined
2011-07-20 22:06:28 +02:00
Scott Wheeler
3baf0a413d
Missing const
2011-07-18 21:27:59 +02:00
Anton Sergunov
68c6a7da7a
ASFPicture fix warning
...
class/struct thing
Signed-off-by: Anton Sergunov <setosha@gmail.com >
2011-07-01 16:12:04 +07:00
Mathias Panzenböck
2fd10b5fd5
corrected comments
2011-06-28 02:55:03 +02:00
Mathias Panzenböck
a50886c3c7
Merge branch 'master' of https://github.com/taglib/taglib
2011-06-28 01:37:48 +02:00
Mathias Panzenböck
2119494cd1
added uninstall target
2011-06-26 21:58:51 +02:00
Scott Wheeler
843070ba18
Tabs be gone
2011-06-26 21:37:01 +02:00
Mathias Panzenböck
57bf96d169
Merge branch 'master' of https://github.com/taglib/taglib
2011-06-26 20:58:32 +02:00
Lukáš Lalinský
937d69f91d
Fix indentation
2011-06-25 12:17:31 +02:00
Mathias Panzenböck
f3447ae38d
style fixes for enum value names
2011-06-25 01:54:22 +02:00
Mathias Panzenböck
89861cf77a
style fixes: { on same line with if/else/for
2011-06-25 01:10:19 +02:00
Mathias Panzenböck
a04d7d0bbc
Merge branch 'master' of https://github.com/taglib/taglib
...
Conflicts:
taglib/CMakeLists.txt
tests/CMakeLists.txt
2011-06-24 23:59:11 +02:00
Stephen F. Booth
39e8cbbefb
Added sampleFrames() to AIFFProperties and WAVProperties
2011-06-24 10:43:13 -04:00
Lukáš Lalinský
6b063862c3
Remove the old qmake project file, you can use CMake to build a framework now
2011-06-24 09:00:23 +02:00
Lukáš Lalinský
aec8880592
Update INSTALL to not mention the optional file formats and add info about building a framework
2011-06-24 08:59:38 +02:00
Lukáš Lalinský
dd846904cb
Remove the options to disable MP4/ASF support
2011-06-24 08:49:50 +02:00
Mathias Panzenböck
c7fd4cd2fc
IT: the max. 8000 bytes msg. length have to include the NUL
2011-06-24 01:53:20 +02:00
Mathias Panzenböck
57526c6c37
IT: add term. NUL to messages
2011-06-24 01:50:43 +02:00
Mathias Panzenböck
af92db9dc0
IT: unit tests
2011-06-24 01:31:15 +02:00
Mathias Panzenböck
2d6274a36a
Test FLAC: cleanup copied file
2011-06-24 01:21:17 +02:00
Mathias Panzenböck
9c27c45eb8
IT: strings require term. NUL. mod files: tableLength -> lengthInPatterns
...
Also added enums for S3M/IT/XM flags.
2011-06-24 01:11:10 +02:00
Mathias Panzenböck
e71806b6df
IT: volume is only a byte in size
2011-06-23 20:48:04 +02:00
Lukáš Lalinský
0b34d4f8ee
Enable MP4/ASF by default
2011-06-23 20:18:38 +02:00
Mathias Panzenböck
26613473cf
forgot to remove debug code
2011-06-23 20:17:54 +02:00
Mathias Panzenböck
561cfdb0ec
S3M: unit tests and bug fixes (NUL char. is not optional in S3M strings)
2011-06-23 20:08:05 +02:00
Mathias Panzenböck
e810f2f61f
Merge branch 'master' of https://github.com/taglib/taglib
2011-06-23 17:40:36 +02:00
Mathias Panzenböck
7236ef4d0f
S3M+IT: fix reading, IT: untested support for message writing
...
IT: reading was off starting with global volume because of wrong read size.
S3M+IT: correctly read the number of used patterns.
IT: fixed reading of message tag and implemented writing of message tag
(not tested yet).
I also added S3M+IT test files. TODO: Unit tests using them.
2011-06-23 05:41:23 +02:00
Anton Sergunov
b2517aa4a0
default constructor MP4::Tag::Tag()
2011-06-21 00:54:39 +07:00
Mathias Panzenböck
e202c658f0
Merge branch 'master' of https://github.com/taglib/taglib
2011-06-20 14:31:09 +02:00
Wolfgang Plaschg
7448bb353b
Include of "tag_c.h" after system libraries.
2011-06-20 03:08:24 +02:00
Mathias Panzenböck
aeb528ade2
XM: forgot smaple count
2011-06-20 02:31:17 +02:00
Mathias Panzenböck
d1cb8ae09d
IT: support channels property
2011-06-20 02:19:16 +02:00
Mathias Panzenböck
4b44f25048
comments++
2011-06-20 01:05:12 +02:00
Mathias Panzenböck
4b754b1bc6
more correct IT parsing and property naming
2011-06-20 00:43:42 +02:00
Mathias Panzenböck
b3d44394bf
more correct S3M parsing and property naming
2011-06-19 22:46:33 +02:00
Mathias Panzenböck
5477ede3ea
updated comments
2011-06-19 19:37:45 +02:00
Mathias Panzenböck
03534170fa
comments++
2011-06-19 19:35:27 +02:00
Mathias Panzenböck
b30b8c4ab5
IT: no longer allow wrong sample/instrument magic
2011-06-19 06:03:09 +02:00
Mathias Panzenböck
e09c2c5a19
untested(!) comment write support for s3m and it files
2011-06-19 05:42:16 +02:00
Mathias Panzenböck
6afb7c04b3
comment writing support and more tests for mod and xm
2011-06-19 04:27:51 +02:00
Mathias Panzenböck
0143c3ee63
comments++
2011-06-18 04:28:48 +02:00
Mathias Panzenböck
a31b0bcf8c
xm: no \n too much in comment if there are no samples
2011-06-18 03:38:18 +02:00
Mathias Panzenböck
5ad69f6f2a
fixed mod property names and added unit test for xm
2011-06-18 03:31:49 +02:00
Lukáš Lalinský
b63508ec3e
We still need these includes
2011-06-17 15:09:37 +04:00
Mathias Panzenböck
fe356c31b4
added unit test for one flavour of .mod files
2011-06-17 05:18:49 +02:00
Mathias Panzenböck
eec5e33e0d
added check for readOnly in save methods
2011-06-14 15:34:16 +02:00
Mathias Panzenböck
868ce3dd21
added myself to AUTHORS
2011-06-14 15:23:11 +02:00
Mathias Panzenböck
1e6d645ce9
fixed a comment
2011-06-14 03:56:32 +02:00
Mathias Panzenböck
65fb9733b9
added mod (+aliases) to defaultFileExtensions
2011-06-14 03:49:33 +02:00
Mathias Panzenböck
f75f5ac9bb
added .mod file support
2011-06-14 03:47:08 +02:00
Mathias Panzenböck
812826fe3a
Mod::File -> Mod::FileBase
2011-06-14 01:47:07 +02:00
Mathias Panzenböck
3192334006
more indentation fixes
2011-06-14 01:30:54 +02:00
Mathias Panzenböck
9b2bb4af34
code formatting fixes
2011-06-14 01:18:38 +02:00
Mathias Panzenböck
54e9656474
converted tabs to spaces
2011-06-14 01:09:55 +02:00
Mathias Panzenböck
f6dbd32ed3
refactored for ABI compat and write support of some tags of s3m/it/xm files
...
tags that can be written:
* s3m: title
* it: title
* xm: title, trackerName
2011-06-14 00:46:23 +02:00
Mathias Panzenböck
5332fb5cf8
added read-only support for s3m, it and xm
2011-06-13 03:19:21 +02:00
Lukáš Lalinský
c3c88b4f55
Merge remote branch 'lalinsky/abstract-io'
2011-06-09 18:58:45 +02:00
Lukáš Lalinský
8eb32577bd
Merge branch 'abstract-io'
2011-06-09 18:58:05 +02:00
Lukáš Lalinský
0ed2477dfa
Add an empty default implementation of IOStream::clear()
2011-06-09 18:52:48 +02:00
Frank Lai
b3646a0734
Be more careful when parsing Vorbis Comments
2011-06-09 18:44:54 +02:00
Frank Lai
8ed9b0da2c
Support for reading ALAC audio properties
2011-06-09 18:41:43 +02:00
Frank Lai
93564a2daa
ALAC file encoded by iTunes
2011-06-09 18:40:22 +02:00
Lukáš Lalinský
0a790f0017
Add a (failing) test for reading ALAC audio properties
2011-06-08 19:03:43 +02:00
Lukáš Lalinský
a224e7cd6d
Install the new headers
2011-05-28 22:06:41 +02:00
Lukáš Lalinský
088dbfa832
Merge remote branch 'taglib/master' into abstract-io
2011-05-28 22:04:07 +02:00
Stephen F. Booth
a04da3f159
Added read-only support to FileStream
2011-05-28 13:29:06 -04:00
Lukáš Lalinský
dc062a0844
Make RefCounter compile on OS X with the 10.4 SDK
...
The 10.4 SDK defines OSAtomic functions as int32_t, while 10.5 and newer SDKs
define them as volatile int32_t. This caused a compilation error when
compiling against the 10.4 SDK.
I'd have prefered a preprocessor-based solution, but I couldn't find any
macro that says the SDK version, so I copied this cast solution from
Apple's WebKit. I assume then know what they are doing if they have to
workaround their own API. :)
2011-05-15 00:07:29 +02:00
Scott Wheeler
efeccbf726
Don't lead the scanned blocks on save
2011-05-09 19:06:08 +02:00
Lukáš Lalinský
6b7ed4a5d5
Merge pull request #2 from wplaschg/master
...
Added ignore rules for MSVC 2008 build results
2011-05-09 10:02:21 -07:00
Wolfgang Plaschg
adb0984c87
Adding ignore rules for MSVC 2008 build results
2011-05-09 16:23:38 +02:00
Lukáš Lalinský
a38d2b2995
Simplify static builds
2011-05-08 15:57:34 +02:00
Lukáš Lalinský
b5b8387aee
Don't install pkg-config files when building a framework
2011-05-08 15:50:44 +02:00
Lukáš Lalinský
c337694165
Make it possible to build an OS X framework
2011-05-08 15:46:19 +02:00
Lukáš Lalinský
b2e3a477e9
Always make a copy of the ID3v1 genre name strings
...
http://thread.gmane.org/gmane.comp.kde.devel.taglib/1876
2011-05-02 22:41:01 +02:00
Lukáš Lalinský
81734919d2
Add info about BUILD_EXAMPLES to the INSTALL file
2011-04-19 12:45:11 +02:00
Lukáš Lalinský
d03ef3c312
Use the PUBLIC_HEADER property to prepare for building an OS X framework
2011-04-18 16:52:47 +02:00
Lukáš Lalinský
e92ed0a830
Remove unnecessary code from tfile.cpp
2011-04-12 14:35:31 +02:00
Lukáš Lalinský
65ca29b3e2
Add a ByteVector-backed stream class
2011-04-12 14:28:02 +02:00
Lukáš Lalinský
26c130c387
Duplicate contructors of File subclasses to accept IOStream*
2011-04-11 23:31:44 +02:00
Lukáš Lalinský
8b59bb5957
Make it possible to actually pass a IOStream instance to File
2011-04-11 23:15:46 +02:00
Lukáš Lalinský
b53a577e38
Add FileStream as a copy of File's methods
2011-04-11 23:12:58 +02:00
Lukáš Lalinský
0b0cbc2e34
Add an abstract IOStream class
2011-04-11 22:46:56 +02:00
Lukáš Lalinský
4cda0eeb7b
Make it possible to run the test suite out of the source tree
2011-04-11 18:32:40 +02:00
Lukáš Lalinský
2fa8c93776
The website has more up-to-date links
2011-04-09 20:15:00 +02:00
Lukáš Lalinský
266200d77e
Add myself to the AUTHORS file
2011-04-09 20:09:51 +02:00
Lukáš Lalinský
aa84b8b674
Obsolete comment now that we are not in kdesupport
2011-04-09 20:07:15 +02:00
Lukáš Lalinský
ee920a461c
Clean up the library CMakeLists.txt file
2011-04-09 20:05:50 +02:00
Lukáš Lalinský
1596dc7c69
Clean up the main CMakeLists.txt file
2011-04-09 19:51:23 +02:00
Lukáš Lalinský
f3d3af9355
Don't set unnecessary compiler options
2011-04-09 19:42:56 +02:00
Lukáš Lalinský
9653796640
Merge branch 'master' of github.com:taglib/taglib
2011-04-09 19:19:49 +02:00
Lukáš Lalinský
a4a097d2f8
Merge branch 'stable'
2011-04-09 19:16:01 +02:00
Modestas Vainius
d112a68193
Support building documentation out-of-source-dir
2011-04-09 19:15:46 +02:00
Lukáš Lalinský
5eda17aa96
NEWS entries
2011-04-06 00:08:42 +02:00
Lukáš Lalinský
8878c9158c
Upgrade IPLS (2.3) to TIPL (2.4)
2011-04-05 17:08:25 +02:00
Lukáš Lalinský
3715b96477
Protect against incorrect ID3v2 version parameter
2011-04-05 15:36:23 +02:00
Lukáš Lalinský
aa57db3a39
Convert frames TIPL and TMCL (2.4) to IPLS (2.3)
2011-04-05 15:16:17 +02:00
Lukáš Lalinský
f9d38129b8
Merge branch 'master' into id3v23
2011-04-05 14:37:36 +02:00
Lukáš Lalinský
0c6e2a0aa9
NEWS entry
2011-03-30 09:19:25 +02:00
Martijn van Rheenen
e16829190a
Fix DRM detection in WMA files
2011-03-30 09:15:28 +02:00
Lukáš Lalinský
7a6647cb99
Untested version of DRM checking in WMA files
2011-03-29 15:49:24 +02:00
Lukáš Lalinský
97cd58bc65
Check for the presence of the drms atom in MP4 files
2011-03-29 15:41:17 +02:00
M.A. Brand Consulting
8f42d5b594
Make it possible to build a static version of the C bindings
...
https://bugs.kde.org/show_bug.cgi?id=268441
2011-03-19 08:28:35 +01:00
Lukáš Lalinský
158152cb46
Use the same SO versioning as we had with automake/libtool
...
http://article.gmane.org/gmane.comp.kde.devel.taglib/1826
2011-03-19 08:18:34 +01:00
Lukáš Lalinský
f624d6e2af
Don't overwrite fields that already exist
...
We can have multiple fields in the Vorbis Comment (e.g. two artist names),
but TagUnion only takes the first one, so it will effectively strip the
extra fields.
https://bugs.kde.org/show_bug.cgi?id=268854
2011-03-19 07:42:47 +01:00
Lukáš Lalinský
d3e79ddc38
Partial protection against broken WMA files
...
This fixes the problem on the reported file, but in general this code
needs a lot more checks.
https://bugs.kde.org/show_bug.cgi?id=268401
2011-03-19 07:42:23 +01:00
Lukáš Lalinský
71e224fed8
Don't overwrite fields that already exist
...
We can have multiple fields in the Vorbis Comment (e.g. two artist names),
but TagUnion only takes the first one, so it will effectively strip the
extra fields.
https://bugs.kde.org/show_bug.cgi?id=268854
2011-03-19 07:37:28 +01:00
Lukáš Lalinský
80decd737d
Define NOMINMAX so that windows.h doesn't define it's own versions
...
http://article.gmane.org/gmane.comp.kde.devel.taglib/1833
http://www.devx.com/tips/Tip/14540
2011-03-19 07:26:55 +01:00
Lukáš Lalinský
d169a670e0
Merge branch 'master' into id3v23
2011-03-17 09:16:29 +01:00
Scott Wheeler
a6cb74ad5d
Ignore docs and OS X dylibs
2011-03-17 08:01:33 +01:00
Scott Wheeler
27aa8cc293
These aren't needed anymore now that we're not in kdesupport
2011-03-17 07:57:24 +01:00
Lukáš Lalinský
d3df66f196
Convert TDRC to TYER+TDAT+TIME
2011-03-16 22:54:58 +01:00
Lukáš Lalinský
1453a7b157
Clean-up temporary files
2011-03-16 17:19:11 +01:00
Lukáš Lalinský
e8d0551c9a
Simple ID3v2.4 => ID3v2.3 frame migration
2011-03-16 17:14:36 +01:00
Lukáš Lalinský
061b381ea8
Make sure we don't write UTF8 or UTF16BE to ID3v2.3 tags
2011-03-15 21:57:49 +01:00
Lukáš Lalinský
1802237c75
Support for writing structuraly correct ID3v2.3 tags
...
We don't use the tag footer, extended header or unsynchronization, so we
only need to change the frame size format.
Note that this doesn't write correct ID3v2.3 tags, just tags that have
the correct structure. The content is sill incorrect, unless you add
the right frames manually to the tag instance.
2011-03-15 20:50:47 +01:00
Lukáš Lalinský
4bdcc9662e
Partial protection against broken WMA files
...
This fixes the problem on the reported file, but in general this code
needs a lot more checks.
https://bugs.kde.org/show_bug.cgi?id=268401
2011-03-13 21:33:57 +01:00
Lukáš Lalinský
41f1828719
Use the memory barrier variants on OS X
2011-03-12 23:21:54 +01:00
Lukáš Lalinský
223b85d345
Use GCC automic builtins where possible
2011-03-12 23:19:01 +01:00
Lukáš Lalinský
ee49b781eb
Add .gitignore
2011-03-11 15:16:05 +01:00
Lukáš Lalinský
065fcd5077
Merge branch 'release-1.7'
2011-03-11 14:16:11 +01:00
Lukáš Lalinský
b3ae839a38
Add release date
2011-03-11 14:15:38 +01:00
Lukáš Lalinský
cce88b7005
News for 1.7
2011-03-11 13:21:54 +01:00
Lukáš Lalinský
311be56432
Merge commit 'eee860f9c6' into release-1.7
2011-03-11 13:19:35 +01:00
Lukáš Lalinský
5685dd078f
Fix memory leaks in the FLAC parsing code
...
Thanks to Daniel Schaack for reporting these.
2011-03-11 10:29:27 +01:00
Nick Shaforostoff
38219b88b3
ups, revert my accidentally commited debug output
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1224409 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-03-10 17:30:22 +00:00
Nick Shaforostoff
0cdfa793e9
use atomic refcounting on mac and win32, todo for linux
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1224407 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-03-10 17:29:30 +00:00
Raphael Kubo da Costa
eee860f9c6
Fix build when the 'uint' typedef is already defined.
...
Using uint in those structs gave me the following error:
/home/rakuco/kde4/src/kdesupport/taglib/taglib/riff/rifffile.cpp:38:
error: reference to 'uint' is ambiguous
/usr/include/sys/types.h:56: error: candidates are: typedef unsigned
int uint
Is it really necessary to have those typedefs in taglib.h? It'd be
nice to at least check if they are not being redefined.
CCMAIL: lalinsky@gmail.com
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1223282 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-03-02 03:05:28 +00:00
Lukáš Lalinský
10fff6d797
Update the AIFF test
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1222753 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-02-25 19:43:25 +00:00
Lukáš Lalinský
7cc1ce1c36
Fix the patch from r1222376
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1222752 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-02-25 19:42:49 +00:00
Nick Shaforostoff
272719e666
a formal change: convert rifffile.cpp to use vector of structs instead of several vectors of simple types
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1222376 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-02-23 09:16:25 +00:00
Nick Shaforostoff
d21ff8be54
divide by 1000 instead of 1024 when calculating riff bitrate to get standard 1411 kbps bitrate on AudioCD wavs
...
CCMAIL:taglib-devel@kde.org
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1222375 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-02-23 08:58:17 +00:00
Lukáš Lalinský
f89c16cd65
More news
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1220247 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-02-13 12:47:52 +00:00
Lukáš Lalinský
be8fff3768
Automatically generate the version number in taglib-config
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1220246 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-02-13 12:45:24 +00:00
Lukáš Lalinský
263832cf6a
CMake-specific INSTALL file
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1220241 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-02-13 12:36:04 +00:00
Lukáš Lalinský
95c09d232d
Add svn:ignore
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1220239 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-02-13 12:25:39 +00:00
Lukáš Lalinský
378fd15b54
Move docs building to CMake
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1220238 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-02-13 12:22:42 +00:00
Lukáš Lalinský
2f9838a440
*poof*
...
I've warned people about removing autoconf/automake support for a long time,
so let's make it happen for 1.7. CMake is now the only supported build system.
I'll update build docs in a following commit.
CCMAIL:taglib-devel@kde.org
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1220235 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-02-13 11:50:25 +00:00
Lukáš Lalinský
4b00ef4acb
Set the version number to 1.7
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1220230 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-02-13 10:59:33 +00:00
Lukáš Lalinský
c21fd955ff
Fix writing of new RIFF chunks at even positions
...
If the last chunk had an odd size, the new chunk would have been written at
odd position, which is incorrect.
This is based on the patch by Jens Dyffort, but I ended up changing the
implementation to correctly handle subsequential updates to the file.
The whole RIFF code really needs to be rewritten in a different way...
BUG:243954
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1220223 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-02-13 10:27:56 +00:00
Nick Shaforostoff
ad0494bb7e
formal change: combine if-conditions for identical bodies
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1218105 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-31 12:24:30 +00:00
Lukáš Lalinský
7c776935e4
Revert r1217775
...
Please see my post in the mailing list. This can be done, but in a different way.
CCMAIL:shafff@ukr.net
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1218000 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-30 12:50:38 +00:00
Nick Shaforostoff
a4f53d9b4a
disable creation of unknown objects for wma files, because we've seen the cases when it could be as large as whole file, and we are greedy for the ram
...
CCMAIL:lalinsky@gmail.com
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1217775 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-28 15:14:04 +00:00
Nick Shaforostoff
c56c0a3d0c
fix crash on wma file parsing, add clarifications to API docs
...
CCMAIL: wheeler@kde.org
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1217766 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-28 13:18:36 +00:00
Lukáš Lalinský
299e3f0ad6
Define a macro to properly construct std::bitset
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1216679 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-24 07:32:31 +00:00
Lukáš Lalinský
df86f45dad
Back to unsigned long, it breaks compilation on Solaris
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1216598 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-24 06:02:15 +00:00
Lukáš Lalinský
b051df0062
Fix compilation on MSVC 2010 with the C++0x version of std::bitset
...
Hopefuly it doesn't break anything on older compilers...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1216365 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-22 21:07:16 +00:00
Lukáš Lalinský
0087895206
News
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1214792 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-16 12:06:21 +00:00
Lukáš Lalinský
735e52392b
Fixed copyright headers
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1214790 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-16 12:03:37 +00:00
Lukáš Lalinský
1352a4e0c3
Consistency with the rest of TagLib
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1214789 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-16 12:00:52 +00:00
Lukáš Lalinský
fb3cca2c44
Support for ASF embedded pictures
...
Patch by Anton Sergunov <setosha@gmail.com >
CCMAIL: setosha@gmail.com
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1214788 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-16 11:57:12 +00:00
Lukáš Lalinský
393e9c5572
Fix FSF address
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1212872 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-08 11:20:09 +00:00
Lukáš Lalinský
6f68c30db3
Fix memory leak in AttachedPictureFrameV22
...
BUG:257007
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1212871 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-08 11:14:47 +00:00
Lukáš Lalinský
085a54b67d
Fix FLAC tests
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1212870 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-08 11:13:46 +00:00
Lukáš Lalinský
b43c149138
Documentation fix
...
CCBUG:209252
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1212867 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-08 11:00:36 +00:00
Lukáš Lalinský
3741c39295
Full read/write support for FLAC pictures
...
NEEDS MORE TESTING
BUG:218696
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1212863 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-08 10:36:26 +00:00
Scott Wheeler
d16be3fa98
Generate docs for ASF / MP4 as well
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1202935 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-12-02 20:08:43 +00:00
Andreas Hartmetz
fad0724bff
Install flacmetadatablock.h. Required to make Amarok compile.
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1201859 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-11-28 22:06:34 +00:00
Lukáš Lalinský
5c930a6a8c
Work-in-progress support for writing FLAC picture
...
This will enable the possibility to add support for accessing the Seektable
and Cuesheet blocks, but I'm not planning on implementing that right now.
CCBUG:218696
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1201717 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-11-28 12:54:52 +00:00
Lukáš Lalinský
d21d8f9f3c
More tests for WavPack audio properties
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1201478 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-11-27 21:12:14 +00:00
Lukáš Lalinský
56343767ce
Fix reading of WavPack streams without a length information in the header
...
When the WavPack's total_samples header fiels contains -1, try to find
the final block and get the number of samples from there as
block_index + block_samples.
BUG:258016
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1201476 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-11-27 20:58:57 +00:00
Lukáš Lalinský
15d139e271
Docs
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1201208 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-11-27 07:32:32 +00:00
Lukáš Lalinský
259a9a1a14
Explicitly check for -1 in WavPack length
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1201207 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-11-27 07:32:16 +00:00
Lukáš Lalinský
874d495b29
Accept both "ID3 " and "id3 " as valid ID3 chunk IDs in RIFF files
...
Patch by Stephen F. Booth
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1191982 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-11-01 16:32:37 +00:00
Scott Wheeler
306aee3e7d
Different LGPL version than was referenced in headers
...
CCMAIL:groot@kde.org
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1178016 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-09-22 00:07:26 +00:00
Lukáš Lalinský
32a10b53d5
Fix Automake build
...
Patch by Stephen F. Booth
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1167433 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-08-24 15:50:35 +00:00
Lukáš Lalinský
1c225ed37a
Added information about the number of bits per sample in WAVE and AIFF files
...
Patch by Stephen F. Booth
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1167432 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-08-24 15:49:47 +00:00
Lukáš Lalinský
f887f5eec3
Make sure TAGLIB_EXPORT is empty when TAGLIB_STATIC is defined
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1160977 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-08-09 12:17:30 +00:00
Lukáš Lalinský
dcef0fbad2
Read-only support for FLAC picture blocks
...
CCBUG:218696
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1154376 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-07-25 11:06:36 +00:00
Lukáš Lalinský
0f979667be
Don't unnecessarily include whole <iostream>
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1153989 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-07-24 13:17:01 +00:00
Lukáš Lalinský
5aed3681fb
Missing file
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1148734 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-07-11 17:45:47 +00:00
David Faure
3cca3f17c5
I think you forgot a file :)
...
CCMAIL: lalinsky@gmail.com
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1148727 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-07-11 17:34:23 +00:00
Lukáš Lalinský
7426a64d2b
Added FLAC::Properties::signature()
...
BUG:160172
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1148630 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-07-11 10:26:35 +00:00
Lukáš Lalinský
1d10bde500
Added reading of WAV audio length
...
BUG:116033
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1148614 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-07-11 09:47:58 +00:00
Lukáš Lalinský
49631a3013
Implemented a specialized version of APE::Tag::isEmpty()
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1148318 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-07-10 09:22:53 +00:00
Lukáš Lalinský
ab7e997bc6
Don't try to save read-only MP4 files
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1145556 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-07-03 11:36:08 +00:00
Lukáš Lalinský
a33f161999
Unused private attributes
...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1145555 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-07-03 11:34:29 +00:00
Lukáš Lalinský
ab1bc06172
Support for reading/writing tags from Monkey's Audio files
...
Patch by Alex Novichkov, slightly modified by me (code formatting + tests).
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1145554 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-07-03 11:32:27 +00:00