Advanced metadata editing

From kJams Wiki
Jump to navigation Jump to search

One of the many powerful features that kJams provides you is the ability to use an external program to modify the stored metadata about your songs/tracks. Generally, this will be a spreadsheet, though you could use something else too, if you wanted.

There are some caveats to this, and you can break your database and waste a lot of the time you've invested if you're not careful how you do things. Like all powertools, the use of this feature requires some caution. But it's powerful enough to be worth learning how to use, especially if you're a professional host. Note some fields are not supported, for example Date fields.

So, like they used to say on the tests in school:

READ EVERYTHING BEFORE DOING ANYTHING.

Here is a Tutorial Video And another Tutorial Video

The Basic Procedure

Moving Data To a Word Processor

The procedure is similar to a Spreadsheet (see below), except that in your word processor, you must set up Tab Stops.

Moving Data To Your Spreadsheet

  • Select your Library (or some other appropriate Playlist) in the Source Pane of the main kJams window.
  • Click on any visible row on the right
  • By "context-clicking" on the title row, make visible any columns you want to work with in an external program, and hide any that you don't need to -- make sure the (unique) Song ID column is visible
  • Select some group of tracks you want to edit, or Command-A/Ctrl-A to select all tracks in the window. If you do select all tracks, we recommend that you
    • Make sure the (unique) Song ID column is visible as the first column, and
    • Sort the window by that column, in ascending order
  • Press Command-C/Ctrl-C to copy the data
    • If you selected All Songs, a dialog box may pop up with a 'thermometer' display to tell you how far along the process is
  • Start your spreadsheet program* (if it's not running) or
  • Switch to it (if it is running)
  • Click in cell A1 (top left corner)
  • Command-V/Ctrl-V to paste

[ * If you don't have a spreadsheet program already, let us recommend the excellent -- and free -- Apache Open Office, available online for the Mac and for Windows ]

You should now have a spreadsheet that is full of whatever rows (for each song) and columns (for each type of metadata) you had visible when you clicked Copy.

Editing Data Within Your Spreadsheet

Save two copies of that spreadsheet. Call them "Library original" and "Library", or something to that effect. You'll edit the second, and have the first available in case you badly break something and need to recover.

Now: edit the spreadsheet any way you need to. You can use the range-paste feature to clean up artist names, or harmonize CD/album names, or whatever your needs might be. The only thing you cannot do is to insert or delete any rows or columns, or move any columns around.

You can even use the Data->Sort feature to resort the sheet by whatever column makes a particular task easier... as long as you re-sort to "Song ID (ascending)" when you're done. This is the secret sauce that makes all else possible.

Once you've done all the editing you feel is necessary, do that final re-sort (if you had sorted the sheet some other way during your work), and then follow this procedure:

Moving Data Back From Your Spreadsheet

  • Save the edited sheet, using whatever name you already called it (Command-S/Ctrl-S). You shouldn't need to specify a name cause you did that at the beginning, remember?
  • Click in cell A1
  • Scroll down until you can see the lower-right cell on the sheet on your screen
  • Shift-Click in that cell; you should see the entire active part of the sheet change color to show that you've selected it
  • Command-C/Ctrl-C to Copy
  • Switch back to kJams -- you did leave it running, right?

Now, the instructions diverge a bit, depending on whether you copied all your tracks at the beginning or only a few. If you only copied a few, then you should still see them selected on the screen, and you can just hit Command-V/Ctrl-V to Paste your data back in. After a few seconds, you'll see your edits appear on the screen, and they're automatically saved in your permanent database.

If you Copied "All", then:

  • Make sure you are still displaying tracks in ascending order by Song ID (this shouldn't have changed)
  • Make sure all tracks are still selected (this shouldn't have changed either, but if not, hit Command-A/Ctrl-A again)
  • Hit Command-V/Ctrl-V to paste

Just like on a short edit, you should see your data appear on the screen after a short delay, but if you were pasting in thousands of songs worth of data, that delay may be several seconds long -- you may again see a dialog box pop up with a 'thermometer' display to tell you how far along the process is. Once it's done, you'll see the visible data change, if you had changed any records that were within the visible window. Either way, though, the changes you made externally, and copied and pasted back in should be in your database; do a search for a track you edited, and double-check.