Tsuda Kageyu
1d0552cab1
Change String::npos from a variable to a function.
...
We can't export a static member function. It may lead to a linkage error.
2015-11-20 16:46:02 +09:00
Tsuda Kageyu
bb49005267
Fix a mismatch between the CMake check and the actual code.
2015-11-20 15:28:38 +09:00
Tsuda Kageyu
47cb23d738
Merge branch 'master' into merge-master-to-taglib2
...
# Conflicts:
# taglib/ape/apefile.cpp
# taglib/asf/asffile.cpp
# taglib/asf/asftag.cpp
# taglib/flac/flacfile.cpp
# taglib/mp4/mp4tag.cpp
# taglib/mpc/mpcfile.cpp
# taglib/mpeg/mpegfile.cpp
# taglib/mpeg/mpegfile.h
# taglib/riff/wav/wavfile.cpp
# taglib/tagunion.cpp
# taglib/tagunion.h
# taglib/trueaudio/trueaudiofile.cpp
# taglib/wavpack/wavpackfile.cpp
2015-11-20 15:17:39 +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
d37c081cda
Fix compilation errors on Clang.
2015-11-19 14:20:51 +09:00
Tsuda Kageyu
dbe3a03b62
Hide string handler implementations from public headers.
2015-11-19 14:08:40 +09:00
Tsuda Kageyu
5da35f5a51
Rename RIFF::Info::FieldListMap to FieldMap.
...
It doesn't contain string lists.
2015-11-19 13:47:41 +09:00
Tsuda Kageyu
176e133f32
Change ByteVector::npos from a variable to a function.
...
We can't export a static member function. It may lead to a likage error.
2015-11-19 13:13:15 +09:00
Tsuda Kageyu
722f317f97
Remove ByteVector::null and isNull().
2015-11-19 11:57:30 +09:00
Tsuda Kageyu
72a807def1
Fix a string conversion bug in tag_c.cpp.
2015-11-19 11:50:39 +09:00
Tsuda Kageyu
c2753f8d3c
Merge branch 'master' into merge-master-to-taglib2
...
# Conflicts:
# ConfigureChecks.cmake
# bindings/c/tag_c.cpp
# taglib-config.cmd.cmake
# taglib/asf/asfattribute.cpp
# taglib/asf/asffile.cpp
# taglib/audioproperties.cpp
# taglib/mp4/mp4atom.h
# taglib/mp4/mp4coverart.cpp
# taglib/mp4/mp4file.cpp
# taglib/mp4/mp4item.cpp
# taglib/mp4/mp4tag.cpp
# taglib/mpeg/id3v2/id3v2frame.cpp
# taglib/mpeg/id3v2/id3v2tag.cpp
# taglib/toolkit/tbytevector.cpp
# taglib/toolkit/tbytevector.h
# taglib/toolkit/tfile.cpp
# taglib/toolkit/tfile.h
# taglib/toolkit/tlist.h
# taglib/toolkit/tstring.cpp
# taglib/toolkit/tstring.h
# tests/test_apetag.cpp
2015-11-19 11:37:18 +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
da7424636b
Fix a mismatch between List and iterator types.
2015-11-18 17:50:48 +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
0b2a3ce400
Remove const from the key type of APE::ItemListMap.
...
A key type must be copy-assignable, and some compilers check it strictly.
2015-11-18 17:27:25 +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
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