Nightly Build 9/21/2011

In no particular order:

Nightly Build 9/13/2011

Not enough for a full-blown announcement, too much for a one-line description on the download page. It was 9/13 when I started, I swear.

Wish list, Unicode chat/bugfix

Not much to tonight's build. The wish list feature has been a long time a-coming, and so here it is. There was nothing stopping me from throwing together a quick hack to make wish list searches work on top of regular searches (or so I thought), but I wanted to provide a little something extra, as I try to do with all original client features I have to re-implement. Just getting the basics to work turned out to be more complicated than I had expected.

The Unsharing

The subject of banning is one that I've been reluctant to tackle in SoulseekQt since the very beginning. There are few topics in the history of Soulseek that have been as much the subject of strife and ill-will. Horror story after horror story, it seemed as if for almost every case of it being used to prevent download abuse, someone out there has been banning for all the wrong reasons. Because they didn't like what the other person was sharing, or often for no apparent reason whatsoever, and refusing to answer any questions; a situation I've been in myself in the past.

Progress bars, ETAs, status aggregates and more

Most of the improvements in tonight's build, a few days overdue after I lost my Mac and Linux virtual machines to some indiscriminate deleting and having had to rebuild them from scratch, are to do with the file transfers view. The first thing you might notice are progress bars, a decidedly nicer way to present each transfer's progress. This change is more than cosmetic however; You will also notice a separate progress bar for the total of your downloads from each user, and even additional progress bars for each folder, if more than one folder is being downloaded from a particular user!

User group download prioritization

New in tonight's build, the ability to prioritize the download order of users in specific groups, for those of you who want finer-grained control over their upload queue. By default all user groups are awarded a download priority of 0, which means the downloads of users in that group won't be processed in any special order. Raise it to 1 however by means of clicking the 'Configure User Groups' button at your User List tab, and your client will process their downloads before all but those in groups with even higher priorities.

Public Build 6: Threaded file transfer, stored size settings

The big change this time around, in response to the many problems the client had uploading files on Mac and Linux, is a complete shift of the file-transfer system from relying on Qt's single-threaded event model for handling socket communication to a multi-threaded, one-thread-per-transfer model. This went a long way toward simplifying things, and had the unexpected effect of greatly improving download and upload speeds on all platforms when the bandwidth capacity is there.

On-the-fly filtering for search results and browsed shares

You'll notice a small edit box at the bottom of every search results and browsed share window in the latest nightly build of SoulseekQT. As you type into it, any results or files and folders not containing the words being typed will be filtered out. Although I've already stumbled across many scenarios where this can be very useful, I realize it's not exactly the kind of filtering some of you have been asking for. One feature request called for file type and bitrate filtering. Well, file type filtering is already sort of possible.

Public Build 5: Unicode filenames, improvements to peer messaging and uploading, user context menus

Many thanks to user audiophilepj for his help hunting down some of the most stubborn bugs in the area of peer messaging and uploading, mostly to do with TCP connections more unresponsive than usual due to possible combinations of operating systems and/or routers. Many of the problems that have been fixed as a result of his diligent testing and posting of crash reports echo of issues that have long eluded me in the original Soulseek client.

UPnP, automatic updating of download place in line

New in the latest nightly build are one very important feature and one very convenient feature, assuming they should work for you as intended. As with the original Soulseek client, I'm using the very handy miniupnpc library for UPnP functionality. If your router supports UPnP, as most routers do, you should see a serious improvement in peer-to-peer connectivity, covering transfers, browsing and searching if your SoulseekQT listening wasn't manually forwarded already. The initialization is done in the main thread which means the client takes a couple of seconds longer to start.

Pages

Subscribe to Soulseek RSS