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
- Quelques références (http://musikcube.com/phpbb/viewtopic.php?t=266)
- Comment créer une playliste dynamique aléatoire (http://musikcube.com/phpbb/viewtopic.php?p=1844)
- Requête pour double entrée ? (http://musikcube.com/phpbb/viewtopic.php?p=1307)

