You may want to look at the change log here, especially if you installed an older version before.
The development for the version 1.0 is basically frozen. There are several outstanding bugs that can't be fixed due to lack of user feedback: I can't reproduce the bug and I can't make a reasonable guess as to what's causing it, so I need more details from the reporter, but the reporter doesn't provide those details. After a while the bugs will be closed and 1.0 declared finished. In the meantime I'll fix any bugs that are found and reported, provided that I can reproduce them or at least have a good idea about what might be causing them. To some extent I'm also willing to add support for some of the various things that are currently unsupported, if such support is requested and the changes would be small and pretty isolated.
So nothing major is going to follow for a while. However, from time to time you may want to check the MP3 Diags blog, where announcements about new releases are made. Then you can decide based on what changed in a given release if you want to upgrade or not. (If you use an RSS reader, you can add that page to it, so you see the notifications automatically.)
There are both source files and binaries, for several Linux platforms, as well as for 32bit Windows. On this page there are all the links to the current packages. If you need some older version, you can go to the main download page at SourceForge (note, though, that it doesn't have any Linux binaries.) The Linux binaries that I provide are built and hosted by the openSUSE Build Service.
Linux is the development platform (openSUSE, to be more precise), so the program should work best on Linux. The most important requirement is having Qt 4.3.1 (or above), so I expect most Linux distributions from 2007 or newer to be able to compile and run it (perhaps after some tweaks of the build scripts.)
Since this really is a Linux program, there might be some Windows-specific crashes or other issues, so I recommend using Linux instead, if at all possible. At any rate, I did process some 1600 songs with the Windows port to fix issues in the audio part, and then I corrected the ID3V2 tags and added images for 85 of my albums and everything went OK, no crash whatsoever. But, as they say, your mileage may vary. For one thing, there are some reports of crashes from Windows users, while others are happily using the program. I try to fix those crashes, but usually I need more details and quite often those who report the crash don't seem interested in providing those details. OTOH others have been really helpful, so the crashes that affected them got fixed.
There is one outstanding bug causing files to be read-only on Windows 7. There were several reports, and I've seen it myself; however, when I wanted to get a closer look, the files became writable again (or perhaps I didn't remember their location correctly.) This seems to be related to user rights / file permissions, but for now it's an open issue and suggestions about why is this happening and how to make the program work are welcome. Some things that I would expect to help in this situation are running the program as an Administrator, copying files to a FAT partition, or turning off User Account Control. However, at least in one case they didn'do any good.
I tested previous versions of the executable on XP SP1, XP SP2, XP SP3, and Vista Home. Currently the build and tests are done on Windows 7 RC.
I'm not aware of attempts to compile and run the project on other platforms (xBSD, OS X, ...), but I'd like to know if somebody tried it and what the results were. At any rate, there is a file that only works with GCC or MSVC, so other compilers should fail until that file gets ported. If somebody wants to publish builds, it would probably be a good idea to tell me, so I can add a link to the build for that platform.
Well, there is this page in the Fink Project, so it looks like the program should work on OS X; also, several percent of the visits to the web site are by OS X users. However, I have never heard from any Mac user about their experience with MP3 Diags, so I can't really say that it works there. Or perhaps they would have told me if it didn't ...
You can download MP3Diags.tar.gz from SourceForge or from my ISP (SourceForge seems to be in a perpetual restructuring process, so downloads from it don't always work.) At my ISP you can also find a source + documentation bundle. The intended target for the bundle are the packagers. In particular, the documentation doesn't get installed anywhere, but is mereley available for packagers to copy it wherever is appropriate for their distribution.
The development system is openSUSE 10.3. I sometimes compile MP3 Diags on openSUSE 11.1 or Ubuntu 9.04, and it worked fine thus far.
In order to compile and run the project, these packages should be installed:
Generic names
C++ compiler, Qt4 development, zlib development, Boost development, Qt4 SVG, GIF and JPEG plugins (if they are separate packages)
If you find some other required package, please let me know.
To install the program, unpack the surce to some directory and just run Install.sh in that directory. Note that double-clicking the script in some file browser may or may not work, depending on the "current directory" being set properly and on whether a terminal window gets opened so you can type the root password to get the executable copied to /usr/local/bin. Other options are to manually run the relevant commands in Install.sh, or to compile the project from KDevelop 3.5, if you have it (though you might have to first change the name of qmake and/or the serialization library.) If you don't use Install.sh, pay attention to having the right serialization library. I think the default is OK for most platforms, but in some cases the file src/src.pro should have LIBS += -lboost_serialization rather than LIBS += -lboost_serialization-mt. Running Install.sh or just AdjustMt.sh sets the correct value.
Uninstallation can be done through Uninstall.sh. You probably created some data files, and if you are sure you no longer need them you should remove them manually. Note that the data files come in pairs. Although you only specify an ".ini" file when you start the program for the first time (or when you create a new session), two files get created. The ".ini" only stores settings, while the actual data is stored in a file in the same directory and with the same name but with the extension ".dat".
Since there are binaries available (both setup.exe and zip archive), it's more convenient to just use them. However, if you really want to build the project yourself, it's not that hard. You should run BuildMp3Diags.hta, an HTML / JScript application that allows you to do these:
Build the project using MinGW
Build the project using Visual C++
Create a .pro file that can be open from Qt Creator
Create a .sln file that can be open from Visual C++
First you need to download and perhaps compile the required libraries: zlib, Qt, and Boost Serialization. In case it's not obvious, you cannot mix C++ libraries created by / for different compilers. The Qt DLLs that you get from Nokia when downloading Qt SDK are for MinGW, and they are of no use to a Visual C++ project; so you have to compile Qt yourself if you want to use Visual C++. (Or, well, get precompiled binaries from somewhere, but I couldn't find such a thing.) Also, care should be taken not to use incompatible flags for various pieces of code. So it may be better to compile from source, even if you find binaries that look like they should work. Well, here's what I do:
zlib for MinGW and Visual C++
Go to http://www.zlib.net/ and get the "zlib compiled DLL". Unpack it somewhere and you're done. (This is a C DLL, not a C++ one, so it works with all the compilers)
Qt for MinGW
Simply go to http://qt.nokia.com/downloads/sdk-windows-cpp and the download should start automatically; install, and you're good to go (if the link ceases working, hunt around for LGPL and Qt SDK); note that the "Qt root folder" that BuildMp3Diags.hta wants is called "qt" and is located inside a folder called "2009.04" or something similar
Open a Visual C++ Command Prompt and go to the Boost root folder
run bjam toolset=msvc serialization threading=multi release debug . This will only build the Serialization library, and put it inside a "bin.v2" folder
In many cases it's possible to choose various options or do things differently, but I won't get into any of that, instead trying to make this as concise as possible. If you care about those options you probably shouldn't be reading this anyway, as you already know what to do.
After the libraries are downloaded / built, download and unpack MP3Diags.tar.gz from SourceForge or from my ISP, run BuildMp3Diags.hta, fill in the fields, and create the project files or build the program. BuildMp3Diags.hta has more details about this process.
If you don't like the idea of some JScript doing things on your hard drive, you can always change the src\src.pro file until it works. And there's another option as well: Sebastian Schuberth made it possible to compile the project with Visual C++ using CMake. You'll need to set BOOST_ROOT and QTDIR, then run CMake-VS2008-Win32.cmd to generate MP3Diags.sln and MP3Diags.vcproj. Since I don't actually use this, the code may fail to compile occasionally, due to missing headers or some other non-GCC issue. Most likely I won't notice these issues until told.
The source code may also be downloaded from the Subversion server provided by SourceForge, by going to the SVN Browser and clicking on Download GNU tarball at the bottom of the page. Or you can check out the trunk using this command:
svn co https://mp3diags.svn.sourceforge.net/svnroot/mp3diags/trunk/mp3diags mp3diags
Builds created from code from this server are supposed to be of the same quality as official releases. Changes are tested before checking in. (However, occasionally mistakes may be made.)
The Subversion repository stores all the tools that are needed to build the project, not just the source code. So you can find there the documentation, installer and build scripts, and desktop integration files. The build scripts can be used as a starting point for creating binary packages for other .rpm- or Debian- based distributions. Before trying to compile on openSUSE 10.3 (and perhaps other distributions), you should run AdjustMt.sh or Install.sh
Note that you may need to set the executable bit for AdjustMt.sh, Install.sh, and Uninstall.sh, at least when downloading the tarball.
Since this is my first attempt at creating distributable binaries, I'm not very confident that they are of good quality. One known issue is that they are not signed, so this is an area where I could use some help, especially in creating binaries for non-openSUSE platforms.
My hope is that sometime in the future the program will get included in more well-known repositories and official distributions, so I don't have to concern myself with building binaries for various platforms. This has already started to happen: MP3 Diags is included in Gentoo, Ubuntu 9.10 (Karmic Koala), and Debian 6.0 (Squeeze); repositories that have MP3 Diags and are not built by me exist for openSUSE and Mac OS X.
For Linux binaries you'll probably want to install from a repository (or use 1-Click-Install on openSUSE), rather than install the .rpm or .deb file directly. This way you get new versions automatically.
There used to be specific packages for several versions of a distribution. Building them was a long, tedious process. Starting with 0.99.06.044 there are more generic packages, which are easier to build and should work on all recent versions of a distribution.
If you can't find a pre-packaged binary for your Linux distribution, or if what you can find is out-of-date, you may want to try the generic Linux binaries. Also, if your distribution is "based" on some other distribution that has packages that I build, you may want to try those packages or the repositories; they should work in many cases, because they are built in a way that minimizes dependency issues.
The executable that I provide uses Qt 4.5.3 from Qt SDK 2009.04, and was compiled with the MinGW that comes with it (3.4.5.) I did the Windows version more out of curiosity; I have no need to use it. As such, the main way for me to find out about Windows-specific bugs is to have somebody report them.
Starting with version 0.99.06.043, "generic" Linux executables are provided. They are supposed to work on any recent distribution on x86 or x86_64 CPUs but very limited testing was done, so some tweaks might be needed (or it may prove impossible to make them work as intended.) The point of having them is to make it easier for more people to run MP3 Diags. Please share your experience if you try them. Note that running these alternatively with pre-packaged MP3 Diags might lead to the MP3 files being rescanned, due to a different serialization library.
If you use these, you'll have to make sure that you have the correct dependencies. All you'll need to add is probably Qt 4. If on your distribution the SVG support in Qt 4 is packaged separately, as it is on Debian-based distributions, you'll need to add that as well. Note that the program will run without SVG, but the buttons will have no icons in such a case. If you have KDE 4.x you probably don't need to add anything.
For Fedora there are no repositories, so newer versions can only be installed manually. Perhaps somebody will offer to get me started on creating repositories, or just build the program elsewhere.
Starting with 9.10 (Karmic Koala), MP3 Diags is included in Ubuntu, so you can simply install it from Synaptic. The package's page is here. (Note, though, that it won't necessarily be the latest version; that shouldn't matter in most cases, as the program seems stable enough and no major feature changes are planned.)
For the latest version, there are binaries that I build at openSUSE Build Service:
Normally you should use the repositories rather than the .deb file, so you are notified automatically about updates. Another issue with the .deb files is that the direct links are broken for a while after running a new build (the link is for the old version, which got replaced by the new version.) You can still get a .deb file from the repository, though.
In my tests, the Ubuntu 9.04 i386 .deb installation was OK except for a warning about the package not being authenticated, because it's not digitally signed. I looked at this and I think I can't sign Ubuntu / Debian packages that are hosted on the openSUSE servers. I might be wrong, though, since I know next to nothing about building .deb files or signing them. However, I'm not going to look any further into this by my own, but merely hope that somebody more experienced would offer to help (or even better, take ownership of the build process, so I don't have to deal with it.) At any rate, the program installs and runs OK if you ignore that warning. You can read about adding repositories on Ubuntu here. The command I used when prompted for the "APT line" was:
deb http://download.opensuse.org/repositories/home:/ciobi/Ubuntu/ ./
The repository on the main server uses redirection, which apparently isn't supported by Synaptic (or at least it wasn't until some time ago, because Ubuntu 9.04 works fine with the main server. Maybe the others work too, but I don't have them installed, so I'll just assume that they don't.) Perhaps somebody would like to test if installation and / or automatic updates work for the main repositories and then share the results.
I'm not sure if the main repository can be used, because of redirection issues (see also the notes for Ubuntu, above); if it can't, the mirrors should work.
I don't package MP3 Diags for Gentoo. There's no need for it, as the project is now included in the distribution, thanks to Dominik Kapusta. The install instructions are rather simple:
I'm not familiar with Mandriva, so I have no idea if the "Home directory" can be used as a repository or not. Also, I didn't test these RPMs, but they should be OK. At least somebody said they were OK.
If you can't find a pre-packaged binary for your Linux distribution / version, and you don't want to build from sources, have a look at the notes about binaries above for suggestions about getting binaries and packages.
If you want to build binaries for other platforms, please let me know, so I can add the links here.