commit 3f6c8a5a3dabfb335ab67259e258bc747219a9ae Author: Ruben Vermeersch Date: Sat Aug 7 09:43:59 2010 [IFD] Fix parsing with non-null delimited strings. There was an interesting off-by-one parsing error for strings that were not delimited by a null byte. This commit makes sure we read the entire byte array and then cut of everything up to the null byte. https://bugzilla.gnome.org/show_bug.cgi?id=493530 commit dbad977936d4efc6187767b9ae1cec1edfa288f1 Author: Ruben Vermeersch Date: Thu Jul 22 08:26:13 2010 [Jpeg] Don't complain if the stream Length can't be read. https://bugzilla.gnome.org/show_bug.cgi?id=624671 commit be510696d1b0d7eee1e8947c29ff0d7949e4f543 Author: Ruben Vermeersch Date: Thu Jul 22 08:08:32 2010 Detect IFD entry type 0 corruption. https://bugzilla.gnome.org/show_bug.cgi?id=625009 commit 8d44e11a5473417f3bbf2590260c57257ec8d7ab Author: Ruben Vermeersch Date: Thu Jul 22 08:08:04 2010 Ignore compiled helper binaries. commit ce41ae6314ab5a891140856e6b7c7d1c50b8d91d Author: Ruben Vermeersch Date: Thu Jul 22 07:50:17 2010 Comment out unused lines. commit a1161e8b901ca73f56a3984a23f64379c6522dbb Author: Ruben Vermeersch Date: Thu Jul 22 07:48:14 2010 Update unit tests, the used XMP tags do not contain the Orientation. commit 2bdf23c46adff2d46a58694005a8e5beb3063f38 Author: Ruben Vermeersch Date: Thu Jul 22 07:47:13 2010 Don't throw exception on invalid IFD offsets. Mark as corrupt instead. commit e88f64ec9c9953037ff6aad0d3d8dcc4ec432473 Author: Mike Gemünde Date: Tue Jul 20 05:52:08 2010 Fix CopyFromTest to be unsensitive to different formats of ToString for DateTime commit ecfe021ae3549140067de5ea7fd990bf606d4d91 Author: Mike Gemünde Date: Tue Jul 20 05:50:02 2010 Add default value for ImageOrientation (None = 0) It was not possible to distinguish wether a orientation is not set or it is set to TopLeft, because TopLeft was used as the default. This caused problems when determining the orientation in CombinedImageTag. Therfore, a default is now added to get the correct value. commit 486632c7bc8ef86c41a60680272481c3e5fdee24 Author: Mike Gemünde Date: Sun Jul 18 02:51:05 2010 Fix typo in mime type of cr2 files commit 8c922c0387d32176ef940791f25ec9db533ac0cf Author: Ruben Vermeersch Date: Tue Jul 13 13:31:27 2010 Cycle detection to avoid endless IFD loops. https://bugzilla.gnome.org/show_bug.cgi?id=391671 commit 0bf4c68da62ad73a927b127d9d61571a68cbd43c Author: Ruben Vermeersch Date: Tue Jul 13 11:47:55 2010 Parse and detect corruption in Olympus makernotes. https://bugzilla.gnome.org/show_bug.cgi?id=555340 commit 634a55d461819277f1cd032e602b0468e5c71870 Author: Ruben Vermeersch Date: Tue Jul 13 10:47:24 2010 Handle all space comments. https://bugzilla.gnome.org/show_bug.cgi?id=397002 commit 9ac4daf03c50f697aea45333692d9d0e51396095 Author: Ruben Vermeersch Date: Tue Jul 13 10:46:31 2010 Support generating fixtures for Olympus files. commit 5b595bef6bdf74f70239248bf46a8a8193c5b085 Author: Ruben Vermeersch Date: Tue Jul 13 10:34:30 2010 Add support for empty comments consisting of only spaces. commit fb8e08b00909eea17cf2c08553c3c5aaf165dd5a Author: Ruben Vermeersch Date: Tue Jul 13 10:22:07 2010 Add SVG support via NoMetadata, for now. commit a67a562149925fd0862b9d3858c401f4f5d97ddb Author: Ruben Vermeersch Date: Mon Jul 12 10:48:24 2010 Refuse to write files with unknown corruptions. Certain Nikon files can have strange corruptions which we're not sure how to parse (nor do other metadata libraries). This may be a bug or a feature. We detect it and refuse to write in such cases. https://bugzilla.gnome.org/show_bug.cgi?id=624097 commit 6c3ce99097a13e6194a755dfeec8ab82aeec23a1 Author: Ruben Vermeersch Date: Sun Jul 11 06:05:01 2010 Validate remaining XmpTag values. commit 785e4cb1bbfccc3a2d4a2d2258b69937abf3f524 Author: Ruben Vermeersch Date: Sun Jul 11 05:42:59 2010 Start validating ImageTag implementations. Fixes some bugs in XmpTag and adds some fallbacks. commit 0659501225f66d8e22df141502fc1a897d797067 Author: Ruben Vermeersch Date: Tue Jul 6 17:33:26 2010 Parse embedded JpgFromRaw in RW2 files. commit a58728170f54fd7823df1bca318cf2a6214f9c02 Author: Ruben Vermeersch Date: Mon Jul 5 12:08:27 2010 Remove debug statements. commit fa81e725cd7104e12a75b92c622d302780713892 Author: Ruben Vermeersch Date: Thu Jul 1 12:30:21 2010 Add Rw2 files to Monodevelop projects. commit c8964265eebde4e623716e4e9ef906f3a505eef0 Author: Ruben Vermeersch Date: Sun Jun 27 10:39:10 2010 First incomplete attempt at RW2 support. Different approach is needed, but I'm too frustrated with Panasonics horrible format for now. commit adddbacf46b928c207e1104be98c5ed584d58b53 Author: Ruben Vermeersch Date: Tue Jul 6 12:28:13 2010 Fix build breakage. commit 4a6f66c806c0f725778e4fb091c674bf6434cc62 Author: Ruben Vermeersch Date: Mon Jul 5 16:20:27 2010 Add initial DNG support. Gets the size wrong, but I'll fix that soon, when I start adding a simple API test for each file type. commit 97668fecb6f55ec15610c39f58c81608f9caa015 Author: Ruben Vermeersch Date: Mon Jul 5 12:50:35 2010 Add Sony ARW support. commit dd99430ab167520497e584eb9a562eceadf269c6 Author: Ruben Vermeersch Date: Fri Jul 2 16:17:50 2010 Add PCX support to NoMetadata. commit f96cca366b0d34a76a9679df69de8868d435df33 Author: Ruben Vermeersch Date: Fri Jul 2 16:12:42 2010 Add mime types and extensions for Netpbm to NoMetadata. commit 454ae09e6cb5f5d6d1815bb5d3ed2785b2de0c5a Author: Ruben Vermeersch Date: Fri Jul 2 16:09:43 2010 Add mime types for bitmaps. commit 9f7bdc3a04a89cd339dbe647198cbcb1f9536c78 Author: Ruben Vermeersch Date: Fri Jul 2 15:37:43 2010 Add bitmap as a non-metadata type. commit a96174f6eae4eabeeda59b427afe7d9ba1f5d76b Author: Ruben Vermeersch Date: Fri Jul 2 15:31:13 2010 Add a fallback type for images without metadata. commit 3e2f3819ad7ce424672e2127c5894a33ab372573 Author: Ruben Vermeersch Date: Fri Jul 2 03:32:31 2010 Make a list copy to avoid out-of-sync enumerators. commit 8445fc0927f14607f0c4a32d4233ec2f1e9f703d Author: Ruben Vermeersch Date: Fri Jul 2 03:29:55 2010 Remove empty Sub IFDs before rendering. commit 7d632cc334efea165190c19863363252bf2b6539 Author: Ruben Vermeersch Date: Fri Jul 2 03:23:14 2010 Revert "Don't render empty Sub IFDs" This reverts commit 359bf87df97b991d9e9de53d0e63ba02424796ab. Not the right way to fix it. commit aa93264a11e5b994c829d57521860d62bac58191 Author: Ruben Vermeersch Date: Fri Jul 2 03:17:11 2010 Don't render empty Sub IFDs commit 0c1bf35b0cf9f68dbb96df6501ae1cd3144daa08 Author: Ruben Vermeersch Date: Fri Jul 2 03:04:30 2010 Fix handling of nullable assignments. commit d4ab524264c5defe57046950697ba41c9dc96715 Author: Ruben Vermeersch Date: Thu Jul 1 18:25:53 2010 Add metadata copying between images. Only copies the values from ImageTag. Good enough. https://bugzilla.gnome.org/show_bug.cgi?id=618770 commit f8bc4a360d158cbc76852d94f5e0ab8baddfb976 Author: Ruben Vermeersch Date: Thu Jul 1 11:14:02 2010 Update MonoDevelop support. commit 3a625b1054f3cb1eed898471dbb4406783d94142 Author: Ruben Vermeersch Date: Sun Jun 27 10:11:51 2010 Indent values in ParsePhoto. commit 00a049969c3428e06c81422afa0ed8258ef117fc Author: Ruben Vermeersch Date: Sat Jun 26 17:54:55 2010 Remove stray file from build. This shouldn't have been committed. commit 80942aae30028a919022c26ae117296fc0912c3a Author: Ruben Vermeersch Date: Sat Jun 26 17:08:10 2010 Make the Tiff Codec type reusable. Avoid having to define a new one for each new Tiff-derived type. commit f5a98009508fc8961eff1cb5c0c18447dfaf7af7 Author: Ruben Vermeersch Date: Sat Jun 26 16:54:58 2010 Move Tiff-based RAW types into Tiff namespace. There will be a lot of them, don't want to clutter the main source tree. commit dd7c59b844ee8c840b544b7bffb60935f1b1409e Author: Ruben Vermeersch Date: Sat Jun 26 16:19:08 2010 Don't crash when writing empty XMP collections. commit 06211a9fc78172fb7bce88136d268391c11c974f Author: Ruben Vermeersch Date: Thu Jun 24 13:27:59 2010 Expand Nikon format support. Nikon encodes a ton of info into byte arrays. These are not parsed yet. Perhaps we should do so at some point, or at least pull the interesting bits out. commit 6d75fdc99e004d0b1e24e15474d163c638d3ffb6 Author: Ruben Vermeersch Date: Thu Jun 24 13:26:43 2010 Add support for SubIFDs and SubImages. commit 737857b640e60a0424e9317b83d768685ca096a7 Author: Ruben Vermeersch Date: Thu Jun 24 13:11:04 2010 Update to test repository with NEF file. commit 8fe3d0ee40610d78e27da996d3a379a022eeadb3 Author: Ruben Vermeersch Date: Thu Jun 24 11:26:36 2010 Don't inherit file type attributes. This makes it possible to make an inherited TIFF type for NEF files. commit 40af7636c446833561d203b64e47e961e51cb973 Author: Ruben Vermeersch Date: Wed Jun 23 04:36:09 2010 Add initial NEF support. commit 7b1311a55c9a2d4173ac3f3c472007f87668a827 Author: Ruben Vermeersch Date: Wed Jun 23 04:09:40 2010 Fix copy/paste error in comments. commit 5c986c18a831105556aff482cd75be6e6ba213d9 Author: Ruben Vermeersch Date: Sun Jun 20 08:29:27 2010 Compare visual data based on hashes. Slightly faster. commit 5d39e3d9dbe06cf357469335a9f698a4afefe1cf Author: Mike Gemünde Date: Thu Jun 17 06:14:34 2010 Add Canon CR2 test commit 405d847b7ac611cbe07555987096df6a9ab0d692 Author: Ruben Vermeersch Date: Sun Jun 20 08:55:09 2010 Add IFD tags for a bunch of Canon fields. commit 731f2e0b76e79b8587c8ea1d9c1f53e336cccbe8 Author: Ruben Vermeersch Date: Sun Jun 20 08:22:45 2010 Compare very large values by MD5. commit 640714afe48fe208dbdd7f8366db4757192f859e Author: Mike Gemünde Date: Thu Jun 17 06:13:30 2010 Extend ImageTest ImageTest is extended to handle image files in different locations and to allow read-only images tested. commit 51ceeb695ba0d42bfc06cea67c8e8b2d269efc5a Author: Mike Gemünde Date: Thu Jun 17 06:12:33 2010 Extend test generation tool The test generation tool now handles all namespaces from exiv2 for Canon makernotes. commit 6e214001a1815f4f725b0453b97d1fc7eec1b09e Author: Mike Gemünde Date: Mon Jun 14 03:28:13 2010 Extend the ParsePhoto example to also show the image size https://bugzilla.gnome.org/show_bug.cgi?id=621508 commit b664ec978484b78805e71a88c6fdf8d589564039 Author: Mike Gemünde Date: Mon Jun 14 03:13:22 2010 Add support for Canon CR2 raw files This commits adds support to parse Canon CR2 RAW files. Since this format is based on the TIFF structure, reading is mostly based on this code. https://bugzilla.gnome.org/show_bug.cgi?id=621508 commit e43bf7115c00f0f81f086e11b4eef69d9cd47143 Author: Mike Gemünde Date: Mon Jun 14 03:05:03 2010 Add Property Writeable to Image.File Since we start supporting some file formats just for reading (at least for now) the property Writeable is added to Image.File to indicate if a file can be written back or not. https://bugzilla.gnome.org/show_bug.cgi?id=621508 commit c8832c3dcaa62098e120eb52bb2a8b0394f6b412 Author: Mike Gemünde Date: Mon Jun 14 03:03:24 2010 Introduce the class BaseTiffFile as base for all Tiff-based file formats The class BaseTiffFile is introduced to factor out some behavior which is common for all Tiff-based file formats. https://bugzilla.gnome.org/show_bug.cgi?id=621508 commit aa090622f9d0221af5014570b4e0bb1ccf98372e Author: Ruben Vermeersch Date: Fri Jun 18 12:01:48 2010 Add XMP node replacement, which will be used for sidecar support. commit 3dd2d467cbbb6556a26e8673f5161124c8554dbd Author: Ruben Vermeersch Date: Mon Jun 14 17:50:51 2010 Add stubs for hooking in RAW tests. commit b19bac3b7ed4e3ed258d4da55215b492a90d1b7c Author: Ruben Vermeersch Date: Mon Jun 14 17:36:06 2010 Only enable "make test" for git builds. commit e849883343b2b7c1f77af696946a6aed40ca4a2a Author: Ruben Vermeersch Date: Mon Jun 14 17:31:19 2010 Don't ship test suite in tarball. Only built from git. commit 83693068bcf0c98d6b27c2244f6eae41ea8325e4 Author: Ruben Vermeersch Date: Sat Jun 12 09:43:00 2010 Fix XMP initialization and fixture test. commit 00f130e287724be3dbe806136c6989b610854cb1 Author: Ruben Vermeersch Date: Sat Jun 12 09:18:55 2010 Add prism namespace. commit d460c17c4edf90b8d08ac2fb4db669c2d59a0c9f Author: Mike Gemünde Date: Thu Jun 3 03:10:56 2010 Add support for compressed PNG chunks Support for compressed PNG chunks is added by using ICSharpCode.SharpZipLib.dll. Configure and compilation is conditional whether ICSharpCode.SharpZipLib.dll is available or not. https://bugzilla.gnome.org/show_bug.cgi?id=620438 commit 56b2fa9e773bb39f78c34ce623b633ae37378e9e Author: Ruben Vermeersch Date: Sun May 30 15:51:12 2010 Fix some typos in the comments. commit b2abb6b51f8718fadb9245824c848de6ff054a14 Author: Mike Gemünde Date: Thu May 27 03:27:37 2010 Add tests for PNG support This commit adds a bunch of tests for the PNG support. The sample files are created with GIMP and modified with exiftool. https://bugzilla.gnome.org/show_bug.cgi?id=619921 commit 94b8bfc406bda2231a0239782bdc0b8a819487e0 Author: Mike Gemünde Date: Thu May 27 03:25:04 2010 Introduce support for PNG files This commit introduces support for PNG files. A PNG file is parsed completely and XMP metdata and PNG keywords are extracted. Additionally, some image properties such as height and with are determined. https://bugzilla.gnome.org/show_bug.cgi?id=619921 commit d1e8903491c89c7a015c748358084ba61f15c200 Author: Mike Gemünde Date: Tue May 25 14:34:07 2010 Create class ImageBlockFile for image files organized with data blocks Some image file formats are organized as data blocks which can be reordered. Those block are called 'segments' for Jpeg/Jfif files, or 'blocks' for Gif files. Some of the blocks are metadata and handled by TagLib#. When metadata is saved back to file, the following must be typically done: (1) some of the blocks have to be deleted (2) other blocks are overwritten with the new metadata The new class ImageBlockFile allows to mark some blocks in the file as metadata. When metadata is written back to file, the blocks which can be reused are overwritten, the others are deleted. The File-classes for Jpeg and Gif can now share this functionality. Currently, ImageBlockFile only supports saving one data block (which may contain multiple metadata blocks) and removing all other marked blocks in file. That is fine for the currently implemented file formats, but may be changed in future. https://bugzilla.gnome.org/show_bug.cgi?id=619921 commit 6c5c56ca76d6bc4c976dfbf5a18eab324bcac390 Author: Ruben Vermeersch Date: Sun May 30 10:54:21 2010 Fix unused variable warning. commit 014eeaaaa25629aae1589f5c346bcda4dccc2375 Author: Mike Gemünde Date: Fri May 28 03:38:44 2010 Remove CommentTest for jpeg test without metadata It does not make sense to have that test here, because a comment cannot be added, when no tag is present. And it is against the current taglib policy to add tags without a request from the user. https://bugzilla.gnome.org/show_bug.cgi?id=619920 commit 6446fd2116446e67335c0e5c21b2ceda854a7667 Author: Mike Gemünde Date: Thu May 27 09:05:59 2010 Add Function which ensures that all possible image tags for an image file are in place https://bugzilla.gnome.org/show_bug.cgi?id=619920 commit 20c02ec406477c39edf57d90605c784e6f3e41fc Author: Mike Gemünde Date: Thu May 27 09:06:43 2010 Add Test to ensure that the ImageTag properties work correctly https://bugzilla.gnome.org/show_bug.cgi?id=619920 commit d11b9bfe861b47e0bbfd3a999376bdeb265cb802 Author: Mike Gemünde Date: Thu May 27 08:46:29 2010 Add more flexible PropertyModificationValidator The new class PropertyModificationValidator allows to test modifications for every property defined in ImageTag. This makes it more flexible to test them all. https://bugzilla.gnome.org/show_bug.cgi?id=619920 commit a8651759588cc587b20dad4a2cabf1a189925f8d Author: Mike Gemünde Date: Thu May 27 03:07:09 2010 Add some properties which are usefull for image tags The property Creator is added to ImageTag. The properties Copyright, Comment and Title are implemented in CombinedImageTag to reuse them from Audio/Video. https://bugzilla.gnome.org/show_bug.cgi?id=619920 commit 2f27f26fc3aad9f256942c4ea64e4a00f6a0384c Author: Mike Gemünde Date: Thu May 27 08:11:04 2010 JpegComment need not to be terminated by 0 Some programs set an jpeg comment which is not terminated by a 0. Therfore, we cannot remove the last character in every case. Rather, check for a terminated string. https://bugzilla.gnome.org/show_bug.cgi?id=619920 commit f3309790ba158f3c0b460c87260b74876dfa2a10 Author: Ruben Vermeersch Date: Sun May 23 08:02:07 2010 Remove a bit of unreadable code. commit c71ae99fe735b4a07387360a561554a597a0be56 Author: Mike Gemünde Date: Sun May 23 07:23:38 2010 Add tests for GIF support This commit adds a bunch of tests for the GIF support. The sample files are created with GIMP and modified with exiftool. Some sample files are hand-edited to provide input data for some special tests. https://bugzilla.gnome.org/show_bug.cgi?id=619432 commit da6378ddd68eccc82c478f4da66399d912e413ac Author: Mike Gemünde Date: Sun May 23 07:21:53 2010 Add Validator to test removal of tags from files A new Validator for the image tests is added which can be used to test if tags are correctly removed from files. https://bugzilla.gnome.org/show_bug.cgi?id=619432 commit 63ccf602c6523d1aa66b9f506b16a7d9f4c4018b Author: Mike Gemünde Date: Sun May 23 07:06:24 2010 Extend Validators to specify an own comment string for the test The current implementation of CommentModificationValidator and TagCommentModificationValidator uses a fixed comment for testing. This commit extends the Validators that the comment string can be changed and an arbitrary comment can be used for the test. https://bugzilla.gnome.org/show_bug.cgi?id=619432 commit d731abbab07c83242fd63ddb67ebd215f02bb8a5 Author: Mike Gemünde Date: Sun May 23 07:03:07 2010 Introduce support for GIF files This commit introduces support for GIF files. A GIF file is parsed completely and XMP metadata and GIF comments are extracted. Additionally, the size of the image is extracted. Since GIF files can be used as an animation, it would be reasonable to determine some Properties which are related to Audio/Video files. This is currently not covered. https://bugzilla.gnome.org/show_bug.cgi?id=619432 commit 68722264132abced296ccfa049d90b6549fecddf Author: Mike Gemünde Date: Thu May 20 09:32:54 2010 Remove uneccessary if condition in CombinedImageTag https://bugzilla.gnome.org/show_bug.cgi?id=619200 commit 9c321e650273c9f890d706a5599d8c813a2b201d Author: Ruben Vermeersch Date: Sun Apr 11 08:17:40 2010 Make the initialization of XmpTag thread-safe. commit ecb22bf31b518a54f085b86a8f96d8a69c1d5548 Author: Ruben Vermeersch Date: Sat Apr 3 08:21:26 2010 Fix warning, add docs. commit d63b87f909fdb92e3cdb75d7c31d91f0b73d9269 Author: Ruben Vermeersch Date: Sat Apr 3 08:21:13 2010 Add missing Dispose () doc block. commit 0ef04eaab535d1baa030fef0042f766fb9ce8b61 Author: Ruben Vermeersch Date: Sat Apr 3 07:30:18 2010 Ignore monodevelop test results. commit 13a407f2a8e8a4731787cb7068047135bcc4d1ea Author: Ruben Vermeersch Date: Sat Apr 3 07:28:23 2010 Skip visual comparison on large TIFFs. Running unit tests became too slow on my netbook. Remember that you can run the full set of validators by running: make run COMPARE_LARGE_FILES=1 Should be done before each merge/release. commit 3d176ca43b1dea87b6ba0e3667416909d4059d13 Author: Ruben Vermeersch Date: Sat Apr 3 07:26:12 2010 Add support for value pairs in unit test generator. Exiv2 has the stupid habit of printing a list of values joined by a comma. This means that a field that looks like this: [ "a, b", "c, d" ] Is printed as: "a, b, c, d" Fortunately we can use the length field to detect this and do the right thing. commit 1ea7a011e2de479320a3948a359ccf276969afe9 Author: Ruben Vermeersch Date: Sat Apr 3 07:24:56 2010 Fix exception for files without orientation entry. Trying to cast null to an ImageOrientation enum member throws an exception. Fall back to TopLeft to avoid it. Unit test added to test this. commit eeb815ed8e04671a0a429261859d42af030cb61b Author: Ruben Vermeersch Date: Sat Apr 3 07:06:07 2010 Add aux XMP namespace. commit dbd404b4a025f0c6e11b2df825ab03bd5fe0e805 Author: Ruben Vermeersch Date: Sat Mar 20 13:05:00 2010 Fix XMP unit test failure. We disagree with exiv2 on the meaning of Struct. In Taglib#, struct is meant to denote parseType=Resource types only, not the shorthand equivalent. Also see XmpNode.RenderInto() commit dd7d2ded96bdf310b8e96f08bcf654aba2b153e5 Author: Mike Gemünde Date: Fri Mar 5 04:39:21 2010 regenerate basic tiff test with generation tool commit 901cab9d0d27d0428f098d49f7a8bc9775f30bda Author: Mike Gemünde Date: Thu Feb 11 16:17:40 2010 Add a bunch of new tests for tiff and jpeg commit 0c164d4e844aacb8b449d380b11db0b18f61c641 Author: Mike Gemünde Date: Thu Feb 11 16:14:13 2010 Extend GenerateTestFixture commit 8640ef4e11e9a2ba107bf98edac9b3394b364408 Author: Mike Gemünde Date: Thu Feb 11 16:13:11 2010 First implementation of tiff-writing commit fd87a160d8f5238db3d1ee7d4845a2a2f439b8f9 Author: Ruben Vermeersch Date: Tue Feb 9 09:14:13 2010 Replace fubar namespace commit 92bc4a1b40aeebf23cfdbb5fcec9da216eaface5 Author: Ruben Vermeersch Date: Sat Feb 20 10:17:51 2010 Monodevelop build fixes. commit 90b7c1527bedf4b738940b7e5ab4da2f1cec62a6 Author: Ruben Vermeersch Date: Sat Feb 20 09:41:51 2010 Use autotools to build src/ commit 32e16e3a90ef37854ed5896e78f2122f661d9b63 Author: Ruben Vermeersch Date: Sat Feb 20 09:41:28 2010 Make NamespacePrefixes public. Needed for the unit test generator. commit 40dbaee8956348bb8b7fb491e4a3985c733a521d Author: Ruben Vermeersch Date: Tue Feb 16 12:18:45 2010 Kill all warnings This now means we can build without any warnings! commit 9230695e84e8f7f414728816ab08439e63579442 Author: Ruben Vermeersch Date: Sat Feb 13 09:55:35 2010 Fix build in Monodevelop. This was done against a Monodevelop version from trunk, but it should work with any reasonably new version. Unit tests are synchronized with the Makefile, the main assembly uses a special .sources file which does not allow that trick. Might deprecate that one at some point. The tests makefile was modified to allow building in Monodevelop. commit fd429ea366b095cf8d67294e721c2efb85b3e5e2 Author: Ruben Vermeersch Date: Sat Jan 23 11:26:55 2010 Replace JpegEmptyTest. This new test highlights one of the problems that CombinedImageTag currently has: if there's no metadata tag capable of storing the field, the change will be lost. We should try to accomodate that. commit 8ab09e06b6e810794681e9fc43e40fcf647ce149 Author: Ruben Vermeersch Date: Sat Jan 23 09:55:31 2010 Remove compile warning. commit e705fd4ecbd723efbb8e5eaf00cd4248118b4581 Author: Ruben Vermeersch Date: Sat Jan 23 09:53:03 2010 Use String.Empty as the default value for Keywords in CombinedImageTag. commit fc04c52a18fdcba1c58a6bff20696414c77f6acd Author: Ruben Vermeersch Date: Sat Jan 23 09:49:56 2010 Ignore three failing tests. This doesn't mean that we don't need to fix them, but I got tired of parsing them every time I compile my code. commit 443a43c7fe516d3017396c48fb631b7d3e1282d3 Author: Ruben Vermeersch Date: Sat Jan 23 09:47:02 2010 Replace Panasonic test by much expanded version. commit 92995954ce437aeccc95e56bd7f0df7bee364bdd Author: Ruben Vermeersch Date: Sat Jan 23 09:36:02 2010 Add a bunch of Panasonic makernote entry tags. commit cb3300243013283c8f6d5ce06f9c0fefeb4363aa Author: Ruben Vermeersch Date: Sat Jan 23 09:28:47 2010 Replace the Nikon1 test with a generated one. This one tests all the original assumptions (including properties), but also all the fields that weren't checked. commit 93fda71c1833ac30d95d7ad1471b4b4192eec88c Author: Ruben Vermeersch Date: Sat Jan 23 09:23:34 2010 Add a ton of Nikon3 IFD entry tags. commit 0cd061e536fc54cdee747a4a7288566eaf16292a Author: Ruben Vermeersch Date: Sat Jan 23 08:58:36 2010 Add support for generating test fixtures for Panasonic files. commit 33880f7723388699fc8cfd00abc62ca8aa2eedad Author: Ruben Vermeersch Date: Sat Jan 23 08:43:29 2010 Add conditional for running slow image comparisons. Comparing huge files is slow. Therefor, we don't do that by default. If you want to run the full tests, you'll need to pass the COMPARE_LARGE_IMAGES flag: make test COMPARE_LARGE_IMAGES=1 It's best to do this occasionally for sanity reasons, but you probably don't want to do this every time you compile your code. commit 5e4a20af289c2ed2b5148641331e25174dd3170d Author: Ruben Vermeersch Date: Sat Jan 23 08:42:53 2010 Make sure GDK is initialized. commit 50ffad60a1362c091a5d632b2bc13677bda5ee70 Author: Ruben Vermeersch Date: Sat Jan 23 07:05:39 2010 Implement visual validation of image data. This means that not only the metadata is checked pre/post write, but also the image data itself. This is done by reading the image using GdkPixbuf (RAW support still TODO) and then rendering it to a PNG without metadata. This byte dump is then compared for the original and the modified file. This makes the tests a bit slower. I don't care. commit a19e70680880efbafc9853e1624fa7dcb3202779 Author: Ruben Vermeersch Date: Sat Jan 23 07:04:12 2010 Add missing Nikon3 makernote tag. Tons of them left to do. commit 9a8b89588c1dae7c1a80958feee27d32379faa7f Author: Ruben Vermeersch Date: Sat Jan 23 06:09:39 2010 Always reuse the same NoModificationValidator in unit tests. commit 828a6c147f6dfb38267b847063d37a36284e1a19 Author: Ruben Vermeersch Date: Sat Jan 23 05:25:57 2010 Let GenerateTestFixture use Nikon3MakerNoteEntryTag. commit 62f1af61fef25d02e116dda01f7b1b42e0ec3601 Author: Ruben Vermeersch Date: Sat Jan 23 05:25:33 2010 Fix wrong value for the Preview tag. commit aba2b7b59ca3658b00cf7ea2c25469ea7e63e6b5 Author: Ruben Vermeersch Date: Sat Jan 23 05:20:34 2010 Add missing IFD tags for ratings. commit 6d39456992c538993ec89cfa030eda8fab55d51f Author: Ruben Vermeersch Date: Sat Jan 23 05:05:30 2010 Add some comments to Nikon3MakernoteReader. commit e0ca4fe802b209fc7916f1f6e06e02c198461502 Author: Ruben Vermeersch Date: Sat Jan 23 05:00:16 2010 Add Nikon3MakerNoteEntryTag to remove hex value in Nikon3MakernoteReader. commit 286b1e327ed657b860c2d088c3bcdbb8eb6c7131 Author: Ruben Vermeersch Date: Sat Jan 23 04:49:23 2010 Split IFD entry types out into separate files. Moved these into a new namespace and updated all files accordingly (unit test generator included). commit 87edb107fe6a373c44ac7102bd77bb2378caafbf Author: Ruben Vermeersch Date: Sat Jan 23 04:30:49 2010 Clean up the IFD-offset fix a bit and add some docs. commit f7c8f24e435268aa3430af1f60140435fc1595b4 Author: Mike Gemünde Date: Tue Jan 12 15:06:23 2010 Fix for the Nikon makernote preview image The jpeg file of the nikon2 contains a preview image referenced by the makernote but not stored along with the other makernote data. Additionally, the preview image ifd does not contain a next-ifd pointer. This commits handles that and parses the preview image ifd. commit b95dbadf74d1a7dd8ba605c52cab1dfbff869673 Author: Ruben Vermeersch Date: Mon Dec 28 18:38:28 2009 Fix XapTest naming. commit 5d535fc8a949b111155b24d432868927ca70382a Author: Ruben Vermeersch Date: Mon Dec 28 18:37:14 2009 Expand JpegCanonZoombrowserTest with all available values. commit c0f135011487ab5c297fcda9c21a4b4d27afb0ca Author: Ruben Vermeersch Date: Mon Dec 28 18:25:55 2009 Add a ton of missing IFDEntryTags, handle them. commit 76ef1952856d46aa5c12c7b95542503aab358bb3 Author: Ruben Vermeersch Date: Mon Dec 28 13:42:39 2009 Split out UserComment code into a separate IFD entry. This allows it to be tested with generated test cases. commit bacff80016206092652bc9c3e4c7ce2041856f78 Author: Ruben Vermeersch Date: Mon Dec 28 12:05:37 2009 Add custom exiv2 data-extraction programs. This adds two custom c++ programs that allow for much better data extraction. Bad characters in the output of exiv2 caused certain keys to be missed. commit 5c81b09a7566d6c87799308c4984f60b8c874844 Author: Ruben Vermeersch Date: Mon Dec 28 08:26:45 2009 Fix CanonSi handling as well. Canon MakerNotes get validated correctly now. This means that they are preserved when writing. Awesome. commit 3e2113e0d84470799e0990b974953c1293e5a756 Author: Ruben Vermeersch Date: Mon Dec 28 08:23:11 2009 Fix handling of CanonCs directories from exiv2. commit ce8e07334dbf7d0e7e9e42089d8fc66f99901f52 Author: Ruben Vermeersch Date: Mon Dec 28 05:53:45 2009 Trim output for empty strings. Due to exiv2's output not having delimiters, there is no way we can figure out how long an empty string is (some fields in Nikon makernotes are 12 empty spaces or 15 empty spaces). Therefor we trim the parsed value from Taglib# and hope it equals to the empty string. This is one of those cases where generated unit tests will not be 100% correct, yet still decently sufficient. Note that trimming only happens if the expected output is empty. Otherwise, values are compared as-is. commit 1e1238a6f9cc49559ae09c89ad743bea6333838c Author: Ruben Vermeersch Date: Mon Dec 28 04:58:38 2009 Fix MakerNote handling in unit test generator a bit. This includes: * Correctly identifying the Nikon preview as a SubIFD * Ignoring the exiv2 made-up entries. commit 2977064ce5625bad91e17e64ecda83cd4954df35 Author: Ruben Vermeersch Date: Mon Dec 28 04:57:37 2009 Add custom IFD reader for Nikon3 MakerNotes. Nikon makernotes have a special sub-ifd for previews. This reader picks up on the relevant tag and makes sure it's parsed. commit 6eac0efb479d1e73f4a37f422c8da5f6c7214bdb Author: Ruben Vermeersch Date: Mon Dec 28 04:02:26 2009 Verify that simple XMP text nodes don't have children. commit c54627eff721c8c8114188b5e93bb7f62b608b78 Author: Ruben Vermeersch Date: Mon Dec 28 04:01:25 2009 Replace XapTest with a generated fixture. This version has a much better coverage of the metadata and features half a dozen of modification tests. commit cd087e86d4c62f10ca6375cf1a820ef7c80113ce Author: Ruben Vermeersch Date: Mon Dec 28 02:45:31 2009 Add empty constructor for files that don't have a comment yet. commit 3171805c57a9078f083c905e0275c6d4d75e687b Author: Ruben Vermeersch Date: Mon Dec 28 02:31:07 2009 Ensure correct naming of GPSInfo and Thumbnail members. commit ec8ac47259a16e009871fb0b7427d4d14cf0850e Author: Ruben Vermeersch Date: Sat Dec 26 14:17:09 2009 Fix some exiv2 quirks. commit c49002b6025b69fdf8eea07d038906fabae80f27 Author: Ruben Vermeersch Date: Sat Dec 26 14:02:27 2009 Also generate XMP fixtures. commit 6ef39781c3389cdf6b8f35ed7de08a598e2131ff Author: Ruben Vermeersch Date: Sat Dec 26 11:52:52 2009 Add a ton of missing namespaces for XMP rendering. commit 5c2d5d4ecf57dc70a374e2a610716ebc84b3f29a Author: Ruben Vermeersch Date: Sat Dec 26 11:34:48 2009 Correctly test Byte arrays. commit 608e6912a809f284dbdddc4b50e8ff2680f59fa0 Author: Ruben Vermeersch Date: Sat Dec 26 11:34:25 2009 Fix Thumbnail test case generation. commit febde3d56b47b7c8804fd8ff1a1bf98dc5840ab5 Author: Ruben Vermeersch Date: Sat Dec 26 10:57:19 2009 Generate test cases for the GPS IFD. commit b0a8f76e54fddc1b4a4a572e8ca73b7869018662 Author: Ruben Vermeersch Date: Sat Dec 26 07:57:52 2009 Initial version of unit test generator. This uses data from exiv2 to create a test case. Should be taken with a grain of salt though, I'm suspecting to have found a bug in exiv2 while testing this. commit 668ec86b5f3636524533d53cdab417816795fee7 Author: Ruben Vermeersch Date: Sat Dec 26 07:56:59 2009 Also test a write with no changes in JpegCanonZoombrowserTest. commit 092ead732bd54504a0e56197dc5784d35f5623d8 Author: Ruben Vermeersch Date: Fri Dec 25 07:28:52 2009 Validate orientation. commit c437c647898aa38ec2f69bb35d2c9ed1fa7784a9 Author: Ruben Vermeersch Date: Fri Dec 25 07:24:52 2009 Add a new validator based testing framework. This gives us a much better coverage of write/rewrite testing. commit 0c87736cf6c349136d794e2c697b34d24baffeed Author: Ruben Vermeersch Date: Thu Dec 24 11:26:22 2009 Register the MicrosoftPhoto namespace and correct it. Some files get written with an invalid namespace (according to the XMP specs, namespaces should end with '/' or '#'). commit 1d7bcaa386e91e387be65338a099006dcc852af2 Author: Ruben Vermeersch Date: Thu Dec 24 11:14:21 2009 Factor out a common method. commit d437ce4ef8bf7571cdc041328171a197cd0d3f14 Author: Mike Gemünde Date: Mon Dec 7 08:15:18 2009 Add tests for Rational and SRational commit 0082efab1c5937e2b5ba93da3c2144fbfceca12d Author: Mike Gemünde Date: Mon Dec 7 07:20:26 2009 add Comments to IFD namespace and remove a bunch of warnings commit d52d71f52fb679babc7a73f4aca94425a00eb0dd Author: Mike Gemünde Date: Sun Dec 6 10:58:05 2009 fix Jpeg strip tool to substitue greates found data segment commit 1d06c80962c1140be37daa1f1594d9920bdddb26 Author: Mike Gemünde Date: Sun Dec 6 10:20:38 2009 Fix some documentation warnings commit 272d92e551fbe5996580247bebf387a0e0514886 Author: Mike Gemünde Date: Wed Dec 2 15:12:50 2009 do not read data in other segments even if it is referenced This is a quick hack to fixes the Sony makernotes, where some data is stored in other segments than in the exif segment, but referenced by an makernote entry. commit 105a95741ce0ce117506208320ac66ecda11a26f Author: Mike Gemünde Date: Wed Dec 2 14:10:47 2009 complete property tests commit 590907408af1618907266513ccec7edbafe8eb40 Author: Mike Gemünde Date: Wed Dec 2 13:17:29 2009 add support to read Sony makernotes commit 8f7b44ef7032dde19cf7834dd1964bb4a9a67eab Author: Mike Gemünde Date: Wed Dec 2 08:15:08 2009 Do not render jpeg segments if they are too big commit 0fb069d15f964df17ed12405097cb45c65d9ee4e Author: Mike Gemünde Date: Wed Dec 2 08:02:23 2009 add test for the case the metadata segments are too big to fit into a jpeg segment commit 17cfef37d3bdbc368cbfe0e2064be87c4f858aea Author: Mike Gemünde Date: Sun Dec 6 11:13:01 2009 Cleanup Jpeg related stuff commit 796754e6c5a685382f7c094ae233efd967cbe050 Author: Mike Gemünde Date: Mon Nov 30 14:14:24 2009 preserve existing JFIF header in jpegs commit 88f372927cb23c852da42f89051468110410731b Author: Mike Gemünde Date: Sun Dec 6 11:12:32 2009 Add support to write XMP data in jpegs together with some basic tests commit 207592ab98fd6dc5f672b5724921518fc026aef8 Author: Mike Gemünde Date: Sun Nov 29 05:21:55 2009 complete some copyright notice commit f7702f8b0d3159e4cbbebee039831888d77365ab Author: Mike Gemünde Date: Tue Dec 1 02:14:55 2009 Use own class for Makernotes to take care about some special things commit 2b8c587afde382f4cb7848777020aad11ab8b987 Author: Mike Gemünde Date: Sun Nov 29 04:04:06 2009 Add tests for File.Find and File.RFind which fail for current implementation The test cannot succeed for current imlementation of Find and RFind because those methods only consider the greatest partial match and do not take care about smaller ones. commit dd00c6327b28948fdb403b1c61434f7b4af591f6 Author: Mike Gemünde Date: Sun Nov 29 03:50:56 2009 Fix File.RFind partly and add a test RFind is fixed to do not crash when file size is smaller than the read buffer. A test is added to take care about RFind and Find methods of the class File. However, there is still an issue with matches spread above different buffer reads. commit 5b15309936b714426715c5769ddab92d91753ecb Author: Paul Lange Date: Fri Dec 4 08:32:04 2009 Update MonoDevelop project files This commit updates the MonoDevelop projects files and makes it possible to build in MonoDevelop. Furthermore it creates a project which includes all tests and runs nunit-console2 after a successful build for them. commit 066624c09e92fb3561d3639d7733a6289de9504e Author: Paul Lange Date: Sun Dec 6 09:16:31 2009 Fix filename in header commit 33cf614f999eb20a60e44b5c1c1ffe7ce6604639 Author: Paul Lange Date: Sat Dec 5 13:25:11 2009 Document ImageOrientation items commit ed9e22f2db4372a3bd368aee13feaa563e5790fd Author: Paul Lange Date: Sat Dec 5 07:13:55 2009 Remove ImageOrientation.Unknown value commit 672933310089a18b594205d4b463b854f6bde053 Author: Paul Lange Date: Sat Dec 5 05:59:31 2009 Add documentation to ImageOrientation commit 7d2416aa1f394dfc547a5586a35908139260b860 Author: Paul Lange Date: Sat Dec 5 05:56:20 2009 Convert the Orientation property to an enumeration. commit cb4c85fcb1e247f8b15e25665c963edc1fee31b3 Author: Paul Lange Date: Thu Dec 3 17:16:57 2009 Documentation fixes commit 063e41e52afbb71d6763f98da64564f47a439e29 Author: Paul Lange Date: Thu Dec 3 16:59:47 2009 Update test to test latest properties commit 7f56151dfc9e7108accdb3da57aea36f187cd558 Author: Paul Lange Date: Thu Dec 3 16:58:26 2009 Implement Orientation property commit a8a2f8a8888bd9dc9e90aae1e453f09268617e36 Author: Paul Lange Date: Thu Dec 3 10:44:06 2009 Add FocalLengthIn35mm Tag commit fd8c2f912e75d8072799f6763397fa7d9b998408 Author: Ruben Vermeersch Date: Sun Nov 29 17:00:27 2009 Register stDim namespace. Also fix crap spelling in unit test. commit aa967c6431e74d7d1feb0568dadf8ab0b693138b Author: Ruben Vermeersch Date: Sun Nov 29 16:48:51 2009 Add XMP rendering for most spec samples. Handles most of the spec samples correctly, except for the one I still have to fix. Fixed bugs in the parser along the way. This includes the fact that I'm not keeping track of a new type of node called Struct. This is always rendered into a parseType Resource. commit ad8163f097f9337e60699689a241cc239d7b0849 Author: Ruben Vermeersch Date: Sun Nov 29 14:18:52 2009 Add some documentation. commit b69b78b64b118fb5752a9d4faed3f3f9761fcb01 Author: Ruben Vermeersch Date: Sun Nov 29 14:18:39 2009 Fix some malformed XML comments. commit 5cb8ccfe8448ead95872a6b566da4e8afa10e4b9 Author: Ruben Vermeersch Date: Sun Nov 29 14:12:27 2009 Register the xmpTPg namespace. Makes the rendering of files that use this namespace nicer, it means they will get xmpTPg:element nodes instead of ns1:element nodes. Off-course, all of this doesn't matter when you use a proper namespaced-XML parser (like our code), but I bet there are a ton of stupid implementations out there. commit 49f5de819a962dbcd63026cf75d71577737c8029 Author: Ruben Vermeersch Date: Sun Nov 29 14:09:48 2009 Initial XMP writing! Breaks a ton of stuff, since only simple values are supported for now. commit 559781fd057913e77cd913b56ed712bf43292582 Author: Ruben Vermeersch Date: Sun Nov 29 10:01:22 2009 Add comment from last commit message, serves as good explanation. commit fe9396868ad844de9aa00021ebd1964555d0cbbf Author: Ruben Vermeersch Date: Sun Nov 29 09:09:00 2009 Convert the XMP tests into idempotency tests during XMP rendering. This makes every test do the following: * Parse the string and validate if all expected data is there. * Render back into a string, parse that new string and revalidate. It's important to note that I'm testing for semantical idempotency: data that was in will stay in. The representation might change though. This is okay, nearly all XMP libraries do this. Doing the reparse and revalidate ensures that whatever it generated is valid XMP and contains the same information. commit 423bc7bfbbd5bfb272039a2b0389847b51574e09 Author: Paul Lange Date: Sat Nov 28 13:46:59 2009 Remove old file commit 1506cb5c70aa01865583efbfe9ffc7c451f1b5af Author: Paul Lange Date: Sat Nov 28 13:42:00 2009 Add Makernote test to Sony test. commit f4b811a449dd66ed9eae3dde56afcec39b4ab1cd Author: Paul Lange Date: Wed Nov 25 17:56:41 2009 Create test for Sony Alpha 200. commit a27ea7cbc1795fb637d4daed8bac3df8a326ecfa Author: Stephane Delcroix Date: Wed Nov 25 10:11:47 2009 Guesstimate the jpeg quality from DQT tables commit 02e4eab345ac9fd33b1230f8a9a2f4be5e0acb23 Author: Stephane Delcroix Date: Wed Nov 25 04:36:37 2009 Define std tables commit b360005357e9b2b5c38ce45ce604072314be091d Author: Stephane Delcroix Date: Wed Nov 25 09:57:34 2009 unit test for image width and height commit 3d647645881d5f2d3ef71c4691b31a89fa2a7b12 Author: Stephane Delcroix Date: Wed Nov 25 09:45:39 2009 Read width and height from SOFn segment Parse SOFn segment, retrieve WxH, use them to set the properties commit c37b12648f7e48bfcd9aa627a171924f07e180ff Author: Stephane Delcroix Date: Wed Nov 25 03:48:10 2009 replace if/elif/elif by a switch commit 9728f102cd9716b27a834c6e933592d4449e7c5e Author: Stephane Delcroix Date: Wed Nov 25 03:45:06 2009 only call ReadSegmentMarker once commit 88c3005d9470e5df8c8a17c0b20d97727543ccb1 Author: Stephane Delcroix Date: Wed Nov 25 03:27:09 2009 complete the Marker table Add missing markers, use the TagLib.Jpeg.Marker type instead of byte in Jpeg.File commit abb724e102fff70baa5841ddb9be02d4bdea374a Author: Ruben Vermeersch Date: Fri Nov 20 16:32:47 2009 Fix a ton of warnings. commit 055de25226d4f1179e7b95bd5496972f3d343c91 Author: Ruben Vermeersch Date: Fri Nov 20 16:24:36 2009 Split XmpNodeType into another file. commit e71b79d06b6593d5a98f32e369ea60b74974c2dd Author: Mike Gemünde Date: Sun Nov 15 14:28:56 2009 ... and remove the SkipDataSegment We only recognize metadata segments occuring before the data segment in the file. This is the same way exiv2 handles it. commit 17d4042cd39490c54e1cc97c33103395b3f52698 Author: Mike Gemünde Date: Sun Nov 15 13:37:38 2009 Substitute SkipDataSegment() with a much faster implementation commit 1314b55a9bae19f9e582438f1ca7ae45f47adc02 Author: Mike Gemünde Date: Sun Nov 15 14:16:04 2009 Added test for reading and writing tangled Jpeg files Mostly, the image metadata is stored in Jpegs in the segments at the beginning of the file. Some tests are added for files, where the metadata segments are tangled around the file. Also a bug for writing such files back is fixed. Conflicts: tests/Makefile.am commit a67c36600bf8d9a3bf08e2e3c6b8600c448bbccd Author: Ruben Vermeersch Date: Sun Nov 15 14:03:38 2009 Disable a stray debug dump. commit 0b21d567869b31bcdb94e83d9ce19521f996ec58 Author: Ruben Vermeersch Date: Sun Nov 15 13:57:12 2009 Add a lot of XMP spec compliance tests. This uncovered a bug, which is now fixed and a bug that still has to be fixed. commit 014a77ae24536e215d46576c91ce5d0fe5c1dfd5 Author: Ruben Vermeersch Date: Sun Nov 15 11:21:00 2009 Move the XMP test to another test file. commit 4d7dc8a74e9daa2c698215d5c68fafeb93d21671 Author: Ruben Vermeersch Date: Sun Nov 15 11:20:08 2009 Drop a useless parameter on XmpTag and use string instead of ByteVector. This will allow me to write unit tests easier. commit bf5747d7bf5ee86979db797eedfd3147e5fc6ce0 Author: Ruben Vermeersch Date: Sat Nov 14 14:03:03 2009 Minimize sample, using tiggers awesome tool. commit 43658ce3ac52183a8fc26b4604077d9e19565909 Author: Ruben Vermeersch Date: Sat Nov 14 13:54:57 2009 Implement a missing XMP dialect, additional test. commit 839aa430542a495a89f8bccd3de45c43753c90db Author: Ruben Vermeersch Date: Mon Nov 9 11:46:37 2009 Ignore XML comments. commit 255d53a969a783beced00a726a3ac05be2060c75 Author: Ruben Vermeersch Date: Mon Nov 9 11:46:10 2009 Old versions of XMP were called XAP, also look for those tags. Unit test will follow. commit 501464daa156195c2005706aa5e0373915a93438 Author: Mike Gemünde Date: Sat Nov 7 05:15:27 2009 add very rudimentary support for Olympus makernotes commit f5edd229d8392dffde630d42fb3404729a6f4dc6 Author: Mike Gemünde Date: Sat Nov 7 05:13:43 2009 add very basic example to substitute the image data in a jpeg file with some (very small) dummy data commit 05f51cc1e883a6ce61573c881613d14e87d77742 Author: Mike Gemünde Date: Sat Nov 7 05:12:43 2009 add another Nikon jpeg test commit e4d3394d33f1dafccf0eb4cef565a6ba7a3c114d Author: Mike Gemünde Date: Thu Nov 5 17:13:17 2009 first introduction of reading and writing of nikon makernotes commit eb1f30ce21194fe7c30c661ae72818562d3c5cf9 Author: Mike Gemünde Date: Thu Nov 5 16:43:56 2009 Add more information to unit tests to easier find an error commit 1ea38571eada751b29fd95a49942f0fb37bfc608 Author: Mike Gemünde Date: Wed Nov 4 16:51:48 2009 remove comment tags if a null is set for comment commit 87f3bb32953b657a01e98476082458e9ee77afdb Author: Mike Gemünde Date: Tue Nov 3 17:26:28 2009 reduce warnings by adding some comments to IFDStructure methods commit 7b5b2d47f8a36c1b33ec0422b2f8bf5427f8c38a Author: Mike Gemünde Date: Tue Nov 3 02:15:00 2009 remove comment property from ImageTag The Comment property is also included as virtual member in Tag. So we do not need to provide another default implementation. commit f85e1e1829b0adc27259e00af5ed0097266ab7d1 Author: Mike Gemünde Date: Tue Nov 3 02:13:10 2009 implement Comment property for JpegComment commit 79bbf6dbe4d577ff6212cd7b63da4025fec7e23a Author: Mike Gemünde Date: Tue Nov 3 17:29:24 2009 Rating in ImageTag should also be a Nullable type to allow removing the rating. commit cadcc5e60db30887bc60e25ed5fecb6ffa55a1c2 Author: Mike Gemünde Date: Tue Nov 3 17:09:30 2009 add support for the Altitude property in IFDTag commit 50313af3a3395e5d21da55eb051c222cda0a83ff Author: Mike Gemünde Date: Tue Nov 3 16:13:24 2009 change plain values to Nullable in ImageTag For a lot of properties, a scalar value does not make sense, since the default value has also a meaning. To allow to express that a tag is not existant, we use now nullable types. This is the case e.g. for ExposureTime or FocalLength. Conflicts: src/TagLib/IFD/IFDTag.cs commit 4db7440a13a33cd6dff37ad2df6425bd57101513 Author: Mike Gemünde Date: Mon Nov 2 17:47:10 2009 fix GPS stuff to allow also negative longitude values commit 1b4bd6c144ed2e35a98698547c88b7607ef035b6 Author: Ruben Vermeersch Date: Mon Nov 2 17:26:23 2009 Kill two more warnings. commit 32629b5f3b9b3755701b6b73a397c7ba889e81c6 Author: Ruben Vermeersch Date: Mon Nov 2 17:24:17 2009 Kill warnings due to incorrect usage of keywords. commit 8acb7b766891c03bbcd574f2d4f51de6b71804fd Author: Ruben Vermeersch Date: Mon Nov 2 17:02:43 2009 Fix a crash at XMP parsing due to nonstandard placement of xmlns attributes. commit 749c14e82cb7f72e6ffef81f98fb0ebeef96c508 Author: Ruben Vermeersch Date: Sun Nov 1 13:37:45 2009 Kill two warnings. commit afa443e0136c3babf51c864b9d88ad8cd2d59dc0 Author: Ruben Vermeersch Date: Sun Nov 1 03:52:29 2009 Kill more warnings. commit 82cc9ac2d66f77900ada7ede075d6a68993e1d92 Author: Mike Gemünde Date: Sun Nov 1 07:35:48 2009 add support to read and write GPS inforamtion in exif. commit 521d45753525830ca9656a345cef7139453210a9 Author: Mike Gemünde Date: Sun Nov 1 04:53:47 2009 use the values directly for an IFD array entry instead commit 920585b928b058332cf59b411aefa63ffafcd114 Author: Mike Gemünde Date: Sun Nov 1 04:44:06 2009 add support to write makernotes of Canon and Panasonic back to file commit 799b2aa1daa55bc8c8f3a65777bdb40df09966ad Author: Mike Gemünde Date: Sun Nov 1 03:02:57 2009 move image tests in own namespace The image tests are now contained in an own namespace. This is to not flood the existing one with a bunch of image tests comming in the future. commit 875779f9e5d34e19478d739a454699a62bab8947 Author: Ruben Vermeersch Date: Sun Nov 1 02:57:38 2009 Cut down on the number of warnings. commit 2e5e7800de5726cc7695737271b2c3f80d723e76 Author: Mike Gemünde Date: Wed Oct 28 15:43:18 2009 fix warnings on use of obsolete methods in Bytevector commit cbc20f221e139c5cbd0b755bde2bb7a5ea93e887 Author: Mike Gemünde Date: Wed Oct 28 14:07:14 2009 add ThumbnailIFDEntry to handle thumbnail data correctly commit 3a19b17396873cc253a25fe46b23358b68222135 Author: Mike Gemünde Date: Wed Oct 28 13:10:49 2009 the id of on IFD entry type is also an unsigned short commit a6f8d00aec73cb73d024c7871d4d4d5445d84838 Author: Mike Gemünde Date: Wed Oct 28 13:07:15 2009 a tag of an IFD Entry is an unsigned short, so take an usnigned short for representation, too commit 3cb1a37881778072cc74835cdfa8cf1017d0dc7e Author: Mike Gemünde Date: Wed Oct 28 12:59:47 2009 move some of the renderer code to the IFD Entries itself commit c32734b0f03dcb8f541014df98ab9888ada5646f Author: Mike Gemünde Date: Wed Oct 28 12:26:38 2009 add Rational and SRational struct for IFD Entries commit ad18345b7f417e4b59a16582c3246b60bb342cea Author: Mike Gemünde Date: Tue Oct 27 17:53:47 2009 add unit test for Panasonic file (Exif, Makernote) commit bce29cacf6603d39f7847dda4695633dd9130e51 Author: Mike Gemünde Date: Tue Oct 27 17:51:35 2009 add support for some other Makernotes (Panasonic, Pentax) commit 2724f556a6d8a73249d384cfac65889b27b55325 Author: Mike Gemünde Date: Tue Oct 27 17:47:56 2009 add support for more entry types commit 557f95441d25bcaee3f14411d28790380422135a Author: Mike Gemünde Date: Tue Oct 27 16:42:18 2009 take care of restart marker in data segment of jpeg The markers 0xFFD0 ... 0xFFD7 are used as restart marker within the data segment. So we must keep searching for the end of data instead of returning the marker. commit 9f17499d32f2dbdc02f5e2f2d35cd5bed4b0d3e8 Author: Mike Gemünde Date: Mon Oct 26 17:02:44 2009 add support for reading XMP keywords commit 41c56e19c0eac6b396193ef1370b7be842e2d961 Author: Mike Gemünde Date: Mon Oct 26 15:13:05 2009 adding GPS support in ImageTag commit 655de1f5442721a192a87fd42da21608880248bd Author: Ruben Vermeersch Date: Sun Oct 25 09:58:24 2009 Add an example (and test) app for photos. commit fbbff6a6716ffe37a9b04629cbb1da48f3346fbf Author: Ruben Vermeersch Date: Sun Oct 25 09:05:42 2009 Cut back on the number of warnings. commit 6cf5ab452f9fbc42f734f0e8ec7d76b18789c50f Author: Mike Gemünde Date: Tue Oct 20 16:31:17 2009 Extend UserComment handling for undefined data We can now handle undefined entries in the UserComment field. Since the program CanonZoomBrowser decides to not fill the 8 byte correctly for an undefined entry, we have to be more liberal for parsing it. commit ece09bcf9cb44b7ef47574d0e105c4695b33e003 Author: Mike Gemünde Date: Tue Oct 20 16:29:02 2009 Extend Reading of ASCII text fields Keep Adobe practice for reading ASCII field and only read it to the first '\0'. Since more than one value can be stored and some programs fills the fields with '\0's, this seems to be a reasonable choice to keep trouble away. commit 95520e015a2d2659eae04af7e21b1c51bfa47b97 Author: Mike Gemünde Date: Tue Oct 20 14:23:33 2009 Change also Model to IFD0 instead of ExifIfd commit 6e47449ef9fae5b06a9b4f8c9e74a77b95663d48 Author: Mike Gemünde Date: Tue Oct 20 14:11:03 2009 ImageDescription is part of IFD0 and not the ExifIFD commit 7e84a12193e17714aa9ea64b910719c46ce7b76a Author: Mike Gemünde Date: Tue Oct 20 13:47:28 2009 complete IFD entry tag ids The tag ids are fetched from http://www.awaresystems.be/imaging/tiff/tifftags.html. Since the GPS IFD and the Interoperability IFD uses the same tag-id (1), we take this change to split the ids into different enums, according to the IFDs or subIFDs they occur. commit 8662c7a95c1c6fe551912493e1fd974974ecb682 Author: Ruben Vermeersch Date: Sun Oct 18 10:58:51 2009 Restructure IFD. Able to represent everything now. commit a43b49180ff0803cfc4cae5e6e26235d5d00b3b6 Author: Ruben Vermeersch Date: Sun Oct 18 08:20:42 2009 Prevent writing empty sub-IFDs. commit 403c87c10f6ff215eeb78d088ea4be4b0437b210 Author: Ruben Vermeersch Date: Sun Oct 18 07:16:39 2009 Add bits of the convenience API. Imposes ordering: Xmp before Exif before all the rest. commit 8dc9997baefbb92f7ddf68e3d339a053a0e74e79 Author: Ruben Vermeersch Date: Sun Oct 18 05:50:30 2009 Split IFD reading and rendering code into Readers and Renderers. commit eff47010115a487deaabc6217a38ae963c269764 Author: Ruben Vermeersch Date: Sat Oct 17 10:57:04 2009 Fix a couple of warnings. commit 21dc3e088e5fb8c0d6de86888aa65389fdc86830 Author: Ruben Vermeersch Date: Sat Oct 17 10:18:26 2009 Only expose tag types that make sense, move stuff around. commit c387fdb40d86c4de06b47646ef4e31b6f51136c8 Author: Ruben Vermeersch Date: Sat Oct 17 04:45:11 2009 Add common Image.File base class for image types. And some cleanups. commit db77414ae3974a58cc73e564139382a54bce8674 Author: Mike Gemünde Date: Wed Oct 14 17:28:31 2009 add support to read write some image properties by the ExifTag class commit 838f7d1d596add212957aa5fb9ff9b06a2156b88 Author: Mike Gemünde Date: Wed Oct 14 17:27:41 2009 add support to merge image properties in CombinedImageTag commit 4fbf51e36caa72285462f54912b172fe23b81c1d Author: Mike Gemünde Date: Wed Oct 14 12:41:31 2009 possibility to add new tags (Exif, GPS, IFD) to Jpegs commit a3ff09e1447c05ef8651af6195953b66beeb60e9 Author: Mike Gemünde Date: Wed Oct 14 08:36:29 2009 introducing Image.ImageTag and Image.CombinedImageTag The both classes are used to provide a unified access to all types of image metadata. commit 5c1c307318c23f0f582204bd9424b542924d7567 Author: Mike Gemünde Date: Tue Oct 13 18:23:31 2009 support to add JpegComment to Jpeg File commit 4827d042e87d0b7c25c89adc66adaa5105edb633 Author: Mike Gemünde Date: Tue Oct 13 16:42:06 2009 Add support for reading and writing the GPS Directory commit c995075b4191fe47929e96cdd0f77d64d1ecd3cc Author: Mike Gemünde Date: Tue Oct 13 16:38:18 2009 remove unused private methods from Tiff.File commit dc6f6196a3304e12f67874f8bdbd5f772eb9b39c Author: Mike Gemünde Date: Tue Oct 13 15:57:54 2009 fix comment commit a87f24e12453a3bab1e6acf49d6fc5d71cb80ca0 Author: Ruben Vermeersch Date: Sun Oct 11 06:09:24 2009 2009-10-11 Ruben Vermeersch * src/TagLib/TagLib.sources: * src/TagLib/FileTypes.cs: * src/TagLib/Jpeg/Codec.cs: * src/TagLib/Jpeg/File.cs: * src/TagLib/Jpeg/JpegCommentTag.cs: * src/TagLib/Jpeg/JpegTag.cs: * src/TagLib/Jpeg/Marker.cs: Jpeg support, extracts XMP and exif, initial write support. * tests/Makefile.am: * tests/fixtures/TagLib.Tests.FileFormats/JpegFormatTest.cs: * tests/samples/sample.jpg: Jpeg parsing test cases. Patch written by: Ruben Vermeersch (Initial work) Mike Gemünde (Significant improvements) commit b6bd1379eca52d504bf3e1f67533c5469c4ceedd Author: Ruben Vermeersch Date: Sun Oct 11 06:04:13 2009 2009-10-11 Mike Gemuende This commit adds EXIF parsing support, by reusing most of IFD. * src/TagLib/Exif/CanonMakerNoteTag.cs: * src/TagLib/Exif/ExifTag.cs: * src/TagLib/Exif/GPSTag.cs: * src/TagLib/Exif/IOPTag.cs: * src/TagLib/Exif/ThumbnailTag.cs: Exif data tags. * src/TagLib/Tag.cs: * src/TagLib/TagLib.sources: * src/TagLib/IFD/IFDTag.cs: Recognize most important special case tags. * tests/Makefile.am: * tests/fixtures/TagLib.Tests.FileFormats/StandardExifTests.cs: * tests/fixtures/TagLib.Tests.FileFormats/TiffFormatTest.cs: Adapt test cases to handle the newly recognized Exif SubIFDEntry. commit 339bae5d5465d2dec2f2832e31352ed11f88e679 Author: Ruben Vermeersch Date: Sun Oct 11 05:59:06 2009 2009-10-11 Ruben Vermeersch * src/TagLib/TagLib.sources: * src/TagLib/Xmp/XmlNodeExtensions.cs: * src/TagLib/Xmp/XmpNode.cs: * src/TagLib/Xmp/XmpNodeVisitor.cs: * src/TagLib/Xmp/XmpTag.cs: XMP parser, according to the implementation notes in the XMP specification. Uses a NameTable to speed up string comparison. Not fully finished yet, but handles most common XMP formats. * src/TagLib/Tiff/TiffTag.cs: Extract XMP blocks from the relevant IFD entry for TIFF files. * tests/fixtures/TagLib.Tests.FileFormats/TiffFormatTest.cs: Test case for XMP extraction. commit c5b357416f1ad71befabad8272975f0abb6f3b5d Author: Ruben Vermeersch Date: Sun Oct 11 05:43:08 2009 2009-10-11 Ruben Vermeersch * src/TagLib/FileTypes.cs: * src/TagLib/TagLib.sources: * src/TagLib/Tiff/Codec.cs: * src/TagLib/Tiff/File.cs: * src/TagLib/Tiff/TiffTag.cs: Support for TIFF decoding. * src/TagLib/IFD/Entries/ByteVectorIFDEntry.cs: * src/TagLib/IFD/Entries/LongArrayIFDEntry.cs: * src/TagLib/IFD/Entries/LongIFDEntry.cs: * src/TagLib/IFD/Entries/RationalIFDEntry.cs: * src/TagLib/IFD/Entries/SRationalIFDEntry.cs: * src/TagLib/IFD/Entries/ShortArrayIFDEntry.cs: * src/TagLib/IFD/Entries/ShortIFDEntry.cs: * src/TagLib/IFD/Entries/StringIFDEntry.cs: * src/TagLib/IFD/Entries/SubIFDEntry.cs: * src/TagLib/IFD/Entries/UndefinedIFDEntry.cs: * src/TagLib/IFD/IFDEntry.cs: * src/TagLib/IFD/IFDEntryTag.cs: * src/TagLib/IFD/IFDTag.cs: TIFF IFD support. This is the metadata encoding structure in TIFF, which is also used in other formats such as EXIF and multiple RAW formats. Hence the separate namespace. * tests/Makefile.am: * tests/fixtures/TagLib.Tests.FileFormats/TiffFormatTest.cs: * tests/samples/sample.tiff: Add tests for TIFF reading. Patch written by: Ruben Vermeersch Mike Gemünde commit e2b13c97822f6f63b0aa7d26394b5acf1d7a15ec Author: Ruben Vermeersch Date: Sun Oct 11 04:03:58 2009 2009-10-11 Ruben Vermeersch * src/TagLib/ByteVector.cs: * tests/fixtures/TagLib.Tests.Collections/ByteVectorTest.cs: Add new FromInt and ToInt methods to ByteVector, which will be used in image metadata processing. Update unit tests with test cases. * src/TagLib/ICodec.cs: Introduce a new Photo content type and IPhotoCodec, which encapsulates photo properties such as it's width and height. * src/TagLib/Image/Codec.cs: Abstract base type for image codecs, as most fields are common for all image types. * src/TagLib/Properties.cs: Extended with support for IPhotoCodec. * src/TagLib/Tag.cs: Add a number of tag types related to image metadata. Patch written by: Ruben Vermeersch Mike Gemünde commit 680892aa0534508d687b2436576f7dbea4f996d5 Author: Gabriel Burt Date: Sat Mar 20 12:06:37 2010 2010-03-20 Gabriel Burt * README: Add svn info svn path=/trunk/taglib-sharp/; revision=153940 commit 9c0969f779c01dc7c3bc4ec97890898d2f4cc5e8 Author: Gabriel Burt Date: Sat Mar 20 12:02:38 2010 2010-03-20 Gabriel Burt * README: add some real, useful info svn path=/trunk/taglib-sharp/; revision=153939 commit 160841bfafef60da2d0be6830ea03a5483bebafd Author: Gabriel Burt Date: Sat Mar 20 11:54:05 2010 2010-03-20 Gabriel Burt * configure.ac: * NEWS: Update for 2.0.3.7 release svn path=/trunk/taglib-sharp/; revision=153938 commit 857c9a84b60c232e334bdd118dbd237c69f2419b Author: Alexander Kojevnikov Date: Sat Mar 20 02:49:42 2010 2010-03-20 Alexander Kojevnikov * configure.ac: * src/Makefile.am: Patch from Bertrand Lorentz adding a check for the `al` tool (bgo#575303) svn path=/trunk/taglib-sharp/; revision=153935 commit f657f9ff312b28f52f7be93dfff4df67ee84aa7a Author: Alexander Kojevnikov Date: Sat Mar 20 02:34:13 2010 2010-03-20 Alexander Kojevnikov * configure.ac: Patch from Ruben Vermeersch adding a fall back to nunit-console if nunit-console2 is not found (bgo#593673) svn path=/trunk/taglib-sharp/; revision=153934 commit c815c88583f625ca3ab1e247a696c0a2ac87cb36 Author: Alexander Kojevnikov Date: Sat Mar 20 02:06:30 2010 2010-03-20 Alexander Kojevnikov * src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs: * tests/fixtures/TagLib.Tests.TaggingFormats/Id3V2Test.cs: Don't throw an exception if RVA2 data is partially incorrect svn path=/trunk/taglib-sharp/; revision=153933 commit 01cb5415eaa5017a0b24b96fc0cf24f76fe33608 Author: Alexander Kojevnikov Date: Fri Mar 19 23:51:38 2010 2010-03-20 Alexander Kojevnikov * Makefile.am: * src/Makefile.am: Fix `make distcheck` svn path=/trunk/taglib-sharp/; revision=153931 commit 27db4ba286399349af7596f18217adc3828a315e Author: Alexander Kojevnikov Date: Fri Mar 19 22:10:52 2010 2010-03-20 Alexander Kojevnikov * src/TagLib/File.cs: Make TagLib.File IDisposable svn path=/trunk/taglib-sharp/; revision=153929 commit 356094ea343dbb85de183c875672b979bd175a9d Author: Alexander Kojevnikov Date: Fri Mar 19 22:04:28 2010 2010-03-20 Alexander Kojevnikov * 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) svn path=/trunk/taglib-sharp/; revision=153928 commit b2fb500435776fe685b3dd7f894232e03403a70c Author: Alexander Kojevnikov Date: Fri Mar 19 21:53:58 2010 2010-03-20 Alexander Kojevnikov * src: * docs: * tests: * tests/samples: * .gitignore: * examples: Add svn:ignore and .gitignore svn path=/trunk/taglib-sharp/; revision=153927 commit a589453d5e842e7e161d5cbca9721e4e9c3924fe Author: Alexander Kojevnikov Date: Fri Mar 19 21:31:42 2010 2010-03-20 Alexander Kojevnikov * 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) svn path=/trunk/taglib-sharp/; revision=153926 commit 9beda4fbb27e255d8eafc496a81fb49dd13fe16f Author: Andrés G. Aragoneses Date: Wed Mar 3 17:59:47 2010 2010-03-02 Andrés G. Aragoneses * src/TagLib/Aac/AudioHeader.cs: Fix all warnings not related to XML documentation. svn path=/trunk/taglib-sharp/; revision=152975 commit df439f8529b7194b5424358fca9490e791e7a073 Author: Andrés G. Aragoneses Date: Tue Mar 2 05:01:39 2010 forgot changelog svn path=/trunk/taglib-sharp/; revision=152820 commit f175da0d302b18f2d3296da64e8f7f5ad30ccb1b Author: Andrés G. Aragoneses Date: Tue Mar 2 04:58:48 2010 * 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. svn path=/trunk/taglib-sharp/; revision=152819 commit 63ff2db7fc275c88d018cc2cb751053986e7ff96 Author: Gabriel Burt Date: Wed Feb 24 12:57:13 2010 2010-02-24 Gabriel Burt * configure.ac: * NEWS: Update for 2.0.3.6 release svn path=/trunk/taglib-sharp/; revision=152385 commit 9f8664ec69ee36046be5e8070a0463e3fea403d7 Author: Gabriel Burt Date: Wed Feb 24 12:51:42 2010 2010-02-24 Gabriel Burt * src/TagLib/Riff/WaveFormatEx.cs: Fix API break in 2.0.3.5. svn path=/trunk/taglib-sharp/; revision=152384 commit 6902a83d09086ac84884ff72dd99f1af9e771bdc Author: Gabriel Burt Date: Tue Feb 23 16:57:51 2010 2010-02-23 Gabriel Burt * NEWS: Update for 2.0.3.5 release svn path=/trunk/taglib-sharp/; revision=152310 commit aeb2315f921fb7c854966b2f206ff67793ca7bcd Author: Gabriel Burt Date: Sun Feb 21 16:31:23 2010 2010-02-21 Gabriel Burt * 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) svn path=/trunk/taglib-sharp/; revision=152153 commit 0cf7cde9011e9f2d5a548f4b88198a9e8ff18c67 Author: Gabriel Burt Date: Wed Feb 3 19:40:03 2010 2010-02-03 Gabriel Burt * 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) svn path=/trunk/taglib-sharp/; revision=150805 commit 939ae5abdb8757f438a72050bbac262a56b5f964 Author: Gabriel Burt Date: Mon Feb 1 18:28:56 2010 2010-02-01 Gabriel Burt * 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) svn path=/trunk/taglib-sharp/; revision=150687 commit 21458f4451b57d10e373817cbee58101f9501579 Author: Gabriel Burt Date: Tue Jan 26 19:07:50 2010 2010-01-26 Gabriel Burt * configure.ac: * NEWS: Bump to 2.0.3.5 in prep for next release svn path=/trunk/taglib-sharp/; revision=150265 commit a2a8010c2830c163af693231d7d6893c8ede4409 Author: Gabriel Burt Date: Wed Jan 20 18:30:16 2010 2010-01-20 Gabriel Burt * src/TagLib/Id3v2/Frames/CommentsFrame.cs: * tests/fixtures/TagLib.Tests.TaggingFormats/Id3V2Test.cs: Patch from Alexander Kojevnikov fixing IndexOutOfRangeException (BGO #607376) svn path=/trunk/taglib-sharp/; revision=149945 commit 466e24d5340be9653e538168526557f49b0fbd96 Author: Gabriel Burt Date: Thu Jan 7 16:56:22 2010 2010-01-07 Gabriel Burt * NEWS: * configure.ac: Bump to 2.0.3.4 for upcoming release. svn path=/trunk/taglib-sharp/; revision=149201 commit df89366fb2a7365bf11767e2bf746c5c34e0c1fd Author: Gabriel Burt Date: Thu Jan 7 14:31:48 2010 2010-01-07 Gabriel Burt * 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. svn path=/trunk/taglib-sharp/; revision=149189 commit 5e0e952df97bc485f5fcf4411b785c6251ae24cc Author: Gabriel Burt Date: Sun Dec 13 16:00:43 2009 2009-12-13 Gabriel Burt * 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) svn path=/trunk/taglib-sharp/; revision=148357 commit 6f160becd6baf821b65f5f6ba6ac71d29b909f83 Author: Aaron Bockover Date: Wed Sep 30 18:53:22 2009 Fix NEWS uploading svn path=/trunk/taglib-sharp/; revision=143089 commit 28a2feb8ffdd78e687d2200c678b88a3234b9168 Author: Aaron Bockover Date: Wed Sep 30 18:48:14 2009 2009-09-30 Aaron Bockover * NEWS: Update for 2.0.3.3 release * configure.ac: Bump to 2.0.3.3 svn path=/trunk/taglib-sharp/; revision=143088 commit 713ed6438ba96810cdcdef29d90b1b5e5f6efb95 Author: Gabriel Burt Date: Mon May 18 14:23:36 2009 2009-05-18 Gabriel Burt * src/TagLib/ByteVector.cs: * tests/fixtures/TagLib.Tests.Collections/ByteVectorTest.cs: Patch from Alexander Kojevnikov fixing ArgumentOutOfRangeException when parsing some comment frames (BGO #582735) svn path=/trunk/taglib-sharp/; revision=134348 commit bf2aaa4c8f68da49fe24088f4b56e9b8be58b987 Author: Gabriel Burt Date: Fri May 15 10:48:50 2009 2009-05-15 Gabriel Burt * 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) svn path=/trunk/taglib-sharp/; revision=134211 commit 13b29dabc38a4258fbb66ca24b0ce20ed71582b3 Author: Gabriel Burt Date: Thu May 14 15:23:56 2009 2009-05-14 Gabriel Burt * 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.Tests.FileFormats/AiffFormatTest.cs: * tests/Makefile.am: * taglib-sharp.csproj: Patch from Helmut Wahrmann adding support for the AIFF file format (BGO #579261) svn path=/trunk/taglib-sharp/; revision=134161 commit 2207974d1385133c910e2d352bcbd9f858ebbdf4 Author: Gabriel Burt Date: Mon Apr 20 14:10:43 2009 Correct a couple 2008s that should be 2009 svn path=/trunk/taglib-sharp/; revision=132204 commit b5d885b5ef0458fd0d2ea707ec3bbd38a60a4829 Author: Gabriel Burt Date: Wed Mar 25 18:15:23 2009 2009-03-25 Gabriel Burt * src/TagLib/Ogg/XiphComment.cs: Patch from Helmut Wahrmann adding two fallback options for the album artist getter (BGO #574652) svn path=/trunk/taglib-sharp/; revision=130253 commit 6f22bf46936fa62d8dc4f9ea01fff8de5921e486 Author: Gabriel Burt Date: Thu Mar 19 23:54:24 2009 2009-03-19 Gabriel Burt * src/TagLib/Ape/Tag.cs: Patch from Gregory S. Chudov fixing bug with Ape.Tag's Pictures setter (BGO #575943) svn path=/trunk/taglib-sharp/; revision=129858 commit f70f7b27b2e9bf923a8f907aa1dec61599121168 Author: Gabriel Burt Date: Wed Mar 18 22:21:23 2009 2009-03-18 Gabriel Burt * 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 svn path=/trunk/taglib-sharp/; revision=129762 commit 446b14bd5997c51d0a6edd31988058837a1fc283 Author: Gabriel Burt Date: Tue Mar 10 14:41:12 2009 2009-03-10 Gabriel Burt * src/TagLib/Mpeg/File.cs: * src/TagLib/Mpeg/AudioFile.cs: Patch from Andy Beal adding support for m2v and m2v files (BGO #574411) svn path=/trunk/taglib-sharp/; revision=129008 commit f9ccf65c85d4dc1f1b1924a52e8b59cb902480e7 Author: Gabriel Burt Date: Tue Mar 10 00:01:00 2009 2009-03-09 Gabriel Burt * src/TagLib/Ape/Tag.cs: Patch from Bernd Niedergesaess adding support for Sort* values in Ape tags (BGO #571421) svn path=/trunk/taglib-sharp/; revision=128940 commit 877b873e2aa8e999a1ffd451f55c78b677c3b5ed Author: Gabriel Burt Date: Mon Mar 9 23:53:30 2009 2009-03-09 Gabriel Burt * src/TagLib/Ogg/GroupedComment.cs: Patch from Bernd Niedergesaess and Andy Beal improving code consistency (BGO #571443) svn path=/trunk/taglib-sharp/; revision=128939 commit 96e698124f34e42b85d1c0618af1900ad156843e Author: Gabriel Burt Date: Mon Mar 9 23:47:07 2009 2009-03-09 Gabriel Burt * src/TagLib/Riff/AviHeaderList.cs: Patch from Bernd Niedergesaess to not use obsolete ctor (BGO #571452) svn path=/trunk/taglib-sharp/; revision=128938 commit 74e848482a4adb6ea951d3ca60429295ddf33c4a Author: Gabriel Burt Date: Mon Mar 9 23:37:09 2009 2009-03-09 Gabriel Burt * docs/Makefile.am: Reduce the verbosity of docs build output. svn path=/trunk/taglib-sharp/; revision=128937 commit a5c66dedc41e14ea667da68804391f574cbb2a5a Author: Gabriel Burt Date: Mon Mar 9 23:25:40 2009 2009-03-09 Gabriel Burt 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. svn path=/trunk/taglib-sharp/; revision=128936 commit 2822fea172a0ce858bfb96bbb4a1520f7e6c399a Author: Gabriel Burt Date: Wed Mar 4 10:25:48 2009 2009-03-04 Gabriel Burt * 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. svn path=/trunk/taglib-sharp/; revision=128567 commit adfc5f7ee25c53f6a95d0849441957cb1f0a55f0 Author: Gabriel Burt Date: Thu Feb 19 20:37:59 2009 2009-02-19 Gabriel Burt * 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. svn path=/trunk/taglib-sharp/; revision=127496 commit 447239a8964b6637cf570635fff2071098f20430 Author: Gabriel Burt Date: Thu Feb 19 20:29:07 2009 2009-02-19 Gabriel Burt * 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) svn path=/trunk/taglib-sharp/; revision=127492 commit 179f20ff6731f59250b71bc95c4c58fe52fb1818 Author: Gabriel Burt Date: Thu Feb 19 20:25:49 2009 2009-02-19 Gabriel Burt * 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) svn path=/trunk/taglib-sharp/; revision=127491 commit d7431fc9c8b22cac2f65317c7df44329ab5a912f Author: Gabriel Burt Date: Thu Feb 19 20:21:55 2009 2009-02-19 Gabriel Burt * src/TagLib/File.cs: Patch from Félix Velasco fixing a bug in our XML documentation (BGO #572253) svn path=/trunk/taglib-sharp/; revision=127490 commit 9c76cd75a24589edcf63249d65b5b670412c3182 Author: Gabriel Burt Date: Thu Feb 19 20:18:11 2009 2009-02-19 Gabriel Burt * configure.ac: Patch from Bertrand Lorentz using $(prefix)/lib in GACUTIL_FLAGS instead of $(libdir) (BGO #572259) svn path=/trunk/taglib-sharp/; revision=127489 commit 1dacd700bfe4aef4f7acbc440b59099579bac308 Author: Gabriel Burt Date: Thu Feb 19 13:00:12 2009 2009-02-19 Gabriel Burt * docs/Makefile.am: Patch from Bertrand Lorentz fixing hardcoded mcs reference (BGO #572450) svn path=/trunk/taglib-sharp/; revision=127441 commit a17a7339518964ff719d38eb59a98b2f9c941b93 Author: Gabriel Burt Date: Mon Feb 16 17:07:25 2009 2009-02-16 Gabriel Burt * NEWS: Update for 2.0.3.2 release svn path=/trunk/taglib-sharp/; revision=127078 commit bfc0685985ad6ea2c6c84d7d83181a68cee206ed Author: Gabriel Burt Date: Mon Feb 16 16:39:12 2009 Forgot to credit Bernd in last commit svn path=/trunk/taglib-sharp/; revision=127077 commit c680ca61d0fb2056885d3c9fd3896fd8a968d119 Author: Gabriel Burt Date: Mon Feb 16 15:48:27 2009 2009-02-16 Gabriel Burt * src/TagLib/Ape/Tag.cs: Patch from 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) svn path=/trunk/taglib-sharp/; revision=127070 commit 96664cc7e3eea268fb6ec5e9ca50842323a672c4 Author: Gabriel Burt Date: Mon Feb 16 15:24:58 2009 2009-02-16 Gabriel Burt * 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) svn path=/trunk/taglib-sharp/; revision=127066 commit 29a97a8d909075306da240d9c96b8420afbe0ce6 Author: Gabriel Burt Date: Thu Feb 12 13:01:51 2009 2009-02-12 Gabriel Burt * src/TagLib/Mpeg/AudioFile.cs: Patch from Bernd Niedergesaess with style help from Andy Beal, adding mp1/mp2 extensions/mimetypes (BGO #571466) svn path=/trunk/taglib-sharp/; revision=126743 commit 17b4c1e010f3c02b140d7c95dfbf0e7fb3166df1 Author: Gabriel Burt Date: Thu Feb 12 12:46:03 2009 2009-02-12 Gabriel Burt * src/TagLib/Mpeg4/AppleTag.cs: Patch from Bernd Niedergesaess fixing mpeg4 writing of BPM to file (BGO #571411) svn path=/trunk/taglib-sharp/; revision=126741 commit 12b894385f4194df2f865c20d2b4483ddcaac698 Author: Gabriel Burt Date: Wed Feb 11 18:54:19 2009 2009-02-11 Gabriel Burt 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) svn path=/trunk/taglib-sharp/; revision=126670 commit fc1d68289f28ca1a02f884922eaa714c6e9f9bd2 Author: Gabriel Burt Date: Tue Feb 10 21:53:05 2009 2009-02-10 Gabriel Burt * 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) svn path=/trunk/taglib-sharp/; revision=126547 commit 2af0d2725ea1d5269b46810e2d2d712944fcf8e9 Author: Gabriel Burt Date: Tue Feb 10 20:54:37 2009 2009-02-10 Gabriel Burt * configure.ac: Bump in prep for the next release. * examples/ReadFromUri.cs: Refactor a bit, and print out the *Sort properties. svn path=/trunk/taglib-sharp/; revision=126546 commit 6a1db30cd8ca012c76e7575e9adf2e44d505e1b9 Author: Gabriel Burt Date: Tue Feb 10 11:09:56 2009 2009-02-10 Gabriel Burt * 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) svn path=/trunk/taglib-sharp/; revision=126477 commit 11ed49d59e0f37bf1567f1dec514cd5df1fcf031 Author: Gabriel Burt Date: Tue Feb 10 11:07:03 2009 2009-02-10 Gabriel Burt * 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. svn path=/trunk/taglib-sharp/; revision=126476 commit 98289c9e8c02faa9ef194108c4908fd0c7ae1931 Author: Gabriel Burt Date: Fri Feb 6 12:02:38 2009 2009-02-06 Gabriel Burt * src/TagLib/Properties.cs: Patch from Andy Beal fixing VideoWidth getter, was incorrectly returning height (BGO #570745) svn path=/trunk/taglib-sharp/; revision=126082 commit dfa9ddd46fdcd6e486f9493e6569cfe8b9190196 Author: Gabriel Burt Date: Fri Feb 6 11:54:30 2009 2009-02-06 Gabriel Burt * src/TagLib/Id3v2/Frame.cs: Patch from Andy Beal, fixing bug with not skipping over Data Length Indicator field properly (BGO #568946) svn path=/trunk/taglib-sharp/; revision=126081 commit ff43233d912b071852b1698754889f70a3087f29 Author: Aaron Bockover Date: Fri Jan 23 14:27:11 2009 2009-01-23 Aaron Bockover * Makefile.am: Install .pc file to datadir since we're noarch svn path=/trunk/taglib-sharp/; revision=124369 commit ddd55a94f0b8e66896e172d344386ba1da5e943a Author: Gabriel Burt Date: Thu Jan 22 18:17:54 2009 2009-01-22 Gabriel Burt * 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). svn path=/trunk/taglib-sharp/; revision=124277 commit c47ade767d2b3d2a8f372b5c8974c727fad337da Author: Aaron Bockover Date: Tue Jan 20 16:32:25 2009 Fix tag name svn path=/trunk/taglib-sharp/; revision=123953 commit 0961c724b29468a9f5107b02286d3b614545442e Author: Aaron Bockover Date: Tue Jan 20 16:29:28 2009 Missing \ svn path=/trunk/taglib-sharp/; revision=123952 commit 8db9530ed1873d0246acb84f561176dcca8f9ee1 Author: Aaron Bockover Date: Tue Jan 20 16:27:07 2009 2009-01-20 Aaron Bockover * 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 svn path=/trunk/taglib-sharp/; revision=123950 commit ff9b5afa5a3ef8b9a79edde5343faffa482d7f7c Author: Gabriel Burt Date: Tue Jan 20 15:23:25 2009 Update for release svn path=/trunk/taglib-sharp/; revision=123928 commit 7a518bd93334ec93a5414e4e0d0c14642cf76702 Author: Aaron Bockover Date: Tue Jan 20 15:21:21 2009 SUBDIRS tests svn path=/trunk/taglib-sharp/; revision=123926 commit 9288a468d586e88533ebd380ba0eabe71e90a254 Author: Aaron Bockover Date: Tue Jan 20 15:21:11 2009 Fix use of obsolete API svn path=/trunk/taglib-sharp/; revision=123925 commit f46fbd1bf53a1d2eeee5f6fb3604d93907c542e2 Author: Aaron Bockover Date: Tue Jan 20 15:18:20 2009 2009-01-20 Aaron Bockover * configure.ac: Bumped version to 2.0.3.1 * NEWS: Updated for 2.0.3.1 release svn path=/trunk/taglib-sharp/; revision=123923 commit e09402baf120df02b4aadbfff46d600f6699d640 Author: Gabriel Burt Date: Thu Jan 15 20:12:17 2009 2009-01-15 Gabriel Burt * tests/fixtures/TagLib.Tests.TaggingFormats/XiphTest.cs: Update unit test to reflect that we do now support writing cover art to ogg files. svn path=/trunk/taglib-sharp/; revision=123568 commit ac160cc7839f31263fe8500fd693ff19b881dabb Author: Gabriel Burt Date: Thu Jan 15 20:08:16 2009 2009-01-15 Gabriel Burt * src/TagLib/Ogg/XiphComment.cs: Patch from John Millikin adding cover art reading and writing support to Ogg (BGO #563168) svn path=/trunk/taglib-sharp/; revision=123567 commit 48f6a94a29ae04e6adc5a514c208b890106bfbd2 Author: Gabriel Burt Date: Thu Jan 15 13:06:00 2009 2009-01-15 Gabriel Burt * 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 svn path=/trunk/taglib-sharp/; revision=123522 commit 21daae26e341c14c833a433f5c88533dac04f495 Author: Gabriel Burt Date: Thu Jan 15 13:01:15 2009 2008-01-15 Gabriel Burt * src/TagLib/Mpeg4/file.cs: Patch from Andy Beal to recognize .m4b files (Audiobook extention) in mpeg4 (BGO #567826) svn path=/trunk/taglib-sharp/; revision=123520 commit 721fb8fc79715c34f7a06ced460ef7e1891888d1 Author: Gabriel Burt Date: Tue Jan 13 12:26:16 2009 2008-01-13 Gabriel Burt 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 (----) svn path=/trunk/taglib-sharp/; revision=123227 commit b6ff6f306fcedb04acf01c18eb3689f50fb1bad1 Author: Gabriel Burt Date: Fri Dec 19 15:24:40 2008 Whoops, didn't mean to revert this, got confused about what was the new patch and what was there before svn path=/trunk/taglib-sharp/; revision=121890 commit f1b527ed4a8da14eb73e1965a37cdb9ca9e8dfd5 Author: Gabriel Burt Date: Mon Dec 15 19:41:48 2008 2008-12-15 Gabriel Burt * 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. svn path=/trunk/taglib-sharp/; revision=121568 commit d043e77cd667c924d51fe5fc252d798e30d50ca5 Author: Gabriel Burt Date: Thu Dec 11 17:45:44 2008 2008-12-11 Gabriel Burt * 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/ svn path=/trunk/taglib-sharp/; revision=121368 commit 96541ba2588aef666d6c9a8b09def2252e5a1161 Author: Gabriel Burt Date: Thu Dec 11 17:43:56 2008 Actually commit Jeff's patch, already mentioned in the ChangeLog svn path=/trunk/taglib-sharp/; revision=121365 commit 6da96266229c1ed419d77a23d9ddc0e446a6958b Author: Gabriel Burt Date: Thu Dec 11 17:24:42 2008 2008-12-11 Gabriel Burt * 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 svn path=/trunk/taglib-sharp/; revision=121363 commit ca2086339d75e17841227ae5045bd093630081bb Author: Rusty Howell Date: Wed Jul 16 20:42:11 2008 Fixed syntax error in xml doc strings svn path=/trunk/taglib-sharp/; revision=108108 commit dada5252ec43f0824226bb906a6a55c83d22cfd2 Author: Jeffrey Stedfast Date: Tue Jan 29 16:08:55 2008 2008-01-16 Jeffrey Stedfast * src/TagLib/Mpeg/AudioHeader.cs (AudioHeader): Do a bit more thorough bitwise examination of the second byte in the MPEG sync header. svn path=/trunk/taglib-sharp/; revision=94328 commit 492f1e407d1d1b6769edfabf5a20db118dff2d89 Author: Brian Nickel Date: Thu Jan 10 17:28:46 2008 2008-01-10 Brian Nickel * NEWS: Updated for new release. * configure.ac: Now 2.0.3.0 svn path=/trunk/taglib-sharp/; revision=92635 commit 0f23f4b07d569b4a447d95b29a9a693d93f96fe4 Author: Brian Nickel Date: Wed Jan 9 19:30:11 2008 2008-01-09 Brian Nickel 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. * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: If genre index is followed by genre text, don't store it twice. * 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. svn path=/trunk/taglib-sharp/; revision=92562 commit e38d5652387c1225ccdd709c982f5cb43b19a3b2 Author: Brian Nickel Date: Thu Jan 3 01:59:47 2008 2008-01-03 Brian Nickel * 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 svn path=/trunk/taglib-sharp/; revision=92157 commit 44578d8d281dbe301464180fcb272d0a703463df Author: Brian Nickel Date: Wed Jan 2 20:43:28 2008 2008-01-02 Brian Nickel * 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. svn path=/trunk/taglib-sharp/; revision=92148 commit 5932a1adfb5a243de2d0f70f3ae4fa4cc8d9e583 Author: Brian Nickel Date: Wed Jan 2 19:05:18 2008 2008-01-02 Brian Nickel * 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. svn path=/trunk/taglib-sharp/; revision=92141 commit 6893f5fca42ac8df165a4d7147f6b7ebf62fed8c Author: Brian Nickel Date: Tue Jan 1 21:30:34 2008 2008-01-01 Brian Nickel 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. svn path=/trunk/taglib-sharp/; revision=92094 commit 7fc0f6bd46e6e34224c57a4842ca3e155e8dd4c8 Author: Brian Nickel Date: Sun Dec 30 03:50:36 2007 2007-12-30 Brian Nickel 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. svn path=/trunk/taglib-sharp/; revision=92033 commit 4b09fb0a7d34cb10272090e98d982dfe29d7047e Author: Brian Nickel Date: Sat Dec 29 20:50:29 2007 2007-12-29 Brian Nickel 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. svn path=/trunk/taglib-sharp/; revision=92025 commit 74de4b8edad100c3f460afac42aa36506f683347 Author: Brian Nickel Date: Sat Dec 29 19:26:31 2007 2007-12-29 Brian Nickel 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 svn path=/trunk/taglib-sharp/; revision=92024 commit e93bf6fdf5d818197cfdc7518e76f2bdfea4192d Author: Brian Nickel Date: Fri Dec 28 15:19:09 2007 2007-12-28 Brian Nickel 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. svn path=/trunk/taglib-sharp/; revision=92001 commit bc9aa22b56ec39127f7ff7ae9e5954d948462f42 Author: Brian Nickel Date: Thu Dec 27 01:11:19 2007 2007-12-27 Brian Nickel 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. svn path=/trunk/taglib-sharp/; revision=91915 commit 9f3974dc78e45cf027155302c8496535ea6e4feb Author: Brian Nickel Date: Tue Dec 25 06:12:52 2007 2007-12-25 Brian Nickel * 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.) svn path=/trunk/taglib-sharp/; revision=91875 commit 250683919fee9b9dcc82825aba075215ed22df9a Author: Brian Nickel Date: Tue Dec 25 04:09:22 2007 2007-12-25 Brian Nickel * 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. * src/TagLib/Picture.cs: Fix documentation typo. * src/TagLib/WavPack/StreamHeader.cs: Add some docs. * src/TagLib/Asf/Tag.cs: Remove "WM/GenreID" when a new genre is stored. * src/TagLib/Asf/ExtendedContentDescriptionObject.cs: Loop through names rather than descriptors first when getting descriptors. That way the first matching name is chosen rather than the first descriptor of any name. * src/TagLib/Asf/ContentDescriptor.cs: Fix rendering bug that broke storing values. * configure.ac: Now 2.0.2.18. svn path=/trunk/taglib-sharp/; revision=91872 commit 38c6838456f6ca92a292f90d2cf763914a8857f0 Author: Brian Nickel Date: Tue Oct 2 13:27:31 2007 2007-10-02 Brian Nickel * src/TagLib/Riff/List.cs: * src/TagLib/Riff/DivXTag.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/AttachedPictureFrame.cs: * src/TagLib/Id3v2/Frames/TermsOfUseFrame.cs: * src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: * src/TagLib/Flac/Picture.cs: * src/TagLib/Ape/Tag.cs: * src/TagLib/Ape/Item.cs: * src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs: * src/TagLib/Ogg/XiphComment.cs: Use ToString (StringType,int,int) instead of ToString(StringType) * src/TagLib/Mpeg/AudioHeader.cs: Remove AudioHeader.position as it is no longer needed. * src/TagLib/ByteVector.cs: Use ToString(StringType,int,int) in ToStrings, mark ToString(StringType,int) as obsolete, add ToString(StringType,int,int), add documentation. Relax exception exception checking in ToString as it was causing unnecessary exceptions when reading some zero byte strings. (Thanks to sambeckett for the bug report.) * src/TagLib/Asf/Tag.cs: Use ContentDescriptionObject.Copyright instead of an extended content descriptor. (Thanks to Dakuja for the bug report.) * src/TagLib/Id3v2/Frames/PopularimeterFrame.cs: Add nil separator when rendering. Was causing tag to be unreadable. (Thanks to cody for the bug report.) * configure.ac: Now 2.0.2.17. svn path=/trunk/taglib-sharp/; revision=86763 commit 900eee2508821d22f9627ef7b1ad11b8468a6d6c Author: Brian Nickel Date: Thu Sep 20 15:54:40 2007 2007-09-20 Brian Nickel * src/TagLib/ByteVector.cs: Fix overflow problem introduced last release. (Thanks to hwahrmann for the bug report.) * src/TagLib/Asf/HeaderObject.cs: Switch the order of play_duration and send_duration. Standard implementation is backwards from the specification. (Thanks to hwahrmann for the bug report.) * src/TagLib/Asf/FilePropertiesObject.cs: Subtract preroll from duration. (Thanks to hwahrmann for the bug report.) * configure.ac: Now 2.0.2.16. svn path=/trunk/taglib-sharp/; revision=86112 commit 3d7097038b0aefac9481f4c18a7528050b4830b8 Author: Brian Nickel Date: Tue Sep 18 15:07:18 2007 2007-09-18 Brian Nickel * src/TagLib/Riff/BitmapInfoHeader.cs: Reformat. * src/TagLib/Id3v2/FrameHeader.cs: Remove 'using System.Collections' * src/TagLib/Mpeg/AudioHeader.cs: Don't double-count position when counting frames. (Thanks to hwahrmann for the bug report.) * src/TagLib/ByteVector.cs: Add UseBrokenLatin1Behavior to emulate bad behavior of many taggers. When true, TagLib# will read Latin1 strings as the system default encoding. * src/TagLib/Asf/ContentDescriptionObject.cs: * src/TagLib/Ape/Tag.cs: Documented. * src/TagLib/Riff/File.cs: * src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs: * src/TagLib/Asf/DescriptionRecord.cs: * src/TagLib/Asf/ContentDescriptor.cs: * src/TagLib/ReadOnlyByteVector.cs: Use ToString(StringType). * configure.ac: Now 2.0.2.15. svn path=/trunk/taglib-sharp/; revision=85987 commit 80926fc841ac9bf4df8ff726a5c33dcc37488b39 Author: Brian Nickel Date: Mon Sep 17 01:44:06 2007 2007-09-17 Brian Nickel * src/TagLib/Id3v2/Tag.cs: New logic for SetFrameText was backwards, causing frames to disappear. (Thanks to hwahrmann for the bug report.) * src/TagLib/Id3v2/FrameHeader.cs: Fix the reading of version 2 and 3 headers. They weren't being converted to the new headers. Add FrameFlags.None. * src/TagLib/Id3v2/Header.cs: Add HeaderFlags.None. * configure.ac: Now 2.0.2.14. svn path=/trunk/taglib-sharp/; revision=85861 commit fb12bfc4ca89e46a1b3024170f3e436a4a6b28ec Author: Brian Nickel Date: Sun Sep 16 17:23:22 2007 2007-09-16 Brian Nickel * src/TagLib/Id3v2/SynchData.cs: * src/TagLib/Id3v2/FrameTypes.cs: * src/TagLib/Id3v2/FrameHeader.cs: * src/TagLib/Id3v2/Header.cs: * src/TagLib/ByteVector.cs: * src/TagLib/Ape/StreamHeader.cs: Documentation. svn path=/trunk/taglib-sharp/; revision=85860 commit c172f173c6f06518c7323c14d43bd273b58e1392 Author: Brian Nickel Date: Wed Sep 5 19:25:26 2007 2007-09-05 Brian Nickel * src/TagLib/Flac/Block.cs: Completed docs. * src/TagLib/Id3v2/Tag.cs: GetItemAsUInt32 was fubar and always returning zero. (Thanks to renzska for the bug report.) Always set the encoding to the default when setting the contents of a frame. This should hopefully prevent bad encoding. (Thanks to evgeni for the bug report.) * src/TagLib/Ape/Tag.cs: GetItemAsUInt32 was fubar and always returning zero. * configure.ac: Now 2.0.2.13. svn path=/trunk/taglib-sharp/; revision=85387 commit 7073f245a80d975f37c51d0d21b3f5da68dd6057 Author: Brian Nickel Date: Tue Sep 4 02:17:55 2007 2007-09-04 Brian Nickel Only 713 public members away from doing away with MonoDoc. * src/TagLib/Flac/File.cs: Completed docs. * src/TagLib/ByteVectorList.cs: * src/TagLib/Id3v1/Tag.cs: * src/TagLib/Id3v1/StringHandler.cs: * 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/Genres.cs: * src/TagLib/Id3v2/Tag.cs: * src/TagLib/Id3v2/Footer.cs: * src/TagLib/Id3v2/SynchData.cs: * src/TagLib/Id3v2/FrameTypes.cs: * src/TagLib/Id3v2/FrameFactory.cs: * src/TagLib/Id3v2/FrameHeader.cs: * src/TagLib/Id3v2/Header.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/AttachedPictureFrame.cs: * src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs: * src/TagLib/Id3v2/Frames/TermsOfUseFrame.cs: * src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: * src/TagLib/Id3v2/Frames/UnknownFrame.cs: * src/TagLib/Id3v2/ExtendedHeader.cs: * src/TagLib/Id3v2/Frame.cs: * src/TagLib/ByteVector.cs: * src/TagLib/Properties.cs: * src/TagLib/SupportedMimeType.cs: * src/TagLib/Flac/Picture.cs: * src/TagLib/Flac/BlockHeader.cs: * src/TagLib/Flac/StreamHeader.cs: * src/TagLib/Flac/Block.cs: * src/TagLib/Ape/Tag.cs: * src/TagLib/Ape/Footer.cs: * src/TagLib/StringList.cs: * src/TagLib/FileTypes.cs: * src/TagLib/ListBase.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleTableBox.cs: * src/TagLib/Mpeg4/Boxes/AppleItemListBox.cs: * src/TagLib/Mpeg4/Boxes/IsoUserDataBox.cs: * src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/AppleAnnotationBox.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs: * src/TagLib/Mpeg4/Boxes/IsoMetaBox.cs: * src/TagLib/Mpeg4/FileParser.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Mpeg4/Box.cs: * src/TagLib/Picture.cs: * src/TagLib/Tag.cs: * src/TagLib/File.cs: * src/TagLib/Debugger.cs: * src/TagLib/Asf/Tag.cs: * src/TagLib/Asf/HeaderExtensionObject.cs: * src/TagLib/Asf/HeaderObject.cs: * src/TagLib/Asf/File.cs: * src/TagLib/Asf/ExtendedContentDescriptionObject.cs: * src/TagLib/Asf/Guid.cs: * src/TagLib/Asf/MetadataLibraryObject.cs: * src/TagLib/Ogg/XiphComment.cs: * src/TagLib/Ogg/Page.cs: * src/TagLib/Ogg/Codecs/Theora.cs: * src/TagLib/Ogg/Codecs/Vorbis.cs: * src/TagLib/Ogg/Codec.cs: * src/TagLib/Ogg/File.cs: * src/TagLib/Ogg/Paginator.cs: * src/TagLib/Ogg/PageHeader.cs: * src/TagLib/Ogg/GroupedComment.cs: * src/TagLib/Ogg/Bitstream.cs: * src/AssemblyInfo.cs.in: Replaced headers and use cref="T:...`1" instead of "...{T}" until gmcs is fixed. This reduces warnings to strictly CS1591. svn path=/trunk/taglib-sharp/; revision=85255 commit 4721677e816f851bc30009cd35145ad4c3610c9a Author: Brian Nickel Date: Mon Sep 3 15:57:36 2007 2007-09-03 Brian Nickel * src/TagLib/Id3v2/Tag.cs: Renamed private method. Tidied up Read. * src/TagLib/Ape/Item.cs: Fixed some documentation. * src/TagLib/Ape/Tag.cs: * src/TagLib/Ape/Footer.cs: * src/TagLib/Asf/Tag.cs: * src/TagLib/Asf/HeaderExtensionObject.cs: * src/TagLib/Asf/File.cs: * src/TagLib/Asf/HeaderObject.cs: * src/TagLib/Asf/DescriptionRecord.cs: * src/TagLib/Asf/FilePropertiesObject.cs: * src/TagLib/Asf/ExtendedContentDescriptionObject.cs: * src/TagLib/Asf/UnknownObject.cs: * src/TagLib/Asf/Guid.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/Asf/ContentDescriptor.cs: Completed docs. svn path=/trunk/taglib-sharp/; revision=85245 commit e99b1e6e4727bfe7babe83c31a0a21686e356d22 Author: Brian Nickel Date: Fri Aug 31 12:05:20 2007 2007-08-31 Brian Nickel * src/TagLib/Ape/File.cs: * src/TagLib/Ape/StreamHeader.cs: * src/TagLib/FileTypes.cs: Added support for reading APE files. (Thanks to hwahrmann for authoring the classes.) * src/TagLib/Id3v2/Tag.cs: Fixed docs. * src/TagLib/Ape/Item.cs: Completed docs. * src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs: Prevent ArgumentOutOfRangeException when a corrupt frame is encountered. (Thanks to jms for the bug report.) * src/TagLib/Id3v1/Tag.cs: * src/TagLib/Riff/List.cs: * src/TagLib/Riff/DivXTag.cs: * src/TagLib/Riff/ListTag.cs: * src/TagLib/Riff/InfoTag.cs: * src/TagLib/Riff/MovieIdTag.cs: * src/TagLib/ByteVector.cs: * src/TagLib/Properties.cs: * src/TagLib/Ape/Tag.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Tag.cs: * src/TagLib/Asf/Tag.cs: * src/TagLib/Ogg/XiphComment.cs: Removed StringCollection usage (and replaced some collections with arrays. * src/TagLib/TagLib.sources: * src/taglib-sharp.mdp: * taglib-sharp.csproj: Added files. * configure.ac: Now 2.0.2.12. svn path=/trunk/taglib-sharp/; revision=85146 commit aa88901e9133c8632e00673af9f1d784ea41fdb0 Author: Brian Nickel Date: Tue Aug 28 19:36:24 2007 2007-08-28 Brian Nickel * src/TagLib/Ape/Tag.cs: Stop parsing when a corrupt item is detected. * src/TagLib/Ape/Item.cs: UTF-8 encoded length != string.Length. Was messing up with Chinese titles. (Thanks to jms for the bug report.) * src/TagLib/CombinedTag.cs: Fix header. * src/TagLib/Id3v2/Tag.cs: Document, add generic GetFrames() * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: * src/TagLib/Id3v2/Frame.cs: * src/TagLib/Mpeg/File.cs: Document. * src/TagLib/Mpeg/VideoHeader.cs: Fix copyright info. * src/TagLib/Mpeg/AudioFile.cs: Fix some typos. * src/TagLib/Properties.cs: * src/TagLib/SupportedMimeType.cs: * src/TagLib/StringList.cs: * src/TagLib/FileTypes.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleTableBox.cs: * src/TagLib/Mpeg4/Boxes/AppleItemListBox.cs: * src/TagLib/Mpeg4/Boxes/IsoUserDataBox.cs: * src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/AppleAnnotationBox.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs: * src/TagLib/Mpeg4/Boxes/IsoMetaBox.cs: * src/TagLib/Mpeg4/FileParser.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Mpeg4/Box.cs: Fixed generics documentation. * src/TagLib/Mpeg4/File.cs: Accidentally marked constructors as protected when copy/pasting code from NonContainer.File. (Thanks to hwahrmann for the bug report.) * configure.ac: Now 2.0.2.11. svn path=/trunk/taglib-sharp/; revision=84985 commit 51805c32c8855c0c1d1b8f2feaba2d96cc066b24 Author: Brian Nickel Date: Fri Aug 24 19:19:12 2007 2007-08-24 Brian Nickel * src/TagLib/Mpeg/AudioHeader.cs: Restore copyright notice. * src/TagLib/ICodec.cs: Wording Change. * src/TagLib/Mpeg/XingHeader.cs: * src/TagLib/Mpeg/VideoHeader.cs: * src/TagLib/Mpeg/AudioFile.cs: * src/TagLib/Mpeg4/Boxes/FullBox.cs: * src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleTableBox.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs: * src/TagLib/Mpeg4/Boxes/AppleAdditionalInfoBox.cs: * src/TagLib/Mpeg4/Boxes/IsoFreeSpaceBox.cs: * src/TagLib/Mpeg4/Boxes/AppleItemListBox.cs: * src/TagLib/Mpeg4/Boxes/IsoUserDataBox.cs: * src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs: * src/TagLib/Mpeg4/Boxes/AppleElementaryStreamDescriptor.cs: * src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs: * src/TagLib/Mpeg4/Boxes/AppleDataBox.cs: * src/TagLib/Mpeg4/Boxes/AppleAnnotationBox.cs: * src/TagLib/Mpeg4/Boxes/UnknownBox.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs: * src/TagLib/Mpeg4/Boxes/IsoMetaBox.cs: * src/TagLib/Mpeg4/FileParser.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Mpeg4/BoxTypes.cs: * src/TagLib/Mpeg4/File.cs: * src/TagLib/Mpeg4/BoxFactory.cs: * src/TagLib/Mpeg4/BoxHeader.cs: * src/TagLib/Mpeg4/Box.cs: Document completely. svn path=/trunk/taglib-sharp/; revision=84838 commit dec5cc67b4341608e15eb276a5c42c27c9277f15 Author: Brian Nickel Date: Mon Aug 20 02:08:28 2007 2007-08-19 Brian Nickel * src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/UnknownBox.cs: Document completely. * src/TagLib/Mpeg4/AppleTag.cs: Committed too soon. File didn't compile. * src/TagLib/Mpeg4/BoxFactory.cs: Forgot a bunch of end tags. * src/TagLib/Mpeg4/Box.cs: Fix doc typo. * src/TagLib/Mpc/StreamHeader.cs: * src/TagLib/WavPack/StreamHeader.cs: Slight change in wording. svn path=/trunk/taglib-sharp/; revision=84428 commit 858f6cfd4adbf14589d3e125b65b61196160a47e Author: Brian Nickel Date: Mon Aug 20 00:40:31 2007 2007-08-19 Brian Nickel * src/TagLib/Id3v2/Frames/PopularimeterFrame.cs: Fix an exception when saving a PopularimeterFrame with a play count of 0. * src/taglib-sharp.mdp: Remove BoxList.cs. It hasn't been used in forever and is an empty file. * src/TagLib/Mpeg4/FileParser.cs: Started documentation. * src/TagLib/Mpeg4/BoxTypes.cs: * src/TagLib/Mpeg4/File.cs: * src/TagLib/Mpeg4/BoxFactory.cs: * src/TagLib/Mpeg4/BoxHeader.cs: * src/TagLib/Mpeg4/BoxList.cs: * src/TagLib/Mpeg4/Box.cs: * src/TagLib/Mpc/File.cs: * src/TagLib/WavPack/File.cs: Completed documentation. * src/TagLib/Mpc/StreamHeader.cs: * src/TagLib/WavPack/StreamHeader.cs: Completed documentation, except for IEquitable overrides. * src/TagLib/Mpeg4/AppleTag.cs: Completed documentation, except for IEnumerable overrides. * configure.ac: Now 2.0.2.10. svn path=/trunk/taglib-sharp/; revision=84426 commit 9bc89ce4e9eee861e891e30621b3e74f6f9d85f5 Author: Brian Nickel Date: Sun Aug 19 14:07:59 2007 2007-08-19 Brian Nickel * src/TagLib/File.cs: Fix some typos in documentation. * src/TagLib/NonContainer/Tag.cs: * src/TagLib/NonContainer/File.cs: * src/TagLib/NonContainer/EndTag.cs: * src/TagLib/NonContainer/StartTag.cs: Document completely. svn path=/trunk/taglib-sharp/; revision=84408 commit 72482ecc56ce43af5ec646017224da66006a30bb Author: Brian Nickel Date: Fri Aug 17 18:37:31 2007 2007-08-17 Brian Nickel * src/TagLib/Mpeg/AudioHeader.cs: Go back to setting XingHeader early, there are just too many things that depend on `this'. (Thanks to jmurphy for the bug report.) * src/TagLib/Ape/Tag.cs: Support APEv2 cover pictures. (Thanks to renzska for the feature request.) * src/TagLib/Picture.cs: Add new constructors, obsolete CreateFromFile and CreateFromPath, detect GIF and BMP files. * src/TagLib/NonContainer/EndTag.cs: Check that the footer contains sane values. * configure.ac: Now 2.0.2.9. Remove pkgconfig check for Mono. It isn't really needed. 2007-08-16 Brian Nickel * src/TagLib/Asf/Tag.cs: * src/TagLib/Asf/File.cs: * src/TagLib/Asf/HeaderObject.cs: * src/TagLib/Asf/DescriptionRecord.cs: * src/TagLib/Asf/MetadataLibraryObject.cs: * src/TagLib/Asf/ContentDescriptor.cs: Added support for the ASF Metadata Library Object. This object supports content descriptors as big as uint.MaxValue as opposed to ushort.MaxValue. Tag.Pictures now reads from this source as well, and large pictures are now written to it. They were previously ignored. (Thanks to renzska for the bug report.) * src/TagLib/TagLib.sources: * src/taglib-sharp.mdp: * taglib-sharp.csproj: Added new files. * configure.ac: Now 2.0.2.8 svn path=/trunk/taglib-sharp/; revision=84339 commit e924fe536ed5c029be3103f25fd0434ed9282635 Author: Brian Nickel Date: Thu Aug 16 16:28:34 2007 2007-08-16 Brian Nickel * src/TagLib/Mpeg/AudioHeader.cs: Use non-property checks in public constructor, assigning the XingHeader after sanity tests was causing compiler problems on MS .NET. (Thanks to jmurphy for the bug report.) * configure.ac: Now 2.0.2.7 svn path=/trunk/taglib-sharp/; revision=84242 commit a2bb91062fccaf01b72f333aa5317b1291b233b2 Author: Brian Nickel Date: Tue Aug 14 16:50:47 2007 2007-08-14 Brian Nickel * src/TagLib/Mpeg/XingHeader.cs: Add XingHeader.FileIdentifier to speed things up. * src/TagLib/Mpeg/AudioHeader.cs: Fully document, reformat and add a check for the Xing identifier before calling the constructor to avoid an unnecessary exception/try/catch. * src/TagLib/ICodec.cs: Correct some documentation. * src/TagLib/Properties.cs: * src/TagLib/SupportedMimeType.cs: * src/TagLib/StringList.cs: * src/TagLib/FileTypes.cs: Correct for documentation compiler warning. * taglib-sharp.csproj: Added PopularimeterFrame.cs svn path=/trunk/taglib-sharp/; revision=84123 commit 39f560e77794ae82c5662b9be3efec137793e1a1 Author: Brian Nickel Date: Sun Aug 12 21:54:49 2007 2007-08-12 Brian Nickel * src/TagLib/Id3v2/FrameTypes.cs: Added POPM * src/TagLib/Id3v2/FrameFactory.cs: Added PopularimeterFrame * src/TagLib/Id3v2/Frames/PopularimeterFrame.cs: NEW. Supports ID3v2 POPM (4.17) frame. (Thanks to renzska for the feature request.) * src/TagLib/Id3v2/Frames/PlayCountFrame.cs: Removed 'using System.Collections; * src/TagLib/TagLib.sources: * src/taglib-sharp.mdp: Added PopularimeterFrame.cs * configure.ac: Now 2.0.2.5 svn path=/trunk/taglib-sharp/; revision=83929 commit b73f68526f3f4b6387b2374a5859d0ab08f284e3 Author: Brian Nickel Date: Sun Aug 12 21:03:16 2007 2007-08-12 Brian Nickel * src/TagLib/Riff/List.cs: Reordered operations. Was incrementing a value after it would have made a difference. * src/TagLib/Id3v2/Tag.cs: Added static UseNumericGenres which can be set to false to prevent genres from being stored as ID3v1 indices. (Thanks to craig for the feature request.) * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Use a StringBuilder instead of + operations when formatting genres. * src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs: Check that a negative length is not being passed to Mid if '\0' is not found. * src/TagLib/Mpeg4/BoxTypes.cs: Add Mdat. * src/TagLib/Riff/File.cs: * src/TagLib/Mpeg4/FileParser.cs: * src/TagLib/Mpeg4/File.cs: * src/TagLib/NonContainer/File.cs: * src/TagLib/Asf/File.cs: * src/TagLib/Ogg/File.cs: * src/TagLib/File.cs: Added InvariantStartPosition and InvariantEndPosition describing the invariant/media section of the file that should be uneffected by TagLib# write operations. (Thanks to AgentS and kajic for their feature requests.) * configure.ac: Now 2.0.2.4 svn path=/trunk/taglib-sharp/; revision=83928 commit 2a9900eb9e53f4981e69d7539ad9676e97337ecd Author: Brian Nickel Date: Thu Aug 2 14:11:17 2007 2007-08-02 Brian Nickel * src/TagLib/Id3v2/Frame.cs: Files were throwing ArgumentOutOfRange exceptions after the changes on 2007-07-29. It now checks that the ByteVector contains enough bytes and if not throws a CorruptFileException. (Caught in TagLib.Id3v2.Tag) * src/TagLib/Mpeg/AudioFile.cs: Limit scanning to only the first 0x4000 bytes of the audio stream to avoid reading bad files forever. I got no false negatives at 0x1000 so I'm hoping this is enough. If not, I can throttle it up more. (Thanks to its-me for the bug report.) * configure.ac: Now 2.0.2.3 svn path=/trunk/taglib-sharp/; revision=83326 commit 10e4154a026075bd5d71bd037f420a29632fad42 Author: Brian Nickel Date: Sun Jul 29 19:13:12 2007 2007-07-29 Brian Nickel * src/TagLib/CombinedTag.cs: Fully documented and replaced the protected constructor with a public one, as it wasn't protecting anything and causing a compiler error in Orcas. (Thanks to jmurphy for the bug report.) * src/TagLib/ByteVectorList.cs: Reformatted code. I had beautiful documentation, but MonoDevelop crashed. :( * src/TagLib/ByteVector.cs: Started documenting and adding some exceptions rather than letting them occur in the underlying methods. * src/TagLib/ListBase.cs: Reformatted code. * src/TagLib/File.cs: Added total documentation. * src/TagLib/Debugger.cs: Reformatted code. * src/Makefile.am: * Makefile.am: Added MonoDevelop files to EXTRA_DIST. (Thanks to jopsen for pointing this out.) * configure.ac: Now 2.0.2.2 svn path=/trunk/taglib-sharp/; revision=82949 commit a97b7b6cb35ddf46e50ecd2f9b780ef884cb79f7 Author: Brian Nickel Date: Sun Jul 22 22:10:16 2007 2007-07-22 Brian Nickel * src/TagLib/Id3v2/Tag.cs: * src/TagLib/Ape/Tag.cs: * src/TagLib/Ogg/XiphComment.cs: Parse beats per minute as floating point numbers, round them, and then convert them to uints. Values were showing up as 0 if a decimal point was present. (Thanks to nokturnal for the bug report.) * src/TagLib/ByteVector.cs: Switch back from "_data" to "data" * src/TagLib/ICodec.cs: Minor reorganization. * src/TagLib/Genres.cs: * src/TagLib/Properties.cs: * src/TagLib/SupportedMimeType.cs: * src/TagLib/StringList.cs: * src/TagLib/FileTypes.cs: * src/TagLib/Tag.cs: * src/TagLib/Picture.cs: * src/TagLib/File.cs: * src/TagLib/ReadOnlyByteVector.cs: Documentation. * configure.ac: Now 2.0.2.1 svn path=/trunk/taglib-sharp/; revision=82456 commit 0e14c9adc24e5ac99750969221919deb9bf8e3c5 Author: Brian Nickel Date: Tue Jul 3 16:55:49 2007 2007-07-03 Brian Nickel +-------------+ | VERSON BUMP | | 2.0.2 | +-------------+ * src/TagLib/Id3v2/Frames/MusicCdIdentifierFrame.cs: Fix docs. * src/TagLib/File.cs: Some doc work. * src/AssemblyInfo.cs.in: Conditionally sign the assembly. * src/AssemblyInfo-windows.cs: DELETED. AssemblyInfo.cs.in is all that's necessary. * src/Makefile.am: Add distwin target * windows-files/TagLibSharpDocs.chm: Added. * configure.ac: Don't use svn revision because it is greater than ushort.MaxValue. * Makefile.am: Add distwin target. * NEWS: Updated for new release. * src/taglib-sharp.mdp: * taglib-sharp.csproj: Use AssemblyInfo.cs. svn path=/trunk/taglib-sharp/; revision=81300 commit 79cfd2193845680ba33239ed8caebcc557baadc4 Author: Brian Nickel Date: Wed Jun 27 14:24:22 2007 2007-06-27 Brian Nickel * src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs: Fixed reading problem with UTF-16 encoded descriptions. (Thanks to renzska for the bug report.) * src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs: * src/TagLib/Id3v2/Frames/CommentsFrame.cs: * src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: Use Mono coding guidelines. * src/TagLib/Asf/File.cs: Added ReadObject and detection of HeaderExtensionObject. * src/TagLib/TagLib.sources: Added HeaderExtensionObject.cs * src/TagLib/Asf/HeaderExtensionObject.cs: ADDED. This will be used to store large objects in the future (pictures bigger than 64k). * src/TagLib/Asf/Guid.cs: Added GUID's for HeaderExtensionObject. * src/AssemblyInfo.cs.in: Cleaned up. * src/AssemblyInfo-windows.cs: Cleaned up. * src/taglib-sharp.mdp: Added HeaderExtensionObject.cs * configure.ac: Removed extra line. * taglib-sharp.csproj: Added HeaderExtensionObject.cs svn path=/trunk/taglib-sharp/; revision=80908 commit d64cabf8b151ede0344b16993c3193bdf4a03faa Author: Brian Nickel Date: Tue Jun 26 17:18:51 2007 2007-06-26 Brian Nickel * src/TagLib/Id3v2/Frames/CommentsFrame.cs: Readd ToString. * src/TagLib/Mpeg/XingHeader.cs: Don't throw an exception just because the header doesn't contain everything we want. * src/TagLib/Mpeg/AudioHeader.cs: Prevent infinite loop. (Thanks to sambeckett for the bug report.) Add "VBR" to the description if a Xing header is present. * tests/fixtures/TagLib.FormatTests/FlacFormatTest.cs: * tests/fixtures/TagLib.FormatTests/Id3V1FormatTest.cs: * tests/fixtures/TagLib.FormatTests/Id3V2FormatTest.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: Use Performers instead of Artists. svn path=/trunk/taglib-sharp/; revision=80824 commit 57a64ea15651bdff2590e848019b5a5756ee620a Author: Brian Nickel Date: Tue Jun 26 15:03:02 2007 2007-06-26 Brian Nickel * src/TagLib/CorruptFileException.cs: * src/TagLib/Id3v2/Frames/CommentsFrame.cs: * src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs: * src/TagLib/Id3v2/Frames/PrivateFrame.cs: * src/TagLib/Id3v2/Frames/MusicCdIdentifierFrame.cs: * src/TagLib/Id3v2/Frames/PlayCountFrame.cs: * src/TagLib/UnsupportedFormatException.cs: Added XML documentation. * src/TagLib/Tag.cs: Started XML documentation. Artists was pointing nowhere. Pointed at Performers. * src/TagLib/ByteVector.cs: ByteVector.Find was not returning -1 if searching at (data.Count == pattern.Count + offset). Caused extra '\0' to appear in comment frames. (Thanks to gozza11 for the bug report.) * src/taglib-sharp.mdp: * configure.ac: Work with "make distcheck" * Makefile.am: Include "svn-version" in dist. svn path=/trunk/taglib-sharp/; revision=80813 commit 3d8229605f78912b8bc388caead7477d10a79075 Author: Brian Nickel Date: Mon Jun 25 04:14:11 2007 2007-06-25 Brian Nickel * src/TagLib/Id3v2/Frames/PrivateFrame.cs: Set to this.data instead of data in constructor. Thanks to pipes for the bug report.) * configure.ac: Make the fourth part of the assembly version equal to the SVN revision. svn path=/trunk/taglib-sharp/; revision=80676 commit 47b75955913dfaf484f41a67cc5e4e884c6acd23 Author: Brian Nickel Date: Mon Jun 25 00:00:24 2007 2007-06-24 Brian Nickel +-------------+ | VERSON BUMP | | 2.0.1 | +-------------+ * src/AssemblyInfo.cs.in: * configure.ac: * src/Makefile.am: * src/policy.2.0.taglib-sharp.config.in: Install a policy in GAC so assemblies compiled against older versions use 2.0.1.0. * src/AssemblyInfo-windows.cs: Version bump. * NEWS: Information on new release. svn path=/trunk/taglib-sharp/; revision=80664 commit 9a88cb7cb9b4eae8420bdd20027d897b2d9e0a33 Author: Brian Nickel Date: Sun Jun 24 13:25:16 2007 2007-06-24 Brian Nickel * src/TagLib/Id3v2/Tag.cs: Fixed bug in commit from 2007-06-20. TPE2 and TPE1 were being swapped when they were stored. (Thanks to jmurphy for the but report.) svn path=/trunk/taglib-sharp/; revision=80640 commit 6d4d454d1c8b261e5727f76ef8ccdb5c2f63b194 Author: Brian Nickel Date: Sun Jun 24 13:09:19 2007 2007-06-24 Brian Nickel * src/TagLib/Id3v2/Frames/CommentsFrame.cs: Split the string into 3 pieces instead of 2. This way nil delimiters and badly formatted strings don't mess up the value. (Thanks to gozza11 for the but report.) svn path=/trunk/taglib-sharp/; revision=80639 commit 9822af3a64b57f64c4371657a27a7d9aac65182d Author: Brian Nickel Date: Fri Jun 22 13:55:23 2007 2007-06-22 Brian Nickel * src/TagLib/Id3v2/Tag.cs: Remove picture frames if Picture is set to null or an empty array. (Thanks to wilson for the but report.) svn path=/trunk/taglib-sharp/; revision=80569 commit c93afd260939a6fd9616e7ba22a186c0e13e3514 Author: Brian Nickel Date: Wed Jun 20 16:12:06 2007 2007-06-20 Brian Nickel * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Asf/Tag.cs: Don't return Performers if AlbumArtists is not found. This, provided with the second to last commit should resolve inconsistancies in the behaviour. (Thanks to JustinC for the bug report, otherwise that travesty that is the previous implementation may have gone on forever.) * src/TagLib/Tag.cs: Fix typos. svn path=/trunk/taglib-sharp/; revision=80366 commit aebd6b8ec644a70946a1d880ffc2cd16f0752004 Author: Brian Nickel Date: Wed Jun 20 15:49:35 2007 2007-06-20 Brian Nickel * 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/AttachedPictureFrame.cs: * src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs: * src/TagLib/Id3v2/Frames/PrivateFrame.cs: * src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Use ByteVector.TextDelimiter instead of Frame.TextDelimiter. * src/TagLib/Id3v2/Frame.cs: Mark TextDelimiter as obsolete. * src/TagLib/ByteVector.cs: Add TextDelimiter method. * src/TagLib/Asf/Tag.cs: Discard new pictures if their rendered size is greater than 64KB to avoid corrupting files. (Thanks to renzska for the bug report.) svn path=/trunk/taglib-sharp/; revision=80364 commit 0825a9eff914087b1140c62510af9d5e52233ad6 Author: Brian Nickel Date: Wed Jun 20 13:53:22 2007 2007-06-20 Brian Nickel * src/TagLib/Id3v1/Tag.cs: Rework to match Picard specs. * src/TagLib/Riff/DivXTag.cs: Rework to match Picard specs. * src/TagLib/Riff/MovieIdTag.cs: Rework to match Picard specs. * src/TagLib/Id3v2/Tag.cs: Rework to match Picard specs. * src/TagLib/Ape/Tag.cs: Rework to match Picard specs. * src/TagLib/Ogg/XiphComment.cs: Rework to match Picard specs. * src/TagLib/Tag.cs: Added JoinedAlbumArtists and FirstAlbumArtist. Changed JoinedArtists and FirstArtist to point to Performers (marked as obsolete), and added Artists which points to Performers (also obsolete). This should aleviate confusion. svn path=/trunk/taglib-sharp/; revision=80346 commit 53d5e285be01c51179b2efdd3043c096d5b7aa12 Author: Brian Nickel Date: Tue Jun 12 22:06:22 2007 2007-06-12 Brian Nickel * src/TagLib/Mpeg4/File.cs: Fix support for writing files that don't have UTDA tags. (Thanks to renzska for the bug report.) * src/TagLib/Mpeg4/Box.cs: Fix support for clearing boxes. (Thanks to maciej for the bug report.) Calculate padding size based on DataSize rather than header.DataSize. Fixes problem where 4 bytes are added on every save. (Discovered in bug report by lindea.) * src/TagLib/Riff/WaveFormatEx.cs: Recognize WMA Lossless. (Thanks to JustinC for the patch.) * ALSO: Thanks to JustinC for reminding me to credit people for their contributions. With the countless audio and video files in existence, TagLib# would be far less complete and considerably buggier if not for everyone's contributions. Thank you! svn path=/trunk/taglib-sharp/; revision=79373 commit ade972de4e7356cdc8cf795f7ba53e50362cc556 Author: Brian Nickel Date: Mon Jun 11 11:25:26 2007 2007-06-11 Brian Nickel * src/TagLib/Ogg/Paginator.cs: Fix save support in OGG. Thanks to maciej for pointing this out. * NEWS: Added NEWS file. svn path=/trunk/taglib-sharp/; revision=79189 commit c0ddc28818c88bf1233c08f5b3eec7636b457fcb Author: Brian Nickel Date: Sun Jun 10 23:17:48 2007 This one got away. svn path=/trunk/taglib-sharp/; revision=79141 commit 2d1b94fdcae2bb96ae99b8d92ede76785be36a16 Author: Brian Nickel Date: Sun Jun 10 23:16:26 2007 2007-06-10 Brian Nickel +-------------+ | VERSON BUMP | | 2.0.0 | +-------------+ The official announcement, tarballs, and excessive drinking will come tomorrow after I get Windows documentation in order. In the mean time I'll tidy up the site a bit. * src/TagLib/Id3v2/Tag.cs: Combine TYER, TDAT, and TIME into a single TDRC, rather than discarding TDAT and TIME. * src/TagLib/Id3v2/FrameTypes.cs: Add some more types. * src/TagLib/Id3v2/FrameFactory.cs: Change for renamed frames. * src/TagLib/Id3v2/FrameHeader.cs: Don't discard TIME and TDAT. * src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs: Remove SetText. It is redundant and identical to set_Text. * src/TagLib/Id3v2/Frames/CommentsFrame.cs: Remove SetText. It is redundant and identical to set_Text. * src/TagLib/Id3v2/Frames/MusicCdIdentifierFrame.cs: Rename MusicCdIdentifier to MusicCdIdentiferFrame. I don't know how I made that mistake. * src/TagLib/Id3v2/Frames/TermsOfUseFrame.cs: Remove SetText. It is redundant and identical to set_Text. * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Rename to TextInformationFrame to better reflect specification. (Text Identification frame is a subset of Text Information Frame). Split TDRC into TYER, TDAT, and TIME if saving as version 2.3. * src/TagLib/Id3v2/Frame.cs: Make Render virtual to allow for more robust features. (Applied in TextInformationFrame.) * src/TagLib/ByteVector.cs: Fix typo. * src/TagLib/Ape/Tag.cs: Make enumerable. * src/TagLib/Mpeg4/Box.cs: Remove GetChild(System.Type), as all other System.Type based functionality has been removed. * src/AssemblyInfo-windows.cs: Version bump. * configure.ac: Version bump. Remove unit tests to shrink tarball. * Makefile.am: Remove unit tests to shrink tarball. svn path=/trunk/taglib-sharp/; revision=79140 commit 431bae630b26d16cf932513a1ecb6363c13ee3d8 Author: Brian Nickel Date: Sun Jun 10 23:03:03 2007 2007-06-10 Brian Nickel * docs/*: Get 100% caught up. svn path=/trunk/taglib-sharp/; revision=79138 commit c64d9fe099276baf58844658bf55b24cf00d39a9 Author: Brian Nickel Date: Thu Jun 7 16:35:01 2007 2007-06-07 Brian Nickel * src/TagLib/CombinedTag.cs: Add Tag.Clear, Tag.IsEmpty * src/TagLib/Id3v1/Tag.cs: Add Tag.Clear, Tag.IsEmpty * src/TagLib/Riff/File.cs: Use ReadOnlyByteVector. * src/TagLib/Riff/DivXTag.cs: Add Tag.Clear, Tag.IsEmpty * src/TagLib/Riff/ListTag.cs: Add Tag.Clear, Tag.IsEmpty * src/TagLib/Id3v2/Tag.cs: * src/TagLib/Id3v2/Footer.cs: * src/TagLib/Id3v2/FrameTypes.cs: * src/TagLib/Id3v2/FrameFactory.cs: * src/TagLib/Id3v2/FrameHeader.cs: * src/TagLib/Id3v2/Header.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/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: Use TagLib.Id3v2.FrameType instead of hard- coding. Cuts out a lot of read time. * src/TagLib/Flac/File.cs: Use ReadOnlyByteVector. * src/TagLib/Flac/Block.cs: BlockSize instead of Size. * src/TagLib/Ape/Tag.cs: Add Tag.Clear, Tag.IsEmpty * src/TagLib/Ape/Footer.cs: Use ReadOnlyByteVector. * src/TagLib/Ape/Item.cs: Use ReadOnlyByteVector. * src/TagLib/Mpeg4/Boxes/AppleAdditionalInfoBox.cs:Don't parse text before its needed. * src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs: * src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs: * src/TagLib/Mpeg4/Boxes/AppleElementaryStreamDescriptor.cs: * src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs: Don't do extra seeks. * src/TagLib/Mpeg4/FileParser.cs: Use do/while instead of for. Was doing extra reading. * src/TagLib/Mpeg4/AppleTag.cs: Add Tag.Clear, Tag.IsEmpty * src/TagLib/Mpeg4/BoxTypes.cs: Make internal. * src/TagLib/Mpeg4/File.cs: * src/TagLib/Mpeg4/BoxFactory.cs: * src/TagLib/Mpeg4/BoxHeader.cs: * src/TagLib/Mpeg4/Box.cs: Rename "BoxTypes" to "BoxType" * src/TagLib/Mpc/StreamHeader.cs: Use ReadOnlyByteVector * src/TagLib/Tag.cs: Add Tag.Clear * src/TagLib/File.cs: Do away with ReadBlock(uint) * src/TagLib/WavPack/StreamHeader.cs: Use ReadOnlyByteVector. * src/TagLib/Asf/Tag.cs: Add Tag.Clear, Tag.IsEmpty * src/TagLib/Asf/ContentDescriptionObject.cs: Add IsEmpty * src/TagLib/Asf/ExtendedContentDescriptionObject.cs: Add IsEmpty * src/TagLib/Ogg/XiphComment.cs: Add Tag.Clear * src/TagLib/Ogg/PageHeader.cs: Use ReadBlock(int) * src/TagLib/Ogg/GroupedComment.cs: Add Tag.Clear * docs/en/TagLib.Riff/DivXTag.xml * docs/en/TagLib.Riff/File.xml * docs/en/TagLib.Id3v1/Tag.xml * docs/en/TagLib.Id3v2/Header.xml * docs/en/TagLib.Id3v2/Frame.xml * docs/en/TagLib.Id3v2/Footer.xml * docs/en/TagLib.Id3v2/FrameHeader.xml * docs/en/TagLib.Mpeg/AudioFile.xml * docs/en/TagLib.Mpeg/File.xml * docs/en/TagLib.WavPack/StreamHeader.xml * docs/en/TagLib.WavPack/File.xml * docs/en/TagLib/Tag.xml * docs/en/TagLib/File.xml * docs/en/index.xml * docs/en/TagLib.Flac/Metadata.xml * docs/en/TagLib.Flac/Block.xml * docs/en/TagLib.Flac/File.xml * docs/en/TagLib.Ape/Tag.xml * docs/en/TagLib.Ape/Footer.xml * docs/en/TagLib.MusePack/StreamHeader.xml * docs/en/TagLib.MusePack/File.xml * docs/en/TagLib.Asf/ContentDescriptionObject.xml * docs/en/TagLib.Asf/ExtendedContentDescriptionObject.xml * docs/en/TagLib.Asf/Tag.xml * docs/en/TagLib.Asf/File.xml * docs/en/TagLib.Ogg/GroupedComment.xml * docs/en/TagLib.Ogg/XiphComment.xml * docs/en/TagLib.Ogg/File.xml * docs/en/TagLib.Mpeg4/Box.xml * docs/en/TagLib.Mpeg4/AppleTag.xml * docs/en/TagLib.Mpeg4/BoxTypes.xml * docs/en/TagLib.Mpeg4/File.xml: Synched docs. svn path=/trunk/taglib-sharp/; revision=78896 commit 781f167791ed0fcb5ebae418ca57b1721b66a847 Author: Brian Nickel Date: Mon Jun 4 13:12:47 2007 2007-06-04 Brian Nickel * src/TagLib/Mpeg/File.cs: Prevent overflow. * src/TagLib/Mpc/File.cs: Add support for "mpp" extention. svn path=/trunk/taglib-sharp/; revision=78577 commit f912417fdc8ba070b5ab92bf17e7432cf3140fd9 Author: Brian Nickel Date: Fri Jun 1 19:32:07 2007 2007-06-01 Brian Nickel +-------------+ | VERSON BUMP | | 1.9.99995 | +-------------+ * examples/SetPictures.cs: Fix for API changes. * src/TagLib/ByteVector.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Mpeg4/BoxTypes.cs: * src/TagLib/TagLib.sources: * src/TagLib/ReadOnlyByteVector.cs: * src/taglib-sharp.mdp: * docs/en/TagLib/ReadOnlyByteVector.xml: * docs/en/TagLib/ByteVector.xml: * docs/en/index.xml: * docs/en/TagLib.Mpeg4/BoxTypes.xml: * taglib-sharp.csproj: Add immutable ReadOnlyByteVector. svn path=/trunk/taglib-sharp/; revision=78468 commit 080958d362c0a7da9fe1dea205f7d38a5e87bf34 Author: Brian Nickel Date: Wed May 30 23:38:18 2007 2007-05-30 Brian Nickel Redid a lot of the internals of FLAC to make them cleaner. Reverted the change to TagLib.Mpeg4.BoxTypes. The change was safer but slowed things down by 1.7329ms. Perhaps the addition of a superclass, ImmutableByteVector, would help. * src/TagLib/Flac/Picture.cs * src/TagLib/Flac/File.cs * src/TagLib/Flac/BlockHeader.cs * src/TagLib/Flac/Block.cs * src/TagLib/Mpeg4/BoxTypes.cs * docs/en/index.xml * docs/en/TagLib.Flac/Metadata.xml * docs/en/TagLib.Flac/BlockHeader.xml * docs/en/TagLib.Flac/Block.xml * docs/en/TagLib.Mpeg4/BoxTypes.xml: svn path=/trunk/taglib-sharp/; revision=78296 commit 0f13f9425a1cbb030e8bdf295fe4c580adb71eee Merge: 9bb2e24 ca311e4 Author: Brian Nickel Date: Wed May 30 18:47:16 2007 2007-05-30 Brian Nickel Major API changes. The API has been changed a bunch to accommodate Microsoft naming rules, globalization rules, etc. Hundreds of issues brought to light by FxCop. Nothing like throwing a hundred ArgumentNullExceptions, changing "h" to "Header", "last_absolute_granular_position" to "lastAbsoluteGranularPosition", "StringList" to "StringCollection", etc. Another major change is the dropping of TagLib.File.{Push|Pop|Set|Default}FileAbstractionCreator. Now if you want to create a local file, use TagLib.File.Create (string) and if you want to use a stream, or a VFS, or whatever, use TagLib.File.Create(File.IFileAbstraction). This should save a lot of headache and make things a lot safer and cleaner. Sorry to those of you who were using the old API. I've got a few hundred docs to fill in, but then it's 2.0 RC2. * src/TagLib/Mpc/File.cs * src/TagLib/Mpc/StreamHeader.cs * src/TagLib/Tag.cs * src/TagLib/Picture.cs * src/TagLib/CombinedTag.cs * src/TagLib/CorruptFileException.cs * src/TagLib/File.cs * src/TagLib/UnsupportedFormatException.cs * src/TagLib/TagLib.sources * src/TagLib/ByteVectorList.cs * src/TagLib/Id3v1/Tag.cs * src/TagLib/Id3v1/StringHandler.cs * 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/Genres.cs * src/TagLib/Id3v2/Tag.cs * src/TagLib/Id3v2/Footer.cs * src/TagLib/Id3v2/SynchData.cs * src/TagLib/Id3v2/FrameFactory.cs * src/TagLib/Id3v2/FrameHeader.cs * src/TagLib/Id3v2/Header.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/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/Frames/UnknownFrame.cs * src/TagLib/Id3v2/ExtendedHeader.cs * src/TagLib/Id3v2/Frame.cs * src/TagLib/Debugger.cs * src/TagLib/Mpeg/XingHeader.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/IntList.cs * src/TagLib/ICodec.cs * src/TagLib/WavPack/File.cs * src/TagLib/WavPack/StreamHeader.cs * src/TagLib/NonContainer/File.cs * src/TagLib/NonContainer/EndTag.cs * src/TagLib/NonContainer/StartTag.cs * src/TagLib/Properties.cs * src/TagLib/SupportedMimeType.cs * src/TagLib/Ape/Tag.cs * src/TagLib/Ape/Footer.cs * src/TagLib/Ape/Item.cs * src/TagLib/Flac/Picture.cs * src/TagLib/Flac/File.cs * src/TagLib/Flac/BlockHeader.cs * src/TagLib/Flac/StreamHeader.cs * src/TagLib/Flac/Block.cs * src/TagLib/StringList.cs * src/TagLib/Asf/Tag.cs * src/TagLib/Asf/File.cs * src/TagLib/Asf/HeaderObject.cs * src/TagLib/Asf/StreamPropertiesObject.cs * src/TagLib/Asf/FilePropertiesObject.cs * src/TagLib/Asf/ContentDescriptionObject.cs * src/TagLib/Asf/Object.cs * src/TagLib/Asf/UnknownObject.cs * src/TagLib/Asf/ContentDescriptor.cs * src/TagLib/ListBase.cs * src/TagLib/Mpeg4/Boxes/FullBox.cs * src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs * src/TagLib/Mpeg4/Boxes/IsoSampleTableBox.cs * src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs * src/TagLib/Mpeg4/Boxes/IsoSampleEntry.cs * src/TagLib/Mpeg4/Boxes/AppleAdditionalInfoBox.cs * src/TagLib/Mpeg4/Boxes/IsoFreeSpaceBox.cs * src/TagLib/Mpeg4/Boxes/AppleItemListBox.cs * src/TagLib/Mpeg4/Boxes/IsoUserDataBox.cs * src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs * src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs * src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs * src/TagLib/Mpeg4/Boxes/AppleElementaryStreamDescriptor.cs * src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs * src/TagLib/Mpeg4/Boxes/AppleDataBox.cs * src/TagLib/Mpeg4/Boxes/AppleAnnotationBox.cs * src/TagLib/Mpeg4/Boxes/UnknownBox.cs * src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs * src/TagLib/Mpeg4/Boxes/IsoMetaBox.cs * src/TagLib/Mpeg4/FileParser.cs * src/TagLib/Mpeg4/AppleTag.cs * src/TagLib/Mpeg4/BoxTypes.cs * src/TagLib/Mpeg4/File.cs * src/TagLib/Mpeg4/BoxFactory.cs * src/TagLib/Mpeg4/BoxHeader.cs * src/TagLib/Mpeg4/BoxList.cs * src/TagLib/Mpeg4/Box.cs * src/TagLib/Ogg/XiphComment.cs * src/TagLib/Ogg/Page.cs * src/TagLib/Ogg/Codecs/Theora.cs * src/TagLib/Ogg/Codecs/Vorbis.cs * src/TagLib/Ogg/Codec.cs * src/TagLib/Ogg/File.cs * src/TagLib/Ogg/Paginator.cs * src/TagLib/Ogg/PageHeader.cs * src/TagLib/Ogg/GroupedComment.cs * src/TagLib/Ogg/Bitstream.cs * src/AssemblyInfo.cs.in * src/AssemblyInfo-windows.cs * src/taglib-sharp.mdp * docs/en/TagLib.Riff/BitmapInfoHeader.xml * docs/en/TagLib.Riff/AviHeaderList.xml * docs/en/TagLib.Riff/DivXTag.xml * docs/en/TagLib.Riff/ListTag.xml * docs/en/TagLib.Riff/WaveFormatEx.xml * docs/en/TagLib.Riff/AviStream.xml * docs/en/TagLib.Riff/List.xml * docs/en/TagLib.Riff/File.xml * docs/en/TagLib.Id3v1/StringHandler.xml * docs/en/TagLib.Id3v1/Tag.xml * docs/en/TagLib.Id3v2/UniqueFileIdentifierFrame.xml * docs/en/TagLib.Id3v2/AttachedPictureFrame.xml * docs/en/TagLib.Id3v2/PrivateFrame.xml * docs/en/TagLib.Id3v2/Header.xml * docs/en/TagLib.Id3v2/PlayCountFrame.xml * docs/en/TagLib.Id3v2/Frame.xml * docs/en/TagLib.Id3v2/MusicCdIdentifier.xml * docs/en/TagLib.Id3v2/Footer.xml * docs/en/TagLib.Id3v2/CommentsFrame.xml * docs/en/TagLib.Id3v2/TermsOfUseFrame.xml * docs/en/TagLib.Id3v2/GeneralEncapsulatedObjectFrame.xml * docs/en/TagLib.Id3v2/UserTextIdentificationFrame.xml * docs/en/TagLib.Id3v2/SynchronisedLyricsFrame.xml * docs/en/TagLib.Id3v2/TextIdentificationFrame.xml * docs/en/TagLib.Id3v2/UnknownFrame.xml * docs/en/TagLib.Id3v2/Tag.xml * docs/en/TagLib.Id3v2/UnsynchronisedLyricsFrame.xml * docs/en/TagLib.Id3v2/RelativeVolumeFrame.xml * docs/en/TagLib.Mpeg/Marker.xml * docs/en/TagLib.Mpeg/AudioFile.xml * docs/en/TagLib.Mpeg/Version.xml * docs/en/TagLib.Mpeg/AudioHeader.xml * docs/en/TagLib.Mpeg/XingHeader.xml * docs/en/TagLib.Mpeg/VideoHeader.xml * docs/en/TagLib.Mpeg/File.xml * docs/en/TagLib.WavPack/StreamHeader.xml * docs/en/TagLib.WavPack/File.xml * docs/en/TagLib.NonContainer/File.xml * docs/en/TagLib/UnsupportedFormatException.xml * docs/en/TagLib/Genres.xml * docs/en/TagLib/IntList.xml * docs/en/TagLib/ListBase`1.xml * docs/en/TagLib/SupportedMimeType.xml * docs/en/TagLib/File+LocalFileAbstraction.xml * docs/en/TagLib/ByteVectorCollection.xml * docs/en/TagLib/MediaTypes.xml * docs/en/TagLib/Picture.xml * docs/en/TagLib/File.xml * docs/en/TagLib/ByteVectorList.xml * docs/en/TagLib/StringCollection.xml * docs/en/TagLib/ByteVector.xml * docs/en/TagLib/TagTypes.xml * docs/en/TagLib/StringList.xml * docs/en/TagLib/PictureType.xml * docs/en/TagLib/CorruptFileException.xml * docs/en/TagLib/File+FileTypeResolver.xml * docs/en/index.xml * docs/en/TagLib.Flac/BlockHeader.xml * docs/en/TagLib.Flac/StreamHeader.xml * docs/en/TagLib.Flac/Block.xml * docs/en/TagLib.Flac/BlockType.xml * docs/en/TagLib.Flac/File.xml * docs/en/TagLib.Ape/Tag.xml * docs/en/TagLib.Ape/FooterFlags.xml * docs/en/TagLib.Ape/Footer.xml * docs/en/TagLib.Ape/Item.xml * docs/en/TagLib.MusePack/StreamHeader.xml * docs/en/TagLib.MusePack/File.xml * docs/en/TagLib.Asf/Object.xml * docs/en/TagLib.Asf/ContentDescriptor.xml * docs/en/TagLib.Asf/StreamPropertiesObject.xml * docs/en/TagLib.Asf/HeaderObject.xml * docs/en/TagLib.Asf/File.xml * docs/en/TagLib.Ogg/PageHeader.xml * docs/en/TagLib.Ogg/GroupedComment.xml * docs/en/TagLib.Ogg/Bitstream.xml * docs/en/TagLib.Ogg/XiphComment.xml * docs/en/TagLib.Ogg/Page.xml * docs/en/TagLib.Ogg/Codec.xml * docs/en/TagLib.Ogg/File.xml * docs/en/TagLib.Mpeg4/BoxFactory.xml * docs/en/TagLib.Mpeg4/IsoFreeSpaceBox.xml * docs/en/TagLib.Mpeg4/BoxList.xml * docs/en/TagLib.Mpeg4/AppleItemListBox.xml * docs/en/TagLib.Mpeg4/Box.xml * docs/en/TagLib.Mpeg4/IsoUserDataBox.xml * docs/en/TagLib.Mpeg4/FileParser.xml * docs/en/TagLib.Mpeg4/AppleTag.xml * docs/en/TagLib.Mpeg4/AppleDataBox+FlagTypes.xml * docs/en/TagLib.Mpeg4/IsoAudioSampleEntry.xml * docs/en/TagLib.Mpeg4/BoxHeader.xml * docs/en/TagLib.Mpeg4/IsoHandlerBox.xml * docs/en/TagLib.Mpeg4/IsoVisualSampleEntry.xml * docs/en/TagLib.Mpeg4/AppleElementaryStreamDescriptor.xml * docs/en/TagLib.Mpeg4/IsoChunkOffsetBox.xml * docs/en/TagLib.Mpeg4/AppleDataBox.xml * docs/en/TagLib.Mpeg4/AppleAnnotationBox.xml * docs/en/TagLib.Mpeg4/UnknownBox.xml * docs/en/TagLib.Mpeg4/IsoSampleDescriptionBox.xml * docs/en/TagLib.Mpeg4/IsoMetaBox.xml * docs/en/TagLib.Mpeg4/FullBox.xml * docs/en/TagLib.Mpeg4/AppleDataBox+FlagType.xml * docs/en/TagLib.Mpeg4/IsoMovieHeaderBox.xml * docs/en/TagLib.Mpeg4/IsoSampleTableBox.xml * docs/en/TagLib.Mpeg4/BoxTypes.xml * docs/en/TagLib.Mpeg4/IsoChunkLargeOffsetBox.xml * docs/en/TagLib.Mpeg4/IsoSampleEntry.xml * docs/en/TagLib.Mpeg4/AppleAdditionalInfoBox.xml * docs/en/TagLib.Mpeg4/File.xml * tests/tests.mdp * tests/fixtures/TagLib.CollectionTests/ByteVectorListTest.cs * tests/fixtures/TagLib.CollectionTests/StringListTest.cs * tests/fixtures/TagLib.CollectionTests/ByteVectorCollectionTest.cs * tests/fixtures/TagLib.CollectionTests/StringCollectionTest.cs * tests/fixtures/TagLib.CollectionTests/ByteVectorTest.cs * configure.ac * taglib-sharp.csproj * examples/ReadFromUri.cs * examples/muine-use-taglibsharp.patch: Aye Aye Aye! svn path=/trunk/taglib-sharp/; revision=78279 commit 9bb2e24e3d665c8bb5e258104148765603f650fd Author: Brian Nickel Date: Fri May 25 15:20:09 2007 2007-05-25 Brian Nickel +-------------+ | VERSON BUMP | | 1.9.99994 | +-------------+ * src/TagLib/TagLib.sources: Remove debugger. * src/TagLib/Mpeg/AudioHeader.cs: Compile on Windows. * docs/en/TagLib.Riff/File.xml: * docs/en/TagLib.Mpeg/AudioFile.xml: * docs/en/TagLib.Mpeg/File.xml: * docs/en/TagLib.WavPack/File.xml: * docs/en/index.xml: * docs/en/TagLib.Flac/File.xml: * docs/en/TagLib.MusePack/File.xml: * docs/en/TagLib.Asf/File.xml: * docs/en/TagLib.Ogg/File.xml: * docs/en/TagLib.Mpeg4/File.xml: Fixed tpos. * docs/Makefile.am: Change target. * configure.ac: Version bump. * taglib-sharp.csproj: Add missing files. svn path=/trunk/taglib-sharp/; revision=77970 commit 0a1d5a196b71588470cc829bd8d91ceae7b35c63 Author: Brian Nickel Date: Fri May 25 06:03:46 2007 2007-05-25 Brian Nickel There were changes to 153 files in the last three days. I can't vouch for everything that happened, as I may have blacked out for some portions, but tags now have an abstract Tag.TagTypes property, Everything that should be a struct is, there were a bunch of tiny cleanups, "private Flac.File+PictureTag" is now "public Flac.Metadata"... And as of 3:55 AM (Arizona Time), THERE IS NOT ONE FREAKIN' INSTANCE OF "To be added." IN THE ENTIRE docs/en DIRECTORY. I really must love you guys, 'cause that was really, really painful. * src/TagLib/Tag.cs: * src/TagLib/CombinedTag.cs: * src/TagLib/File.cs: * src/TagLib/Id3v1/Tag.cs: * src/TagLib/Riff/AviStream.cs: * src/TagLib/Riff/File.cs: * src/TagLib/Riff/DivXTag.cs: * src/TagLib/Riff/InfoTag.cs: * src/TagLib/Riff/MovieIdTag.cs: * src/TagLib/Id3v2/Tag.cs: * src/TagLib/Id3v2/Frames/PlayCountFrame.cs: * src/TagLib/Id3v2/ExtendedHeader.cs: * src/TagLib/Mpeg/XingHeader.cs: * src/TagLib/Mpeg/File.cs: * src/TagLib/Mpeg/AudioFile.cs: * src/TagLib/Mpeg/AudioHeader.cs: * src/TagLib/NonContainer/Tag.cs: * src/TagLib/NonContainer/File.cs: * src/TagLib/NonContainer/EndTag.cs: * src/TagLib/NonContainer/StartTag.cs: * src/TagLib/Ape/Tag.cs: * src/TagLib/Flac/Picture.cs: * src/TagLib/Flac/File.cs: * src/TagLib/Flac/StreamHeader.cs: * src/TagLib/Asf/Tag.cs: * src/TagLib/Asf/File.cs: * src/TagLib/Mpeg4/Boxes/FullBox.cs: * src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs: * src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs: * src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs: * src/TagLib/Mpeg4/Boxes/AppleDataBox.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs: * src/TagLib/Mpeg4/FileParser.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Mpeg4/File.cs: * src/TagLib/Mpeg4/BoxFactory.cs: * src/TagLib/Mpeg4/BoxHeader.cs: * src/TagLib/Mpeg4/BoxList.cs: * src/TagLib/Mpeg4/Box.cs: * src/TagLib/Ogg/XiphComment.cs: * src/TagLib/Ogg/Page.cs: * src/TagLib/Ogg/Codecs/Theora.cs: * src/TagLib/Ogg/Codecs/Vorbis.cs: * src/TagLib/Ogg/Codec.cs: * src/TagLib/Ogg/File.cs: * src/TagLib/Ogg/Paginator.cs: * src/TagLib/Ogg/GroupedComment.cs: * src/TagLib/Ogg/Bitstream.cs: * src/taglib-sharp.mdp: 53 C# files changed. * docs/en/*: 100 XML files filled in. svn path=/trunk/taglib-sharp/; revision=77938 commit ac6636ace1213b12802e5e72f1ccf16024712c11 Author: Brian Nickel Date: Tue May 22 18:54:32 2007 2007-05-22 Brian Nickel * src/TagLib/Tag.cs: Make abstract. * src/TagLib/Mpc/File.cs: Make namespace "MusePack". * src/TagLib/Mpc/StreamHeader.cs: Convert to struct. * src/TagLib/File.cs: Store TagTypes as uint. Remove unused read styles. Add File.TagTypes and File.TagTypesOnDisk. Add CloseStream to IFileAbstraction for SilverLight support. * src/TagLib/Riff/File.cs: Add TagTypes. * src/TagLib/ByteVectorList.cs: Remove ToByteVector() * src/TagLib/Id3v2/Tag.cs: * src/TagLib/Id3v2/Footer.cs: * src/TagLib/Id3v2/SynchData.cs: * src/TagLib/Id3v2/FrameFactory.cs: * src/TagLib/Id3v2/FrameHeader.cs: * src/TagLib/Id3v2/Header.cs: * src/TagLib/Id3v2/Frames/PlayCountFrame.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/AttachedPictureFrame.cs: * src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs: * src/TagLib/Id3v2/Frames/PrivateFrame.cs: * src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: * src/TagLib/Id3v2/Frames/UnknownFrame.cs: * src/TagLib/Id3v2/Frame.cs: Significant refactoring. Use byte for version. Use enums for header and frame flags. Use string for language. Unsupported frames and frame properties throw NotImplementedException. Added PlayCountFrame. * src/TagLib/Mpeg/XingHeader.cs: Make struct. * src/TagLib/Mpeg/File.cs: * src/TagLib/Mpeg/VideoHeader.cs: Make struct. * src/TagLib/Mpeg/AudioFile.cs: * src/TagLib/Mpeg/AudioHeader.cs: Make struct. * src/TagLib/Debugger.cs: Make internal. * src/TagLib/ByteVector.cs: Clean up constructors. * src/TagLib/IntList.cs: Clean up constructors. * src/TagLib/WavPack/StreamHeader.cs: Convert to struct. * src/TagLib/NonContainer/Tag.cs: Add TagTypes. * src/TagLib/NonContainer/File.cs: Add TagTypes. * src/TagLib/NonContainer/EndTag.cs: Add TagTypes. * src/TagLib/NonContainer/StartTag.cs: Add TagTypes. * src/TagLib/Ape/Tag.cs: * src/TagLib/Ape/Footer.cs: Make struct. Use enum for flags. * src/TagLib/Flac/File.cs: * src/TagLib/Flac/BlockHeader.cs: Make struct. * src/TagLib/Flac/StreamHeader.cs: Make struct. * src/TagLib/StringList.cs: Clean up constructors. * src/TagLib/FileTypes.cs: Add support for registering types. * src/TagLib/Asf/File.cs: Add TagTypes. * src/TagLib/Asf/HeaderObject.cs: * src/TagLib/Asf/StreamPropertiesObject.cs: * src/TagLib/Asf/FilePropertiesObject.cs: * src/TagLib/Asf/ContentDescriptionObject.cs: * src/TagLib/Asf/Object.cs: * src/TagLib/Asf/Guid.cs: Use System.Guid. * src/TagLib/Asf/ContentDescriptor.cs: Use unsigned types. * src/TagLib/ListBase.cs: Clean up constructors. * src/TagLib/Mpeg4/File.cs: Add TagTypes. * src/TagLib/Ogg/GroupedComment.cs: Add IsEmpty. * src/TagLib/Ogg/File.cs: Add TagTypes. * src/TagLib/Ogg/Page.cs: * src/TagLib/Ogg/Paginator.cs: * src/TagLib/Ogg/Bitstream.cs: * src/TagLib/Ogg/PageHeader.cs: Make PageHeader a struct and add PageFlags. * docs/en/*: Thousands more docs filled out. svn path=/trunk/taglib-sharp/; revision=77818 commit ca311e4c9a676b7e8169eb9f831acfe2eff3ef05 Author: Brian Nickel Date: Sun May 20 05:38:01 2007 2007-05-20 Brian Nickel * src/TagLib/ByteVector.cs: * src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs: Remove accidental System.Console.WriteLine lines. * src/TagLib/File.cs: Make constructor protected. * src/TagLib/Ogg/File.cs: * src/TagLib/Riff/File.cs: Add File(string) constructor. * src/TagLib/Riff/BitmapInfoHeader.cs: * src/TagLib/Riff/ListTag.cs: * src/TagLib/Riff/WaveFormatEx.cs: Tidy up. * src/TagLib/Id3v2/Frame.cs: Parse was redundant. * src/TagLib/Mpeg/AudioHeader.cs: Make stream_length private. * src/TagLib/Ogg/Codecs/Theora.cs: * src/TagLib/Ogg/Codecs/Vorbis.cs: Make constructors private. * docs/en/TagLib.Mpc/StreamHeader.xml: * docs/en/TagLib.Mpc/File.xml: * docs/en/TagLib.Riff.xml: * docs/en/TagLib.Riff/BitmapInfoHeader.xml: * docs/en/TagLib.Riff/InfoTag.xml: * docs/en/TagLib.Riff/ListTag.xml: * docs/en/TagLib.Riff/AviHeader.xml: * docs/en/TagLib.Riff/MovieIdTag.xml: * docs/en/TagLib.Riff/WaveFormatEx.xml: * docs/en/TagLib.Riff/List.xml: * docs/en/TagLib.Riff/File.xml: * docs/en/TagLib.Id3v2/UniqueFileIdentifierFrame.xml: * docs/en/TagLib.Id3v2/AttachedPictureFrame.xml: * docs/en/TagLib.Id3v2/PrivateFrame.xml: * docs/en/TagLib.Id3v2/Frame.xml: * docs/en/TagLib.Id3v2/CommentsFrame.xml: * docs/en/TagLib.Id3v2/UserTextIdentificationFrame.xml: * docs/en/TagLib.Id3v2/GeneralEncapsulatedObjectFrame.xml: * docs/en/TagLib.Id3v2/SynchronisedLyricsFrame.xml: * docs/en/TagLib.Id3v2/TextIdentificationFrame.xml: * docs/en/TagLib.Id3v2/UnknownFrame.xml: * docs/en/TagLib.Id3v2/UnsynchronisedLyricsFrame.xml: * docs/en/TagLib.Id3v2/RelativeVolumeFrame.xml: * docs/en/TagLib.Mpeg/AudioFile.xml: * docs/en/TagLib.Mpeg/AudioHeader.xml: * docs/en/TagLib.Mpeg/VideoHeader.xml: * docs/en/TagLib.Mpeg/File.xml: * docs/en/TagLib.WavPack/StreamHeader.xml: * docs/en/TagLib.WavPack/File.xml: * docs/en/TagLib.NonContainer/File.xml: * docs/en/TagLib/ICodec.xml: * docs/en/TagLib/Properties.xml: * docs/en/TagLib/IAudioCodec.xml: * docs/en/TagLib/IVideoCodec.xml: * docs/en/TagLib/File.xml: * docs/en/TagLib.Flac/StreamHeader.xml: * docs/en/TagLib.Flac/File.xml: * docs/en/TagLib.Asf/File.xml: * docs/en/TagLib.Ogg.Codecs/Theora.xml: * docs/en/TagLib.Ogg.Codecs/Vorbis.xml: * docs/en/TagLib.Ogg/Codec.xml: * docs/en/TagLib.Ogg/File.xml: * docs/en/TagLib.Mpeg4/IsoAudioSampleEntry.xml: * docs/en/TagLib.Mpeg4/IsoVisualSampleEntry.xml: * docs/en/TagLib.Mpeg4/IsoMovieHeaderBox.xml: * docs/en/TagLib.Mpeg4/File.xml: Filled out some docs, baby. svn path=/trunk/taglib-sharp/; revision=77712 commit 8006975cc50d25c3e256d64b9778c6eb76840231 Author: Brian Nickel Date: Sat May 19 01:39:32 2007 2007-05-18 Brian Nickel +-------------+ | VERSON BUMP | | 1.9.99993 | +-------------+ * src/TagLib/TagLib.sources: Fixed typo. * src/TagLib/ByteVector.cs: Fix for reading nil-separated UTF-16 strings. Now StringTypeToEncoding assumes the previously used UTF-16 endianness if a BOM is not found. Additionally, Find and RFind now base byte align on distance from the original offset, not offset from start. * src/TagLib/WavPack/File.cs: * src/TagLib/WavPack/StreamHeader.cs: Reformat code. * src/TagLib/NonContainer/StartTag.cs: Make sure APE tags have headers when placed at the front of a file. * src/TagLib/Ape/Tag.cs: * src/TagLib/Ape/Footer.cs: * src/TagLib/Ape/Item.cs: API changes to improve clarity and functionality. * docs/en/TagLib.Riff/WaveFormatEx.xml: * docs/en/TagLib.WavPack/StreamHeader.xml: * docs/en/TagLib.WavPack/File.xml: * docs/en/TagLib.Ape.xml: * docs/en/TagLib.Ape/ItemType.xml: * docs/en/TagLib.Ape/Tag.xml: * docs/en/TagLib.Ape/Footer.xml: * docs/en/TagLib.Ape/Item.xml: * docs/en/TagLib.Ogg.Codecs/Vorbis.xml: Some solid documentation. TagLib.Ape and TagLib.WavPack namespaces are 100% documented. * docs/Makefile.am: docdir is a bad name, using monodocdir. * configure.ac: Version bump. * taglib-sharp.csproj: Fixed typos. svn path=/trunk/taglib-sharp/; revision=77682 commit 211aa93107e3e49839e40f49a648a696e922107b Author: Brian Nickel Date: Fri May 18 16:52:18 2007 2007-05-18 Brian Nickel * src/TagLib/File.cs: Reprivatize file_stream. * src/TagLib/Id3v2/Footer.cs: Remove SetData. * src/TagLib/Id3v2/Tag.cs: * src/TagLib/Id3v2/FrameFactory.cs: Don't load compressed or encrypted frames rather than corrupting them. * src/TagLib/Id3v2/FrameHeader.cs: Handle flags properly. * src/TagLib/Id3v2/Header.cs: Remove SetData. * 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/AttachedPictureFrame.cs: * src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs: * src/TagLib/Id3v2/Frames/PrivateFrame.cs: * src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: * src/TagLib/Id3v2/Frames/UnknownFrame.cs: Tidy up source. * src/TagLib/Id3v2/ExtendedHeader.cs: Replace SetData with constructor. * src/TagLib/Id3v2/Frame.cs: Improve support for frame flags. * src/TagLib/ByteVector.cs: Privitize SetData. * src/TagLib/Asf/Tag.cs: Provide easy access to multi-string descriptors. * src/TagLib/Mpeg4/AppleTag.cs: If AlbumArtists is empty, use Performers. (The aART data box is pretty new and underused.) * docs/en/*: Updated docs. Stripped duplicates. Filled some out. svn path=/trunk/taglib-sharp/; revision=77671 commit 1801717875bb1f8ac8610324224c0c8a121085cb Author: Aaron Bockover Date: Tue May 15 19:28:35 2007 Fix filename spelling error svn path=/trunk/taglib-sharp/; revision=77447 commit e3e4085b2579a64f68112bc86c125307151cd7c3 Author: Brian Nickel Date: Tue May 15 16:19:18 2007 2007-05-15 Brian Nickel * src/TagLib/Id3v2/Tag.cs: Fix BPM storage. * src/TagLib/Tag.cs: * src/TagLib/CombinedTag.cs: * src/TagLib/Riff/InfoTag.cs: * src/TagLib/Ape/Tag.cs: * src/TagLib/Asf/Tag.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Ogg/XiphComment.cs: * src/TagLib/Ogg/GroupedComment.cs: Rename BPM to BeatsPerMinute. * examples/ReadFromUri.cs: Push/Pop abstractor. Add new tags to output. svn path=/trunk/taglib-sharp/; revision=77441 commit f8bd361bf79fc32e15fb624881e909121ffd96e0 Author: Brian Nickel Date: Tue May 15 02:46:59 2007 2007-05-15 Brian Nickel * src/TagLib/Tag.cs: * src/TagLib/CombinedTag.cs: * src/TagLib/Riff/InfoTag.cs: * src/TagLib/Id3v2/Tag.cs * src/TagLib/Ape/Tag.cs: * src/TagLib/Asf/Tag.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Mpeg4/BoxTypes.cs: * src/TagLib/Ogg/XiphComment.cs: * src/TagLib/Ogg/GroupedComment.cs: Added support for Copyright, BPM, Composer, and Grouping. svn path=/trunk/taglib-sharp/; revision=77393 commit 1621bd2f4bcb7886eea116cfeb273b7ae7c3cd8b Author: Brian Nickel Date: Tue May 15 00:50:19 2007 2007-05-14 Brian Nickel * src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs: Include TextType in Get, GetPreferred, and constructors. svn path=/trunk/taglib-sharp/; revision=77389 commit 11d59b0b728dcbc78088cebc0808582bc2f133d2 Author: Brian Nickel Date: Tue May 15 00:25:31 2007 2007-05-14 Brian Nickel Feature Request: http://forum.taglib-sharp.com/viewtopic.php?f=4&t=12 * src/TagLib/File.cs: Support pushing and poping file abstractors. * src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs: * src/TagLib/Id3v2/Frames/CommentsFrame.cs: * src/TagLib/Id3v2/Tag.cs: Be a little bit smarter when storing lyrics and comments. GetPreferred shouldn't be used for storing, because we want to store in exactly what we want, not a best guess. * src/TagLib/Id3v2/FrameFactory.cs: * src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs: Support synchronized lyrics. * src/TagLib/TagLib.sources: * src/taglib-sharp.mdp: * taglib-sharp.csproj: Added file. svn path=/trunk/taglib-sharp/; revision=77388 commit 1c35339ce18bfe692bd084957935d727456ccfd2 Author: Brian Nickel Date: Thu May 10 16:51:32 2007 2007-05-10 Brian Nickel * src/TagLib/Mpeg/Properties.cs: * src/TagLib/Asf/Properties.cs: * src/TagLib/Ogg/Properties.cs: * src/TagLib/Ogg/Vorbis/File.cs: * src/TagLib/Ogg/Flac/File.cs: * src/TagLib/Mpeg4/Properties.cs: Deleted. I thought MonoDevelop did this automatically. My bad. svn path=/trunk/taglib-sharp/; revision=77167 commit 8231c1b7d8f99e3b19ff8ecd820f5ad9e8668b19 Author: Brian Nickel Date: Wed May 9 22:21:15 2007 2007-05-09 Brian Nickel * src/TagLib/Mpeg/AudioFile.cs: Throw a proper CorruptFileException if AudioHeader isn't found. * src/TagLib/File.cs: * src/TagLib/ICodec.cs: Use FlagsAttribute for sexy output. * docs/taglib-sharp-docs.source: * docs/Makefile.am: * docs/MonodocNodeConfig.cs: Doc stuff mysteriously vanished from SVN a while back. Returning. * examples/ReadFromUri.cs: Cleaned up a bit. * examples/ReadFromUri.boo: First boo example. Would have an IronPython one, but I'm having some issues with inheritance. svn path=/trunk/taglib-sharp/; revision=77104 commit dec6901184e786c5e50fb1f350cce4eedfee404c Author: Brian Nickel Date: Wed May 9 12:58:56 2007 2007-05-09 Brian Nickel +-------------+ | VERSON BUMP | | 1.9.99992 | +-------------+ * src/TagLib/Id3v2/Tag.cs: Use new TextIdentificationFrame.Get * configure.ac: Version bump. svn path=/trunk/taglib-sharp/; revision=77072 commit eb8e3555c05797ad4330e7e348cff509f941ca8f Author: Aaron Bockover Date: Tue May 8 13:17:50 2007 Removed svn path=/trunk/taglib-sharp/; revision=76955 commit 22ef266a4a8fc1d98e54da8be504cb89afaf68c0 Author: Aaron Bockover Date: Tue May 8 13:16:30 2007 2007-05-07 Aaron Bockover * src/TagLib/TagLib.sources: Added a separate file to define what sources to build so that applications bundling TagLib don't have to worry about keeping the list in sync - they can just include the file in their build * src/Makefile.am: Include TagLib/TagLib.sources * docs/Makefile.am: Added an empty/stub file to fix the build for now svn path=/trunk/taglib-sharp/; revision=76954 commit dfe9c553fe1bb09b1410b9b30c595e8c33fb3a5b Author: Brian Nickel Date: Mon May 7 04:11:30 2007 2007-05-07 Brian Nickel * src/TagLib/Riff/File.cs: Add support for WAVE files. Better improve "Read ()" to handle other extensions. (Still pretty ugly.) * src/TagLib/Riff/AviStream.cs: * src/TagLib/Riff/BitmapInfoHeader.cs: * src/TagLib/Riff/AviHeaderList.cs: * src/TagLib/Riff/WaveFormatEx.cs: * src/TagLib/Asf/StreamPropertiesObject.cs: De-stupidify. Make WaveFormatEx and BitmapInfoHeader inheric I*Codec and remove excess formats. svn path=/trunk/taglib-sharp/; revision=76811 commit 5d72c831f294e17dfd10747dca4380b97ce4a562 Author: Brian Nickel Date: Sun May 6 22:25:10 2007 2007-05-04 Brian Nickel * src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs: * src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs: * src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs: * src/TagLib/Id3v2/Frames/PrivateFrame.cs: * src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Added better type checking in "Get" * src/TagLib/ByteVector.cs: Fixed ToStrings align problem from previous revision. * docs/en/*/*.xml: Updated. svn path=/trunk/taglib-sharp/; revision=76805 commit 35595c85aac187b4fd0e3663d4ad4e6316fb0059 Author: Brian Nickel Date: Fri May 4 04:28:34 2007 2007-05-04 Brian Nickel * src/TagLib/Riff/AviStream.cs: * src/TagLib/Riff/BitmapInfoHeader.cs: * src/TagLib/Riff/WaveFormatEx.cs: * src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs: * src/TagLib/Mpeg/File.cs: * src/TagLib/Mpeg/VideoHeader.cs: * src/TagLib/ByteVector.cs: * src/TagLib/WavPack/StreamHeader.cs: * src/TagLib/Ape/Footer.cs: * src/TagLib/Asf/PaddingObject.cs: * src/TagLib/Asf/File.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/IsoMovieHeaderBox.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs: * src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/AppleElementaryStreamDescriptor.cs: * src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Mpeg4/BoxHeader.cs: * src/TagLib/Mpeg4/Box.cs: * src/TagLib/Ogg/Codecs/Theora.cs: * src/TagLib/Ogg/PageHeader.cs: Goodbye, short and long, hello ushort and ulong. This should avoid those pesky OverflowExceptions. svn path=/trunk/taglib-sharp/; revision=76662 commit efa333489ab79f3ca9d5057fdafde428c97d7c5e Merge: ef7278e 50c43d0 Author: Brian Nickel Date: Thu May 3 14:16:40 2007 2007-05-03 Brian Nickel Revamped TagLib.Properties by making it non-overridable and having it read ICodec, IAudioCodec, and IVideoCodec items. This provides support for reading information strictly from an audio or video stream property, decreasing the abstraction. * src/TagLib/Mpc/File.cs: * src/TagLib/Mpc/StreamHeader.cs: * src/TagLib/File.cs: * src/TagLib/ByteVectorList.cs: * 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/ListTag.cs: * src/TagLib/Riff/InfoTag.cs: * src/TagLib/Riff/MovieIdTag.cs: * src/TagLib/Riff/WaveFormatEx.cs: * src/TagLib/Mpeg/File.cs: * src/TagLib/Mpeg/VideoHeader.cs: * src/TagLib/Mpeg/AudioFile.cs: * src/TagLib/Mpeg/AudioHeader.cs: * src/TagLib/ICodec.cs: * src/TagLib/WavPack/File.cs: * src/TagLib/WavPack/StreamHeader.cs: * src/TagLib/Properties.cs: * src/TagLib/Flac/File.cs: * src/TagLib/Flac/StreamHeader.cs: * src/TagLib/Asf/File.cs: * src/TagLib/Asf/HeaderObject.cs: * src/TagLib/Asf/StreamPropertiesObject.cs: * src/TagLib/ListBase.cs: * src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs: * src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs: * src/TagLib/Mpeg4/File.cs: * src/TagLib/Ogg/Codecs/Theora.cs: * src/TagLib/Ogg/Codecs/Vorbis.cs: * src/TagLib/Ogg/Codec.cs: * src/TagLib/Ogg/File.cs: * examples/ReadFromUri.cs: Add support for new ICodec derivatives. * src/TagLib/ByteVector.cs: Fix reading of UTF16 in certain cases. * src/taglib-sharp.mdp: * src/Makefile.am: * taglib-sharp.csproj: New files. * docs/en/*/*.xml: Updated docs. svn path=/trunk/taglib-sharp/; revision=76641 commit ef7278e7ac8544619e423fa14cea88ebe8eb3f6e Author: Brian Nickel Date: Thu Apr 26 04:41:21 2007 2007-04-26 Brian Nickel * docs/en/*/*.xml: Updated docs. Removed bad files. svn path=/trunk/taglib-sharp/; revision=76304 commit f965e2da293e9d5b756aed6bbe798f6bd4f39fab Author: Brian Nickel Date: Thu Apr 26 04:34:56 2007 Removing docs temporarily. svn path=/trunk/taglib-sharp/; revision=76302 commit b5eca1f4a46f1a198e7108d14b998413f6228c1d Author: Brian Nickel Date: Wed Apr 25 18:25:33 2007 2007-04-25 Brian Nickel taglib-sharp-1.9.99991 (2.0 beta 1) * src/TagLib/Riff/List.cs: * src/TagLib/Riff/File.cs: RIFF abhors odd byte counts. * src/TagLib/Asf/Tag.cs: Removed random extra Console.WriteLine. * docs/en/*/*.xml: Synced * configure.ac: Version bump svn path=/trunk/taglib-sharp/; revision=76294 commit 50c43d0fc876694dfc582d3e8b835d6fe7e088b4 Author: Brian Nickel Date: Tue Apr 24 01:54:01 2007 2007-04-23 Brian Nickel Added support for AVI video files! Revamped the GenreList for video genres. * src/TagLib/File.cs: New tag types. * src/TagLib/Id3v1/Tag.cs: Clean up. * src/TagLib/Riff/List.cs: * src/TagLib/Riff/AviProperties.cs: * src/TagLib/Riff/File.cs: * src/TagLib/Riff/DivXTag.cs: * src/TagLib/Riff/ListTag.cs: * src/TagLib/Riff/InfoTag.cs: * src/TagLib/Riff/MovieIdTag.cs: AVI support! * src/TagLib/Genres.cs: Refactored GenreList. * src/TagLib/Id3v2/Tag.cs: Clean up rendering. * src/TagLib/Id3v2/Frames/UnknownFrame.cs: Expand support. * src/TagLib/NonContainer/EndTag.cs: * src/TagLib/NonContainer/StartTag.cs: Id3v2 changes. * src/TagLib/FileTypes.cs: Added Riff type. * src/TagLib/Asf/File.cs: * src/TagLib/Asf/Tag.cs: * src/TagLib/Asf/ExtendedContentDescriptionObject.cs: IEnumerable. * src/TagLib/Mpeg4/FileParser.cs: * src/TagLib/Mpeg4/AppleTag.cs: Use BoxList and IEnumerable. * src/TagLib/Ogg/File.cs: AccessMode should be Write, not read. * src/taglib-sharp.mdp: * src/Makefile.am: * taglib-sharp.csproj: New files. svn path=/trunk/taglib-sharp/; revision=76161 commit 1a6210a60dbf350488095ea0a234ba9ee808e133 Merge: 545c1a4 e89151f Author: Brian Nickel Date: Tue Apr 17 20:57:51 2007 2007-04-17 Brian Nickel Added support for MPEG-1/2 video files! Major API changes in TagLib.Mpeg namespace. * src/TagLib/File.cs: Make BufferSize public. * src/TagLib/Id3v2/Tag.cs: Accidentally accounted for footer twice. * src/TagLib/Mpeg/Properties.cs: Support video, refractor code. * src/TagLib/Mpeg/File.cs: Support complete MPEG-1/2 file. * src/TagLib/Mpeg/VideoHeader.cs: Parses the content of a mpeg box. * src/TagLib/Mpeg/AudioFile.cs: Renamed from File.cs as it is simply an implementation of the audio stream rather than a complete file. * src/TagLib/Mpeg/AudioHeader.cs: Renamed from Header.cs * src/TagLib/NonContainer/EndTag.cs: Fix rendering of Id3v1 tags. Fix prioritizing of tags. * src/TagLib/FileTypes.cs: New file type Mpeg.AudioFile * src/Makefile.am: * src/taglib-sharp.mdp: * taglib-sharp.csproj: New files. svn path=/trunk/taglib-sharp/; revision=75856 commit 545c1a48a735d8baf7650e6bc92a469d988aef55 Author: Brian Nickel Date: Sun Apr 15 21:16:12 2007 2007-04-15 Brian Nickel Added support for MPEG-4 video! * src/TagLib/Tag.cs: * src/TagLib/File.cs: * src/TagLib/Mpeg/XingHeader.cs: * src/TagLib/Properties.cs: Removed obsolete properties and methods. * src/TagLib/Ape/Tag.cs: * src/TagLib/Ape/Footer.cs: * src/TagLib/Ape/Item.cs: Cleaned up formatting a bit. * src/TagLib/Mpeg4/Boxes/IsoSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/AppleElementaryStreamDescriptor.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs: * src/TagLib/Mpeg4/Properties.cs: * src/TagLib/Mpeg4/FileParser.cs: * src/TagLib/Mpeg4/File.cs: * src/TagLib/Mpeg4/BoxFactory.cs: Added visual support. * src/Makefile.am * src/taglib-sharp.mdp * taglib-sharp.csproj: Added new files. * tests/fixtures/TagLib.FormatTests/AsfFormatTest.cs: The test did not represent the field interpretation. svn path=/trunk/taglib-sharp/; revision=75741 commit 7f1c6a59af367729df95412be794af386878db94 Author: Brian Nickel Date: Sun Apr 15 15:57:03 2007 2007-04-15 Brian Nickel * src/TagLib/Id3v2/Tag.cs: * src/TagLib/Id3v2/FrameFactory.cs: Removed DefaultEncoding stuff from FrameFactory and put it in Tag. Additionally, instead of enforcing the default encoding at read time, it is enforced at render time. It has also been changed so the tags save in the same version they were read in by default. This should avoid the greatest number of problems without the need for developer intervention. * src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs: * src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs: * src/TagLib/Id3v2/Frames/CommentsFrame.cs: * src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs: * src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs: * src/TagLib/Id3v2/Frames/PrivateFrame.cs: * src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Replace Find with Get (Tag tag, ..., bool create). This new method will find a specified frame if it exists, and can create it and append it if it doesn't. * src/TagLib/Id3v2/Frame.cs: Enforce ForceDefaultEncoding. * src/TagLib/Asf/Tag.cs: * src/TagLib/Asf/File.cs: * src/TagLib/Asf/HeaderObject.cs: * src/TagLib/Asf/ExtendedContentDescriptionObject.cs: All generic. * src/TagLib/Mpeg4/File.cs: * src/TagLib/Mpeg4/Box.cs: AppleTag wasn't getting attached to .Tag * tests/tests.mdp: Removed ApeFormatTest as it was unsupported. * tests/fixtures/TagLib.FormatTests/FlacFormatTest.cs: * tests/fixtures/TagLib.FormatTests/Id3V1FormatTest.cs: * tests/fixtures/TagLib.FormatTests/Id3V2FormatTest.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: Updated for new API. * configure.ac: Version bump. svn path=/trunk/taglib-sharp/; revision=75736 commit e89151f9fab8c2b1d1f2160c708319025dc91757 Author: Brian Nickel Date: Mon Apr 9 18:11:58 2007 2007-04-09 Brian Nickel * src/AssemblyInfo-windows.cs: * configure.ac: * taglib-sharp.csproj: Apply version bump. Now 1.9.* svn path=/trunk/taglib-sharp/; revision=75556 commit 6728903ef66fa53592b1cb9f993fd97cc66217a6 Merge: 4183fba e7de1a7 Author: Brian Nickel Date: Fri Apr 6 04:54:26 2007 2007-04-06 Brian Nickel MAJOR API CHANGES! COMPLETE NEW OGG BACKEND! VIDEO SUPPORT IN OGG AND ASF! * src/TagLib/Mpc/Properties.cs: * src/TagLib/Mpc/File.cs: Support new "Properties". * src/TagLib/File.cs: Support new "Properties". * src/TagLib/Id3v2/Tag.cs: * src/TagLib/Id3v2/FrameFactory.cs: * src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs: * src/TagLib/Id3v2/Frames/PrivateFrame.cs: * src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: Better error handling. * src/TagLib/Mpeg/Properties.cs: Support new "Properties". * src/TagLib/Mpeg/XingHeader.cs: Mark IsValid as obsolete. * src/TagLib/Mpeg/File.cs: * src/TagLib/WavPack/Properties.cs: * src/TagLib/WavPack/File.cs: Support new "Properties". * src/TagLib/NonContainer/File.cs: Support new "Properties". * src/TagLib/NonContainer/EndTag.cs: * src/TagLib/NonContainer/StartTag.cs: Better error handling. * src/TagLib/Properties.cs: Abolish overly specific "AudioProperties" * src/TagLib/Ape/Item.cs: Replace Debugger with Exception * src/TagLib/Flac/Properties.cs: * src/TagLib/Flac/File.cs: Support new "Properties". * src/TagLib/FileTypes.cs: Remove dead file types. * src/TagLib/Asf/Tag.cs: Allow tag clearing. * src/TagLib/Asf/Properties.cs: * src/TagLib/Asf/File.cs: Support new "Properties". Support video. * src/TagLib/Asf/Guid.cs: Fix typo in GUID plain text. * src/TagLib/Mpeg4/Properties.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Mpeg4/File.cs: Move saving out of the AppleTag. Will allow future implimentation of ID3v2 boxes. * src/TagLib/Ogg/XiphComment.cs: * src/TagLib/Ogg/Page.cs: * src/TagLib/Ogg/Codecs/Theora.cs: * src/TagLib/Ogg/Codecs/Vorbis.cs: * src/TagLib/Ogg/Properties.cs: * src/TagLib/Ogg/Codec.cs: * src/TagLib/Ogg/File.cs: * src/TagLib/Ogg/Paginator.cs: * src/TagLib/Ogg/PageHeader.cs: * src/TagLib/Ogg/GroupedComment.cs: * src/TagLib/Ogg/Bitstream.cs: Recoded for multistream files. * src/Makefile.am: * src/taglib-sharp.mdp: Updated for new files. * docs/en/*: Updated docs to new API. * examples/ReadFromUri.cs: Added video support. svn path=/trunk/taglib-sharp/; revision=75474 commit 4183fbac47082a49488a4d24369525b27c631fb9 Author: Brian Nickel Date: Fri Mar 23 16:56:30 2007 2007-03-23 Brian Nickel * src/TagLib/File.cs: Don't catch exceptions on mode change. * src/TagLib/Id3v1/Tag.cs: Use TryParse rather than try{Parse}. * src/TagLib/Id3v2/Tag.cs: Remove "0" values rather than storing "0". Use TryParse rather than try{Parse}. * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Use TryParse rather than try{Parse}. * src/TagLib/Ape/Tag.cs: Remove "0" values rather than storing "0". Use TryParse rather than try{Parse}. * src/TagLib/Asf/Tag.cs: Remove "0" values rather than storing "0". Use TryParse rather than try{Parse}. * src/TagLib/Asf/ContentDescriptor.cs: Use TryParse rather than try{Parse}. * src/TagLib/Mpeg4/AppleTag.cs: Use TryParse rather than try{Parse}. * src/TagLib/Ogg/XiphComment.cs: Remove "0" values rather than storing "0". Use TryParse rather than try{Parse}. * src/TagLib/Ogg/Vorbis/File.cs: Don't catch exceptions on mode change. svn path=/trunk/taglib-sharp/; revision=74925 commit 2fa8af7af3c6de35cb9e1ce913bbf326bdaecedb Author: Brian Nickel Date: Thu Mar 22 19:12:55 2007 2007-03-22 Brian Nickel * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Remove null termination in ID3v2.3 and below. * src/TagLib/WavPack/File.cs: * src/TagLib/Mpc/File.cs: * src/TagLib/Mpeg/File.cs: Include sane default tags. * docs/en/*: Synched docs. svn path=/trunk/taglib-sharp/; revision=74861 commit a19253ce77d06f7a4681faf5cefa16d6b7b02e45 Author: Brian Nickel Date: Wed Mar 14 16:23:42 2007 2007-03-14 Brian Nickel * docs/en/*: Synced docs. svn path=/trunk/taglib-sharp/; revision=74308 commit e7de1a714ef4336295c85bb0ca0e73b96c4a6b47 Author: Brian Nickel Date: Wed Mar 14 02:15:31 2007 2007-03-13 Brian Nickel Lyrics support! Fixed write support in MPEG-4 and ASF. * src/TagLib/Tag.cs: * src/TagLib/CombinedTag.cs: * src/TagLib/Id3v2/Tag.cs: * src/TagLib/Id3v2/FrameFactory.cs: * src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs: * src/TagLib/Ape/Tag.cs: * src/TagLib/Asf/Tag.cs: * src/TagLib/Mpeg4/Boxes/FullBox.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Mpeg4/BoxTypes.cs: * src/TagLib/Mpeg4/Box.cs: * src/TagLib/Ogg/XiphComment.cs: Lyrics support. Special thanks to Patrick Laplante. * src/TagLib/Id3v2/Frames/CommentsFrame.cs: * src/TagLib/ByteVector.cs: Fix up UTF16 handling. * src/TagLib/Asf/HeaderObject.cs: Fix writing. Wasn't writing header GUID! * src/Makefile.am: * src/taglib-sharp.mdp: * taglib-sharp.csproj: Update project files. * examples/BatchSet.cs: * examples/ReadFromUri.cs: Support lyrics. svn path=/trunk/taglib-sharp/; revision=74237 commit f294436840eb53c3d2b28b7d62373af83cba478b Merge: 720db6c 50d6746 Author: Brian Nickel Date: Tue Mar 13 21:13:29 2007 2007-03-13 Brian Nickel Performance enhancement for MPEG-4 files. Stole an idea from Entagged#. * src/TagLib/Mpeg4/FileParser.cs: ADDED * src/TagLib/Mpeg4/BoxTypes.cs: ADDED * src/TagLib/Mpeg4/BoxFactory.cs: ADDED * src/TagLib/Mpeg4/BoxList.cs: ADDED * src/TagLib/Mpeg4/Box.cs: ADDED * src/TagLib/Mpeg4/Boxes/FullBox.cs: * src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleTableBox.cs: * src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/AppleAdditionalInfoBox.cs: * src/TagLib/Mpeg4/Boxes/IsoFreeSpaceBox.cs: * src/TagLib/Mpeg4/Boxes/AppleItemListBox.cs: * src/TagLib/Mpeg4/Boxes/IsoUserDataBox.cs: * src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs: * src/TagLib/Mpeg4/Boxes/AppleElementaryStreamDescriptor.cs: * src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs: * src/TagLib/Mpeg4/Boxes/AppleDataBox.cs: * src/TagLib/Mpeg4/Boxes/AppleAnnotationBox.cs: * src/TagLib/Mpeg4/Boxes/UnknownBox.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs: * src/TagLib/Mpeg4/Boxes/IsoMetaBox.cs: * src/TagLib/Mpeg4/Properties.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Mpeg4/File.cs: * src/TagLib/Mpeg4/BoxHeader.cs: Adapted to new parser. * src/TagLib/Mpeg4/Boxes/IsoTrackBox.cs: DELETED * src/TagLib/Mpeg4/Boxes/Box.cs: DELETED * src/TagLib/Mpeg4/Boxes/FileBox.cs: DELETED * src/TagLib/Mpeg4/Boxes/IsoMovieBox.cs: DELETED * src/TagLib/Mpeg4/Boxes/IsoMediaBox.cs: DELETED * src/TagLib/Mpeg4/Boxes/IsoMediaInformationBox.cs: DELETED * src/TagLib/File.cs: Make ReadBlock make a a little more sense. * src/TagLib/Id3v2/Tag.cs: Support tag-wide unsynchronization. * src/TagLib/Id3v2/SynchData.cs: Add support for unsynching a bytevector. * src/TagLib/Id3v2/FrameHeader.cs: We don't actually support frame tags. Don't pretend that we do. * src/TagLib/Debugger.cs: Fix typo and crasher in code timer. * src/TagLib/ByteVector.cs: Make Mid a little faster. * src/TagLib/NonContainer/EndTag.cs: * src/TagLib/NonContainer/StartTag.cs: End tags should be at least version 4 * src/Makefile.am: * src/taglib-sharp.mdp: * taglib-sharp.csproj: Update for new files. svn path=/trunk/taglib-sharp/; revision=74224 commit 720db6c2ce8a78239a0bb0733d8506106ba3b097 Author: Brian Nickel Date: Fri Mar 9 12:13:38 2007 2007-03-09 Brian Nickel * configure.ac: Fixed version information. svn path=/trunk/taglib-sharp/; revision=74020 commit 5e0401e40accf5da245ce7f8359f2ad05b00016b Author: Brian Nickel Date: Fri Mar 9 05:29:53 2007 2007-03-09 Brian Nickel "I do not regret the things I've done, but those I did not do." * src/TagLib/Id3v2/Tag.cs: * src/TagLib/Id3v2/FrameFactory.cs: * src/TagLib/Id3v2/FrameHeader.cs: * src/TagLib/Id3v2/Header.cs: * src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs: * src/TagLib/Id3v2/Frames/CommentsFrame.cs: * src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs: * src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs: * src/TagLib/Id3v2/Frames/PrivateFrame.cs: * src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: * src/TagLib/Id3v2/Frames/UnknownFrame.cs: * src/TagLib/Id3v2/Frame.cs: Reworked reading/writing code to better support writing Id3v2.2 and Id2v2.3. This is the first go at it, and there is room for cleanup in the code, but it works, and it works and it works well. svn path=/trunk/taglib-sharp/; revision=73998 commit 50d67469ce05d4ce7d17fce881439cc02508f0e8 Author: Brian Nickel Date: Thu Mar 8 19:54:47 2007 2007-03-08 Brian Nickel * src/TagLib/Mpc/File.cs: Inherit NonContainer.File * src/TagLib/CombinedTag.cs: Add some useful features for NonContainer.* * src/TagLib/Id3v1/Tag.cs: Add Tag.Size instead of repeated hardcoding of 128. * src/TagLib/Id3v2/Footer.cs: * src/TagLib/Id3v2/Header.cs: Throw proper CorruptFileExceptions * src/TagLib/Mpeg/File.cs: Inherit NonContainer.File * src/TagLib/WavPack/File.cs: Inherit NonContainer.File * src/TagLib/NonContainer: * src/TagLib/NonContainer/Tag.cs: * src/TagLib/NonContainer/File.cs: * src/TagLib/NonContainer/EndTag.cs: * src/TagLib/NonContainer/StartTag.cs: New generic abstracts for files that can start/end with an assortment of tags. (FLAC, WV, MPC, MP3) * src/TagLib/Ape/Tag.cs: Read backwards if a footer is found and forwards if a header is found. * src/TagLib/Ape/Footer.cs: FooterPresent and IsHeader were read incorrectly. Also throw proper exceptions while reading. * src/TagLib/Flac/File.cs: Inherit NonContainer.File * src/TagLib/Flac/BlockHeader.cs: * src/TagLib/Flac/Block.cs: Removed from Flac.File, made public. * src/TagLib/Mpeg4/File.cs: Remove old commented code. * src/Makefile.am: * src/taglib-sharp.csproj: * src/taglib-sharp.mdp: * taglib-sharp.mds: * tests/tests.mdp: * examples/SetPictures.mdp: * examples/ReadFromUri.mdp: Updates. svn path=/trunk/taglib-sharp/; revision=73980 commit 638a8773ef6babb4207fc17129b95da3c27d9c89 Author: Brian Nickel Date: Sun Mar 4 18:59:31 2007 2007-03-04 Brian Nickel * src/TagLib/File.cs: We don't use file.file_types. Comment it out to avoid the warning. * src/TagLib/Tag.cs: * src/TagLib/Id3v1/Tag.cs: * src/TagLib/Id3v2/Tag.cs: * src/TagLib/Id3v2/FrameFactory.cs: * src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: * src/TagLib/Debugger.cs: * src/TagLib/Ape/Tag.cs: * src/TagLib/Asf/Tag.cs: * src/TagLib/Asf/ContentDescriptionObject.cs: * src/TagLib/Mpeg4/AppleTag.cs: * src/TagLib/Ogg/XiphComment.cs: * docs/MonodocNodeConfig.cs: * tests/fixtures/TagLib.CollectionTests/StringListTest.cs: * tests/fixtures/TagLib.CollectionTests/IntListTest.cs: * examples/ReadFromUri.cs: Use string.Empty instead of "". * src/TagLib/Id3v2/Frames/CommentsFrame.cs: Support broken COMM frames that don't contain a comment description string. svn path=/trunk/taglib-sharp/; revision=73697 commit 7edb701b614ced81d2cee17180197efb2e88c32c Author: Brian Nickel Date: Wed Feb 21 14:17:39 2007 2007-02-12 Brian Nickel * src/TagLib/File.cs: Added support for read sharing in ReadStream. This should eliminate a problem in Windows where files couldn't be read while they were playing. Solution by Ion Todirel. * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Strip all empty strings from the end of the FieldList. This should fix strings that were badly tagged, with either a nil character or the sum total of the ID3v1 string attached. May fix banshee bug #410116. * tests/Makefile.am: Removed line blocking distcheck svn path=/trunk/taglib-sharp/; revision=73276 commit 815bd6d7ac68b1629fd0be0b86194205fe2ef1cb Author: Brian Nickel Date: Mon Feb 12 21:56:10 2007 2007-02-12 Brian Nickel * src/TagLib/ByteVector.cs: Fix support for Latin1. * taglib-sharp.csproj: Work on Windows. svn path=/trunk/taglib-sharp/; revision=72728 commit 8756a473fa6c667fc55bfdf56b9eacab54c39b99 Author: Brian Nickel Date: Mon Feb 12 14:07:50 2007 2007-02-12 Brian Nickel * src/TagLib/File.cs: Remove ReadOnly checking. This is to add compatability with the .NET Compact Framework and to remove some ugly code. Libraries using TagLib# should check file writability for themselves if they want the writable status before Save() is called. Also use more compatable Array.Copy(). * src/TagLib/Mpeg/File.cs: Comment out unused method. * src/TagLib/ByteVector.cs: Use more compatable Array.Copy() * src/TagLib/ReadOnlyException.cs: Removed because unused. * src/AssemblyInfo.cs.in: Update copyright. * src/AssemblyInfo-windows.cs: Update version and copyright. * src/Makefile.am: * src/taglib-sharp.mdp: * taglib-sharp.csproj: Update files. svn path=/trunk/taglib-sharp/; revision=72686 commit 3d0a431324e1913d77e79835a120b7f35b7b2b18 Author: Brian Nickel Date: Sun Feb 11 19:10:41 2007 2007-02-10 Brian Nickel * src/TagLib/Id3v2/Tag.cs: * src/TagLib/Id3v2/FrameFactory.cs: * src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs: * src/TagLib/Id3v2/Frames/CommentsFrame.cs: * src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs: * src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs: * src/TagLib/Id3v2/Frames/PrivateFrame.cs: * src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: * src/TagLib/Id3v2/Frames/UnknownFrame.cs: * src/TagLib/Id3v2/Frame.cs: * src/TagLib/ByteVector.cs: VASTLY improved the loading of ID3v2 tags by breaking API compatability. (This isn't a major concern at the moment.) Removed a major piece of code which was causing about 80% of the read time. * src/TagLib/Debugger.cs: Added new way to test for slow code blocks. svn path=/trunk/taglib-sharp/; revision=72636 commit 316a7c6ca649172d5c4056462b57b0de5f0ddb0e Author: Brian Nickel Date: Sat Feb 10 13:09:52 2007 2007-02-10 Brian Nickel * src/TagLib/Mpeg/File.cs: Fix bug introduced on 2007-01-26. If a file lacked an Id3v2 tag, TagLib read the whole file. Initial analysis shows this being marginally faster than the even older version. * src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs: * src/TagLib/Ape/Tag.cs: * src/TagLib/Ogg/XiphComment.cs: * src/TagLib/Ogg/File.cs: Abolish Hashtable. ArrayList is next. svn path=/trunk/taglib-sharp/; revision=72582 commit 46b8662f783314ca5821473484137f04eb93c6cc Author: Brian Nickel Date: Mon Jan 29 13:41:33 2007 2007-01-29 Brian Nickel * examples/ReadFromUri.cs: Remove accidental commenting out. svn path=/trunk/taglib-sharp/; revision=71907 commit 745e88d2b9f894d23ef22f285fafe10c285c9f42 Author: Brian Nickel Date: Sat Jan 27 00:11:01 2007 2007-01-26 Brian Nickel CLEANUPS! For the most part, internal code has been cleaned up to be less hackish. One major feature is the obsoleting of SetValid and IsValid. If a file is invalid, it will now throw a CorruptFileException. * src/TagLib/Mpc/Properties.cs: * src/TagLib/Mpc/File.cs: Better search functions. * src/TagLib/File.cs: Clean out and Obsolete bad code. * src/TagLib/Id3v1/Tag.cs: Cleaner functions. * src/TagLib/Mpeg/Properties.cs: * src/TagLib/Mpeg/XingHeader.cs: * src/TagLib/Mpeg/File.cs: * src/TagLib/Mpeg/Header.cs: Better search functions, calculations, and exceptions. * src/TagLib/WavPack/Properties.cs: * src/TagLib/WavPack/File.cs: Use better search functions. * src/TagLib/Ape/Footer.cs: Throw better exception. * src/TagLib/Flac/File.cs: Fix padding calculation. * src/TagLib/Asf/PaddingObject.cs: * src/TagLib/Asf/File.cs: * src/TagLib/Asf/HeaderObject.cs: * src/TagLib/Asf/FilePropertiesObject.cs: * src/TagLib/Asf/ContentDescriptionObject.cs: * src/TagLib/Asf/ExtendedContentDescriptionObject.cs: Throw better exceptions. * src/TagLib/Mpeg4/Boxes/FullBox.cs: * src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleEntry.cs: * src/TagLib/Mpeg4/Boxes/FileBox.cs: * src/TagLib/Mpeg4/Boxes/Box.cs: * src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs: * src/TagLib/Mpeg4/File.cs: Read bigger blocks and less often. * src/TagLib/Ogg/XiphComment.cs: Support "XX/XX" values in Track and Disc. * src/TagLib/Ogg/File.cs: * src/TagLib/Ogg/Vorbis/Properties.cs: * src/TagLib/Ogg/Vorbis/File.cs: * src/TagLib/Ogg/Flac/File.cs: Obsolete Set/IsValid and throw useful exceptions. * docs/en/TagLib.Id3v1/Tag.xml: * docs/en/TagLib.Id3v2/FrameFactory.xml: * docs/en/TagLib.Mpeg/Header.xml: * docs/en/TagLib.Mpeg/Properties.xml: * docs/en/TagLib.Mpeg/File.xml: * docs/en/TagLib/UnsupportedFormatException.xml: * docs/en/TagLib/ByteVector.xml: * docs/en/TagLib/ReadOnlyException.xml: * docs/en/TagLib/SupportedMimeType.xml: * docs/en/TagLib/AudioProperties.xml: * docs/en/TagLib/File.xml: * docs/en/index.xml: * docs/en/TagLib.Asf/FilePropertiesObject.xml: * docs/en/TagLib.Asf/StreamPropertiesObject.xml: * docs/en/TagLib.Mpeg4/Box.xml: * docs/en/TagLib.Mpeg4/Properties.xml: * docs/en/TagLib.Mpeg4/IsoMovieHeaderBox.xml: * docs/en/TagLib.Mpeg4/File.xml: Doc updates. * examples/ReadFromUri.cs: Add timer, clean output, and avoid crash. svn path=/trunk/taglib-sharp/; revision=71776 commit 3d6a2ae571c6d109d0e9ee1815cb5adddac694c6 Author: Brian Nickel Date: Mon Jan 8 00:10:51 2007 2007-01-07 Brian Nickel * src/TagLib/File.cs: Throw ReadOnlyException when it makes sense. * src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs: Fix for UTF16. * src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: * src/TagLib/Id3v2/FrameFactory.cs: * src/TagLib/Id3v1/Tag.cs: * src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: * src/TagLib/Mpeg/XingHeader.cs: * src/TagLib/Mpeg/Header.cs: Improvements from TagLib. * src/TagLib/Flac/Picture.cs: * src/TagLib/Flac/File.cs: Massive code rewrite. Added support for Picture Block. * src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs: Fix typo. * src/Makefile.am: Add new files. * examples/ReadFromUri.cs: Update for changes in TagLib.Tag svn path=/trunk/taglib-sharp/; revision=70624 commit ec64c4c5a5d703015c47f374e8fa07de824ca1ab Author: Miguel de Icaza Date: Sun Dec 31 15:21:07 2006 Ran through the Monodoc updater, and exclude compiler generated types svn path=/trunk/taglib-sharp/; revision=70295 commit 40e8172b550e081a5279855a26a3caa8a6d88f06 Author: Aaron Bockover Date: Tue Dec 26 17:28:45 2006 2006-12-26 Aaron Bockover * src/TagLib/CorruptFileException.cs: Added new exception * src/TagLib/Mpeg4/File.cs: * src/TagLib/Ogg/Vorbis/File.cs: Guard against nullrefs, if necessary parts are null, throw a CorruptFileException instead to avoid seg violation * tests/fixtures/TagLib.FormatTests/IFormatTest.cs: Added interface for the format test * tests/fixtures/TagLib.FormatTests/*.cs: Implement IFormatTest, added TestCorruptionResistance * tests/samples/corrupt/*: Added some 'corrupt' samples svn path=/trunk/taglib-sharp/; revision=70098 commit 47a28d7d84a4a070ff8f52a66de345927d5de489 Author: Brian Nickel Date: Fri Dec 15 10:51:10 2006 2006-12-15 Brian Nickel * src/TagLib/Mpeg/Properties.cs: * src/TagLib/Mpeg/Header.cs: Made some changes based on KDE bug 135459, which should hopefully improve the accuracy of length reporting. svn path=/trunk/taglib-sharp/; revision=69535 commit 37f793eeeec12ac5c8f75bcd370bac0a7a1e9804 Author: Brian Nickel Date: Thu Dec 14 14:44:42 2006 2006-12-14 Brian Nickel * src/TagLib/Mpeg/Header.cs: Fixed typo causing MP3 channels to always equal 1. svn path=/trunk/taglib-sharp/; revision=69510 commit b684f5efafcc62372b175ff517d50c278ca9dbe1 Author: Aaron Bockover Date: Mon Nov 13 23:04:04 2006 2006-11-13 Aaron Bockover * src/TagLib/SupportedMimeType.cs: Load mime types in static constructor * src/TagLib/FileTypes.cs: File type loader that initializes the SupportedMimeType support * src/TagLib/File.cs: Use FileTypes.AvailableTypes * src/Makefile.am: Added src/TagLib/FileTypes.cs svn path=/trunk/taglib-sharp/; revision=67813 commit b4024f8550657e7dffbac1b9a736b7b76c086228 Author: Brian Nickel Date: Mon Nov 6 14:15:19 2006 2006-11-06 Brian Nickel * 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. svn path=/trunk/taglib-sharp/; revision=67413 commit 34d49ce11c840b8b90abcd73b424943b17e47baa Author: Brian Nickel Date: Fri Nov 3 18:21:47 2006 2006-11-03 Brian Nickel * src/TagLib/ByteVector.cs: Use Boyer-Moore String Searching Algorithm to speed things up a little. (Very little.) svn path=/trunk/taglib-sharp/; revision=67335 commit 503227407e544c3d58c5ffb4afa88ad73f026fbe Author: Aaron Bockover Date: Mon Oct 30 20:17:59 2006 2006-10-30 Aaron Bockover * 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 * src/TagLib/ListBase.cs: New generic base collection * src/Makefile.am: Updated * tests/fixtures/PerformanceTest.cs: Updated svn path=/trunk/taglib-sharp/; revision=67170 commit 342ba48b943df40d1fdbacb6f0e9388cb0d33e8e Author: Brian Nickel Date: Mon Oct 30 18:04:23 2006 2006-10-20 Brian Nickel * 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.) svn path=/trunk/taglib-sharp/; revision=67165 commit 63599534be2ed6e644bea1706c887c660e19a718 Author: Aaron Bockover Date: Sun Oct 29 14:33:01 2006 Updated svn path=/trunk/taglib-sharp/; revision=67109 commit 764ea91e974856e2c8661019df9ee7ed7c8695d2 Author: Aaron Bockover Date: Sun Oct 29 14:31:02 2006 2006-10-29 Aaron Bockover * tests/: Added more tests (IntList, StringList), restructured layout svn path=/trunk/taglib-sharp/; revision=67108 commit fb2068e7b1366a1bd18fb47ed2ec8535a5f79b6d Author: Aaron Bockover Date: Sun Oct 29 14:13:34 2006 Updated header svn path=/trunk/taglib-sharp/; revision=67104 commit 64de9fb6c4ad4d1603d6ae357e69e59a1e5c79d7 Author: Aaron Bockover Date: Sun Oct 29 10:52:30 2006 2006-10-29 Aaron Bockover * 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 svn path=/trunk/taglib-sharp/; revision=67099 commit 63e440b62f8d11a35d2323de13c563793869828b Author: Aaron Bockover Date: Sun Oct 29 10:46:18 2006 2006-10-29 Aaron Bockover * 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 svn path=/trunk/taglib-sharp/; revision=67098 commit a387cfa83f5b0122408d9e77df076c5712d333b1 Author: Brian Nickel Date: Fri Oct 20 17:08:05 2006 2006-10-20 Brian Nickel * 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. svn path=/trunk/taglib-sharp/; revision=66851 commit 7c65b1e3359c80ae3e00f165a9457c7fa3725b42 Author: Brian Nickel Date: Thu Oct 12 14:45:23 2006 2006-10-12 Brian Nickel * 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. svn path=/trunk/taglib-sharp/; revision=66637 commit 4968b78314405e4b878faf0a9d5b47a771714e48 Author: Aaron Bockover Date: Sun Oct 8 11:32:19 2006 Marked as static, whoops svn path=/trunk/taglib-sharp/; revision=66417 commit 026beee347579dc34c26e516125f96ff052e01f5 Author: Aaron Bockover Date: Sun Oct 8 11:31:27 2006 Marked as static, whoops svn path=/trunk/taglib-sharp/; revision=66416 commit 127da072a6b41f50bb93fdddbbab6ba20bd1c4fa Author: Aaron Bockover Date: Sun Oct 8 11:30:59 2006 Marked as static, whoops svn path=/trunk/taglib-sharp/; revision=66415 commit 7f2a0783af2cbec5e268214e61ee64c59734da68 Author: Aaron Bockover Date: Sun Oct 8 11:12:14 2006 2006-10-08 Aaron Bockover * src/TagLib/SupportedMimeType.cs: Added extension support svn path=/trunk/taglib-sharp/; revision=66413 commit 6b20faff04a2c0689dc5ac4c7b0b2c8bcc46f263 Author: Aaron Bockover Date: Sun Oct 8 10:54:08 2006 2006-10-08 Aaron Bockover * src/TagLib/SupportedMimeType.cs: Added AllMimeTypes static enumerator svn path=/trunk/taglib-sharp/; revision=66411 commit 987e2f6423e6299e3f99a7ba2385f7d7889faec5 Author: Brian Nickel Date: Mon Sep 25 14:38:15 2006 2006-09-25 Brian Nickel * src/TagLib/CombinedTag.cs: Fixed a bug in CombinedTag.get_Pictures * configure.ac: Don't break the gac on binary compatable versions. svn path=/trunk/taglib-sharp/; revision=65890 commit 38c1059d8556f642d33c5f90726b6d062a4efdaf Author: Brian Nickel Date: Wed Sep 20 14:49:25 2006 2006-09-20 Brian Nickel * src/TagLib/Mpc/File.cs: Added mime types. * src/TagLib/Wavpack/File.cs: Added mime types. svn path=/trunk/taglib-sharp/; revision=65739 commit 32df28a7eb4dd136b60ec5f1e0289eca88a9bde8 Author: Brian Nickel Date: Wed Sep 20 14:23:29 2006 2006-09-20 Brian Nickel * src/TagLib/ByteVector.cs: Fixed big endian StringType.UTF16 not to fail on big endian. (Confusing naming scheme by Microsoft.) svn path=/trunk/taglib-sharp/; revision=65737 commit dfc58a4e6b53aca6e7b4c6b000f53703bf9d10e4 Author: Brian Nickel Date: Sun Sep 17 18:51:09 2006 2006-09-17 Brian Nickel * src/TagLib/Asf/Tag.cs: Added generic picture support. * docs/en/*: Updated docs. svn path=/trunk/taglib-sharp/; revision=65556 commit 41b7226a730f12a5852ca0507ab4e7dcff1fcc23 Author: Brian Nickel Date: Fri Sep 15 04:15:08 2006 2006-09-15 Brian Nickel * src/TagLib/Picture.cs: * src/TagLib/Tag.cs: * src/TagLib/CombinedTag.cs: * src/TagLib/File.cs: * 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. svn path=/trunk/taglib-sharp/; revision=65440 commit 958b10a1f238c8dc931f236a708178d5eb9b3e34 Author: Brian Nickel Date: Mon Sep 11 17:45:30 2006 2006-09-11 Brian Nickel * src/TagLib/Mpeg4/File.cs: Added "audio/mp4" to types. svn path=/trunk/taglib-sharp/; revision=65256 commit eb2bb5eb1d9a79c3e8939509b854bac2fb9ebc9e Author: Aaron Bockover Date: Fri Sep 1 22:27:10 2006 2006-09-01 Aaron Bockover * examples/covers/: Added sample cover art files svn path=/trunk/taglib-sharp/; revision=64751 commit f4b2d423ddd4a78e991606b7d557003fb9df7fa7 Author: Aaron Bockover Date: Fri Sep 1 22:25:24 2006 2006-09-01 Aaron Bockover * tests/: Added test sample audio files svn path=/trunk/taglib-sharp/; revision=64750 commit f61e41ec8ef34c86017b2a51acdde203769c3cc3 Author: Aaron Bockover Date: Fri Sep 1 12:56:56 2006 2006-09-01 Aaron Bockover * 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 svn path=/trunk/taglib-sharp/; revision=64730 commit e1eba14cc33103bbe9e7a2710355b3a02ab3b3a7 Author: Brian Nickel Date: Thu Aug 31 17:22:26 2006 Corrected an invalid frame conversion and attempting a better method for populating ByteVectors. svn path=/trunk/taglib-sharp/; revision=64669 commit 9126fb7e24dabaabdf2b86bdb8a8d0ba50b75594 Author: Brian Nickel Date: Mon Aug 28 21:48:25 2006 Fixed up the reading of WM/PartOfSet to avoid crashes. svn path=/trunk/taglib-sharp/; revision=64505 commit cc7f29b882471f8c31bb430af7b95f61b28cd2c9 Author: Aaron Bockover Date: Sun Aug 27 21:12:07 2006 2006-08-27 Aaron Bockover * 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 svn path=/trunk/taglib-sharp/; revision=64456 commit 42bdfaa70eeca125a269416619dd8d6f7ebe0b92 Author: Aaron Bockover Date: Fri Aug 25 19:33:46 2006 2006-08-25 Aaron Bockover * examples/Makefile.am: Added Makefile.am, was missing from forge repository svn path=/trunk/taglib-sharp/; revision=64396 commit ed83b1cacfd4339faaeb9bba0a7052695708d38b Author: Aaron Bockover Date: Fri Aug 25 19:25:52 2006 Initial import of taglib-sharp; moved from forge svn path=/trunk/taglib-sharp/; revision=64394