Old 9th June 2005, 22:40   #1
sFanky
Junior Member
 
Join Date: May 2005
Posts: 7
Large Playlist using shuffle, bug?

It seems to me (based on observation) that winamp v5.092 when using 'shuffle' mode, only shuffles the first 30k items in the list. I have a playlist with over 70k items, and if i just hit 'next' 100 times, NO items under around 30k play. I've tried turning the shuffle off and on again and also playing a song manually tward the bottom of the list then 'shuffling' to the next, but it seems to have no effect.

Can someone recreate this? (should be easy just add the same items over and over again till you have many more then 30k items in the list).

If this is just some setting somewhere (perhapse a secret one!) please let me know.

Thanks.
sFanky is offline   Reply With Quote
Old 10th June 2005, 19:43   #2
daniel_einstein
Junior Member
 
Join Date: Jun 2005
Posts: 8
If my guess is correct the shuffle random will only handle upto 2^15 (32768) (15 bit).

Probably the programmers never anticipated the users are cabable of having 30000+ item playlists.
Or this bit of code has survived since the WinAMP 2.x days

My take on a solution would be a regular method. (Pseudo code follows)
code:

public void getRandomNumber(int playListLength)
{
nextItem = myRandom.getNextRandom() * playListLength;
}


Where the random equals a number between 0-1.

But I'm sure these guys are gonna fix it


EDIT** I just remembered that the playlist has the ability to randomize the current playlist. Playlist -> Sort -> Randomize or Misc -> Sort -> Randomize.
But that function might also be affected by the limitation as explained by Benski.

Last edited by daniel_einstein; 10th June 2005 at 22:39.
daniel_einstein is offline   Reply With Quote
Old 10th June 2005, 20:28   #3
sFanky
Junior Member
 
Join Date: May 2005
Posts: 7
Thanks for the technical explaination!

I'm sure they will fix it also, they have been very quick with other bug fixes.
sFanky is offline   Reply With Quote
Old 10th June 2005, 21:42   #4
Benski
Ben Allison
Former Winamp Developer
 
Benski's Avatar
 
Join Date: Jan 2005
Location: Brooklyn, NY
Posts: 1,057
Daniel is correct. sort of.

The problem is that the standard C function only returns random numbers in the range from 0-32767)

see: http://msdn.microsoft.com/library/de.../_CRT_rand.asp
and note that:
#define RAND_MAX 0x7fff

There are good random number libraries available from std::boost, and some are going to be in the next C++ standard.

Hopefully this will be fixed by the next version =)
Benski is offline   Reply With Quote
Old 10th June 2005, 22:39   #5
daniel_einstein
Junior Member
 
Join Date: Jun 2005
Posts: 8
On a side note, I don't think that the current implementation is truly random.
Everyday example. I have 3721 tracks, 32 is christmas tracks (that's 0,86% of the playlist).

How come I must listen to one or two of those tracks everyday

Heh enough whining, now mayby this should go in the Bitch list.

Ok, I talked myself into stepping away from the keyboard.

CYA
daniel_einstein is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Winamp > Winamp Bug Reports

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump