Shuffle jeden Interpret nur einmal

Begonnen von FreakyF, 20. Dezember 2011, 19:14:06

Vorheriges Thema - Nächstes Thema

FreakyF

Guten Abend,

ich nutze foobar2000 schon sehr lange und kenne mich auch damit aus.
Leider kann ich folgende Anforderung leider nicht lösen:

Ist es möglich, dass man bei einer erstellten Playliste im Shuffle Modus von jedem Interpret nur einen Song hört?
Als Beispiel:
Man hat 5 Elvis CDs, 1 Beatles, 1 Rolling Stones und eine Best Of CD.
Nehme ich jetzt den Modus "Shuffle (tracks), dann hör ich fast nur Elvis Songs.

Deshalb sollte von jedem Interpreten ein zufälliger Song gespielt werden.


Vielleicht könnt ihr mir ja helfen?
Ich würde mich freuen.

Vielen Dank und schönen Abend.

dj atrac

" If music be the food of love, play on!" (William Shakespeare)

TomPro

#2
Ein guter Grund sich mal dem erweitern der foobar-funktionen zu widmen (und sich der Script-programmierung hinzugeben).

Irgendwo ein WSH-Script platzieren nach dem Motto:


  • Generiere ein Array in dem alle gespielten Interpreten gesammelt werden
  • und einige Hilfsvariablen für den Aktuellen Interpreten, zum Zählen, als Flag und was man noch so braucht
  • Nutze die Funktion: function on_playback_new_track(metadb) {}
  • Erkenne innerhalb dieser Funktion den aktuellen Interpreten
  • setze das Erkennungs Flag auf FALSE
  • Vergleiche den Aktuellen mit allen schon gespielten Interpreten im Array
  • Wenn vorhanden setze Flag auf TRUE
  • Wenn nicht vorhanden nehme den aktuellen Interpreten im Array auf
  • Wenn Flag auf TRUE dann weise foobar an den nächsten Titel zu spielen

fertig

FreakyF

Guten Morgen,

schon mal vielen Dank für die Antwort.
Puh, hört sich kompliziert an  :uglystupid2:

Brauch ich, um ein WSH-Script einfügen zu können "foo_uie_wsh_panel_mod"?
Diese Erweiterung habe ich bereits installiert, komm jetzt aber nicht weiter.


TomPro

Zitat von: FreakyF in 21. Dezember 2011, 08:22:15
Brauch ich, um ein WSH-Script einfügen zu können "foo_uie_wsh_panel_mod"?
Diese Erweiterung habe ich bereits installiert...

schon mal ein guter Anfang

Zitat von: FreakyF in 21. Dezember 2011, 08:22:15
...komm jetzt aber nicht weiter.

Jetzt brauchst Du Zeit und Geduld um Dich in das Script Programmieren einzuarbeiten, leider habe ich momentan keine Zeit. Arbeite Dich durch die beigefügten Dokumentationen zum Plug In und stöbere einfach mal in den Script Beispielen herum, welche es zu hauf hier im Forum gibt.

Einen möglichen Rundown für das Script habe ich Dir ja geliefert.

Wenn, nach etwas Eigeninitiative, Du trotzdem dann nicht weiter kommst, dann wird Dir bestimmt jemand auch etwas Zeit opfern können um Dir weiter zu helfen.

Vorab erst mal ein frohes und gesegnetes Weihnachten.

qwert73

#5
Zitat von: TomPro in 21. Dezember 2011, 07:48:02
Ein guter Grund sich mal dem erweitern der foobar-funktionen zu widmen (und sich der Script-programmierung hinzugeben).
Nein, danke! Ich und auch wohl die meisten anderen sind stinknormale Nutzer, die keine Lust darauf haben, sich irgendeiner Programmierung hinzugeben. Wir wollen Musik hören und unsere Bibliothek verwalten, aber doch nicht programmieren! Damit Du mich nicht falsch verstehst: wie gerne würde ich selber foobar2000 Komponenten schreiben können, statt mit vermeintlich genialen Ideen irgendwelchen Entwicklern auf den Geist zu gehen. Ich kann es aber nun mal nicht und habe auch nicht vor es zu lernen, weil die kommenden Jahrzente meines Lebens mit der Bewältigung weitaus wichtigerer Notwendigkeiten ausgefüllt sein werden, so dass das bißchen Freizeit sinnvoller gestaltet werden will.

Nun brauche ich aber nicht programmieren zu können, um in dem von FreakyF geschilderten Problem einen Widerspruch zu erkennen: Es wird nur deswegen ein Künstler so oft hintereinander gespielt, weil er deutlich häufiger in der Playlist vorkommt - gäbe es nun einen Shuffle-Modus, der immer einen anderen Künstler spielt, so bliebe, nachdem alle seltener vertretenen Künstler durch sind, schon wieder der gleiche Typ übrig, den man sich mehrmals hintereinander anhören müsste. WSH hin oder her!

Nachtrag
Was man aber machen könnte, wäre foo_random von foosion einzusetzen:
Man fügt in eine leere Playliste mehrere Einträge (file -> add randomized entry ...) ein, wobei jeder Eintrag für einen anderen Künstler steht, und stellt die Playback Order auf "Repeat (playlist)": ein Shuffle, bei dem garantiert derselbe Künstler nicht zweimal hintereinander gespielt wird.

FreakyF

#6
@TomPro : Danke für deine Tipps, ich hoff irgendwann finde ich die Zeit mir das ganze Thema genauer anzuschauen.

Zitat von: qwert73 in 21. Dezember 2011, 20:09:46
wobei jeder Eintrag für einen anderen Künstler steht
Auch danke für diesen Tipp, hört sich interessant an.

qwert73

Um Missverständnisse zu vermeiden: die Einträge stehen nicht zwangsläufig für Künstler, sondern für alles mögliche, was sich mit der Query Syntax abfragen lässt. Man kann natürlich auch einen Shuffle mit Genres gestalten.

Ein Beispiel: