From kJams Wiki
Jump to: navigation, search


This section discusses how to reinterpret your song names to extract meta data out of them to get it in the right columns. After you do this for your entire library you probably want to attempt to get Perfect Metadata.

After you "Add to Library…" your songs, they may show up with ALL the meta data glommed into the "Song Name" field, or possibly just a 2 digit number. Hopefully each bit of data in the file name itself is delimited by a dash character "-", which will allow kJams to automatically extract each bit and distribute it to the proper column. That way you can sort by those columns (eg: name, artist, album).

First you must understand the idea of name templates. A name template is a specification for the format of the file name. A popular example would be "L-T - R - S", this is a template specification, it literatlly means "album name dash track number space dash space artist name space dash space song name". Note that the spaces are significant. Since Artist and Album both begin with A, i don't use the letter A, i use R for aRtist and L for aLbum. Another valid template letter is "I" which stands for "ignore". This lets you skip over un-interesting parts of the name. Also valid are parentheses ( ), the letter "V" for "Rendition" (think "Version"), the rendition field is for something like "has lead vocals" or "has backing vocals" or "explicit" or any other textual info that distinguishes this song from another version of the same song. Then there's a period ".", and finally the path separator "/". The path separator is used when the meta info is distributed within the containing folders of the song. eg: if the artist name is in the containing folder, and the Song name is inside the folder you'd use "/R/S" as the template.

Note you can only enter valid characters. If you enter any non-valid character, you may crash ('till i fix that bug). The ONLY valid characters are:

L : aLbum
T : Track (number, two digits)
R : aRtist
S : Song Title
- : Dash
| : Pipe
I : Ignore
(): parens are okay
[]: brackets are okay
{}: curly braces are okay
V : Rendition (Version)
. : period
  : [space]
/ : path separator

One you understand templates, you then must gather the songs that would be interpreted with the EXACT same template style into a single playlist. eg: gather all the songs that follow the pattern "L-T - R - S" into a playlist. Then, sort that playlist by # or Song ID. The point of that is do NOT sort that playlist by name, artist or album, because those things are about to change and you want to optimize the process (otherwise it will take longer as kJams attempts to keep the list stored *while* names are changing).

Before you start: Sort by PLI or SongID

When you reinterpret song names, the name, artist, album, track number, and even the rendition meta data items can change. So if the playlist is currently sorted by one of those columns, the songs will jump off the screen to sort correctly into place. This can cause kJams to run very slow, and it can also seem like there is something wrong because the songs disappear off the screen.

What you should do is sort the list by PLI (play list index) or SongID before reinterpreting. I recommend using PLI because it is the fastest way to sort. If you do not have the PLI column showing, you can click here to learn how to hide or show sort columns.

You may want, however, to reinterpret a group of songs that happen to be sorted by one of the above columns. To do that, make a new playlist, drag that group into the new playlist, then sort the playlist by PLI, then do the reinterpret within that new playlist.

How to Reinterpret

Now select all the songs in that playlist and pick "Reinterpret Names" from the context menu or from Advanced. You'll get the Reinterpret dialog:
Now pick from the popup the template that the songs follow. In the box below, kJams will show you how it would interpret the first song. Verify that all the info is correct, then press OK. In some cases the template you expect to use will not be available, grayed out. This is because 1: the template does not *actually* fit the song like you thought it did or 2: the dashes in the song have been replaced by em-dashes or 3: a bug. If it is 1, you'll have to examine closely the song name to see where your understanding went wrong, and figure out which template it really is. If there is no template for what the name really is, you can make one by hitting the Edit… button and typing it in (one per line), then save that file and switch back, your new template will then be available. If it is 2: then use this secret method: click "use Song Name", then click back to "Use File Name", that should free it up to interpret em-dashes as actual dashes. In some cases you may slightly edit the song name in kJams before you go to reinterpret names, in order to massage the name into one of the template formats. In that case you want to pick "Use Song Name" since the file has not been renamed yet. If it is 3: then just hit cancel and reinterpret again, that should fix it.

You may need a Bulk Name Changer tool to pre-process your files in order to ensure they fall into a template that can be supported by the Reinterpret Names function. For example if your files use an underscore instead of a dash as the meta data delimiter, eg: "L_T _ R _ S", the underscore is not picked up by kJams, in fact all underscores are turned into spaces by kJams. So use NameChanger to convert underscores to dashes, THEN add the songs to the library, THEN reinterpret and you should be good to go.

Sometimes a dash is actually PART of a name, eg: "Olivia Newton-John". In that case, to properly interpret that, you'll need to create a special template like "L-T - R-R - S" to get BOTH PARTS of the artist name to be added into the Artist column. Note that when you do that, the dash is removed from the name.

A more popular example of that is when a disc number is part of a series, like "SC1234-5-04 - The Foobars - The Song". The first number after the album name is actually a disc number of the series. So to get both parts to add into the Album column, you'd use the template "L-L-T-R-S". (spaces around the dashes are optional when interpreting, but count when conforming).

Note that a dash that has been manually added into a name in kJams won't be interpreted as a dash, it will be converted to an em-dash so that the reinterpret function will skip over it. But you may NEED the interpreter to NOT skip over it. eg: if you have a song who's name seems to include three dashes, yet the three-dash name templates are not enabled, try turning on the check box <<Treat "em-dash" as regular dash>>, this will override the em-dash and allow the interpreter to see and use them.