2006-11-06 Brian Nickel <brian.nickel@gmail.com> * src/TagLib/Id3v2/Tag.cs: * src/TagLib/Id3v2/FrameHeader.cs: * src/TagLib/Id3v2/Frame.cs: * src/TagLib/ByteVector.cs: * src/TagLib/Ape/Tag.cs: * src/TagLib/Flac/File.cs: * src/TagLib/Asf/Tag.cs: * src/TagLib/Asf/HeaderObject.cs: * src/TagLib/Asf/StreamPropertiesObject.cs: * src/TagLib/Asf/FilePropertiesObject.cs: * src/TagLib/Asf/ContentDescriptionObject.cs: * src/TagLib/Asf/ExtendedContentDescriptionObject.cs: * src/TagLib/Asf/Object.cs: * src/TagLib/Asf/Guid.cs: * src/TagLib/Asf/ContentDescriptor.cs: * src/TagLib/Mpeg4/Boxes/FullBox.cs: * src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs: * src/TagLib/Mpeg4/Boxes/Box.cs: * src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs: * src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Mpeg4/BoxHeader.cs: Improve performance by not using plus operator so much. Less allocations. * tests/fixtures/TagLib.FormatTests/Id3BothFormatTest.cs: Fixed multiformat tests. Removed Tag Count test. 2006-11-03 Brian Nickel <brian.nickel@gmail.com> * src/TagLib/ByteVector.cs: Use Boyer-Moore String Searching Algorithm to speed things up a little. (Very little.) 2006-10-30 Aaron Bockover <abock@gnome.org> * src/TagLib/IntList.cs: * src/TagLib/ByteVector.cs: * src/TagLib/StringList.cs: * src/TagLib/ByteVectorList.cs: Use generics, refactored code, massive optimizations; all collections except ByteVector derives new ListBase<T> * src/TagLib/ListBase.cs: New generic base collection * src/Makefile.am: Updated * tests/fixtures/PerformanceTest.cs: Updated 2006-10-20 Brian Nickel <brian.nickel@gmail.com> * src/TagLib/Mpc/Properties.cs: Fix property reading. * src/TagLib/Mpc/File.cs: Fix total brokenness. * src/TagLib/Mpeg/File.cs: Fix reading with no ID3v2 Tag. * src/TagLib/Mpeg4/AppleTag.cs: Fix reading of ID3v1 Genres. * tests/fixtures/TagLib.FormatTests/MpcFormatTest.cs: Fixed test. (I think.) 2006-10-29 Aaron Bockover <abock@gnome.org> * tests/: Added more tests (IntList, StringList), restructured layout 2006-10-29 Aaron Bockover <abock@gnome.org> * src/TagLib/File.cs: Do not use reflection (Assembly.GetTypes) to find file formats, instead use a static type table. Assembly.GetTypes leaks types on the heap that will never be GCed (saves about 200KB of heap); this means that if a new type is added, it must be entered in the static type table for it to be available. Also this improves startup time. * src/TagLib/Asf/Properties.cs: Suppress unused variable warning 2006-10-29 Aaron Bockover <abock@gnome.org> * tests/samples: Organized into supported and unsupported formats, added vector.bin as data for a checksum test of ByteVector * tests/Makefile.am: Set up NUnit console test driver, can be run with 'make run-test' * tests/AssemblyInfo.cs: * tests/ConsoleUi.cs: NUnit console test driver * tests/CodeTimer.cs: Timing utility * tests/fixtures/*FormatTest.cs: File format reading test fixtures * tests/fixtures/ByteVectorTests.cs: Extensive tests for ByteVector * tests/tests.mdp: MonoDevelop project for tests that allows running NUnit tests with in the IDE for graphical results, recommended for running tests as history is logged here (preferred over 'make run-test') * configure.ac: NUnit detection, optional * examples/tangerine-use-taglibsharp.patch: Removed, tangerine now uses taglib-sharp instead of entagged-sharp * examples/Makefile.am: * examples/ListSupportedMimeTypes.cs: New example * taglib-sharp.mds: Restored MonoDevelop solution 2006-10-20 Brian Nickel <brian.nickel@gmail.com> * src/TagLib/File.cs: Include the name of the file throwing the exception in LocalFileAbstraction. * src/TagLib/Mpeg/Header.cs: Make frame length logic match Lame (from TagLib Devel List). * examples/ReadFromUri.cs: Read multiple files. 2006-10-12 Brian Nickel <brian.nickel@gmail.com> * src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs: * src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs: * src/TagLib/Mpeg4/AppleTag.cs: Fixed a bug where changing tag size would devalidate offsets for data before the tag. * examples/BatchSet.cs: * examples/Makefile.am: Add a simple program to update tags on multiple files. 2006-10-08 Aaron Bockover <abock@gnome.org> * src/TagLib/SupportedMimeType.cs: Added extension support 2006-10-08 Aaron Bockover <abock@gnome.org> * src/TagLib/SupportedMimeType.cs: Added AllMimeTypes static enumerator 2006-09-25 Brian Nickel <brian.nickel@gmail.com> * src/TagLib/CombinedTag.cs: Fixed a bug in CombinedTag.get_Pictures * configure.ac: Don't break the gac on binary compatable versions. 2006-09-20 Brian Nickel <brian.nickel@gmail.com> * src/TagLib/Mpc/File.cs: Added mime types. * src/TagLib/Wavpack/File.cs: Added mime types. * src/TagLib/ByteVector.cs: Fixed big endian StringType.UTF16 not to fail on big endian. (Confusing naming scheme by Microsoft.) 2006-09-17 Brian Nickel <brian.nickel@gmail.com> * src/TagLib/Asf/Tag.cs: Added generic picture support. * docs/en/*: Updated docs. 2006-09-15 Brian Nickel <brian.nickel@gmail.com> * src/TagLib/Picture.cs: * src/TagLib/Tag.cs: * src/TagLib/CombinedTag.cs: * src/TagLib/File.cs: * docs/en/*: Updated docs. * src/TagLib/Id3v2/Tag.cs: * src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs: * src/TagLib/ByteVector.cs: * src/TagLib/Mpeg4/Boxes/Box.cs: * src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs: * src/TagLib/Mpeg4/Boxes/AppleDataBox.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Ogg/XiphComment.cs: Add generic picture support to TagLib#. This currently supports MP3 and M4A tags although support can and will be added for other tag types in the future. * src/Makefile.am: * taglib-sharp.mds: * taglib-sharp.csproj: * examples/ReadFromUri.cs: * examples/Makefile.am: * examples/SetPictures.mdp: * examples/SetPictures.cs: * examples/ReadFromUri.mdp: New examples from Aaron Bockover. * src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs: * src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs: Eliminate a nasty bug where changes to 'mdat' offsets, ie. any file size change, broke MP4 files. 2006-09-11 Brian Nickel <brian.nickel@gmail.com> * src/TagLib/Mpeg4/File.cs: Added "audio/mp4" to types. 2006-09-01 Aaron Bockover <abockover@novell.com> * examples/covers/: Added sample cover art files 2006-09-01 Aaron Bockover <abockover@novell.com> * tests/: Added test sample audio files 2006-09-01 Aaron Bockover <abockover@novell.com> * configure.ac: Added ASM_VERSION; added DISTCHECK_CONFIGURE_FLAGS so distcheck target works properly as user (--disable-docs is passed on distcheck now) * src/AssemblyInfo.cs.in: Use ASM_VERSION instead of VERSION to get build revisions in version string * examples/Makefile.am: Added EXTRA_DIST, fixed distcheck build bug 2006-08-31 Brian Nickel <brian.nickel@gmail.com> * src/TagLib/ByteVector.cs: Perform a few additions better, getting rid of for (...) Add (byte). * src/TagLib/Id3v2/FrameFactory.cs: Con-current bug fix with TagLib, correcting an invalid frame conversion. 2006-08-28 Brian Nickel <brian.nickel@gmail.com> * src/TagLib/Asf/Tag.cs: Fixes a segmentation fault that can arise from TagLib.Asf.Tag.DiscCount when WM/PartOfSet doesn't contain a '/'. 2006-08-27 Aaron Bockover <abockover@novell.com> * src/TagLib/ReadOnlyException.cs: New exception * src/TagLib/File.cs: * src/TagLib/Mpc/File.cs: * src/TagLib/Mpeg/File.cs: * src/TagLib/WavPack/File.cs: * src/TagLib/Flac/File.cs: * src/TagLib/Asf/File.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Mpeg4/File.cs: * src/TagLib/Ogg/File.cs: * src/TagLib/Ogg/Vorbis/File.cs: * src/TagLib/Ogg/Flac/File.cs: Save is now void, throws exceptions when a problem has arisen instead of eventually returning false, masking the source of the problem * taglib-sharp.csproj: * src/Makefile.am: Updated 2006-08-25 Aaron Bockover <abockover@novell.com> * examples/Makefile.am: Added Makefile.am, was missing from forge repository 2006-08-25 Brian Nickel <brian.nickel@gmail.com> * Fixed a bug where ByteVector.Find wouldn't find items at the end of files, resulting in strings with '\0' in them. 2006-08-25 Brian Nickel <brian.nickel@gmail.com> * Nice big patch by Aaron with: * New attribute allows automatic support for mime types. * Make things easier for Banshee with convenience functions in TagLib.Tag 2006-08-22 Brian Nickel <brian.nickel@gmail.com> * Adopted changes by Aaron Bockover. * Added TagLib.AudioProperties.Duration * Marked TagLib.AudioProperties.Length obsolete * Added support for Windows Media Audio.