Powered By


JIDE Common Layer's swing.jar


Project News

Project Releases

IRC: #listFix() on freenode

Release Notes

Version 2.2.0 Improvements (2012.05.03)


Version 2.2.0 is dedicated to my late grandfather, Robert "Ruby" Caron. We love & miss you Pep.

This version was a long time in coming, but it's chock-full of usability enhancements that makes it easier to work on multiple files at once, to manage multiple open playlists, and to interact with listFix() via dragging. Now it takes less time than ever to fix every broken playlist in your collection!

This release marks the first time we are providing both a JAR file and an EXE file for download. The EXE file is basically a wrapper around the JAR for Windows users who aren't used to running Java programs. It will take you to Java's download page if you don't have the JRE installed, which isn't something we could do with a standard JAR. Some Windows systems fail to register double-click support for JAR files as well, and the EXE will run when double-clicked no matter what.

Thanks to my wife Sarah, John Peterson for building out WPL support, and those generous souls who have donated.

As always, please report any bugs you find.

New Features:

  • Support for reading/writing WPL playlists (thanks to John Peterson).
  • Can now run "Closest Matches Search" on multiple playlists at once.
  • Drag-n-drop support for dragging files in from the operating system
    • Playlists & Media Files can be dragged into an open playlist
    • Playlists can be opened by dragging them into the "home screen" or the menu bar.
  • Window position & size are now saved at exit & restored on startup.
  • Overhauled the config file structure:
    • Broke out a new file for options.
    • Added a new error log file for better debugging.
    • Window size & position stored in its own file.
    • Relocated all files to ~/.listFix() along with a new errorLog file, rather than at the root of the user's home directory.
    • Config files from old versions are imported and removed when first running this new version.
    • Running an old version again will re-create config files in the old location, and this version will leave those alone once new config files exist.
  • Colored status circles in the playlist editor now contain icons so the color blind can easily distinguish between them (they've had tooltips since version 2.0.0).
  • New red "skip" buttons in the playlist editor for jumping to the next/previous missing entry; handy when working on large lists with missing entries that have lots of fixed entries between them.
  • Replaced the wrapping tabs layout with a flat one and introduced a new tabbed component that has a dropdown to select from all open tabs.
  • Middle-clicking a tab now closes it.
  • New right-click menu on tab titles:
    • Close All Tabs
    • Close All Other Tabs
    • Repair Open Tabs (runs a batch exact match search on all the open lists)
  • A font chooser in the options screen for setting the program-wide font. This should help with internationalization issues, as users can choose a font that they know can support the characters used in their filenames.
  • A new option for how many matches to find during find closest search, starting at 20. This is to allow for configurable memory usage, so we don't use too much memory on systems with huge media libraries, or very small amounts of RAM.
  • Open selected playlists in the playlists panel with the "Enter" key.
  • First command line argument support, for passing a list of playlists to open on startup.
  • The escape key now triggers the cancel button in all cancellable dialogs.
  • Tooltip on location column for full path so it's easy to see the whole location when the file name column is taking up most of the display.
  • When "save playlists with relative file references" is enabled, there is now a check to see if a mapped network drive and a UNC path are really aliases for the same location, and if so, now saves with relative paths despite the apparent mismatch. (example: \\foo\bar\testDir\testFile.tst is the same location as Z:\testDir\testFile.tst if Z is mapped to
    \\foo\bar\, so when saving to either Z:\testDir or \\foo\bar\testDir, \\foo\bar\testDir\testFile.tst & Z:\testDir\testFile.tst would both be written out as .\testFile.tst)
  • Added "Set", "Exact", & "Closest" buttons in the playlists panel, and "Open" & "Refresh" in that panel's right-click menu.
  • The "Set" button launches the open screen where the directory to be shown in the "Playlist Directory" panel. This will hopefully help to clarify the usage of this panel.
  • Now launching "Find Closest Matches" when double-clicking on a missing entry.
  • The closest match search algorithm now breaks CamelCasedWords into separate tokens when comparing two filenames and calculating a score.
  • "Batch Find Closest Matches" on a the right-click menu in the playlist editor has been removed. The "Fix Everything Button" runs this after an exact match search, and now "Find Closest Matches" will kick off batch mode if multiple entries are selected.

UI Tweaks & Bug Fixes:

  • Removed the open icon in the top-right open the playlist editor.
  • Items in the playlist directory list and the playlist editor are now de-selected when you click on nothing.
  • Fixed a bug where saving a list with relative references would fail if the list contained an absolute reference that didn't exist on disk.
  • Fixed a bug where opening a playlist with relative references and saving it as absolute, when "always use UNC" was enabled, would result in entries with "mapped drive" paths, even when the media directory was using UNC paths.
  • Fixed a bug where opening a relative playlist and saving it relatively in a new location would result in entry paths that first led you to the playlist's original location, then back to the song.
  • Now stripping invalid filename characters from winamp playlist names when extracting them so we don't fail to write any files during extraction.
  • Fixed an issue with resolving relative entries in the same directory as the playlist itself, as the assumed path was '/' rather than '.'

Version 2.1.0 Improvements (2011.03.06)


Version 2.1.0 contains some critical bug fixes and lots of new features building on what was introduced in 2.0.0. I have much more to add, but it was time to get this set of improvements stable and out there for everyone to try. Thanks to Sarah for putting up with all the time I spend in front of a computer, to Pierre for taking the time to help me improve this app, and those those few generous souls who have donated :)

