Aller au contenu principal
Sujet: 2 listes intelligentes (smart playlists) qui remplacent celles dispo en natif. (Lu 488 fois) sujet précédent - sujet suivant
0 Membres et 1 Invitédans ce sujet

2 listes intelligentes (smart playlists) qui remplacent celles dispo en natif.

Bonjour,

Ça fait un bout de temps que je vous bassinait pour obtenir de l'aide pour avoir deux vues dans Kodi (concernant les Films, celles dispos pour les Séries me convenant bien).

Soit :

1) Liste des films non vus ET n’appartenant pas à une Saga.
2) Liste des Sagas non vues ET avec celles entamées en tête de liste.

Merci à Roura pour son aide !

Sous Windows, ces Playlists vont ici : C:\Users\VotreUser\AppData\Roaming\kodi\userdata\playlists\video
Pour les autres plateformes, rtfm ;)

Pré-requis : avoir sa médiathèque dans mySQL.

1) Fichier Films.xsp :

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<smartplaylist type="movies">
    <name>Films</name>
    <match>all</match>
    <rule field="playcount" operator="is">
        <value>0</value>
    </rule>
    <rule field="set" operator="doesnotcontain">
        <value>saga</value>
    </rule>
    <group>none</group>
    <limit>25</limit>
    <order direction="ascending">random</order>
</smartplaylist>

Et dans Kodi se retrouve dans Vidéos / Listes de lecture.

2) Fichier Sagas.xsp :

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<smartplaylist type="movies">
    <name>Sagas</name>
    <match>all</match>
    <rule field="set" operator="contains">
        <value>saga</value>
    </rule>
    <rule field="set" operator="doesnotcontain">
        <value>sagavue</value>
    </rule>
    <order direction="descending">lastplayed</order>
</smartplaylist>
Pour l'affichage des deux, j'ai opté pour la Liste large, à définir dans les options lors de leur affichage.

Bon pas de difficulté pour la vue Films.
La vue Sagas impose deux pré-requis :

A) Toutes les sagas doivent comporter le mot 'saga'. Il conviendra de relancer ces deux codes de temps en temps (si ajout de nouvelles vidéos) :

# Identifier les sagas :
update MyVideos107.sets set strSet = concat(strSet, ' - Saga') where strSet not like '%saga%';

B) Toutes les sagas entièrement vues doivent comporter le mot 'sagavue' : (lancer les deux Update SQL systématiquement - et spécialement après avoir fini une saga afin de la faire disparaître de la liste)

# Tagguer les sagas vues :
Update MyVideos107.sets x Set `strSet`= Replace(`strSet`, 'Sagavue', 'Saga');

Update MyVideos107.sets x Set `strSet`= Replace(`strSet`, 'Saga', 'Sagavue')
WHERE
(select count(*) from MyVideos107.movie a, MyVideos107.files b where a.idset=x.idSet and a.idfile = b.idfile) =
(select count(*) from MyVideos107.movie a, MyVideos107.files b where a.idset=x.idSet and a.idfile = b.idfile and lastPlayed is not null);

Le premier Update sert à rendre toutes les sagas visibles, et la seconde à cacher celles qui ont été entièrement vues.
Le premier Update .. inutile ? Pas si vous avez vu la Saga des Tuche 1 & 2, et que vous ajoutez le 3, fraîchement encodé après avoir loué le DVD à votre C.E. ;) Le deuxième Update ne se déclenchera alors pas car vous aurez vu deux Tuche sur un total de trois.
Accessoirement, ça évite aussi de se retrouver avec des 'Sagavuevue' :p

J'ai mis ces deux listes dans les Favoris. Donc mon fichier favourites.xml ressemble à ceci :

<favourites>
    <favourite name="Films">ActivateWindow(10025,&quot;special://profile/playlists/video/Films.xsp&quot;,return)</favourite>
    <favourite name="Sagas">ActivateWindow(10025,&quot;special://profile/playlists/video/Sagas.xsp&quot;,return)</favourite>
</favourites>

Enfin le plus simple étant de faire un clic long sur les listes pour les Ajouter aux favoris ^_^

Si quelque chose n'était pas clair...
(Pour info, j'ai vu qu'on peut lancer un script sur un NAS Synology (ce que j'ai) quotidiennement, je me pencherai sur le sujet quand j'en aurai marre de faire ça manuellement.)

 
Simple Audio Video Embedder