Whenever there is news about TagLib#, it will be posted here and on the main page.
A new release is out today. The recurring theme lately has been performance gains, and this one is no exception.
These numbers aren't as good as I had previously blogged about, and despite my best efforts, I have no clue what happened. My best guess is that I simply measured wrong the first time. Regardless, this almost a 60% improvement and brings all formats into the realm or reason.
In addition to this, this release boasts a new feature. Thanks to the help of Patrick Laplante we now have Lyrics support. Simply use file.Tag.Lyrics as you would any other property and feel the love.
--Kerrick 16:21, 14 March 2007 (MDT)
Foolishly giving up many hours of sleep, I have solved one of the most prevalent problems Windows developers face, the inability to write ID3v2.3 files. With taglib-sharp-1.1.73998, you can now write files that Windows Media Player can understand. Those attached picture frames won't magically disappear, new text frames won't vanish, etc. And how, you might ask, can I use this glorious feature? Behold:
TagLib.Id3v2.Tag.RenderVersion = 3;
That's it. It is the only change you need to make to that program you gave up on (aside from downloading the sexy new DLL).
With that said, I will take this opportunity to shamelessly plug my Amazon Wishlist. Feel free to show your love.
--Kerrick 15:03, 9 March 2007 (MST)
I just rolled this revision into Subversion. A few things have changed since my last post:
One current problem with TagLib# is that will have problems with Windows Media Player, due to the fact that TagLib# writes ID3v2.4 and UTF8. Support for ID3v2.3 will come sooner or later, but I'm a little bogged down at the moment. (Expect the possibility of code from a mysterious third party!)
Also, the current implementation of MPEG4 (iTunes files) is very slow. I'm not really sure why this is, but it does to a heck of a lot more file calls than the other formats. If someone wants to look into this, or perhaps writing an entirely new MPEG4 implementation, let me know.
I should have a .NET2.0 dll ready tomorrow, so be prepared! (Sorry to the Windows community if I have been slow on getting to you or addressing your needs. I'm not use to the problems you've been facing and I've been having trouble keeping up.)
--Kerrick 20:14, 8 March 2007 (MST)
P.S. I'm starting to blog which includes TagLib#, among other things. Check it out.
TagLib# has been under a lot of development lately. While fixing a bug I accidentally introduced into the reading of files without ID3v2 tags, I found the main bottleneck which was slowing down Mpeg reading. The graph below the average WARM file load times between versions:
This is not bad considering that a lot of my MP3's contain pictures, and the load time for those without is on par with Asf load times.
This, along with many, many other internal improvements, is really shaping TagLib# into a solid library. And since there's been a lot of interest, I'm adding files to the Release section to make it easier for developers to use. (I've been lazy about this, since my main users have been working straight from SVN.)
--Kerrick 22:25, 12 February 2007 (MST)
It's been a while since I released 1.0 and though many discussions and patches with Aaron Bockover from Banshee, there have been numerous improvements to the library and inclusion in the next version of Banshee.
For the most part, these changes have been API compatable, with a couple exceptions, mainly Exceptions. File.Save is now void and throws a ReadOnlyException if it can't read and TagLib.File.Create throws an UnsupportedTypeException when the type provided is unsupported. This will effect saving and some loading cases.
In the "Good News" department: File classes are now automatically registered, avoiding the need for manual registration; generic picture support is coming; various bugs have been squished; and TagLib# is now in the centralized and highly covetted MyRealBox Subversion: svn co svn://svn.myrealbox.com/source/trunk/taglib-sharp
Expect a new release in about a week.
--Kerrick 18:13, 7 September 2006 (MDT)
That's right, after a relatively intense 3 days of coding, Muine subversion (revision 39) now has support for reading AND writing those delightful little files Windows Media Player creates. It actually wasn't that hard to code, as the ASF Specification is very, simple, clear, and easy to handle, much like MPEG-4 except with weird but well-documented metadata. It was interesting to see that "WM/TrackNumber" could be both a string and an integer.
Anyway, this addition comes in the wake of 1.0.0 and some other changes in TagLib# by Aaron Bockover aimed at making TagLib# the entagged killer I so badly want it to be. Here are some other small changes that made it into SVN.
The next release should be banshee-ready and NUnit approved. Word is still out on the approval of G-Unit.
--Kerrick 17:42, 22 August 2006 (MDT)
Partially because I think everything is solved and partly because I don't think I'll be taken seriously without a solid, stable release, I'm announcing 1.0.0. Since the last release, I've wrapped things up with the following changes:
Release is available at the download page available in source archives and a compiled .Net 2.0 .dll for Windows.
As I will be busy soon, I am currently looking for co-maintainers and especially a Windows maintainer who can create a nice installer or whatever is best in that field.
--Kerrick 15:57, 18 August 2006 (MDT)
P.S. I am working on WMA support.
This release came out a while ago and I announced it on the list (for anyone who reads it), but I didn't get a chance to post it here.
A few things made it into this release: All files re-poll structure information on write because we don't keep them locked.
This is a must have release.
Get it here.
--Kerrick 00:12, 1 August 2006 (MDT)
There's a new release of TagLib# available for download. This fixes some minor issues and makes TagLib# ready for use in Muine (patch coming soon). Get it here.
--Kerrick 18:37, 26 July 2006 (MDT)
I've negected this project a lot recently. I got a new laptop so I've been playing with new features plus the fact I can finally play Unreal Tournament on Linux. Also some stuff with my girlfriend's new job. And I have to move. But I am pleased to announce the first (almost) release of TagLib# 0.90 AKA 1.0RC1!!!
This release features a rewritten method for adding frames to the Id3v2 frame factory, a fix for FLAC writing speed, and some API consolidation.
Give it a try, file a bug, join the mailing lists. The more testing, the closer we are to 1.0.
(ALSO, does anyone know what functions to use to check file read/write support on Windows? I think we're just a hop, skip, and jump away.)
--Kerrick 15:13, 25 July 2006 (MDT)
cat en/*.xml en/*/*.xml |grep "To be added." |wc -l 2499
There are now just quarter of 10,000 items to be documented! :(
--Kerrick 13:29, 6 July 2006 (MDT)
Just a reminder if anyone actually reads this, the code in Subversion is UNSTABLE and a moving target. As such, there have been some exciting new changes. Rather than calling ((TagLib.Mpeg.File) file).GetId3v2Tag (true); or (TagLib.Ogg.XiphComment) file.Tag; or any other way to get the specific tag you want, you can now use (TagLib.Id3v2.Tag) file.GetTag (TagLib.TagTypes.Id3v2, true); or (TagLib.Ogg.XiphComment) file.GetTag (TagLib.TagTypes.Xiph);. That's right, TagLib.File.GetTag () is now available to cut all the conditionals and typecasting out of your life.
Another exciting non-API-breaking feature is that TagLib.Id3v2.Tag.Comment now uses preferential detection to scan for a default comment language and also ignore false comments like iTunes normalization data.
Lastly, Windows support should be available in the very near future. Bugs have been debugged, warnings have been unwarned, and all that remains is a Windows-friendly way of checking file permissions before we can go full speed ahead with Windows support. (Maybe it's time I look into WMA tagging...)
--Kerrick 02:03, 6 July 2006 (MDT)
I've added MuineTagger, the poster child of TagLib#, to Subversion.
--Kerrick 12:55, 4 July 2006 (MDT)
File Downloads won't seem to set up, but have no fear, as Subversion is up and running! It's probably for the best though, as the software is still a moving target and a release probably isn't the best idea in the world.
An interesting thing to note is that I've removed the weird and ugly reflection code in exchange for a couple nice, clean, easy-to-use delegates. I've already documented the new FileTypeResolver delegate on the examples page.
You can download the current tree by following the instructions here or downloading the Subversion tarball.
--Kerrick 03:56, 4 July 2006 (MDT)
The TagLib# project has just been registered with Novell Forge. I've been working on the project privately, so you can look forward to a full release when the project registration is complete.
--Kerrick 18:48, 2 July 2006 (MDT)
© 2009 Novell, Inc. All Rights Reserved.