Je recherche des suggestions de pseudocodes pour trier mes fichiers mp3 de manière à éviter les répétitions de titres et d'artistes . J'écoute des crooners - Frank Sinatra, Tony Bennett, Ella Fitzgerald, etc., qui chantent de vieilles normes. Chaque artiste enregistre plusieurs des mêmes chansons - Volez-moi sur la lune, Ce que vous regardez ce soir, Stardust, etc. Mon objectif est d'organiser les chansons (ou de commander la liste de lecture) avec le maximum d'espace entre les artistes et les titres des chansons. Donc, si j'ai 2000 chansons et 20 sont de Ella, j'aimerais ne l'entendre qu'une fois sur 100. Si 10 artistes chantent Fly Me To The Moon, j'aimerais l'entendre une fois sur 200 chansons. Bien sûr, je veux combiner ces deux exigences pour créer mon "mélange ultime".
Je sais que la question est assez ouverte. Je n'ai pas encore commencé à le programmer, alors je cherche simplement des suggestions pour une bonne approche. J'ai en fait d'autres exigences concernant l'espacement régulier des autres attributs de la chanson, mais je n'entrerai pas dans les détails ici.
Comme point de départ, je modifie le code que j'ai trouvé ici pour manipuler des fichiers mp3 et lire les tags ID3.
J'ai écrit une petite application qui répond à mes besoins en utilisant la réponse de parsifal ci-dessous. J'ai aussi écrit une question de suivi ici . Merci pour toutes les bonnes réponses!
while (length(songs) > 0) { x := rand(); addElem(shuffle, songs[x]); remElem(songs, x); }
mais vous dites que vous voulez un "shuffle ultime". Je ne sais pas ce que vous voulez vraiment avec ça, même en lisant la question ...