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