a Weighted Shuffle playlist client for xmms2
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
COPYING
README
xmms-weighted-shuffle-client

README

This is a Weighted Shuffle playlist client for xmms. It implement a
party shuffle playlist as an xmms2 client, with different probability
for different collection.

The config file $XDG/xmms2/clients/WeightedShuffle.yaml look like:

------------- 8< --------- 8< --------- 8< --------- 8< ---------
---
std:
  colls:
  - name: mycollections
    mult: 4
  - name: 1-rated
    expr: rating:*1
    mult: 1
  - name: 5-rated
    mult: 16
    expr: rating:*5
  - name: not-rated
    expr: NOT +rating AND NOT in:bad
    mult: 6
  playlist: weighted_shuffle_playlist
  history: 3
  upcoming: 18
alt_rock:
  colls:
  - name: alt
    mult: 4
    expr: genre: alternative
  - name: NOT +laststarted
    expr: rating:*1
    mult: 1
  - name: rock
    mult: 8
    expr: genre: rock
  history: 4
  upcoming: 7

------------- 8< --------- 8< --------- 8< --------- 8< ---------

colls are the collections used for the probabilities.
Each "-" correspond to one collection, defined by the expr, or if
there is no expr by the name. mult is the number by which the
"default" probability is multiplied.

playlist is the name of the playlist that WeightedShuffle will operate
on. If there is no playlist entry, the root description

history and upcoming are as in pshufle: history is the number of
already played song left in the playlist, upcoming is the number of to
be played song in the playlist.

TODO:
- actualize internal information when a song is changed
- actualize internal information when a collection is changed
- wrote a better README (please, I need some help from a native english speaker)

FAQ:
- what happen if a song appear in several collection ?
  Everything work as if its mult was the sum of the mult for each
  collection the song is in