Sunday, November 29, 2009

1.0.00 finally out

I meant to create a Release Candidate but I was too busy with something else, so I'm just doing the final 1.0.00.

Very little has changed since 0.99.06.044, mostly wording to reflect that the program is no longer in beta, as no bugs have been reported in a long while (well, except for a crash that I was notified about by mail, but there was no follow-up.)

One small change since 0.99.06.044 is that you can now copy to the clipboard images from ID3V2 tags. This is done by pressing CTRL+C when viewing full-size images in the tag editor or in "Tag details" in the main window. This feature isn't perfect. For some reason in Windows 7 Paint works OK, but GIMP fails to paste the images. I'll investigate some more if anybody cares about this.

In case Linux users accessing the repositories at openSUSE Build Service missed it last time, I'll say it again: the repositories have changed. The old ones no longer have up-to-date builds, so please go to the main download page and see where the new repositories are located. Note that you might have to uninstall the program first, as some distributions / versions only allow upgrades from the repository that was used to install a package initially.

Note for packagers: MP3 Diags has a feature that detects when new versions are available at SourceForge. You may remove this feature by uncommenting the line #DEFINES += DISABLE_CHECK_FOR_UPDATES at the end of src/src.pro

Saturday, November 7, 2009

New repositories

As several major Linux distributions release new versions this fall, I had to figure out what to do to support them. The solution was to make packages more generic, so they could be used on several versions of a distribution. As a result, instead of the "Ubuntu 8.10", "Ubuntu 9.04", and "Debian 5.0" repositories that were used before, there is now a single "Ubuntu" repository that takes care of all of them, and I expect it to work with Ubuntu 9.10 as well. Similar things happened for the other distributions and things are OK according to my tests; e.g. 1-Click Install on openSUSE seems to be working OK. If you notice that something doesn't work, though, please let me know about it.

Currently both the old repositories and the new ones contain version 0.99.06.044, but the plan is to switch to the new repositories starting with the next version. The download page is already changed to point to the new repositories.

Switching to the new repository might cause the MP3 files to be rescanned, due to a different serialization library. (There will just be an error message and when you press OK the rescan starts.)

Note for packagers: if you are using the debian.rules or MP3Diags.spec that I provide, you may want to patch them, to remove the STATIC_SER parameter that is passed to AdjustMt.sh, thus linking Boost Serialization dynamically. (Currently these files haven't been changed in the source tarball, though, but the Subversion repository has been updated.)

Wednesday, November 4, 2009

Playing with the link options

It turns out that static linking is trickier than I thought: either the mt.a library doesn't exist although the non-mt is there, or it's in a different package. On top of that, although with Boost 1.33 the size of the binary increases by less than 2%, the increase nears 10% for 1.37.

So I'm reverting to dynamic linking by default. I'll change AdjustMt.sh to better figure out what's available, but that's in the future. For now, I replaced the source archives with ones that do dynamic linking, so the build can proceed as before for those who build from source.

Those who use binaries shouldn't be affected. Whatever was built is OK (Windows, Ubuntu 9.04, Fedora 11, Debian 5) and I'll fix the openSUSE 11.1 builds, which failed.

More generic packages in 0.99.06.044

Starting with 0.99.06.044 the .deb and .rpm files are supposed to be more generic, so they can be shared among versions and / or distributions. There are some issues, though. As I write this, the Fedora 11 build failed, but I think I'll be able to fix it. Debian succeeded, so I expect Ubuntu to be fine as well. I'll post an update after I reach some conclusion. (The Windows version and the generic Linux binaries are already available, as they are not affected by this.)

Other changes:

As I was trying to check something, the folder filter caused a crash. It turns out it's an old bug. Since nobody reported this before, I guess this filter isn't used much. Well, I fixed it.

Another fix concerns a bug that caused some files to appear normalized even when they weren't. This led me to look more closely at how TXXX and text frames were handled and I noticed several issues, which I fixed (hopefully without introducing others.)

Finally, starting with this version, files with .Mp3 or .mP3 extensions are processed. (Until now there was a case-sensitive test, causing only files whose names ended with .mp3 or .MP3 to be processed.)

Tuesday, October 27, 2009

Linux generic binaries + code freeze

The most visible change in 0.99.06.043 is that the file settings have been restructured. The old plethora of options are still available when clicking on "Full view", but the default is to use a much simpler configuration.

There was a crash condition triggered by empty text frames in ID3V2 tags. This is now fixed.

Starting with 0.99.06.043 I'm trying to make it simpler for more people to get the latest version, by providing generic binaries, which are supposed to work on most recent Linux distributions. See this link. Since this is the first incarnation of the idea, there is probably room for improvement.

If these prove to work OK, the plan is to cut the number of Linux binaries that are built, with a single .rpm / .deb shared among all the platforms that can use it, containing one such generic executable. So it would be a good idea to let me know if they don't work.

And, finally, new features are unlikely to be added for a while. I'm trying to get a stable 1.0 release, so for now I'm only going to do bug fixes and perhaps add support for things that are currently not supported, if the changes can be kept isolated.

Tuesday, October 20, 2009

Bug fixes and enhancements in 0.99.06.042

Several reported crashes were reproduced and then fixed, the more important being when files were changed by external tools or when going to "Tag details" for files having USLT frames in Unicode.

Version 0.99.06.042 also has some improvements:

More ID3V2.4.0 tags can now be read, as some previously unsupported formats are now supported.

When downloading data from Discogs it is now possible to use "styles" to populate the Genre field.

The tag editor has a new button, which allows case changes (lowercase, uppercase, ...) to be made to some fields.

It is possible to change a file name manually in the file renamer.

A "Suggested usage" page has been added to the documentation.

Friday, October 9, 2009

Updated documentation

I guess the biggest change in 0.99.06.041 is that the documentation has been brought up to date, including the screenshots. I strongly recommend re-reading the documentation or at least reviewing the annotated screenshots.

Other changes:

Better ReplayGain support, so an additional format is now recognized.

I fixed several bugs that could cause crashes.

The export functionality allows a locale to be specified when saving to .m3u; the XML format now works OK when names contain double quotes.

Several versions ago the option to compile the project with Visual Studio was added. Although the program started OK, it could crash or do unexpected things when trying to apply transformations or save from the tag editor. This is fixed now.