Wednesday, September 30, 2009

"Various artists", exports & more

There are plenty of changes in, and chances are that some new bugs have been introduced as well. So it might be a good idea to pay extra attention to what the program is doing. Well ...

It is now possible to handle "various artists" albums so they are shown correctly in Windows Media Player, iTunes, and programs that are compatible with them. At least that's how it should work. I use neither of these, so I only tested the implementation against some informal specifications.

Until now a single picture per file was shown. This has changed in both the tag editor and the "Tag details" area in the main window. The latter was restructured completely, so it looks slightly different than before. It also may contain more information now, because I just fixed a bug that could result in truncated data.

Patterns in the tag editor can now be enabled and disabled, so fewer columns are shown in the "current file" table. (BTW, I still wonder if anybody else is using them. I found them quite useful.)

There was an "export to text file" button in the debug dialog. This got extended and moved. Now the export feature has a dedicated button and besides the export as plain text (mostly for direct human consumption), it is possible to export as XML or as M3U.

I didn't update the documentation yet, so using the new features is a process of discovery. The main point is that to get the export or the "various artists" working, they need to be enabled first in the Configuration dialog (in the ever more crowded "Others" tab.)

Wednesday, September 23, 2009 fixes bug introduced in previous version

I just noticed that I introduced a bug in, so I'm rushing out a fix. The bug made the program crash when scanning files that have an empty frame inside ID3V2 tags. True, ID3V2 tags aren't supposed to contain empty frames, but MP3 Diags shouldn't crash because of them either.

Another small change is that now the custom transformation list #4 gets populated by default with all the things that are likely to fix the files, so the processing is more automated than ever. I'd still recommend to use the other 3 buttons, for finer control, but if you have many files and don't particularly care that the second ID3V2 tag will get discarded (well, it was invalid to begin with), it's faster to use a single button.

For the few who want to build the program on Windows, there's a big change: there are no longer Windows-specific sources, and build.bat is gone. The way to build now is to use a GUI application (really an HTML page), from which you can generate project files that Qt Creator or Visual C++ can work with, or you can simply press a button to get the program built. See more details on the download page.

As I'm typing this, none of the Linux binaries have finished building, but hpefully it won't take long before they are available.

Thursday, September 17, 2009

Finally possible to fix issues by right-clicking

I guess the biggest improvement in is that now you can right-click on a note to get several suggested fixes. This is still a work in progress, and it will remain so for a while, because there are significant issues in trying to get it right. There are 2 things that may happen although they shouldn't:

1) The popup doesn't contain all the transformations that could make a note disappear.
2) Even is a transformation can make a note disappear, you don't see that as a fix. One example would be the option to remove a stream, which is probably considered OK by many if that is a Null stream and by few if that stream is ID3V2.

Because notes are related to one another in many cases, fixing one note might make another note disappear as well. So another difficulty in getting this feature right is that in some cases other streams in the file have to be examined, besides the one containing the note.

Besides right-clicking on a note of a particular file, you can also right-click on a column header. Then you can apply the changes to all the files (or only to the selected files if you keep SHIFT pressed or make the selection with the right button.)

Well, have a look and then add any comments that you may have issue #4.

Another change is that now UTF-8 strings in ID3V2.3.0 no longer make the tag invalid, but merely create a note. This addresses issue #18 According to the standard, ID3V2.3.0 doesn't allow UTF-8, but some tools apparently use it anyway. You need to rescan your files with the "de" error note to see if they are now recognized.

There was an assertion failure reported twice, last time as issue #35. I didn't get any sample file, so I'm not 100% sure that I identified the cause, but I think this to be fixed now.

For the Windows users who wanted to compile the project under Visual Studio: it is finally possible to do it. Sebastian Schuberth (a.k.a. eyebex) spent some time creating a CMake project and then making the code compilable by VS. So you can now have CMake generate a VS project. You can read a little more about this in the download page.

Monday, September 7, 2009

Various improvements and fixes in

Version has a bunch of rather minor improvements (well, some are major for those who really need them.)

There were a couple of complaints about mp3gain not working, although it was working for me. It turns out that the reason was that I had it in a directory without spaces. Now it should also work from directories containing spaces.

There's been some confusion about how how to set up the .ini file that is used to store the settings (the answer being that you don't do it.) That led me to add tooltips and more details error messages. The last change involves generating the name automatically. This might annoy a bit those using multiple sessions, but I'm not aware of anybody besides me using them, so it's probably OK.

There was a hard-coded list with "invalid" characters, which the file renamer would replace with underscores. Now both the list and the replacement string are configurable.

There is a new option to have the program automatically notify you about updates. It can be turned off.

Web queries to MusicBrainz and Discogs now remove non-alphanumeric characters, which seems to result in better matches.

The tag editor places at the end of the list those tracks without a track number.

When choosing which directories to scan in Windows, drive labels are now shown.

Wednesday, September 2, 2009

A cause of crashes found

After making some changes the Windows version started to crash for me, which led me to identify one reason why the program was crashing for others. Frankly, I don't understand why it wasn't crashing on Linux as well.

Anyway, I implemented a quick fix for this, which is now available in version The change is quite visible in the tag editor, where all the cells display "N/A" while saving the data. Not the nicest option but I hope it takes care of most crashes.

Those getting assertion failures are very likely to still get them. If those happen while scanning a file, it would really help to have that file sent to me, so I can fix the program.

Another important change is in the "trace" code, the one that gets activated when a crash is detected. This is much faster now than before, for the Windows users. (I really tested tracing only on Linux for the previous version, and it didn't occur to me that it might take so much longer to open a file on Windows than on Linux.)

There are several other fixes that should help in cases when the program doesn't start at all, as well as a few minor improvements.

The source code and the Windows binaries are already available as I type (note that you might need to get them from my ISP, as for some reason Sourceforge still shows the previous version), while the Linux binaries are getting built.