Chimildic / goofy

Конструктор плейлистов Spotify
https://chimildic.github.io/goofy
MIT License
145 stars 15 forks source link

Added weighted shuffle capability to Order.shuffle #219

Closed froggeric closed 1 year ago

froggeric commented 2 years ago

Existing functionality and behaviour is preserved. But a second optional factor parameter, between 0.0 and 1.0 controls the level of randomness applied to the array. A value of 0.0 is pure order. A value of 1.0 (default) is pure randomness with the same result as before. This can be useful when only a small amount of randomness needs to be added to the track order. I actually use it in some of my programs with a factor of 0.05.

froggeric commented 1 year ago

I am cancelling this change.

I have now done a lot more work on writing a properly balanced variable shuffle algorithm. The end result introduces quite a lot more complexity. On a full shuffle, this means a lot more computational process; in practice though, that is barely noticeable. On a partial shuffle, it is a lot less computational request.

I think the best option is to leave the current shuffle function as it is now, and I will add instead a new variableShuffle function.