Wednesday, July 13, 2005


AlbumDumper is a utility to list all the subdirectories inside a source subdirectory in a CSV file.


ALBUMDUMPER source output [/S] [/?]

source Specifies the source directory to search inside.
output Specifies the output text file to create.
/S Run in silent mode. This suppresses screen output
and the final 'Press Return to exit....' prompt.
/? Displays the syntax for the command.

The source directory is recursively searched. Only directories which do not contain other directories are listed in the output file. If the output file is created with a .csv file extension, it may be opened in a spreadsheet.

The following are valid examples:
ALBUMDUMPER c:\albums c:\temp\output.csv
ALBUMDUMPER "C:\My Music" "C:\My Documents\Music List.csv"

Recompiled. Previous version was causing false positive in some virus scanners.

Release version.

Saturday, March 12, 2005

SoulSeek QueueMerge

SoulSeek QueueMerge is a command prompt utility to merge two SoulSeek queue configuration files.


Files may be fully qualified with a path (avoiding the need to rename them), or alternatively source files may be renamed and placed in the same directory as SoulSeek QueueMerge (avoiding the need to type long paths).

More than two files can be merged, by merging the first with the second, then merging the merged result with the third, etc.

Merging is done intelligently. For example:
  • The higher of the two supplied Max D/L, Max U/L and Extra List User U/L are used;
  • Upload permitted users appearing in both source files are not duplicated;
  • Source files containing different Accept Uploads From settings are merged to contain the most generous of the two settings.
Designed for SoulSeek version 155.

Example syntax:

Example output:

Release version.

Tuesday, December 28, 2004

SoulSeek Stats

SoulSeek Stats is an upload/download logging utility for SoulseekTM.

It can be configured to run in the background, waking up when SoulseekTM starts, and saving details of any completed uploads and downloads to CSV files, from where they can later be read or analysed.

Download latest version (v1.0.2)


Installation/upgrade: Download the latest vestion, and upzip. Run the setup program and follow the wizard. Once installation is complete, SoulSeek Stats will be started.

Uninstallation: Uninstall from Control Panel >> Add/remove Programs or Start >> All Programs >> Threetwosevensixseven >> SoulSeek Stats >> Uninstall SoulSeek Stats.

Note: When upgrading or uninstalling, SoulSeek Stats will be first automatically closed if it is running. This should allow all files to be overwritten or deleted without problems.

Configuring SoulSeek Stats

SoulSeek Stats is managed through the purple system tray icon. This is only visible when SoulseekTM is running:

To configure SoulSeek Stats, rightclick on the purple icon and select Options:

The SoulSeek Stats Options screen is displayed:

You can decide whether or not you want SoulSeek Stats to run automatically when you log into Windows (if you choose not to, you can still run manually from the icon in
Start >> All Programs >> Threetwosevensixseven >> SoulSeek Stats).

You can also separately choose whether to log downloads and uploads (this setting can be changed at any time, even in the middle of transfers).

For ease of use, the Icon Double Click setting allows you to choose which of the rightclick menu actions are performed when you doubleclick on the icon.

Using SoulSeek Stats

Once configured, SoulSeek Stats runs automatically. It detects when SoulseekTM has been running, and whenever an upload or download has completed (if you have the appropriate logging option ticked). When an upload or download is logged, the icon momentarity changes to an up or down arrow:

The information is logged one of a pair of files: Upload.csv or Download.csv, located in the Trflogs folder of your SoulseekTM application folder (e.g. C:\Program Files\SoulSeek\Trflogs\Upload.csv).

CSV is a plain text format, with information separated by commas. This makes it suitable for reading into applications, such as Databases or spreadsheets. They can also be read in Notepad.

To view the logs in whatever is your default application for CSV, rightclick on the icon and select View Download Log or View Download Log from the menu.

If SoulSeek Stats tells you that the log file couldn't be opened because CSV files are not associated with any application, then you can either associate them manually with an application like Notepad, or install a spreadsheet (the free productivity suite is worth investigating).

Note: Notepad can open a file without preventing other applications from writing to it, whereas spreadsheets often lock the file). If either the Upload.csv or Download.csv files cannot be opened for any reason (usually because they are locked) then the logging process is skipped, and the icon changes to a warning symbol until the next successful transfer is logged.

You can avoid this by making a copy of the log file before opening it in such applications.

Occasionally you might want to close SoulSeek Stats, but the icon is not visible. (The icon is hidden when SoulseekTM is not running, and also sometimes when Windows Explorer crashes, Windows does not rebuild the taskbar properly.)

For convenience, SoulSeek Stats can also be closed by selecting the Exit Soulseek Stats item from the Programs menu.

(You can double check that it has closed by looking at the Processes tab of Task Manager. However, it is not recommended to terminate SoulSeek Stats through the Task Manager, unless it is really frozen. In such a case you should probably reboot before trying to use it again).


Now uses List Separator character in Control Panel >> Regional settings to write CSV files. Was previously breaking when opening in Excel, in European countries where semicolon is used instead on comma.

Fixed icon tooltip download size calculation bug.
Fixed some memory leaks.

Release version.

Saturday, December 11, 2004

SoulSeek FolderFixer

SoulSeek FolderFixer is a utility to fix folder naming conflicts which can cause SoulSeek to display your shares wrongly when browsing.


For SoulSeek to display them wrongly, there has to be at least two folders in the same parent folder. The folder with the longer name must have exactly the same name as the shorter folder, but with some extra characters at the end. For example, E:\Shares\Live Sets\Kilowatts & E:\Shares\Live Sets\Kilowatts and Vanek.

When the folders are browsed, SoulSeek displays the contents of one of the folders in the parent folder (e.g. E:\Shares\Live Sets), leaving the real folder showing as empty. This causes problems with downloading and uploading.

SoulSeek FolderFixer tries to identify these problem folders for you, and gives you the opportunity to fix the names, either by editing them manually, or by appending some text to the end.

To use SoulSeek FolderFixer, download the latest version, unzip to any location, and double-click to run.

At the top of the screen is a list of folders to check. This is read from your SoulSeek shared.cfg file, if it can be located. You may Add or Remove folders to be checked using the buttons to the right of the list. Please stay away from any system or application folders - only scan and rename your music collection, otherwise you will very likely break your computer!

In the list, folders will usually be prefixed with a plus(+), signifying that all subfolders will also be scanned. The exception to this is folders read from shared.cfg in older versions of SoulSeek. Because SoulSeek used to store all subfolders in shared.cfg, these will not automatically have their subfolders scanned, and will be preceded with a minus (-).

When you are ready, click the Scan button. Scanning will take a little while, so be patient (but it's often a lot quicker the second and subsequent times you scan).

Hopefully, no conflicts will be found, and you can close SoulSeek FolderFixer and forget about it. But chances are that you are only reading this because you discovered you had a browsing problem in the first place, so you will need to fix some folders.

The first column shows the full path (read-only), and the second column contains the problem foldername (editable). As you select any row, the staus bar shows the path of the folder with which the problem one conflicts.

Now, you may either change the folder name directly in the second column, or you can type in some text of your own choice in Text to Append. If you click Append, the text will be added to all foldernames. At any point, you may revert all of your changes using the Revert button. Note that at this stage, you are not yet changing the foldernames on disk.

When you have got the names as you you would like them, click the Fix button. A warning window will be displayed.

Here you can choose whether to make your changes or just gerenate a report. Of course, you may always generate a report first, then run a fix later. This is also your last chance to decide not to continue because you might break key Windows or application folders! Select one of the options and click the Fix or Report button. When this is finished, the status bar will indicate the result, and give the location of the report (which is a plain text file).

Here is the report file from the example above:


Begin report 11/12/2004 17:19:53

Suggest renaming e:\shares\Live Sets\Kilowatts to e:\shares\Live Sets\Kilowatts~
Suggest renaming e:\shares\Live Sets\orphax to e:\shares\Live Sets\orphax~

End report 11/12/2004 17:19:53

I decided to run it again and rename the folders exactly as I wanted them, so here is the second report containing the actual changes SoulSeek FolderFixer made:


Begin fix 11/12/2004 17:53:34

Renamed e:\shares\Live Sets\Kilowatts to e:\shares\Live Sets\Kilowatts Solo
Renamed e:\shares\Live Sets\orphax to e:\shares\Live Sets\orphax 2004

End fix 11/12/2004 17:53:34

It would probably be a good idea to run a second scan after doing a fix, to make sure you haven't introduced any more problems!

Release version.

SoulSeek ChatReader

SoulSeek ChatReader is a command prompt utility to read stored SoulSeek pm conversations and output them to text files.


Just download, unzip to any location, and double-click. It creates a Chatlog folder inside your SoulSeek program folder (normally C:\Program Files\SoulSeek), and writes a separate text file in there for each conversation currently held in pchat.cfg. Log files are named by person and sequentially numbered, for example: threetwosevensixseven_003.txt.

Contents of C:\Program Files\SoulSeek\Chatlogs\Britney5361_002.txt:

Conversation with Britney5361 logged at 11/12/2004 12:19:26:
[Shatner's Bassoon] hi there
[Shatner's Bassoon] i like love your music
[Britney5361] ty a lot of the boyz luv it
[Shatner's Bassoon] lolz

Contents of C:\Program Files\SoulSeek\ChatlogsChristOnABike_004.txt:

Conversation with ChristOnABike logged at 11/12/2004 12:19:26:
[ChristOnABike] omg another useless converstion
[Shatner's Bassoon] go away, did I give you permission to speak to me?
[ChristOnABike] :*
[Shatner's Bassoon] :*

SoulSeek ChatReader only works with versions of SoulSeek which have a pchat.cfg, which came in somewhere between 154test1 and test154test3i. We'll all be upgrading to 155 soon anyway, so it will work for everyone then. SoulSeek used to leave chat in there indefinitely, but on later versions it clears each conversation down when you close the window.

You can run it in silent/non-interactive mode with the /s switch (for example C:\Program Files\SoulSeekChatReader\SoulSeekChatReader.exe /s), making it suitable to be scheduled or something. The main point of the /s switch is to make SoulSeek ChatReader exit on finishing, rather than wait for Return to be pressed. Non-silent/interactive mode is doubleclick-friendly, as it always waits allowing the output to be read, instead of flashing up and disappearing again.

Gives more detailed error message when handling unexpected errors.
No longer breaks when creating logfiles for usernames containing illegal characters (\ / : * ? " < > |).

Now outputs name and location of created logfiles at the end.
Fixed problem with blackslashes in SoulSeek registry path (differences between new and old installer).
Now always waits before exiting upon unexpected errors.

Release version.