There and Back Again

It's been a rough few days, trying to figure out how not to undo all of the work I did standardizing Unicode as the client's de facto method of handling strings. I literally went through three separate conversions. The first to ensure that the data system could easily handle switching to any new method of storing basic values, seeing as I had changed it once, then back when it turned out Qt's Unicode QStrings couldn't handle extended ASCII characters as gracefully as I needed them to. The second conversion turned out a mess as I couldn't decide on which server assets handled by the client to keep Unicode-ized, and which to revert back to standard strings. I was very unhappy with the end result, and so ended up scrapping it entirely, resolving to try keep as many of the original changes to Unicode as possible, treating only file transfer pathnames as standard strings to ensure the client can again download files with extended ASCII in their names shared by users of the original Soulseek client.

I finally feel good about the whole thing. It's been an ordeal, but I feel like I've managed to emerge from it with much more than I started with, checking off some of my longest standing cleanup and redesign goals. None of this is to say that I'm positive nothing became mangled or unusable as a result of all that change. I am ready and willing to fix anything that might have.

As a last second perk, I also decided to get rid of the near-useless menu bar and actually useless status bar for some serious extra real estate. You might feel a little too close to the edges with all that absent space at the top and bottom, but I think like myself you'll quickly come to appreciate it.

Links on the download page!

Thanks, Nir

Tags: 

Comments

appreciate the hard work Nir. I was quite surprised to see a Mac client after years of absence... due to converting to Mac :)

Glad to have you back :) Thank you for the kind word!

Since you are working on the way characters are handles, is there a reason why soulseek makes everything lower case? It would be great if the original capitalisation was maintained. Often when people download files the release is capitalised Artist_Name-Album_Name-Year-ETC but as soon as they get put in a soulseek share and downloaded it becomes artist_name-album_name-year-etc

Thanks for all the work you do!

This is something the original Soulseek client does across the board unfortunately. It was a bad design decision on my part a long time ago, and as a result anything downloaded from or uploaded by users of the original client will have its name converted to lowercase. Two SoulseekQt clients transferring from one another should have no such problem.

Thanks, Nir

Great! :)

the new client is getting better and better, thanks for the great effort!

Cheers! Here's to the client improving for a long time to come!

Noremac's picture

Can I ask something i was on the verge of nearly putting windows on my mac just so i could use slsk but idk, i find this about the mac version and I'm so freaking happy. But can someone please tell me why when i download the soulseekQT when it downloads it as a big O with a x in the middle and when i try double clicking it says that this version is not suitable for your computer or something like that. Yes I have snow lep but for some reason i couldn't get any of the versions onto my computer can someone please help me out.

Do you know if your Mac can run 64-bit programs? That looks like something I got once trying to run 64-bit Qt Creator in a 32-bit OSX virtual machine.

Nir, I feel your pain trying to wrestle with the horrors of Unicode in a large application. I'm glad to hear that you have emerged the other side with code you're happy with, and the will to live!

Well done mate :)

Thank you :) It has been a special kind of hell but it all worked out in the end.

Cheers, Nir