Ich suche nach Pseudocode-Vorschlägen, um meine MP3-Dateien so zu sortieren, dass Titel- und Interpretenwiederholungen vermieden werden . Ich höre Schlagersänger - Frank Sinatra, Tony Bennett, Ella Fitzgerald usw., die alte Standards singen. Jeder Künstler nimmt viele der gleichen Songs auf - Fly Me To The Moon, So sieht es heute Abend aus, Stardust usw. Mein Ziel ist es, die Songs so anzuordnen (oder die Wiedergabeliste zu bestellen), dass zwischen Künstlern und Songtiteln maximaler Abstand besteht. Wenn ich also 2000 Songs habe und 20 von Ella, würde ich sie gerne nur einmal in 100 Songs hören. Wenn 10 Künstler Fly Me To The Moon singen, würde ich es gerne einmal in 200 Songs hören. Natürlich möchte ich diese beiden Anforderungen kombinieren, um mein "ultimatives Shuffle" zu erstellen.
Ich weiß, dass dies eine ziemlich offene Frage ist. Ich habe noch nicht damit begonnen, es zu programmieren, also suche ich nur nach Vorschlägen für einen guten Ansatz. Ich habe tatsächlich einige andere Anforderungen bezüglich des gleichmäßigen Abstands anderer Songattribute, aber ich werde hier nicht darauf eingehen.
Als Ausgangspunkt ändere ich Code, den ich hier gefunden habe , um MP3-Dateien zu manipulieren und ID3-Tags zu lesen.
Ich habe eine kleine App geschrieben, die meine Bedürfnisse mit der Antwort von parsifal erfüllt. Ich schrieb auch eine Follow - up - Frage hier . Danke für all die tollen Antworten!
while (length(songs) > 0) { x := rand(); addElem(shuffle, songs[x]); remElem(songs, x); }
aber du sagst, du willst ein "ultimatives Shuffle". Ich weiß nicht, was Sie wirklich damit wollen, auch wenn Sie die Frage lesen ...