#listFix() on freenode
Have you ever spent some time making a playlist, only to have it break when you reorganize your files? listFix() is a Swing application that solves this problem by finding the lost or missing entries in your playlists automatically. Tell it where you keep your media files, load in the playlist you want to fix, and hit the locate button. The program will search your media library for the file and update the playlist accordingly when it finds a match.
If a few files are still missing, they were probably renamed. listFix() has a way of finding these files as well, by scoring the files in your media library with a "similarity" test and offering you a choice of the best potential matches, pre-selecting the matches it deems "best".
iTunes fans, see Using listFix() to fix iTunes playlists
- M3U/M3U8/PLS/WPL Support (Winamp, XMMS, Foobar2000, VLC, WMP, etc)
- Find lost/missing/renamed playlist entries
- Exact Matches Search
- Closest Matches Search
- Insert/Move/Delete/Replace/Append entries
- Insert/Append Playlists
- Sort the playlist by filename, status, and location
- Randomize the list
- Remove duplicates and/or missing tracks from the playlist
- Copy all songs in a list to a specified directory
- Launch an entry or playlist in the system's default media program
- Support for URL & UNC path entries
- Save playlists with absolute or relative references
- Winamp media library support
- Repair all Winamp media library playlists in place
- Extract Winamp media library playlists to a new location, with their actual names!
- JRE 1.6 - no promises of compatibility for OS-specific features on Macs as I don't own one
- UNC paths only supported on Windows (Linux users can smbmount a network drive and then use the mount point as a media directory)
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
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.
- 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
- 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
- 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 '.'
The following may or may not happen someday, but you can help us prioritze by shooting us an email or leaving a message in the forums.
- listFix on the windows right click menu for m3u/m3u8/pls files (just a registry script)
- Undo (probably one-level deep to start)
- View/Edit M3U Source (although reinventing a text editor might be a waste of time)
- Ability to find matches in a selected media directory only (maybe)
- Handle iTunes-exported playlists! (BIG maybe)
- Add number of open playlists to the status bar
- Invert Selection button or right-click menu item
- Ctrl-R for reload
- Playlists list control - this would combine and replace the playlists directory panel in guiscreen and the lists list on the batch repair dialog. The user would be able to switch between the flat list view and the hierarchical directory view.
- Add score bonus for being similar lengths (maybe based on word count?)
- Rename/delete files from the playlists panel
- "Copy files" copies only the selected entries
- Phase out the original closest matches dialog
- Add to non-existent directory list as lowercase on case insensitive systems
- Add "bulk closest matches search" for all open playlists like in the playlists panel
- Drag a whole folder of playlists in to be opened
- Ctrl-Tab advances selected tab, Shift-Ctrl-Tab goes backwards
- Playlist panel should properly re-expand when refreshed
- ID3 parsing now that there is a java library for it?
- UNC option should disappear from the options screen when we're not on windows
- Playlist reordering button should be disabled for lists of size 1
- Support dragging any type of multi-selection in the playlist panel over to a playlist (only a single playlist currently supported)
- Left split pane should reset split percentage after being collapsed/restored
- Options Panel Additions
- File types to index
- Include file type when searching for renamed files
- Case-insensitive file finding (for exact matches, like on windows)
- Minimum number of keyword matches
- Refresh the media library before locating missing entries
- Let "locate files" update the location of entries found outside the media library to a location inside the library
- How many matches to find during find closest search
- which small words to ignore when scoring (currently the list is hard-coded and won't work for the languages other than English)
- Save all open tabs on exit
- Disable confirmation prompts
- Define a path for your media player, rather than relying on the one we auto-launch