Szukam sugestii pseudokodu do sortowania plików mp3 w sposób, który pozwoli uniknąć powtarzania tytułów i wykonawców . Słucham śpiewaków - Franka Sinatry, Tony'ego Bennetta, Elli Fitzgerald itp. Śpiewających stare standardy. Każdy artysta nagrywa wiele takich samych piosenek - Fly Me To The Moon, The Way You Look Tonight, Stardust itp. Moim celem jest uporządkowanie utworów (lub uporządkowanie listy odtwarzania) z maksymalną przestrzenią między artystami i tytułami utworów. Więc jeśli mam 2000 piosenek, a 20 pochodzi od Elli, chciałbym ją usłyszeć tylko raz na 100 piosenek. Jeśli 10 artystów śpiewa Fly Me To The Moon, chciałbym to usłyszeć raz na 200 piosenek. Oczywiście chcę połączyć te dwa wymagania, aby stworzyć mój „ostateczny los”.
Wiem, że to dość szeroko otwarte pytanie. Jeszcze nie zacząłem go programować, więc szukam tylko sugestii dobrego podejścia. Mam inne wymagania dotyczące równomiernego rozmieszczania innych atrybutów utworów, ale nie będę się tutaj zajmował.
Na początek modyfikuję kod, który tu znalazłem, aby manipulować plikami mp3 i czytać tagi ID3.
Napisałem małą aplikację, która zaspokaja moją potrzebę, korzystając z odpowiedzi parsifal poniżej. Tutaj też napisałem pytanie uzupełniające . Dzięki za wszystkie świetne odpowiedzi!
while (length(songs) > 0) { x := rand(); addElem(shuffle, songs[x]); remElem(songs, x); }
ale mówisz, że chcesz „ostatecznego losowania”. Nie wiem, czego tak naprawdę chcesz, nawet czytając pytanie ...