I feel real confident with this release. It takes so much time to develop a program and make it user friendly. I thought about backporting the changes for NSVx to make a 0.1.1 compliant NSVx Control that could be easily swapped out after installing one of the old clients. I'm hoping once I release 0.1.3 of NSVx a few developers of the older clients will jump on board and implement the changes. The control has come a long way and it isn't anymore resource hungry than it was originally. Infact, RayLine Streamer barely registers as using any CPU during streaming mode.
I'm still working out shuffle. People should be able to shuffle the list by clicking on an option and the list will rearrange itself in the new shuffle order. So there is two ways about doing this. The first one is a "predictable shuffle" by interweaving the list. The list is 40 items long so it would go kinda like a deck of cards. 19, 20, 18, 21, 17, 22, 16, 23, 15, 24, 14, 25.... The second method would use the random generator (Randomize Timer). 40 items in the list, generator picks a number, insert item 1, take item number out of the list and reset generator for a random number 1 to 39, insert item 2, reset generator for number between 1 and 38, insert item.... Item numbers already filled won't get counted when counting up the number of empty slots for the next song insert. The problem with this method is it will literally have to run a loop for however many items are on the list, except the last item which obviously gets inserted in the last blank slot. This method could be CPU time consuming during the randomize process where the other method is predictable and requires 1 loop with 2 variables, 1 counting up and another counting down, then alternate between them.
If you have any good ideas on a simple shuffle code, I'd love to see it. C++ or VB6 code is welcome. I am very good at writing code in both and can easily convert between them. To bad I didn't spend more time learning WxWidgets, it would be nice to make this program platform independent. I do know some QT though... I hear there are QT Libs for Windows now.