As always, please report any bugs you find.

New Features:

  • "Fix everything" button (magic wand icon) - first finds exact matches, then runs a closest match search on all the missing entries that remain
  • Can now create a playlist from scratch (Ctrl-N, menu item under "File", or via the "getting started" panel)
  • A play button in each row of the closest matches results screen to preview potential matches
  • Ability to extract all the playlists from the winamp media library to a new location
  • Cancel button for all long-running opeations
  • Saving a playlist is now nearly instantaneous
  • Major memory usage improvements and a roughly 40% running time improvement for the batch find closest matches operation
  • Swtiched font to SansSerif for much better international support (shows Latin, Japanese, Korean, etc. characters that Verdana couldn't handle, among other reasons)
  • Entries that are aren't missing but are found outside the media library are now updated to a location inside the media library if found there too
  • Switching off "use UNC paths for mapped drives" will revert the media library to a mapped drive representation if applicable
  • Can now drag multiple entries through the playlist at once (this should feel more natural now, implemented via Java's Drag-n-Drop API)
  • Can drag a playlist from the playlist panel into the current playlist as an insert
  • "Edit filenames" and "Replace" will operate on multiple entries
  • Open dialogs for playlists now let you pick multiple files
  • Refresh button for the playlists panel
  • Can also multi-select (even directories) in the playlist panel and hit either the enter key, or the Open button, to open playlists (recursively for directories)
  • More flexible parsing of M3U files to deal w/ extra data added by some players (lookin' at you MediaMonkey...)
  • Can launch URLs for playback

Bug Fixes:

  • Solved a major problem with saving files out relatively
  • Fix playlist appending/insertion via the '+' button

Version 2.0.0 Improvements (2010.09.06)


All I'll say is that Version 2.0.0 is awesome (thus the large jump in version numbers).  Much thanks to Kennedy for all the hard work, for adding most of these new features, and perhaps most importantly, for getting me working on this again.

We've done as much testing as we possibly can, but there are only two of us and I'm sure something's slipped past us.  As always, please report any bugs you find.

New Features:

  • New tabbed interface, have multiple playlists open at the same time
  • Found status now indicated by colored icons
  • New batch repair interface that allows in-place editing of batch repaired lists
  • Batch repair of playlists stored in winamp’s media library!
  • Batch find closest matches to find all renamed missing files in a playlist at once
  • Playlist editor now supports multi-select; delete, move, & play multiple items at once
  • Simplified adding and sorting
  • Reload button to abandon changes to a list and reload from disk
  • PLS support

Bug Fixes:

  • Fixed a case sensitivity issue w/ file extensions (couldn't open .M3U files)
  • "Remove Missing Entries" was removing URLs
  • Recent Playlists menu didn't update when doing a "Save As"

Version 1.5.3 Improvements (2009.04.16)


Version 1.5.3 picks up where 1.5.2 left off. There are lots of new features (including batch playlist repair), see the change log for more information. Please report any bugs you find!

New Features:

  • Batch repairing of playlists!
  • Revamped scoring algorithm for closest match detection
  • Double-click to select a closest match
  • Double-click to open/launch a playlist entry
  • Vastly improved Closest Matches screen
    • Sortable columns
    • Table row tooltips to show the location of a closest match
  • MPC added to list of indexed extensions
  • Splash screen with description of what's happening during startup
  • Alternating table row colors for tables
  • Now showing a pop if you attempt to close the app while working on an unsaved, modified playlist.
  • "Help" and "Check For Updates" menu items, take you to the wiki and website respectively

Bug Fixes:

  • Hopefully fully completed/fixed UTF-8 support
  • Found a fix for the '&' playback bug
  • Auto-removing a media directory at startup when it was no longer present didn't remove all the media library directories under that folder
  • JDK 6 Update 10 bug fix for Closest Matches screen
  • Fixed serious lag caused by clicking on a missing playlist entry that was on a network drive
  • Fill Viewport for all JTables
  • Removed Nimbus from the L&F list as we might not be fully compliant yet
  • Sped up the remove missing entries operation
  • Copy files task was executing twice, once after the progress bar was hidden, thus causing unresponsiveness
  • Huge performance improvement when opening playlists that have entries pointing to samba shares under windows.
  • Now updating the playlist panel after playlist saving or batch repairing operations
  • Editing a filename to a missing file didn't break that entry in the UI (as it should've)

Version 1.5.2 Improvements (2008.07.18)

There is a known issue with trying to launch an MP3 or M3U from listFix() in Windows when the name of the file contains an ampersand , '&', character. If you find you can't play a file, this is probably the reason why. If your file doesn't contain this character, please file a bug report :) 

New feature: 

  • "Playlists Directory" panel on the left of the UI with integration to open playlist files (double click one), choose a directory to display from the options screen. 

Bug Fixes:

  • Empty lines in M3U files were being loaded as empty entries. 
  • Crashing while writing M3U files cased an infinitely busy cursor. 
  • Saving a list in "relative entries" mode crashed when writing a list that contains a URL. 
  • The "absolute" file for relative entries was not set correctly, messing with operations on those entries. 
  • The "empty directory" cache used for speeding up existence queries was being set incorrectly, causing certain files that existed to show as "Not Found".
  • User was not prompted/informed when saving a file failed. 
  • "Find Closest Matches" crashed when operating on an empty media library. 
  • Fixed M3U8 (UTF-8) support, should be rock solid now.

Version Improvements (2008.06.02)


Version is mainly a bug fix release for users of 1.5.1. Please upgrade as soon as possible.


  • Fixed playlist and file playback bug in XP
    • Windows would complain the program "start" could not be found
  • Fixed UTF-8 M3U support
    • Extra comment lines in UTF-8 M3Us were messing with the M3U parser
  • Fixed 2nd run bug
    • listFix() would fail to parse its INI file when the user did not choose a look and feel in the options panel the first time the program was run
  • Relative playlist opening bug
    • Entries with relative references weren't detected as existing when the playlist was first opened
  • Fixed a bug where crashing while writing an M3U would result in a zero-byte file
  • Fixed a selection bug in the media directory panel
  • Allow "find closest matches" on entries that are already found on the file system

Version 1.5.1 Improvements (2008.04.06)


If you were previously running version 1.5, please refresh your media library to index the newly supported file types after installation.

Changes include everything from 1.5.1 beta plus...

  • An options screen with the following options:
    • Save playlists with relative references!!
    • Auto-locate playlist entries on load
    • Auto-refresh media library on startup
    • Number of recent playlists in history
    • Look & feel selector
  • Collapsable split pane on main screen.
  • Now when "save with relative paths" option is off, existing relative file refs in an M3U will be changed to absolute paths.
  • Fixed a bug in removing media directories.
  • Fixed a bug where adding a media directory that's the parent of an existing entry would cause double indexing and other nasty problems.

Version 1.5.1 Beta Improvements (2008.03.29)


If you were previously running version 1.5, please refresh your media library to index the newly supported file types after installation.


  • Added support for indexing formats other than MP3 (fixed list of formats for now, will make option-enabled soon).
  • Renamed classes, variables, and functions to remove the MP3 bias.
  • Fixed a bug where file modified marker in the status display wasn't updated when saving the playlist.
  • Added support for URLs and for determining the existence of relative file references when already present in an M3U file.
  • Relative file refs to files that exist will be written into the M3U file as relative references, otherwise they are stored as absolute after finding them. Still need to add support for saving everything relatively when possible.
  • MAJOR overhaul to adding/removing/refreshing media directories.
  • Improved progress display by removing the inaccurate progress bar and adding the directory that is currently being scanned (should let us know if reported crashing was really a bug).
  • Changed fonts to be more consistent.
  • Started moving some code to generics.

Version 1.5 Improvements:

  • Rewrote finding algorithms to used cached directory and file lists
  • Added several progress bars
  • Playlist modified marker in the status bar
  • Open/Save dialogs remember your last location
  • Ability to refresh the media library
  • Added caching of media directories and file names
  • Open MP3s and M3Us in the system's default program (not tested in UNIX)
  • UNC Support (Windows only)
  • Code reorganization and clean-up
  • Many bug fixes and speed improvements

Versions 1.3.4 to 1.4.9 were skipped to celebrate initial public release to SourceForge

Version 1.3.3 Improvements

  • Recently opened M3U list.
  • Ability to clear the history list.
  • Better support for creating new playlists.

Version 1.3.2 Improvements

  • Cut the size of the jar file.

Version 1.3.1 Improvements

  • Added a status bar to display the name of the currently open playlist, the number of songs in the list, and the number of songs that are lost.

Version 1.3.0 Improvements

  • New feature allows you to copy the MP3s in the list to a directory for easy file transfers and/or burning to CD.
  • New feature removes all duplicate entries in the playlist.
  • Extensive testing in Linux for compatibility with XMMS playlists.
  • Addition of a progress bar. Appears when locating the MP3s in the list.
  • Added a right click menu for actions associated with a single MP3.
  • You can now remove all missing MP3s with one click.
  • Ability to randomize the playlist and sort it by file name, path, and status.
  • Made fonts smaller so more filenames fit on the screen.
  • All dialog boxes now center in the parent window.
  • Removed redundant buttons under the playlist table.

Versions 1.2.4 to 1.2.9 were skipped

Version 1.2.3 Improvements

  • listfix() now works in Linux!!

Version 1.2.2 Improvements:

  • Bux fixes involving the table. It now displays the new location in the playlist on the fly as it is dragged through the list.

Version 1.2.1 Improvements

  • Several minor changes (title bar, greyed out remove button when media dir list is empty, fixed greyed out button bug when no list was loaded, etc...).

Version 1.2.0 Improvements

  • Made buttons grey out until they can be used.
  • Added the ability to append a playlist to another.
  • Added a 'find closest matches' search for MP3s that have been renamed and aren't found by the normal file finding process.
  • You can now edit the filename of an MP3 in the list directly... useful if you know how you renamed the file.
  • Ability to insert mp3s into the list.
  • New icons for move up / move down / delete.

Version 1.1.0 Improvements

  • Fixed bug that limited the display of playlist entries to 50.

The Brief History of listFix()

Just so I don't someday forget the details, here's how listFix() got started...

  • 1998-2000: Started playing with and building winamp playlists.  As I moved MP3s around in my collection, playlists would break (wicked lame).

  • Summer 2001: Had loads of time to kill while driving cross country in a minivan. Had just finished my sophmore year at UMass Amherst and wanted a Java project to work on in my spare time, mainly to practice coding.  Remembered how much broken playlists bothered me and got to work.  Was calling it "Playlist Repair 2000" at this time.

  • Spring 2002: Work had proceeded randomly up until this point, but I did an "independent study" that semester that was little more than doing tons of work on listFix(). IIRC, versions 1.3.0-1.3.3 were produced during this time.

  • Summer 2004: Almost posted listFix() on SourceForge, but got lazy and didn't pick it up again until 2008.

  • 2008.03.10: listFix() given out to the public at SourceForge.

  • 2008-2009: Versions 1.5.0-1.5.3 released

  • Aug 2010: Kennedy Akala joins the project with major contributions on batch actions (playlist repair and find closest matches), winamp integration, and an overhauled playlist editing interface.

  • September 2010: Version 2.0.0 released

  • March 2011: Version 2.1.0 released

  • May 2012: Version 2.2.0 released

  • Present: An active SourceForge project and an application people actually use :)


Softpedia 100% Free

5 Stars From

100% Clean From

Copyright 2001-2014 Jeremy Caron. All Rights Reserved