The musicbrainz track editor helper is a small javascript application that
will speed up the moderation process of the Musicbrainz data. It is designed mostly to
fix the capitalization of track titles, but can also be adapted for other
purposes. It works by loading several pages into different frames in your
browser; one of them is the Musicbrainz page where the data comes from, the rest
are pages that are served from your local machine or from a server somewhere. It
is currently only tested on Mozilla and Phoenix; if you get it to work on
other browsers, let me know. You need to have
javascript enabled for the application to work. Part of the problem for
cross-browser compatibility is that special privileges are needed for
cross-frame reading and writing. For now, you need to make a change in your
browser configuration to allow this writing: add the following line to your
prefs.js file:
user_pref("signed.applets.codebase_principal_support", true);When you go the the application's main screen, you will see 4 frames: 3 on top of each other on the left hand side, and one large one on the right hand side. This text is displayed in the middle frame on the left. The top frame has a few buttons in it; the other two are empty. You would start by loading the Musicbrainz homepage in the middle frame (this can be done with the leftmost link at the bottom of the top frame). Log in to Musicbrainz. Now it's time to start editing some track titles.
You can navigate manually to an album you want to edit, or you can click the two other links in the top frame to show a list of suggestions of track titles that look like they need improvement. Locate a track that is in a language that you know. Click on it; you will see three boxes; track-, artist- and albuminformation. It's the album information that we're interested in; click on the album title. This will lead you to a screen where all tracks of that album are visible. Now, if you'd want to change a number of track titles, you'd have to change them one by one. That's where this tool comes in. Click the 'Edit Tracks' button in the top frame. A question will pop up (if you made the change to the Mozilla configuration, as described above) if you want to enable extra privileges. You need to do this; the top frame has to be able to read from the middle frame! If you don't trust me, read the code; test run it in a sandbox if you're really paranoid. Granting this privilege will load all tracks in the left-hand window, with a text box in which the same title is visible, but with a suggestion for a better capitalization. If the old name and the suggested new name are different, the text of the new name will be red. REVIEW ALL CHANGES! The algorithms are still very basic. If the suggestion is not good, click on the image between the old and the new version, and the textbox will be reset to the old title. Once you think the changes are OK, click on the 'Submit all track changes' button in the top frame. The changes will now be submitted to the Musicbrainz server. The results of this action will be made visible in tiny frames in the bottom frame on the left hand side; these are only an indication. Wait long enough until every small frame is purple, then right-click on the middle frame (which is still showing the album), and click frame-<refresh this frame. You will see all changes now, if all went well. This is the basic functionality.
Clicking the 'Help' button will bring up this screen in the middle frame.
You can configure a number of options. Most of them are for debugging purposes; they are not saved over sessions (as a matter of fact, they are not even saved over page reloads). The options are the following:
Open results in new windows: this will make the tracks list submit to new windows and not to the tiny frames below. This is useful if you want to see the results of every submit action; it would be even more useful if Mozilla could open windows in new tabs, because now your whole desktop is cluttered with 10 or 20 new windows. In current form, mostly useful together with next option.
Limit the number of tracks: this will load only a limited number of tracks in the left hand screen. The first n links are loaded. Useful to speed things up while debugging.
Show frame borders: show the borders of the framesets. Doesn't work yet.
Show result frames: show the result frames at the bottom. Doesn't work yet.
The following bugs are known and will be (may be) solved in the future:
Look in the source of controlpanel.html (the page in the top frame) for a list with possible improvements. Most are simple for people with some javascript skills.
Advice on how to improve the capitalization algorithm is also welcome. Some special cases are in this file; more test cases like this are useful. Warning: some explicit language in this file - blame 2 Life Crew if you don't like it.
This is the first javascript I ever wrote. It's probably not very good. I welcome all improvements.
That's all folks.