3rd May 2014

Trainspotter 3.0 available for download

Version 3.0 has arrived with a new look and feel and fixes for tagging from Discogs. Check out the download page

8th March 2013

Support Forum Back Online

The support forum’s back, there may be a few glitches as it’s now being hosted elsewhere, so please bear with me.

5th March 2013

Support Forum Offline

The support forum is offline for a while until I migrate it to another server. It should be up and running in a couple of days. In the meantime email me with any questions at

13th December 2012

Version 2.3

It’s been a long while since this was updated, but here’s the edited highlights of the new features from the past few updates:

Playlist Management

Added Any attribute rule to dynamic playlist rules, so you can search for tracks where any attribute contains a certain string of characters

Added ability to drag tracks on to playlists in the Playlists editor, rather than use the Add to Playlists option

Added ability to select playlists under the Track Collection as sources for dynamic playlists

Added “Import Dynamic Playlists” function to allow you to import playlists defined in other collections

Added “matches” dynamic playlist rule so you can now specify regular expressions to match fields

Added “export to itunes format” script to export a playlist as a text file that can be imported in to itunes

Release dates now show up in full in iTunes, rather than just the release year


Added duplicate filenames playlists under “Useful queries”, these built in queries help you find duplicate filenames and also tracks with the same Audio ID in Traktor (which usually means there a duplicate)

Added a Javascript scripting interface including sample scripts to export playlists to CSV format, convert tags to title case/lower case and to number tracks, and many more. See the Trainspotter online help for more information on creating your own scripts.

Added a batch search and update feature so you can search Discogs or Beatport for many tracks rather than just a single release at a time

Added ID3 tag processing for WAV files


The Traktor library is now managed through a database rather than entirely in memory allowing larger collections to loaded and faster queries to be performed

Improved performance of dynamic playlist generation

iTunes integration now uses basex XML database which decreases load times and reduces memory usage in large iTunes libraries


Improved the set up of the MP3 decoder

Added ability to rip to AIFF

Added Convert to AIFF tool

Encoding to AIFF can now encode FLAC files as well as WAV files

17th June 2011

2 .1 .2 now with Beatport integration

The Beatport integration allows you to update tag and cover art using the Beatport track database. Also if you have downloaded WAV files from Beatport with the track ID in th filename, you will be able to instantly update the tag information rather than painstakingly update it by hand.

Beatport also contains key information for some tracks and this can also be updated in your tracks using the whatever method of key notation you choose.

29th May 2011

2 .1 available to download

It’s been quite an effort, but 2.1 is finally out with a long list of new features, improvements and bug fixes

If you’ve already donated and qualify for the iTunes integration license, drop me an email and I’ll send you an updated license.

26th April 2011

2 .1 coming soon

The next release of Trainspotter is nearly ready to be set loose. The major theme of the 2.1 release is support for iTunes. The idea is that those who use iTunes as their primary music organisation tool can also benefit from Trainspotter’s tagging and key detection capabilities. With 2.1 you will be able to

  • Use Trainspotter to update your iTunes library with tags and cover art from Discogs, Discogs Digital and Google images
  • Use your own tagging taxonomy to update the iTunes comments or groupings
  • Perform key detection on iTunes tracks using the comments tag to store the key
  • Use iTunes to select tracks in Trainspotter
  • Use Trainspotter without a Traktor collection
  • Perform key detection on all iTunes supported audio formats

There also many more little enhancements and fixes to keep your track collections in a state of tagged perfection, including

  • Traktor Pro 2 support - Trainspotter will now read the location of your Traktor Pro 2 collection automatically
  • Additional tags - Disc Number, Total Discs, Compilation
  • Inline editing of tags in playlists
  • Scan your existing comments to use in your custom tags or groupings

If any of you fancy putting it through it’s paces drop me a mail or message on the support forum and I will send you the relevant links.

6th February 2011

Version 2 is finally out

I hope you find it’s been worth the wait. There are still some things that need a bit of tweeking, but the improvements on v1.71 are too many to keep it under wraps any longer. Get the new version here.

4th December 2010

To all beta testers…

If you’ve been holding back telling me about any bugs that you have found because I was on holiday, now is the time to tell me about them as I’m going to be doing another update this weekend.

If I don’t get swamped with bug reports, I’ll open up the testing to all those that have asked so far.

6th November 2010

Trainspotter 2 beta update

Just a reminder for those checking out the beta to update to the latest version by clicking on “Help->Check for updates”. Accept the default selection and warning about unsigned code installation and select restart and you should be up to date (when you next run the beta you should see v2.0.9 in the title bar. If you run in to problems with this let me know and I’ll update the zip.

9th October 2010

Trainspotter 2 is coming…

You may have wondered why the Trainspotter updates have dried up, and this is why. Over the past few months I’ve been busy recoding Trainspotter to run using a different UI framework (Eclipse RCP) and revisiting bits of Trainspotter functionality that I wasn’t happy with and that were causing people pain.

So on to the new cool stuff in Trainspotter 2:

  • Tagging from Discogs Digital - Discogs wasn’t great for keeping up to date with latest digital releases, now you can use Trainspotter to find tracks in Discogs Digital and update tags and cover art from there
  • Improved playlist management - you can have multiple playlists open at the same time, reorder them and drag and drop from one to the other.
  • Improved Discogs searching - Discogs search results are now ranked in order of the number of matching tracks in your collection for the release. Matching tracks in a release is done on a release basis, not track by track as before.
  • New media player - play/pause/fastforward/rewind tracks using the Trainspotter UI so you don’t have to keep switching back and forth when you’re tagging
  • Flexible UI - all the UI layout and settings for different windows are customizable and are saved after each session.
  • Improved cover art support - no more using the “Comments” field to store cover art locations, all cover art is written directly to the file. The collection browser now displays embedded cover art on demand, rather than loading it all up at the start.

I’ll be cleaning out my dropbox of older Trainspotter 1.x releases as it’s now about full. If you want to download a version I’ve deleted drop me a mail and I can re-upload it for you.

I should have the first beta of this ready soon, so if you want to give it a try drop me an email - wys01 at btinternet dot com.

Till then here’s a couple of screenshots to show you what’s in store - discogs digital tagging, improved searching

22nd July 2010

Changes to MP3 handling in 1.70

The preference settings for encoding and decoding MP3 has changed in this release. Both the MP3 encoder settings on the “Encoding” page and the MP3 decoder settings on the “Key detection” page have now been merged. You should check that the path is correct before using the MP3 encoding or key detection functions as it may have been reset to a default value if not already set.

2nd May 2010

Playlist export to CSV script

I’ve uploaded a little ant script that you can use from Trainspotter to output the contents of a playlist to a .csv file. You can edit the script so that it outputs more or less fields to the .csv file.

Donwload the script here

Once you’ve got the script you need to go in to the preferences, select “Script” and point Trainspotter to the csv.xml file. Next click “Tools”->”Run Script…”, select the playlist you want to export, change the number of threads to 1 and click start. If you then look in the directory the csv.xml file is you’ll see a file called

24th April 2010

1.60 available for download

I’ve added some features that will hopefully take the pain out of creating set of dynamic playlists. So you can now right click on a playlist, select one of the different playlist set types from the menu (key, genre or custom tag) and Trainspotter will create a playlist folder for you and fill it with dynamic playlists, splitting the target playlist in to keys, genres or custom tag values.

When creating a playlist set based on keys, Trainspotter creates 12 playlists, one for each sector around the circle of fifths. When you open Traktor you can then define these as favourite playlists which should help you with harmonic mixing.

When creating a playlist set based on genres, Trainspotter will search through your collection and create a playlist for each genre that is mentioned in your collection. This is different from the ones Traktor gives you by default as Traktor is not aware of tracks defined with multiple genres and gives you combinations genres as playlists. The playlists Trainspotter generates here look for whether the genre field contains a particular string, so you can get tracks being in more than one genre playlist.


19th April 2010

1.59 available

The key tag update bug is now fixed and the version label inside the program is fixed.

18th April 2010

Key tag bug

The 1.58 release has a bug in the key detection process that means that the key values are not being written to the audio files. I’m currently uploading a fix, so hold off using the key detection until 1.59 is up.

18th April 2010

1.58 released … now with iTunes integration

How the iTunes integration works

Trainspotter now integrates with iTunes so instead of selecting a track in the Trainspotter collection browser, you can play a track in iTunes and if the track is in your Traktor collection, Trainspotter will automatically select the track in Trainspotter and bring up either the discogs searching page or the
custom tagging page.

To enable the integration you need to go into the preferences, select “iTunes”, check the checkbox, and make sure that Trainspotter is looking at the correct iTunes Library xml file.

Any updates that you make to tracks using Trainspotter are updated immediately in your iTunes music library. In order to update the audio files Trainspotter has to stop iTunes from playing, so you may hear the odd stutter when you’re updating the tags.

Tracks that you add using Trainspotter (recording/ripping/dragging and dropping) are also added to iTunes.

Any relocation of tracks that you do in Trainspotter are also refected in iTunes. I have seen an issue where sometimes the iTunes Library xml file does not get updated with the new file path of a track that’s been moved, however this doesn’t affect iTunes itself (the itunes database still contains the correct value for the
location of the track), and you can force it to update by right click “Get Info” on the moved tracks and clicking OK to force iTunes to reread files and write the iTunes Library xml.

If anyone has any bright ideas of other things the Trainspotter/iTunes integration could do let me know.

Playlist tab changes

The new release contains a lot of additions to the playlist tab. You can now create folders, drag and drop playlists and folders around. Any playlists you move will also have any dynamic playlists updated that
reference them. If you move folders and playlists around like this be sure to save your collection afterwards otherwise you may find that your dynamic playlists refer to non-existent playlists and don’t contain any tracks.

Custom tag page changes

On the Custom Tag page I’ve added some content assistance on the artist, release, label and genre fields (just press CONTROL+SPACE for a list of suggestions), as well as a configurable genre pick list. The genres can be configured in the preferences and as a start I’ve added many of the genres and styles from discogs, but you’re free to use whatever makes sense to you. There an option in the preferences to initialise the genre list from those you’ve already got defined in your collection.

Cover art for MP4 files

I’ve added support for cover art for MP4 files, so these should now show up in the browser. If you’ve got a lot of these files your collection load times may increase, if so try tunring off the “Display embedded cover art in collection browser” preference.

2nd April 2010

Key detection for AAC/M4A files

If you haven’t done so already, it is possible to set up Trainspotter to use an MP4/AAC decoder so Trainspotter can detect keys in MP4/M4A/AAC files, using the “External Audio Decoder” preferences. The download and use of these decoders, however, may infringe various patents depending on your country of residence, so please consult your country’s software patent laws for more details.

There is a decoder available from Nero for windows and a couple on the site for both Windos and OS X.

To set up Trainspotter, open Preferences->Key detection. Browse to the path of your AAC decoder and then enter the parameters as follows:

  • If you use the faad decoder the parameter string you need is -o %o %i
  • If you use Nero’s aac decoder the parameter string you need is -if %i -of %o

For the extension use either aac, m4a or mp4 depending on what files you have in your collection. If you’ve got more than one type then you’ll have to change the extension accordingly.

2nd March 2010

1.57 available for download

I’ve finally got round to standardising all the tag and field names so that they are the same as in Traktor. This should not effect any of your existing preferences settings.

In addition to being able to specify the row height of the collection browser you can now specify the height of the search result rows returned from discogs, which means much less scrolling.

The “Preferences” menu on the mac versions has now moved to its proper place under the application menu.

I’ve added a “Reload Collection” function, the idea being that you can run both Traktor and Trainspotter at the same time, and any updates that you make in Traktor (creating playlist folders, adding tracks, analysing, reordering playlists) can be saved, and then Trainspotter will ask you if you want to load the updated collection. My hope was that you would also be able to do a similar operation in Traktor so that you could quickly import your changes from Trainspotter to Traktor. However, I’ve come across a couple of issues:

  • I’ve found the Traktor “Import Collection” is not working quite how I want it to. Although it does work, for some reason Traktor wants to update all your tracks after import, which takes a very long time indeed. I tried with both the “use file tags” and “use collection attributes” options when importing the collection in to Traktor too. I think a bit more investigating is needed, I’ll let you know how I get on.
  • When you do an “Import Collection”, any cover art that you have updated does not appear until you restart Traktor - I believe this is a bug in Traktor

If you’ve been having trouble with the date picker dialog in dynamic playlists on mac versions, you can quickly move by year or by decade by holding down either ALT or CMD and clicking the arrow buttons, rather than moving only month by month.

There’s been loads of other bug fixes and improvements, check out the changelog

21st February 2010

Key detection setup guide

I’ve put together a little guide showing how to set up Trainspotter for key detection on a Mac and also on Windows.

9th February 2010

Embedded images bugs fixed

As promised, I’ve uploaded 1.56 which fixes the embedded image bugs that were in the last update.

8th February 2010

Bug in updating embedded images

I’ve just discovered a bug in updating embedded images. It won’t affect your files at all, but basically means that half the image embedding functionality is currently broken. I’ve found the offending bit of code and shall have a fix out tomorrow in 1.56.

7th February 2010

Version 1.54 available for download

New in 1.54 is

Google images support

  • Trainspotter can now search Google images for cover art (just click the Download button on the Custom Tag page)
  • Google images search parameters can be set in the preferences, so you can search for images of a certain size

Easier setup of key detection

  • All key detection preferences now on one preference page

Bulk renaming of files (Traktor Pro collections only)

  • Allows you to move or copy your collection or a playlist to a new location based on the info held in your collection

Multithreaded batch processing

  • This drastically speeds up key detection and MP3/FLAC encoding.

(note that more threads doesn’t necessarily speed things up - each thread is usually trying to read/write to your hard drive which quickly becomes a bottleneck when multiple threads are trying to access the one hard drive)

Also, the number of free key detections has been increased to 20 for each time you run Trainspotter

5th January 2010

Version 1.53 available for download

New in 1.53 is

  • support for 64 bit Windows operating systems, just make sure you are using the 64 bit Java Runtime Environment.
  • performing key detection while ripping a CD
  • performing key detection before encoding to FLAC or MP3
  • support for ripping releases spanning several CDs
  • right clicking the next/previous arrows selects the next track in the selected playlist, useful for tagging a single playlist

If you look on the tools menu you’ll see two greyed out options, one for relocation and the other for running a script. The ability to rename your files based on the data in your collection and the ability to execute a script for across your collection or a playlist should be coming soon.

28th December 2009

Version 1.52 available for download

New in 1.52 is key detection, which is limited to 5 key detections each time you run Trainspotter. You can get unlimited key detections if you donate 5 pounds or more. Like all key detection tools out there it’s not 100% accurate, but the tests I have been doing show very good results. The detected keys are written to your collection.nml and also to the appropriate key tag in your audio files in whatever key notation you choose (see the “Key detection” page in the preferences).

The key detection has been tested with the following audio file formats:

  • FLAC (up to 96kHz 24 bit)
  • MP3
  • WAV (up to 96kHz 24 bit)

In addition, there is the option of specifying a command line decoder which Trainspotter will then use to convert your encoded audio files in to the wav file format for doing the key detection. The key will then be written back to the collection.nml and optionally to the encoded audio file.

The key detection’s accuracy is improved if the tracks have been first analysed in Traktor.

Also new is the ability to write tags to audio files as Trainspotter updates them. You’ll need to enable this setting in the preferences. When Trainspotter updates the tags the file modification date is preserved. You can control which tags Trainspotter will update with the “Update nml file with the following fields” preference on the “File” page. Trainspotter uses the jaudiotagger library to update tags on supported audio file formats, the tag mapping can be found here.
The following attributes are updated:

  • Artist
  • Album
  • Title
  • Track
  • Year (this is updated to the release date in xs-date format YYYY-MM-DD)
  • Genre
  • Comment
  • Bpm (this is updated to the exact BPM used by Traktor)
  • Lyrics
  • Catalog No
  • Record Label
  • Remixer
  • Key
  • Producer

As I’ve not done exhaustive testing on all types of tagging formats out there, I would advise you to test it out on a few files first, to see if it has any unwanted side effects. If you do find anything please post it to the forum and I’ll check it out.

9th November 2009

cdda2wav Integration

So I’ve managed to get cdda2wav to work on my mac and be able to be called by Trainspotter. Here’s how I did it…

So after I installed darwin ports for cdparanoia (see previous post for how I did that) I ran the following:

sudo port install cdrtools

cdda2wav is installed as part of cdrtools and you should now be able to run

/opt/local/bin/cdda2wav -help

Now cdda2wav is not the easiest command line tool I’ve come across, and after some googling I found the magic script incantation to get it to work. The following is the contents of bash script I wrote that unmounts the DVD so cdda2wav has exclusive access to the drive (otherwise it doesn’t work) and then extracts a single track (passed in the first argument) to a wav file (specified in the second argument).

sudo umount /dev/disk1
/opt/local/bin/cdda2wav -t $1 -DIODVDServices/0 -gui -Owav $2

On my system /dev/disk1 is the DVD drive, on yours it may be different, open up a terminal and run:


It should output something like:

/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk1 on /Volumes/Violator (cddafs, local, nodev, nosuid, read-only, noowners)
/dev/disk2s2 on /Volumes/Install Flash Player 10 UB (hfs, local, nodev, nosuid, read-only, noowners, quarantine, mounted by wys01)

You should be able to deduce which is the correct device as it will have cddafs in brackets after the mount point.

I saved the bash script as a file called “cdda”, which now allows me to call it from a terminal window like this:

./cdda 2 TitleOfTrack2.wav

So, to get this to be called in Trainspotter you need to open up the Preferences, go to Recording, and set up your ripping command as the path to the script, and then the arguments to the ripping command are:

%N %f

And you’re done.

8th November 2009

1.51 Available to download

This release allows licensed users to run Trainspotter to only do dynamic playlist and “mixed with” processing before running Traktor. I’ve uploaded a sample script that you can use (startTraktor for Mac and startTraktor.bat for Windows) to this, so that each time you start Traktor your collection is up to date.

The “Add to discogs collection” function is now working again after discogs changed their web site a while ago.

Full details of all the changes can be found in the changelog on the download page.

I’ve been playing around with cdparanoia to get CD ripping on Mac versions working. For those of you who would rather use this than iTunes, follow the instructions here

What I did was installed the xCode Developer Tools from the OS X CD, then I installed darwin ports from here

Then I ran the following in a terminal:
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
sudo port -v selfupdate
sudo port install cdparanoia

cdparanoia seems a bit slow, I’m going to try installing cdda2wav and see how that works out.

3rd November 2009

1.50 Available to download

With this release you can now copy regular and dynamic playlists, which should take a lot of the pain out of organising your collections. A few bug fixes too, see the changelog in the download page for details.

25th October 2009

1.49 Available to download

This latest release should fix the issues with cover art MP3s in 1.47, I’ve done a fair bit of testing on this and have not found any corrupt MP3 files so far. If you do find MP3s that no longer play in iTunes or Windows Media Player I suggest downloading mp3val which has done a pretty good job at fixing affected files.

The other main change in 1.49 is the handling of cover art. Now Trainspotter can read and display the embedded cover art in MP3 and FLAC files with the appropriate preferences turned on, and you can now use the Lyrics or Remixer fields rather than Comments to store the paths to the cover art found by Trainspotter.

The user guide has now also been updated to include all the preference settings present in 1.49.

Issues Embedding Cover Art in MP3s in 1.47

It appears that there are issues when Trainspotter embeds cover art in some MP3 files, making the resulting MP3 files unplayable in iTunes.  iTunes is known to be most strict around the format MP3s that it will play, and other audio applications such as Winamp will still play these MP3 files without any problems.

My advice until the next release is (if you’re using MP3s) to uncheck the “update embedded album art in mp3 and flac files” preference and check the “update folder album art” preference.

Note that this does not effect MP3 encoding of WAV files as this is achieved using a different mechanism.

New version of Trainspotter available for download now

New Features

Batch encoding of WAV files in your collection to MP3s (requires LAME encoder)

Embedding and updating cover art in MP3s

New “Search selected text” button - highlight text from the current audio filename, click the button and Trainspotter will query discogs with the highlighted text

New filename regular expression matching features allow you to extract tag information from your audio filename to use to search discogs and match track names.

Added “Update embedded album art” preference, you can now choose not to update the album art if you don’t want to

Added 44.1kHz 24 bit as a recording format

Suggest ideas for new features here or join the user forum

Usability Improvements

When searching your collection, the next track to search is selected based on whether it is missing a catalog number or an image in the browser, previously this was based solely on whether the catalog number was present or not.

Bug Fixes

Fixed bug where folder.jpg was not being written if the preference was set.

Trainspotter now automatically sets the file preferences correctly for Traktor Pro on Windows versions

Fixed bug where save would crash if file permissions weren’t correct on certain directories

“Mixed with” data is now only calculated when the preference is set, previously it was always calculated, which slowed down saving and saving backups.