forked from mono/taglib-sharp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
3545 lines (2855 loc) · 129 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2010-09-08 Alexander Kojevnikov <[email protected]>
* src/TagLib/Mpeg4/Boxes/IsoUserDataBox.cs:
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/Mpeg4/FileParser.cs:
* tests/Makefile.am:
* tests/fixtures/TagLib.Tests.FileFormats/M4vFormatTest.cs:
* tests/samples/sample.m4v:
* tests/tests.csproj: Patch from Colin Turner fixing mpeg4 file
parsing of udta boxes (bgo#575842)
2010-03-20 Gabriel Burt <[email protected]>
* README: Add svn info
2010-03-20 Gabriel Burt <[email protected]>
* README: add some real, useful info
2010-03-20 Gabriel Burt <[email protected]>
* configure.ac:
* NEWS: Update for 2.0.3.7 release
2010-03-20 Alexander Kojevnikov <[email protected]>
* configure.ac:
* src/Makefile.am: Patch from Bertrand Lorentz adding a check
for the `al` tool (bgo#575303)
2010-03-20 Alexander Kojevnikov <[email protected]>
* configure.ac: Patch from Ruben Vermeersch adding a fall back
to nunit-console if nunit-console2 is not found (bgo#593673)
2010-03-20 Alexander Kojevnikov <[email protected]>
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Id3V2Test.cs:
Don't throw an exception if RVA2 data is partially incorrect
2010-03-20 Alexander Kojevnikov <[email protected]>
* Makefile.am:
* src/Makefile.am: Fix `make distcheck`
2010-03-20 Alexander Kojevnikov <[email protected]>
* src/TagLib/File.cs: Make TagLib.File IDisposable
2010-03-20 Alexander Kojevnikov <[email protected]>
* src/TagLib/Id3v2/ExtendedHeader.cs:
* tests/fixtures/TagLib.Tests.FileFormats/Id3V2FormatTest.cs:
* tests/samples/sample_v2_3_ext_header.mp3: Fix ID3v2.3 extended
header size calculation (bgo#604488)
2010-03-20 Alexander Kojevnikov <[email protected]>
* src:
* docs:
* tests:
* tests/samples:
* .gitignore:
* examples: Add svn:ignore and .gitignore
2010-03-20 Alexander Kojevnikov <[email protected]>
* src/TagLib/Id3v2/Tag.cs:
* tests/Makefile.am:
* tests/fixtures/TagLib.Tests.FileFormats/Id3V24FormatTest.cs:
* tests/samples/sample_v2_4_unsynch.mp3:
* tests/tests.csproj: Patch and unit tests from Eamon Nerbonne
fixing ID3v2 unsyncing (bgo#593138)
2010-03-02 Andrés G. Aragoneses <[email protected]>
* src/TagLib/Aac/AudioHeader.cs: Fix all warnings not related
to XML documentation.
2010-03-02 Andrés G. Aragoneses <[email protected]>
* tests/tests.mdp:
* taglib-sharp.mds:
* taglib-sharp.sln:
* tests/tests.csproj:
* src/taglib-sharp.mdp:
* src/taglib-sharp.csproj:
* examples/ReadFromUri.mdp:
* examples/SetPictures.mdp:
* examples/ReadFromUri.csproj:
* examples/SetPictures.csproj: Projects/solution format migration,
deleting deprecated MD1.0 format.
2010-02-24 Gabriel Burt <[email protected]>
* configure.ac:
* NEWS: Update for 2.0.3.6 release
2010-02-24 Gabriel Burt <[email protected]>
* src/TagLib/Riff/WaveFormatEx.cs: Fix API break in 2.0.3.5.
2010-02-23 Gabriel Burt <[email protected]>
* NEWS: Update for 2.0.3.5 release
2010-02-21 Gabriel Burt <[email protected]>
* src/TagLib/Riff/WaveFormatEx.cs:
* src/TagLib/ICodec.cs:
* src/TagLib/Properties.cs:
* src/TagLib/Flac/StreamHeader.cs:
* src/TagLib/Ape/StreamHeader.cs:
* src/TagLib/Aiff/StreamHeader.cs:
* src/TagLib/WavPack/StreamHeader.cs: Patch from Alexander Kojevnikov
adding BitsPerSample property to TagLib.Properties (BGO #610585)
2010-02-03 Gabriel Burt <[email protected]>
* src/TagLib/Ogg/XiphComment.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/XiphTest.cs: Patch and unit
tests from Alexander Kojevnikov adding support for COMPILATION to
Vorbis/XiphComments (eg for ogg and flac files) (BGO #586336)
2010-02-01 Gabriel Burt <[email protected]>
* src/TagLib/NonContainer/EndTag.cs:
* src/TagLib/NonContainer/StartTag.cs:
* tests/fixtures/TagLib.Tests.FileFormats/Id3BothFormatTest.cs: Patch and
unit tests from Helmut Wahrmann (with assistance from Alexander
Kojevnikov) fixing bug with removing some/all tag-types from a file (BGO
#574653)
2010-01-26 Gabriel Burt <[email protected]>
* configure.ac:
* NEWS: Bump to 2.0.3.5 in prep for next release
2010-01-26 Gabriel Burt <[email protected]>
* NEWS: Update for release
2010-01-20 Gabriel Burt <[email protected]>
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Id3V2Test.cs: Patch from
Alexander Kojevnikov fixing IndexOutOfRangeException (BGO #607376)
2010-01-07 Gabriel Burt <[email protected]>
* NEWS:
* configure.ac: Bump to 2.0.3.4 for upcoming release.
2010-01-07 Gabriel Burt <[email protected]>
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/FrameHeader.cs: Fix multiple issues with converting
release data metadata. Was converting (renaming) TDAT to TDRC, but
that's mapping MMDD onto YYYY which doesn't make sense. Now it will
map only TYER to TDRC, and then append the TDAT and TIME info to the TDRC
if they exist. Fixes BGO #606283
* tests/fixtures/TagLib.Tests.FileFormats/AiffFormatTest.cs: Fix test that
depended on the incorrect behavior above.
2009-12-13 Gabriel Burt <[email protected]>
* src/TagLib/Mpeg4/BoxTypes.cs:
* src/TagLib/Mpeg4/BoxFactory.cs: Support the 'alis' handler code/track
type, found in the wild in an iTunes-ripped .m4a file (BGO #584193)
2009-09-30 Aaron Bockover <[email protected]>
* NEWS: Update for 2.0.3.3 release
* configure.ac: Bump to 2.0.3.3
2009-05-18 Gabriel Burt <[email protected]>
* src/TagLib/ByteVector.cs:
* tests/fixtures/TagLib.Tests.Collections/ByteVectorTest.cs: Patch from
Alexander Kojevnikov fixing ArgumentOutOfRangeException when parsing some
comment frames (BGO #582735)
2009-05-15 Gabriel Burt <[email protected]>
* src/TagLib/Riff/File.cs:
* src/TagLib/FileTypes.cs:
* src/TagLib/Aac/File.cs:
* src/TagLib/Aac/AudioHeader.cs:
* src/TagLib/Aac/BitStream.cs:
* src/TagLib/TagLib.sources:
* src/taglib-sharp.mdp:
* docs/Package.en.xml.in:
* tests/tests.mdp:
* tests/fixtures/TagLib.Tests.FileFormats/AacFormatTest.cs:
* tests/Makefile.am:
* taglib-sharp.csproj: Patch from Patrick Dehne adding support for ADTS AAC
files (BGO #580553)
2009-05-14 Gabriel Burt <[email protected]>
* src/TagLib/Aiff/File.cs:
* src/TagLib/Aiff/StreamHeader.cs:
* src/TagLib/FileTypes.cs:
* src/TagLib/TagLib.sources:
* src/taglib-sharp.mdp:
* docs/Package.en.xml.in:
* tests/tests.mdp:
* tests/fixtures/TagLib.Tbgoests.FileFormats/AiffFormatTest.cs:
* tests/Makefile.am:
* taglib-sharp.csproj: Patch from Helmut Wahrmann adding support for the
AIFF file format (BGO #579261)
2009-03-25 Gabriel Burt <[email protected]>
* src/TagLib/Ogg/XiphComment.cs: Patch from Helmut Wahrmann adding two
fallback options for the album artist getter (BGO #574652)
2009-03-19 Gabriel Burt <[email protected]>
* src/TagLib/Ape/Tag.cs: Patch from Gregory S. Chudov fixing bug with
Ape.Tag's Pictures setter (BGO #575943)
2009-03-18 Gabriel Burt <[email protected]>
* tests/Makefile.am:
* examples/Makefile.am: Patch from Bertrand Lorentz fixing issue with
random files slipping into the tarball/dist (BGO #575302). make distcheck
and running ./configure && make && make test work on the tarball
2009-03-10 Gabriel Burt <[email protected]>
* src/TagLib/Mpeg/File.cs:
* src/TagLib/Mpeg/AudioFile.cs:
Patch from Andy Beal adding support for m2v and m2v files (BGO #574411)
2009-03-09 Gabriel Burt <[email protected]>
* src/TagLib/Ape/Tag.cs: Patch from Bernd Niedergesaess adding support for
Sort* values in Ape tags (BGO #571421)
2009-03-09 Gabriel Burt <[email protected]>
* src/TagLib/Ogg/GroupedComment.cs: Patch from Bernd Niedergesaess and
Andy Beal improving code consistency (BGO #571443)
2009-03-09 Gabriel Burt <[email protected]>
* src/TagLib/Riff/AviHeaderList.cs: Patch from Bernd Niedergesaess to not
use obsolete ctor (BGO #571452)
2009-03-09 Gabriel Burt <[email protected]>
* docs/Makefile.am: Reduce the verbosity of docs build output.
2009-03-09 Gabriel Burt <[email protected]>
Patch from Andy Beal adding new properties: MusicBrainz -ArtistId,
-ReleaseId, -ReleaseArtistId, -TrackId, -DiscId, -ReleaseStatus, -ReleaseType,
-ReleaseCountry, MusicIpId, and AmazonId (BGO #563170)
* src/TagLib/CombinedTag.cs:
* src/TagLib/Tag.cs:
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Ogg/XiphComment.cs:
* src/TagLib/Ogg/GroupedComment.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Mpeg4Test.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/ApeTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Id3V2Test.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/XiphTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/AsfTest.cs: Add and test the
new properties.
2009-03-04 Gabriel Burt <[email protected]>
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Patch from John
Millikin to be more robust in the face of tags with NULL bytes in the
middle of them by truncating the value before the first one (BGO #558123)
* tests/samples/corrupt/null_title_v2.mp3:
* tests/fixtures/TagLib.Tests.FileFormats/Id3V2FormatTest.cs: New corrupt
file with NULL bytes in the title field, and a test that we handle it ok.
2009-02-19 Gabriel Burt <[email protected]>
* src/TagLib/Flac/File.cs: Patch from Gregory S. Chudov fixing NRE thrown
when calling GetTag on a flac File (BGO #572380)
* tests/fixtures/TagLib.Tests.FileFormats/FlacFormatTest.cs: Add a unit
test written by me that fails without Gregory's patch, passes with it.
2009-02-19 Gabriel Burt <[email protected]>
* src/TagLib/Ogg/XiphComment.cs: Patch from Gregory S. Chudov fixing typo
in the Ogg DiscNumber setter that wrote the TrackCount to the DISCTOTAL
field (BGO #572381)
2009-02-19 Gabriel Burt <[email protected]>
* src/TagLib/Tag.cs: Patch from Gregory S. Chudov fixing bug in the CopyTo
method that copied the Copyright into the Conductor tag (BGO #572382)
2009-02-19 Gabriel Burt <[email protected]>
* src/TagLib/File.cs: Patch from Félix Velasco fixing a bug in our XML
documentation (BGO #572253)
2009-02-19 Gabriel Burt <[email protected]>
* configure.ac: Patch from Bertrand Lorentz using $(prefix)/lib in
GACUTIL_FLAGS instead of $(libdir) (BGO #572259)
2009-02-19 Gabriel Burt <[email protected]>
* docs/Makefile.am: Patch from Bertrand Lorentz fixing hardcoded mcs
reference (BGO #572450)
2009-02-16 Gabriel Burt <[email protected]>
* NEWS: Update for 2.0.3.2 release
2009-02-16 Gabriel Burt <[email protected]>
* src/TagLib/Ape/Tag.cs: Patch from Bernd Niedergesaess and Andy Beal
fixing our APE tag writing from writing out all uppercase tags to writing
the recommended tag casing. But we support reading in any casing. Also,
use BPM instead of TEMPO, and use Album Artist instead of AlbumArtist,
but read/write the latter for compabibility (BGO #571563)
2009-02-16 Gabriel Burt <[email protected]>
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Ape/Tag.cs:
* docs/Package.en.xml.in:
* docs/Makefile.am: Patch from Bertrand Lorentz fixing build issue
with docs (BGO #571368)
2009-02-12 Gabriel Burt <[email protected]>
* src/TagLib/Mpeg/AudioFile.cs: Patch from Bernd Niedergesaess with style
help from Andy Beal, adding mp1/mp2 extensions/mimetypes (BGO #571466)
2009-02-12 Gabriel Burt <[email protected]>
* src/TagLib/Mpeg4/AppleTag.cs: Patch from Bernd Niedergesaess fixing
mpeg4 writing of BPM to file (BGO #571411)
2009-02-11 Gabriel Burt <[email protected]>
Patches from Bertrand Lorentz.
* tests/Makefile.am: fixes the typo that caused the test source files not
to be included in the tarball (BGO #569299)
* configure.ac: remove the call to AC_CANONICAL_SYSTEM (BGO #571361)
2009-02-10 Gabriel Burt <[email protected]>
* src/TagLib/Mpeg/File.cs: Patch from Andy Beal fixing issue where offset
was not being advanced when trying to read a GOP video packet inside a
video sequence (BGO #568964)
2009-02-10 Gabriel Burt <[email protected]>
* configure.ac: Bump in prep for the next release.
* examples/ReadFromUri.cs: Refactor a bit, and print out the *Sort
properties.
2009-02-10 Gabriel Burt <[email protected]>
* src/TagLib/Riff/File.cs: Patch from Andy Beal fixing bug where within a
while clause we would 'continue', but the actual counter incrementing
happened later in the while clause so the while condition was always true,
causing a freezing while writing video files (BGO #570892)
2009-02-10 Gabriel Burt <[email protected]>
* tests/Makefile.am:
* tests/samples/sample.avi:
* tests/fixtures/TagLib.Tests.FileFormats/AviFormatTest.cs: Patch from
Andy Beal adding unit testing for AVI files; currently gets stuck in
infinite loop because of bug with writing to AVI files.
2009-02-06 Gabriel Burt <[email protected]>
* src/TagLib/Properties.cs: Patch from Andy Beal fixing VideoWidth getter,
was incorrectly returning height (BGO #570745)
2009-02-06 Gabriel Burt <[email protected]>
* src/TagLib/Id3v2/Frame.cs: Patch from Andy Beal, fixing bug with not
skipping over Data Length Indicator field properly (BGO #568946)
2009-01-23 Aaron Bockover <[email protected]>
* Makefile.am: Install .pc file to datadir since we're noarch
2009-01-22 Gabriel Burt <[email protected]>
* src/TagLib/CombinedTag.cs:
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/FrameTypes.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/BoxTypes.cs:
* src/TagLib/Tag.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Ogg/XiphComment.cs:
* src/TagLib/Ogg/GroupedComment.cs: Patch from John Millikin and Andy Beal
adding support for PerformerSort, AlbumArtistSort, ComposerSort,
TitleSort, and AlbumSort to TagLib.Tag, with backends for Ogg, ID3, mpeg4,
and asf (BGO #567657).
2009-01-20 Aaron Bockover <[email protected]>
* configure.ac: Bumped version to 2.0.3.1, output bz2 and gz
* Makefile.am: Added a push-release target
* NEWS: Updated for 2.0.3.1 release
2009-01-15 Gabriel Burt <[email protected]>
* tests/fixtures/TagLib.Tests.TaggingFormats/XiphTest.cs: Update unit test
to reflect that we do now support writing cover art to ogg files.
2009-01-15 Gabriel Burt <[email protected]>
* src/TagLib/Ogg/XiphComment.cs: Patch from John Millikin adding cover art
reading and writing support to Ogg (BGO #563168)
2009-01-15 Gabriel Burt <[email protected]>
* src/TagLib/Ape/File.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Ogg/File.cs: Add more mimetypes and file extensions including
.oga and .ogv (BGO #532561)
* examples/ReadFromUri.cs: Avoid NRE crash
2009-01-15 Gabriel Burt <[email protected]>
* src/TagLib/Mpeg4/file.cs: Patch from Andy Beal to recognize .m4b
files (Audiobook extention) in mpeg4 (BGO #567826)
2009-01-13 Gabriel Burt <[email protected]>
Patch from Andy Beal adding support for Dash atoms, used primarily for
storing extra text tags, such as the MusicBrainz tags. The equivalent in
ID3 are the UserTextInfo frames.
* src/TagLib/Mpeg4/Boxes/AppleAdditionalInfoBox.cs: Add Constructor to
enable Instantiating a new AdditionalInfoBox without reading from file.
* src/TagLib/Mpeg4/AppleTag.cs: Add Methods for reading and writing
values to/from Dash Boxes (----)
2008-12-15 Gabriel Burt <[email protected]>
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/FrameFactory.cs: Add an alreadyUnsynched argument to
CreateFrame that is true when the overall id3v2 Tag has the Unsync flag
set, and used to ensure we don't double-synchronize the data for a frame.
* src/TagLib/Id3v2/FrameHeader.cs: Fix typo
* src/TagLib/Id3v2/Frame.cs: Fix typo, use the new CreateFrame
* src/TagLib/File.cs: Remove unnecessary (and buggy) position/length
adjustments in ReadBlock method.
* src/TagLib/NonContainer/StartTag.cs: Fix typos, ensure that ReadTag
returns the valid start value even if there is an exception creating it,
and write any tag-creation exceptions to Console.Error.
2008-12-11 Gabriel Burt <[email protected]>
* tests/ConsoleUi.cs:
* tests/Makefile.am:
* configure.ac: Remove ConsoleUi in favor of system-installed
nunit-console2. Make the tests depend on the taglib-sharp.dll, and rename
the target 'test'.
* Makefile.am: Add 'test' target that calls make test in tests/
2008-12-11 Gabriel Burt <[email protected]>
* src/AssemblyInfo.cs.in: remove the if #SIGN - always sign
* tests/Makefile.am: Fix up source files list.
* tests/tests.mdp: enable Makefile integration
* configure.ac: Uncomment the nunit check and generate tests/Makefile
2008-01-16 Jeffrey Stedfast <[email protected]>
* src/TagLib/Mpeg/AudioHeader.cs (AudioHeader): Do a bit more
thorough bitwise examination of the second byte in the MPEG sync
header.
2008-01-10 Brian Nickel <[email protected]>
* NEWS: Updated for new release.
* configure.ac: Now 2.0.3.0
2008-01-09 Brian Nickel <[email protected]>
This commit does the following:
- Finishes XML documentation.
- Makes ASF tags enumerable.
- Allows saving RelativeVolumeFrames in 2.2 and 2.3 via
semi-standard XRV and XRVA names.
- Prevents duplicates when genres are stored in "(0)Blues"
format.
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/Footer.cs:
* src/TagLib/Id3v2/FrameFactory.cs:
* src/TagLib/Id3v2/Header.cs:
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/TermsOfUseFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/UnknownFrame.cs:
* src/TagLib/Id3v2/Frame.cs:
* src/TagLib/ListBase.cs:
* src/TagLib/Ogg/Codecs/Theora.cs:
* src/TagLib/Ogg/Codecs/Vorbis.cs:
* src/TagLib/Ogg/Codec.cs:
* src/TagLib/Ogg/Bitstream.cs: Finish documentation.
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Asf/ExtendedContentDescriptionObject.cs:
* src/TagLib/Asf/MetadataLibraryObject.cs: Make enumerable. (Thanks to
sambeckett for pointing out this missing feature.)
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: If genre index is
followed by genre text, don't store it twice. (Thanks to sukhjinder for
the bug report.)
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/FrameHeader.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Id3V2Test.cs: Save RVA2 as
XRVA and XRV in older versions.
* configure.ac: Now 2.0.2.22.
2008-01-03 Brian Nickel <[email protected]>
* src/Makefile.am: Generate taglib-sharp.dll.xml instead.
* docs/Package.en.xml.in: Contains missing documentation and rules for
XmlInjector.exe.
* docs/XmlInjector.cs: A new XML manager which can remove, replace, and
insert nodes into an XML document based on XPath queries.
* docs/Makefile.am: Build XML from the slashdoc and use XmlInjector.exe
to insert missing parts into documentation as well as modify monodoc.xml
* docs/Package.en.xml: Depreciated by docs/Package.en.xml.in.
* docs/MonodocNodeConfig.cs: Depreciated by docs/XmlInjector.cs.
* configure.ac: Generate docs/Package.en.xml from
docs/Package.en.xml.in
2008-01-02 Brian Nickel <[email protected]>
* src/Makefile.am: Generate taglib-sharp-docs.xml when building docs.
* docs/en/: Deleted. Will be replaced with autogeneration after this
update.
* docs/Makefile.am: Add docs/Packages.en.xml do DIST_EXTRA
* docs/Package.en.xml: Contains values not in slashdocs.
2008-01-02 Brian Nickel <[email protected]>
* src/TagLib/CombinedTag.cs:
* src/TagLib/ByteVectorList.cs:
* src/TagLib/Id3v1/Tag.cs:
* src/TagLib/Id3v1/StringHandler.cs:
* src/TagLib/Riff/List.cs:
* src/TagLib/Riff/File.cs:
* src/TagLib/Riff/BitmapInfoHeader.cs:
* src/TagLib/Riff/AviHeaderList.cs:
* src/TagLib/Riff/DivXTag.cs:
* src/TagLib/Riff/ListTag.cs:
* src/TagLib/Riff/InfoTag.cs:
* src/TagLib/Riff/MovieIdTag.cs:
* src/TagLib/Riff/WaveFormatEx.cs:
* src/TagLib/Genres.cs:
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Id3v2/ExtendedHeader.cs:
* src/TagLib/Mpeg/File.cs:
* src/TagLib/Mpeg/VideoHeader.cs:
* src/TagLib/Mpeg/AudioFile.cs:
* src/TagLib/Mpeg/AudioHeader.cs:
* src/TagLib/ByteVector.cs:
* src/TagLib/SupportedMimeType.cs:
* src/TagLib/Flac/Picture.cs:
* src/TagLib/Flac/File.cs:
* src/TagLib/Flac/StreamHeader.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Ape/Footer.cs:
* src/TagLib/Ape/File.cs:
* src/TagLib/ListBase.cs:
* src/TagLib/Mpeg4/Boxes/FullBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoMetaBox.cs:
* src/TagLib/Mpeg4/FileParser.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/Mpeg4/BoxHeader.cs:
* src/TagLib/Mpeg4/Box.cs:
* src/TagLib/Picture.cs:
* src/TagLib/Tag.cs:
* src/TagLib/Mpc/File.cs:
* src/TagLib/Mpc/StreamHeader.cs:
* src/TagLib/File.cs:
* src/TagLib/WavPack/File.cs:
* src/TagLib/WavPack/StreamHeader.cs:
* src/TagLib/NonContainer/Tag.cs:
* src/TagLib/NonContainer/File.cs:
* src/TagLib/NonContainer/EndTag.cs:
* src/TagLib/NonContainer/StartTag.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Asf/HeaderExtensionObject.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Asf/HeaderObject.cs:
* src/TagLib/Asf/FilePropertiesObject.cs:
* src/TagLib/Asf/ExtendedContentDescriptionObject.cs:
* src/TagLib/Asf/UnknownObject.cs:
* src/TagLib/Asf/MetadataLibraryObject.cs:
* src/TagLib/Asf/PaddingObject.cs:
* src/TagLib/Asf/StreamPropertiesObject.cs:
* src/TagLib/Asf/ContentDescriptionObject.cs:
* src/TagLib/Asf/Object.cs:
* src/TagLib/Ogg/XiphComment.cs:
* src/TagLib/Ogg/Page.cs:
* src/TagLib/Ogg/File.cs:
* src/TagLib/Ogg/Paginator.cs:
* src/TagLib/Ogg/PageHeader.cs:
* src/TagLib/Ogg/GroupedComment.cs: More docs, corrected some typos.
2008-01-01 Brian Nickel <[email protected]>
I'm working to finish up the xmldocs so I can get rid of the aging docs
directory.
* src/TagLib/Riff/List.cs:
* src/TagLib/Riff/AviStream.cs:
* src/TagLib/Riff/File.cs:
* src/TagLib/Riff/BitmapInfoHeader.cs:
* src/TagLib/Riff/AviHeaderList.cs:
* src/TagLib/Riff/DivXTag.cs:
* src/TagLib/Riff/ListTag.cs:
* src/TagLib/Riff/InfoTag.cs:
* src/TagLib/Riff/MovieIdTag.cs:
* src/TagLib/Riff/WaveFormatEx.cs:
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/PopularimeterFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/PrivateFrame.cs:
* src/TagLib/Id3v2/Frames/MusicCdIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/TermsOfUseFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Id3v2/Frames/PlayCountFrame.cs:
* src/TagLib/Id3v2/ExtendedHeader.cs:
* src/TagLib/Id3v2/Frame.cs:
* src/TagLib/ByteVector.cs:
* src/TagLib/Flac/BlockHeader.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Ape/Item.cs:
* src/TagLib/Picture.cs:
* src/TagLib/Ogg/XiphComment.cs: A little documentation and
reformatting.
* examples/BatchSet.cs: Add support for setting the ID3v2 version.
2007-12-30 Brian Nickel <[email protected]>
This commit does the following:
- Makes Id3v2 skip iTunes settings-style comments.
- Makes ; the separator for multivalue fields in Mpeg4, rather
than storing in multiple boxes.
- Cleans up Mpeg4 genre logic.
- Uses System.Globalization to choose the default language in
Id3v2.
- Moves the comment written when Id3v2.Tag.Comment to be the
first COMM in the frame so it is the first one recognized by
other programs.
* src/TagLib/Id3v2/Tag.cs: Move the written comment to be the first
COMM frame if it isn't. Make " " the fallback comment per instructions
on id3.org. Get the default language from CultureInfo.CurrentCulture
.ThreeLetterISOLanguageName.
* src/TagLib/Id3v2/Frames/CommentsFrame.cs: Skip iTunes comments if
they are set. There's no need for gibberish to show up as the comment.
* src/TagLib/Mpeg4/AppleTag.cs: Instead of adding multiple data boxes
for multi-string values, use `;' as a separator. It wasn't working out
in iTunes. (TagLib# can still read the tags is wrote earlier just fine.)
Use `@gnr' or `gnre', but don't attempt a weird mix of both at the same
time.
* tests/tests.mdp: Automatic changes by MonoDevelop 0.18.
* configure.ac: Now 2.0.2.21.
2007-12-29 Brian Nickel <[email protected]>
This commit introduces some powerful new tests. They add more intensive
checking of saving and rendering and have lead to the preemptive
correction of several bugs.
* tests/tests.mdp:
* tests/fixtures/Helpers.cs:
* tests/fixtures/TagLib.FormatTests/FlacFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/Id3V1FormatTest.cs:
* tests/fixtures/TagLib.FormatTests/Id3V2FormatTest.cs:
* tests/fixtures/TagLib.FormatTests/IFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/AsfFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/Id3BothFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/OggFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/MpcFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/M4aFormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/FlacFormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/Id3V1FormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/Id3V2FormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/IFormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/AsfFormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/StandardTests.cs:
* tests/fixtures/TagLib.Tests.FileFormats/Id3BothFormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/OggFormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/MpcFormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/M4aFormatTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Mpeg4Test.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/ApeTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Id3V1Test.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Id3V2Test.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/InfoTagTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/XiphTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/MovieIdTagTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/AsfTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/DivXTest.cs: Replaced unit
tests with new versions.
2007-12-29 Brian Nickel <[email protected]>
This commit does the following:
- Fixes support for IsCompilation when saving as ID3v2.2.
- Makes Id3v2.Tag clonable.
- Fixes the project files.
- Fixes cloning UserTextInformationFrame.
- CHANGES THE DEFAULT ID3v2 VERSION TO 3. While this may result
in some boos from people who consider ID3v2.4 to be the perfect
tagging format (myself included), the number of applications
that hiccup on ID3v2.4 is too astounding. This will not cause
tags already encoded at 2.4 to be reencoded at 2.3, but if new
tags are added to the file, they will be 2.3.
* src/TagLib/Id3v2/Tag.cs: Make Tag cloneable. Make default version 3.
* src/TagLib/Id3v2/FrameHeader.cs: Add version 2 mapping for TCMP so
IsComposer is saved in Id3v2.2.
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: If the frame
is a User*, create a User* when cloning.
* src/TagLib/Id3v2/ExtendedHeader.cs: Make cloneable.
* src/TagLib/Id3v2/FrameTypes.cs:
* src/TagLib/Mpeg4/BoxTypes.cs: Add description of why these classes
exist, why they are internal, and why they aren't necessary for third
party programmers.
* src/taglib-sharp.mdp:
* taglib-sharp.csproj: Add VBRIHeader.cs
2007-12-28 Brian Nickel <[email protected]>
This commit does the following:
- Adds IsCompilation to Id3v2.
- Adds support for deep CopyTo with Id3v2.
- Fixes support for deep CopyTo with Ape.
- Adds support for Fraunhofer VBRI headers in MPEG audio.
- Fixes a bug in reading XiphComments.
- Other trivial changes.
* src/TagLib/Id3v2/Tag.cs: Added IsCompilation and CopyTo.
* src/TagLib/Id3v2/FrameTypes.cs: Added TCMP.
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/PopularimeterFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/PrivateFrame.cs:
* src/TagLib/Id3v2/Frames/MusicCdIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/TermsOfUseFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Id3v2/Frames/PlayCountFrame.cs:
* src/TagLib/Id3v2/Frame.cs: Made clonable.
* src/TagLib/TagLib.sources:
* src/TagLib/Mpeg/VBRIHeader.cs:
* src/TagLib/Mpeg/AudioHeader.cs: Added support for Fraunhofer VBRI
header. This improves coverage of VBR files. (Thanks to hwahrmann for
proposing and authoring the changes.)
* src/TagLib/Ape/Tag.cs: Fixed CopyTo to actually override
TagLib.Tag.CopyTo.
* src/TagLib/Ape/Item.cs: Trivial formatting.
* src/TagLib/Picture.cs: Try to make ObsoleteAttributes a bit clearer.
* src/TagLib/Debugger.cs: Much nicer DumpHex.
* src/TagLib/Ogg/XiphComment.cs: Don't fail when a bad comment (one
without a = is encountered, just ignore that field. (Thanks to hwahrmann
for the bug report and authoring the changes.)
* examples/BatchSet.cs: Allow setting pictures.
* configure.ac: Now 2.0.2.20.
2007-12-27 Brian Nickel <[email protected]>
This commit does the following:
- Adds support for .divx extension. (Just an AVI)
- Adds Tag.CopyTo to obsolete Tag.Duplicate. The difference is
that Tag.CopyTo is overridable, so tags and implement their
own, better, copying.
- Several small bugfixes correcting Mpeg4.Tag.IsCompilation,
GIF images, reading Mpeg4 pictures without flags, and
NonContainer.EndTag reading small files.
- COMPLETE REWORK of OGG pagination to handle multipage comments
and saving that results in the creation of new pages. This
fixes a bug posted by kurros on the forum and Banshee bug
#502628.
* src/TagLib/Riff/File.cs: Recognize the .divx extension. (Thanks to
sukhjinder for the feature request and jocker for confirming the fix.)
Use Tag.CopyTo instead of Tag.Duplicate.
* src/TagLib/Flac/File.cs: Use Tag.CopyTo instead of Tag.Duplicate.
* src/TagLib/Ape/Tag.cs: Add first real implementation of Tag.CopyTo.
* src/TagLib/Ape/Item.cs: Make clonable.
* src/TagLib/Mpeg4/AppleTag.cs: Don't check for image format flags, just
use data to identify the image type. iTunes apparently doesn't use the
flags anymore. (Thanks to DavidT@Imerge for the bug report.) Use 1 byte
rather than 4 to store the compilation setting. (Thanks to DavidT@Imerge
for the fix.)
* src/TagLib/Picture.cs: Was setting mime-type to "image/png" for GIF.
* src/TagLib/Tag.cs: Mark Tag.Duplicate as obsolete and replace with
overridable Tag.CopyTo. This will provide the option for better copying
from one tag to another if their types match rather than just doing the
simply copy available in Tag.Duplicate. See Ape.Tag for an
implemenation. More coming soon.
* src/TagLib/NonContainer/File.cs: Don't read tags at the end of the
file if the tags at the start of the file are the entire file. (No
double dipping.)
* src/TagLib/NonContainer/EndTag.cs: Don't crash if start < 128 when
reading. (Thanks to jonx for the bug report.) Use Tag.CopyTo instead of
Tag.Duplicate.
* src/TagLib/NonContainer/StartTag.cs: Use Tag.CopyTo instead of
Tag.Duplicate.
* src/TagLib/Ogg/File.cs: Use changes in Page and Paginator classes to
handle situations where the number of pages in the stream changes.
* src/TagLib/Ogg/Page.cs: Add method for updating all Ogg pages after a
certain position with new page numbers. This is necessary if new pages
are inserted to avoid corrupting the file. Part of sweeping changes to
Ogg support.
* src/TagLib/Ogg/Paginator.cs: Instead of just saving a single page,
properly paginate using a single page for the first packet in the file.
Optimally, produce the same number of pages as were in the file before,
but allow for creating more pages if the situation warrents it.
* src/TagLib/Ogg/PageHeader.cs: Add a constructor which clones a header
but offsets page sequence by a specified number.
* src/TagLib/Ogg/Bitstream.cs: Fix typo that was preventing multi-page
packets from reading correctly. What a difference a negation makes.
* configure.ac: Now 2.0.2.19.
2007-12-25 Brian Nickel <[email protected]>
* src/TagLib/Riff/File.cs:
* src/TagLib/Flac/File.cs:
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/NonContainer/File.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Ogg/File.cs: Wrap constructors and save operations in
try/finally to ensure the streams get closed. (Thanks to oliphant for
the bug report.)
2007-12-25 Brian Nickel <[email protected]>
* src/TagLib/Id3v1/Tag.cs: Added constructor to create from data. Added
documentation. Fixed properties to produce correct output when empty.
Removed broken IsEmpty property.
* src/TagLib/Riff/List.cs: Make sure fields are cleared when SetValue
is called with any type of empty result.
* src/TagLib/Riff/DivXTag.cs: Added constructor to create from data.
Added documentation. Fixed properties to produce correct output when
empty. Make Clear() clear `title'. Resize fields after encoding rather
than before to avoid possible sizing problems.
* src/TagLib/Riff/MovieIdTag.cs: Read genre from correct position.
* src/TagLib/Riff/WaveFormatEx.cs: Reformat and complete codec
descriptions.
* src/TagLib/Id3v2/Tag.cs: Add constructor to create from data. Fixed
properties to produce correct output when empty.
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs: Correct file
header.
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs: Use alignment when
searching for delimiter to avoid breakage with UTF16BE.
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs: Tidy up a bit.
Add constructor with only owner as argument.
* src/TagLib/Id3v2/Frames/PrivateFrame.cs: Throw NotImplementedException
when version is less than 3, rather than just outputting an empty tag.
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: Add size
of delimiter rather than 1 to avoid breakage with UTF16.
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Use delimiter
rather than single byte in a rejection method to avoid breakage. Have
genres produce "/" separated values after first non-indexable value is
encountered. eg. {"Blues", "Country", "Foobar", "Jazz"} becomes
"(0)(2)Foobar/Jazz". This format is completely recoverable. Add
constructor for User* which accepts just a description.
* src/TagLib/Mpeg/AudioHeader.cs: Correct some documentation.
* src/TagLib/ByteVector.cs: Pass generated BOM to StringTypeToEncoding
to make sure the correct encoding is used.
* src/TagLib/Flac/File.cs: Correct documentation typo.
* src/TagLib/Ape/Tag.cs: Add support for one of each type of picture
rather than just one front cover. Allow parsing of years not 4 digits
in length.
* src/TagLib/Mpeg4/FileParser.cs: Prevent a crash if there isn't
sufficient data for reading the first block in parsers. Fix typo which
caused UtdaTree to not be filled, resulting in written tags not being
readable.
* src/TagLib/Mpeg4/AppleTag.cs: Allow parsing of years not 4 digits
in length. Correctly clear zeroed values.
* src/TagLib/Tag.cs: Use semicolons, rather than commas in Joined* to
reflect behavior of WMP.