Playlistes Dynamiques

From Musik

Les playlistes dynamiques sont très pratiques : elle vous permettent de trouver des musiques selon différents critères comme le genre, l'année... ---, keeping track of your library changes, monitoring your listening behavior, and many more.---

Une playliste dynamique est une simple script qui défini une requête. (Ex.: Affiche moi tout les musiques que j'ai ajouté dans ma librairie aujourd'hui).


Table of contents

Comment créer une playliste dynamique

Voir: musikCube Aide

Commandes basiques

Les playlistes dynamiques sont de simples script qui effectue des requêtes SQL. Voir SQLite pour plus d'informations sur les détails techniques.


Champs disponibles à utiliser

Voir: Song Fields in SQLite

Astuces

  • Utilisez "lower()" when comparing strings (or use LIKE which is also case insensitive)
  • (how to filter out netradio) = "filename not like 'http%'"
  • ...

Exemples de requêtes

Voici quelques requêtes que les utilisateurs de musikCube ont postés sur le forum.

Musiques qui n'ont pas été jouées depuis 2 semaines:

datetime(lastplayed) < datetime('now', '-14 days')

Plus avancé : Non joué depuis 2 semaines, mais jouées au moins une fois, classés par ordre de fois joués

timesplayed > 0 AND datetime(lastplayed) < datetime('now', '-14 days') ORDER BY timesplayed DESC LIMIT 50;

Tout les fichiers dans C:\mp3\ (Pratique lorsque on utilise un ordinateur avec plusieurs utilisateurs, ou pour les portables avec fichiers local et distant):

filename like 'C:\mp3\%'

Musiques ajoutées aujourd'hui:

date(timeadded) = date('now')

Musiques ajoutées ce mois:

datetime(timeadded) > datetime('now', 'start of month')

Musiques avec le mot 'Studio' dans les tags commentaires

notes like '%Studio%'

Sélection aléatoire de 50 musiques qui change a chaque fois:

1 = 1 ORDER BY random() LIMIT 50

Sélection aléatoire de 50 musiques qui ont été ajoutés la semaine dernière :

julianday(timeadded) > (julianday('now') - 7) ORDER BY random() LIMIT 50

Sélection aléatoire de 50 musiques qui ont été jouées le plus de fois:

timesplayed > (SELECT avg(timesplayed) FROM songs WHERE timesplayed > 0) ORDER BY random() LIMIT 50

Sélection aléatoire de 50 musiques qui sont agées de plus de deux mois:

julianday(timeadded) < (julianday('now') - 60) ORDER BY random() LIMIT 50

Sélection aléatoire de 50 musiques que vous n'avez pas écoutées :

timesplayed = 0 ORDER BY random() LIMIT 50

Sélection aléatoire de 50 musiques qui ont une note de 4/5:

format != 4 AND rating > 3 ORDER BY random() LIMIT 50

Musiques en double dans votre librairie, basé sur le titre et le nom de l'artiste

lower(title)||lower(artist) IN (SELECT lower(title)||lower(artist) FROM songs
GROUP BY lower(artist),lower(title) HAVING count(*) > 1) ORDER BY artist,title

Chercher les musiques à qui il manque un tag (Le genre dans l'exmple)

genre = ''

Afficher toutes les musiques qui n'ont pas de notes:

rating = 0

Afficher le Top 50 des musiques notées :

rating > 0 ORDER BY rating DESC LIMIT 50

Afficher les musiques que vous n'aimer pas (note négative)

rating = -1

Afficher les musiques d'artiste qui ont plus de 10 musiques (remplacez par le nombre de votre choix)

artist in (select artist from songs group by artist having count(*) > 10)

Une sorte d' AutoDj comme dans wxMusik :-)

rating >= 0 and genre != 'Speech' and genre != 'Comedy' and  datetime(lastplayed) < datetime('now', '-5 days') ORDER BY random()

Afficher les musiques de durée supérieur à 5 minutes

duration > (5 * 60 * 1000)

Afficher les musiques de durée inférieur à 1 minute

duration < (1 * 60 * 1000)

Afficher les musiques d'une playliste avec le nom "Ma Playliste"

songid IN 
(SELECT DISTINCT s.songid FROM std_playlist_song s, std_playlist n WHERE
s.std_playlist_id = n.std_playlist_id AND
n.std_playlist_name = 'Ma Playliste'
)

Discussions sur le Forum