There are 2 crash fixes in 1.0.01:
- For some combinations of Qt and operating system (e.g. Qt 4.4.3 on openSUSE 11.1) an assertion failure got triggered when trying to change track info in the tag editor if the songs contained a picture in a format other than JPEG or PNG. (I'm not sure if this affected Windows or not; it didn't seem to matter on my computer.)
- The program would simply not work with the recently released Qt 4.6
All the packages have already been updated, including the Linux binaries.
Friday, December 11, 2009
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
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.)
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.
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.)
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.
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.
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.
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.
Wednesday, September 30, 2009
"Various artists", exports & more
There are plenty of changes in 0.99.06.040, 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.)
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
0.99.05.038 fixes bug introduced in previous version
I just noticed that I introduced a bug in 0.99.05.037, 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.
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 0.99.05.037 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.
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 0.99.05.034
Version 0.99.05.034 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.
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 0.99.05.033. 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.
Anyway, I implemented a quick fix for this, which is now available in version 0.99.05.033. 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.
Monday, August 24, 2009
Away for the rest of the week + some rants
I won't get close to a computer from tomorrow until Sunday. I thought I should mention it since people might start wondering why I don't reply to their messages.
Messages which are not always very helpful. There isn't much one can do with a bug report if all it says is basically "the thing crashes".
Another thing: a lot of people who visit MP3 Diags' website come from this article on lifehacker.com. Asking questions there is a bit like the blind leading the blind and I'm worried that those reading the posts might get some wrong ideas about the program; there are 2 posts in particular that I'd like to reply to, only I'm stuck in a "your account has not been approved yet" state.
Readers of the replies to BishopBlaize's post might be left with the impression that you can't use MP3 Diags to get track info from file names, while this was one of the main reasons to create the program in the first place, and there's detailed documentation at http://mp3diags.sourceforge.net/220_tag_editor_patterns.html
Also, by seeing dchall8's post about the "installation instructions for Windows" people might believe that they have to compile the program themselves, while there's been a setup.exe for as long as the program was made available on Windows. All you had to do was go to http://mp3diags.sourceforge.net/010_getting_the_program.html#binWindows
So can someone with a lifehacker account please set the record straight by posting these links to the appropriate places? Just one. Thanks!
(Note that you need to click on "Show hidden threads", at the bottom of the page.)
Messages which are not always very helpful. There isn't much one can do with a bug report if all it says is basically "the thing crashes".
Another thing: a lot of people who visit MP3 Diags' website come from this article on lifehacker.com. Asking questions there is a bit like the blind leading the blind and I'm worried that those reading the posts might get some wrong ideas about the program; there are 2 posts in particular that I'd like to reply to, only I'm stuck in a "your account has not been approved yet" state.
Readers of the replies to BishopBlaize's post might be left with the impression that you can't use MP3 Diags to get track info from file names, while this was one of the main reasons to create the program in the first place, and there's detailed documentation at http://mp3diags.sourceforge.net/220_tag_editor_patterns.html
Also, by seeing dchall8's post about the "installation instructions for Windows" people might believe that they have to compile the program themselves, while there's been a setup.exe for as long as the program was made available on Windows. All you had to do was go to http://mp3diags.sourceforge.net/010_getting_the_program.html#binWindows
So can someone with a lifehacker account please set the record straight by posting these links to the appropriate places? Just one. Thanks!
(Note that you need to click on "Show hidden threads", at the bottom of the page.)
Trying to deal with the Windows crashes
Last Friday the number of web site views and downloads increased dramatically as a result of reviews on several popular sites, most notable lifehacker.com.
However, as Windows users started to install the program, reports of mostly random crashes began to show up on the issue tracker. There are 2 things that make it hard to deal with them:
1) I don't get any crashes on my computer.
2) Most of those who report the crashes don't respond to my questions, so I have no idea what might have caused them.
So now version 0.99.05.032 is trying to tackle this issue. Changes related to this:
1) Improved the crash detector and added a rudimentary trace / log, so some files will hopefully tell what the program was doing at the time of the crash.
2) Switched to a newer Qt and compiler; while I'm curious to learn if this makes any difference, what really made me do this switch was what looks like a compiler bug in the previous MinGW version.
Other changes:
- Sometimes in Windows XP SP3 (and perhaps others) letters would be shown as little rectangles, making the program unusable. This should be fixed. (At least I tested the new version on a friend's computer and it worked fine, while the previous ones showed rectangles.)
- Track info is now read from Lyrics3 V2 streams (but for now the image names and the INF fields are ignored.)
--------------------
Since this is more of an "emergency" release to deal with Windows issues, I'd recommend Linux users to stay on 0.99.05.031 unless they really care about Lyrics.
However, as Windows users started to install the program, reports of mostly random crashes began to show up on the issue tracker. There are 2 things that make it hard to deal with them:
1) I don't get any crashes on my computer.
2) Most of those who report the crashes don't respond to my questions, so I have no idea what might have caused them.
So now version 0.99.05.032 is trying to tackle this issue. Changes related to this:
1) Improved the crash detector and added a rudimentary trace / log, so some files will hopefully tell what the program was doing at the time of the crash.
2) Switched to a newer Qt and compiler; while I'm curious to learn if this makes any difference, what really made me do this switch was what looks like a compiler bug in the previous MinGW version.
Other changes:
- Sometimes in Windows XP SP3 (and perhaps others) letters would be shown as little rectangles, making the program unusable. This should be fixed. (At least I tested the new version on a friend's computer and it worked fine, while the previous ones showed rectangles.)
- Track info is now read from Lyrics3 V2 streams (but for now the image names and the INF fields are ignored.)
--------------------
Since this is more of an "emergency" release to deal with Windows issues, I'd recommend Linux users to stay on 0.99.05.031 unless they really care about Lyrics.
Wednesday, August 19, 2009
0.99.05.031 available
There's a new version ready for download. There are only rather minor changes from the last one, like adding a crash detector (which encourages the users to report crashes when the application is restarted, if it seems that it wasn't shut down properly) or fixing a bug in the selection of multiple cells in the tag editor.
Another change is using a busy / hourglass cursor when closing the normalization, in the hope that this will signal the users that the program isn't frozen even if it appears so. Sometimes (quite rarely) MP3 Diags loses its link to the normalization program and thinks the normalization is still running when it actually finished. If that happens, MP3 Diags looks frozen, but there's a timeout of less than 1 minute, after which it works fine. While I'm investigating the reason for this and a possible fix, the new cursor should provide a hint that the program will resume responding.
Yet another minor change is that now the content of GEOB frames in ID3V2 is shown when displaying the "File details".
Another change is using a busy / hourglass cursor when closing the normalization, in the hope that this will signal the users that the program isn't frozen even if it appears so. Sometimes (quite rarely) MP3 Diags loses its link to the normalization program and thinks the normalization is still running when it actually finished. If that happens, MP3 Diags looks frozen, but there's a timeout of less than 1 minute, after which it works fine. While I'm investigating the reason for this and a possible fix, the new cursor should provide a hint that the program will resume responding.
Yet another minor change is that now the content of GEOB frames in ID3V2 is shown when displaying the "File details".
Tuesday, July 28, 2009
Back to my ISP (sort of)
Things keep changing at SourceForge on a daily basis, and if something works today there's no guarantee that it will still work tomorrow. Now for some reason the files that I updated for 0.99.05.030 seem to have vanished. I'll try again later, but from now on I'll also make available the generic source archive and the Windows installer at my ISP, until the SourceForge interface becomes stable. If you want the latest version and the main links don't work, go to the download page; the links pointing to those files at my ISP are right after those at SourceForge.
Some fixes for the previous version
I guess the last version just had too many changes, and I didn't notice that I introduced several bugs. I did processed with it some 1000 of my MP3 files, but my normal usage pattern doesn't touch the affected areas. Today I tried some other things and I noticed that not everything works as designed. So there's a new version, to correct the issues that I uncovered.
The most annoying thing to me was that removing elements from lists (visible transformations, filters, ...) no longer worked.
Another issue was that the tag editor sometimes reserved a lot of space for fast editing, even when fast editing was disabled.
So nothing really big, or leading to data loss, but to me these warranted a new release.
Then there are older things that only got uncovered now:
Processing ID3V2.4.0 tags containing UTF-8 frames never worked. Those frames were read correctly, but writing them to ID3V2.3.0 caused the tag to appear broken. "Discard invalid ID3V2 data" was affected by this, as well as any other transformation that wrote V2.4.0 data to V2.3.0 tags. Well, now it's finally fixed.
I fixed several assertion failures that are quite unlikely to reach, so I won't get into details.
There are also some improvements:
The file renamer accepts now patterns that contain no path separators. That's what should be used to rename files inside a directory, without moving them elsewhere. This seemed to work fine but needs a bit more testing.
"Discard invalid ID3V2 data" is faster now if it doesn't make any changes.
When applying transformations their names are displayed. I find this more useful for custom transformation lists, when only 1 or 2 from the whole list actually get applied. Now you can finally see what's going on.
Saving from the tag editor now removes broken ID3V2 tags.
Well, if you have 0.99.05.029 you should probably move to 0.99.05.030 (though, given the extent of the changes in 0.99.05.029, chances are that a new bugfix release will come pretty soon.)
The most annoying thing to me was that removing elements from lists (visible transformations, filters, ...) no longer worked.
Another issue was that the tag editor sometimes reserved a lot of space for fast editing, even when fast editing was disabled.
So nothing really big, or leading to data loss, but to me these warranted a new release.
Then there are older things that only got uncovered now:
Processing ID3V2.4.0 tags containing UTF-8 frames never worked. Those frames were read correctly, but writing them to ID3V2.3.0 caused the tag to appear broken. "Discard invalid ID3V2 data" was affected by this, as well as any other transformation that wrote V2.4.0 data to V2.3.0 tags. Well, now it's finally fixed.
I fixed several assertion failures that are quite unlikely to reach, so I won't get into details.
There are also some improvements:
The file renamer accepts now patterns that contain no path separators. That's what should be used to rename files inside a directory, without moving them elsewhere. This seemed to work fine but needs a bit more testing.
"Discard invalid ID3V2 data" is faster now if it doesn't make any changes.
When applying transformations their names are displayed. I find this more useful for custom transformation lists, when only 1 or 2 from the whole list actually get applied. Now you can finally see what's going on.
Saving from the tag editor now removes broken ID3V2 tags.
Well, if you have 0.99.05.029 you should probably move to 0.99.05.030 (though, given the extent of the changes in 0.99.05.029, chances are that a new bugfix release will come pretty soon.)
Sunday, July 26, 2009
Getting close to feature complete
I just uploaded version 0.99.05.029. With it, most of the features that were planned for version 1.0 are implemented. What remains are several cosmetic changes and perhaps bug fixes, to the extent that I know about them and I can reproduce them.
There are many changes from the previous release, so here's the rather long list of what's new / different:
There is a new download option, meant mainly for packagers: a source+doc bundle. See the download page for the actual link.
For users with slower computers (like myself) the biggest improvement is an option to save from the tag editor much faster than before. This option has to be enabled manually and it works best if a new transformation called "Reserve space in ID3V2 for fast tag editing" is run before going to the tag editor. After doing the tag editing, it is a good idea to run "Remove extra space from ID3V2".
There are several Windows-specific changes: 1) now the backslash is used as the file separator, making the program look more "native"; 2) if you "copy" a JPG or PNG file in Windows Explorer, you can paste it to the tag editor; 3) the normalization dialog shows the progress correctly.
Previously the file renamer opened with its file list being the current album. Now it can open with whatever you have visible in the main window. You have to keep the CTRL key pressed when clicking on the button if you want this kind of behavior.
A new tab was added to the configuration dialog where you can choose which transformations should be visible in the transformations menu. Now some are hidden by default - basically those that I don't expect many people to use.
There's a new transformation for keeping a single image, as front cover.
There's a new transformation for removing ID3V1 tags.
There's a new button for erasing image files from the tag editor.
It is now possible to configure the maximum image size (pasting images larger than that size recompresses them.)
Improved paste in tag editor: it is possible to paste to multiple cells or to paste file names copied from file browsers.
Tooltips are shown for the transformations menu.
There are also several minor bug fixes, which are described in the changelog on the web site.
On the negative side, the documentation still needs to be updated, so for now the new features are only described in this post.
There are many changes from the previous release, so here's the rather long list of what's new / different:
There is a new download option, meant mainly for packagers: a source+doc bundle. See the download page for the actual link.
For users with slower computers (like myself) the biggest improvement is an option to save from the tag editor much faster than before. This option has to be enabled manually and it works best if a new transformation called "Reserve space in ID3V2 for fast tag editing" is run before going to the tag editor. After doing the tag editing, it is a good idea to run "Remove extra space from ID3V2".
There are several Windows-specific changes: 1) now the backslash is used as the file separator, making the program look more "native"; 2) if you "copy" a JPG or PNG file in Windows Explorer, you can paste it to the tag editor; 3) the normalization dialog shows the progress correctly.
Previously the file renamer opened with its file list being the current album. Now it can open with whatever you have visible in the main window. You have to keep the CTRL key pressed when clicking on the button if you want this kind of behavior.
A new tab was added to the configuration dialog where you can choose which transformations should be visible in the transformations menu. Now some are hidden by default - basically those that I don't expect many people to use.
There's a new transformation for keeping a single image, as front cover.
There's a new transformation for removing ID3V1 tags.
There's a new button for erasing image files from the tag editor.
It is now possible to configure the maximum image size (pasting images larger than that size recompresses them.)
Improved paste in tag editor: it is possible to paste to multiple cells or to paste file names copied from file browsers.
Tooltips are shown for the transformations menu.
There are also several minor bug fixes, which are described in the changelog on the web site.
On the negative side, the documentation still needs to be updated, so for now the new features are only described in this post.
Saturday, July 18, 2009
MP3 Diags 0.99.04.026 available
For Windows users the big news is that now the program can handle files with non-ASCII names.
Other changes:
- The tag editor looks at the filter when going to the next / previous album.
- USLT Lyrics inside ID3V2 are shown in the "tag details" area.
- Support for "F1 help" was added. Pressing F1 in most windows will open the documentation page that best matches that window. The pages are loaded from SourceForge if they are not found locally. For now the directories that are checked are /usr/share/mp3diags-doc/html and /usr/share/doc/mp3diags/html
Other changes:
- The tag editor looks at the filter when going to the next / previous album.
- USLT Lyrics inside ID3V2 are shown in the "tag details" area.
- Support for "F1 help" was added. Pressing F1 in most windows will open the documentation page that best matches that window. The pages are loaded from SourceForge if they are not found locally. For now the directories that are checked are /usr/share/mp3diags-doc/html and /usr/share/doc/mp3diags/html
Friday, July 10, 2009
New look + Mandriva binaries
I've finally managed to implement a change that I meant to do for a while: restructuring the labels and the use of colors. This is supposed to downgrade the labeling system from "hopelessly confusing" to merely "confusing". So:
1) The 1-letter labels got replaced with 2-letter ones, where the first letter is used to identify the group, while the second letter is for the place of a note inside its group.
2) The background color of a note no longer depends on its severity (error / warning / support.) Instead, only the labels use different colors.
3) Gradients are used for easier easier visual identification of note groups.
4) In the Configuration dialog there is a new tab, where the background colors can be changed for each group. (Note the possibility of using "custom colors", for a more consistent look.)
5) The tag editor's background colors can be configured from its Palette dialog.
------------------
Other changes:
- Changes that are made by external tools are now detected and the user is told to reload. (Previously the program would just crash.)
- The font that is used for labels in the main table can be made smaller, so the note columns take up less space.
- Tooltips for the main table's header contain note descriptions.
- There are now Mandriva binaries available.
------------------
(Note that the documentation has not been updated yet, to reflect these changes.)
1) The 1-letter labels got replaced with 2-letter ones, where the first letter is used to identify the group, while the second letter is for the place of a note inside its group.
2) The background color of a note no longer depends on its severity (error / warning / support.) Instead, only the labels use different colors.
3) Gradients are used for easier easier visual identification of note groups.
4) In the Configuration dialog there is a new tab, where the background colors can be changed for each group. (Note the possibility of using "custom colors", for a more consistent look.)
5) The tag editor's background colors can be configured from its Palette dialog.
------------------
Other changes:
- Changes that are made by external tools are now detected and the user is told to reload. (Previously the program would just crash.)
- The font that is used for labels in the main table can be made smaller, so the note columns take up less space.
- Tooltips for the main table's header contain note descriptions.
- There are now Mandriva binaries available.
------------------
(Note that the documentation has not been updated yet, to reflect these changes.)
Sunday, July 5, 2009
Better file renamer + more
The file renamer now replaces "invalid" characters ('?', '*', "/", ...) with an underscore. This should make it more usable. There is still an issue regarding ":", which is invalid on some file systems and actually used on others. For now ":" is hardcoded to be invalid only on Windows, but that's not quite OK, because people mount in one OS file systems from another.
Also, the file renamer now works on Windows too.
Other changes in 0.99.02.020:
1) A fix for an assertion failure that was triggered by badly broken files.
2) Duration is now shown for audio streams.
3) More system information details in the assert dialog
4) Added a system information tab to "about" dialog
If you download the source, make sure you get the right one. SourceForge seems broken, and I can't find a way to make it use 0.99.02.020 for the default download (instead it points to 0.99.02.018)
Also, the file renamer now works on Windows too.
Other changes in 0.99.02.020:
1) A fix for an assertion failure that was triggered by badly broken files.
2) Duration is now shown for audio streams.
3) More system information details in the assert dialog
4) Added a system information tab to "about" dialog
If you download the source, make sure you get the right one. SourceForge seems broken, and I can't find a way to make it use 0.99.02.020 for the default download (instead it points to 0.99.02.018)
Sunday, June 28, 2009
MP3 Diags on Gentoo
Thanks to Dominik Kapusta, it is now easier to install MP3 Diags on Gentoo, because is has been added to the qting-edge overlay. For details about the Gentoo installation see the download page.
Wednesday, June 24, 2009
Fixed potential random crash
Somebody wrote to me a few days ago to complain about random crashes at startup. I asked for some system details but never heard back. Since this is the second time such a thing happens, I'm beginning to wonder if somehow messages get lost (yes, I carefully checked my "spam" folder.)
Anyway, since I didn't have any crash in a long time, and when I did it was reproducible and I quickly implemented a fix, I really didn't know what might cause his issues or how to fix them. However, today I came to realize that most Linux distributions ship both a single-threaded and a multi-threaded version of Boost Serialization. I thought the single-threaded variants were discarded long ago, but apparently that's not the case. But because I'm using openSUSE (which doesn't have the single-threaded variant), I didn't realize other distributions still have it. I knew this same issue caused crashes on Windows, but, since nobody reported crashes on Linux before, I didn't realize I should investigate more seriously the threading model.
Well, version 0.99.02.017 always uses the multi-threaded library, so hopefully the random crashes are gone. (0.99.02.018 is pretty much the same, just that the sources are easier to compile.)
--------------------
Other changes include an improved assert dialog (now you can copy the data to the clipboard and even send mail from it) and warnings in some cases when a downloaded image would be lost (one case is still not covered, but I hope I will have a look soon.)
Anyway, since I didn't have any crash in a long time, and when I did it was reproducible and I quickly implemented a fix, I really didn't know what might cause his issues or how to fix them. However, today I came to realize that most Linux distributions ship both a single-threaded and a multi-threaded version of Boost Serialization. I thought the single-threaded variants were discarded long ago, but apparently that's not the case. But because I'm using openSUSE (which doesn't have the single-threaded variant), I didn't realize other distributions still have it. I knew this same issue caused crashes on Windows, but, since nobody reported crashes on Linux before, I didn't realize I should investigate more seriously the threading model.
Well, version 0.99.02.017 always uses the multi-threaded library, so hopefully the random crashes are gone. (0.99.02.018 is pretty much the same, just that the sources are easier to compile.)
--------------------
Other changes include an improved assert dialog (now you can copy the data to the clipboard and even send mail from it) and warnings in some cases when a downloaded image would be lost (one case is still not covered, but I hope I will have a look soon.)
Sunday, June 21, 2009
Fixed an assertion failure
An assertion failure failure got triggered in some cases, in Id3V2Stream.cpp, line 770. This got fixed in version 0.99.02.016, which also adds support for more image frames in ID3V2 tags (namely those using a UTF-8 encoding to specify their type.)
Saturday, June 20, 2009
Fedora 11 binaries
A small code change was needed to get the project to compile on Fedora 11. After doing that, I added Fedora 11 to the binaries that I build. Download the RPMs here.
Thursday, June 18, 2009
Faster navigation in the tag editor
Moving from one album to another was taking too long, so I finally used my profiler to see why and decide if I should do anything about it. It turns out that significant improvements could be made. They are in the 0.99.02.014 release.
Saving from the tag editor is still too slow for my liking, but there a lot of time is spent on rescanning the modified files, and that can't be improved too much. So I'm seriously considering adding a "Fast save" option, which would not rescan the files immediately, but just mark them for automatic scanning the next time the program starts (or the user presses the "Reload" button.)
Saving from the tag editor is still too slow for my liking, but there a lot of time is spent on rescanning the modified files, and that can't be improved too much. So I'm seriously considering adding a "Fast save" option, which would not rescan the files immediately, but just mark them for automatic scanning the next time the program starts (or the user presses the "Reload" button.)
Tuesday, June 16, 2009
Windows crash (hopefully) fixed + more
I wrote previously here about mysterious random crashes of the Windows version and how they seemed to go away for no good reason. Apparently they never disappeared, as I found out earlier today, while playing with Windows 7 RC.
Unlike the previous times, I was able to identify something that was wrong with the program (well, not the actual program but some library that it uses) and then I fixed the issue and uploaded version 0.99.02.013. Random errors being, er, random, I'm not sure that the issue is gone, but at least I have a reason to hope. Of course, it would be nice to get some feedback from some of those who downloaded the program.
For this version the setup program got a more modern look, and it's now possible to launch MP3 Diags from the last page of the install dialog.
Since I just tested Windows 7, I'm happy to report that MP3 Diags installs OK and looks pretty good on the next Windows.
Unlike the previous times, I was able to identify something that was wrong with the program (well, not the actual program but some library that it uses) and then I fixed the issue and uploaded version 0.99.02.013. Random errors being, er, random, I'm not sure that the issue is gone, but at least I have a reason to hope. Of course, it would be nice to get some feedback from some of those who downloaded the program.
For this version the setup program got a more modern look, and it's now possible to launch MP3 Diags from the last page of the install dialog.
Since I just tested Windows 7, I'm happy to report that MP3 Diags installs OK and looks pretty good on the next Windows.
Sunday, June 14, 2009
MP3 Diags 0.99.02.012 out
This version adds support for UTF8-encoded frames in ID3V2.4.0 tags.
There are some other minor UI changes related to removing the "What's this" button from most windows (it wasn't used anyway) and adding maximize / minimize buttons on Windows (they still don't show up under Gnome / Metacity, though.)
Another Windows-only change is that if the main window was maximized when the program exited, it will be shown as maximized when the program is restarted. (I didn't test this on Vista, so it might not work there, but it shouldn't matter much.)
You can download MP3 Diags 0.99.02.012 here.
There are some other minor UI changes related to removing the "What's this" button from most windows (it wasn't used anyway) and adding maximize / minimize buttons on Windows (they still don't show up under Gnome / Metacity, though.)
Another Windows-only change is that if the main window was maximized when the program exited, it will be shown as maximized when the program is restarted. (I didn't test this on Vista, so it might not work there, but it shouldn't matter much.)
You can download MP3 Diags 0.99.02.012 here.
Wednesday, June 10, 2009
Move to SourceForge
I've finally managed to move the MP3 Diags home page and downloads to SourceForge. The new address is http://mp3diags.sourceforge.net/.
I'll keep the old address valid for a few weeks, after which the plan is to replace the old pages with redirections to SourceForge.
I'll keep the old address valid for a few weeks, after which the plan is to replace the old pages with redirections to SourceForge.
Tuesday, June 9, 2009
More Debian 5.0 binaries
Christian Marillat from http://www.debian-multimedia.org/ notified me that he's building MP3 Diags for Debian 5.0. It can be found in the "unstable" branch. Besides the program being built by somebody who actually knows something about building, and did it many times before, there are binaries for many other platforms in addition to x86 and AMD64. You can download the i386 package from this page, but you probably want to add the repository, so you are notified automatically about new releases (see the debian-multimedia.org home page for instructions about how to add the repository.)
It would be nice for something similar to happen for other distributions, as I'd rather spend time improving the program instead of figuring out how to package it for various platforms.
It would be nice for something similar to happen for other distributions, as I'd rather spend time improving the program instead of figuring out how to package it for various platforms.
Saturday, June 6, 2009
Showing buttons + Debian 5 binaries
As pointed out by alxgudo and martintxo here, it was possible on Gnome installations for buttons to not show up. That happened because I didn't declare a dependency. This should be fixed in the latest release.
I also added binaries for Debian 5.
Ubuntu 8.04 and Debian 4 seem easy to add too, if anybody wants them. Perhaps a better idea would be for somebody who actually knows how to build packages to have a look at what I'm using to build the binaries and see if they need improvements. (The files are in the "package" directory in the Linux tarball.)
I also added binaries for Debian 5.
Ubuntu 8.04 and Debian 4 seem easy to add too, if anybody wants them. Perhaps a better idea would be for somebody who actually knows how to build packages to have a look at what I'm using to build the binaries and see if they need improvements. (The files are in the "package" directory in the Linux tarball.)
Thursday, June 4, 2009
Windows port and some fixes
In my last post I was complaining about crashes on Windows. After some minor changes that I didn't expect to have any impact, I was able to use MP3 Diags on Windows without experiencing any crash. It wasn't just to see that the program starts and exits, but I fixed audio issues in about 1600 files and then I added track info and cover art to 35 of my albums. So I guess it's time to release the Windows version. See the download page.
While making these changes I identified and fixed a bug that could result in removal of audio data when using the "Remove inner non-audio" transformation.
A less important bug that I found and fixed was related to the incorrect handling of an option to keep a single image in an ID3V2 tag.
While making these changes I identified and fixed a bug that could result in removal of audio data when using the "Remove inner non-audio" transformation.
A less important bug that I found and fixed was related to the incorrect handling of an option to keep a single image in an ID3V2 tag.
Wednesday, June 3, 2009
Ubuntu binaries
I added binaries for Ubuntu 8.10 and 9.04. See the download page for details.
Another change is fixing a bug that could result in deleted files if the disk became full.
I also did the Windows port, but I'm not happy with it, because it crashes. I'll look some more at it before making the Windows version available.
Another change is fixing a bug that could result in deleted files if the disk became full.
I also did the Windows port, but I'm not happy with it, because it crashes. I'll look some more at it before making the Windows version available.
Monday, May 25, 2009
Better font handling
I noticed that most fonts don't work very well in Ubuntu 9.04 (well, I tend to suspect Qt 4.5.0 as being the main culprit), so I implemented a workaround / fix. Some other minor UI tweaks are found in 0.99.0.008 as well.
Friday, May 22, 2009
MP3 Diags 0.99.0 available
I just noticed that all 10 binaries for MP3 Diags have finished building, so I guess it's time to announce that the first public version of MP3 Diags is available.
To quote the home page, MP3 Diags is a GUI-based application that allows end-users to identify issues with their MP3 files, fix some of the issues and make other changes, like adding track information. It also lets you "look inside" an MP3 file.
It looks at both the audio part (VBR info, quality, normalization) and the tags containing track information (ID3.)
MP3 Diags has a tag editor, which can download album information (including cover art) from MusicBrainz and Discogs, as well as paste data from the clipboard. Track information can also be extracted from a file's name.
Another component is the file renamer, which can rename files based on the fields in their ID3V2 tag (artist, track number, album, genre, ...)
For download information and documentation see the home page at: http://web.clicknet.ro/mciobanu/mp3diags/index.html.
Ciobi
To quote the home page, MP3 Diags is a GUI-based application that allows end-users to identify issues with their MP3 files, fix some of the issues and make other changes, like adding track information. It also lets you "look inside" an MP3 file.
It looks at both the audio part (VBR info, quality, normalization) and the tags containing track information (ID3.)
MP3 Diags has a tag editor, which can download album information (including cover art) from MusicBrainz and Discogs, as well as paste data from the clipboard. Track information can also be extracted from a file's name.
Another component is the file renamer, which can rename files based on the fields in their ID3V2 tag (artist, track number, album, genre, ...)
For download information and documentation see the home page at: http://web.clicknet.ro/mciobanu/mp3diags/index.html.
Ciobi
Subscribe to:
Posts (Atom)