Author Topic: Forcer certains morceaux à rester groupés, même en lecture aléatoire  (Read 1790 times)

mivk

  • Newbie
  • *
  • Posts: 1
    • View Profile
J'écoute souvent ma musique en mode aléatoire (Weighted Random), mais pour la musique classique, je voudrais pouvoir forcer certains "morceaux" à rester groupés.

En particulier pour l'opéra, où les disques sont souvent découpés en nombreux morceaux. Ce découpage peut être énervant quand on arrive sur un extrait d'opéra de moins d'une minute pour sauter directement à tout autre chose.

Je voudrais donc pouvoir, sans changer le découpage du disque original, définir 2 propriétés pour certains morceaux:

[ ] "à la fin, toujours passer au suivant du disque". (Utilisé pour parties 1/3 et 2/3 par exemple)
[ ] "ignorer ce morceau en mode aléatoire (ne pas utiliser comme cible)". (Utilisé pour parties 2/3 et 3/3 par exemple)

Peut-être qu'une analogie avec le traitement de texte sera plus claire. Dans un traitement de texte comme Word ou LibreOffice, les styles de paragraphe ont des propriétés "keep with next" et "keep with previous". On peut ainsi forcer par exemple un titre à rester avec le paragraphe qui suit, ou un groupe de "bullets" à rester tous sur la même page.

Dans les "Song properties" de gmb, il y a une propriété "Grouping", mais elle ne semble concerner que certains modes d'affichage.

Cette idée a-t-elle déjà été envisagée/tentée?

Existe-t-il des "tags" qui pourraient être utilisés dans ce sens?

Je pourrais essayer de proposer des patchs dans ce sens, mais gmb est un gros programme complexe. Dans les modes Random/Shuffle, où serait-il judicieux d'inclure les tests pour ces 2 propriétés? Et où est définie la structure de la base de données pour y ajouter ces 2 propriétés?

Merci,

PS: Et de toute façon merci beaucoup pour ce player!

PS2: Je me débrouille assez bien avec Perl.

Quentin Sculo

  • Administrator
  • Hero Member
  • *****
  • Posts: 1082
    • View Profile
La propriété grouping est je crois faite pour regrouper des morceaux classiques dans un album, donc ça correspond à ce que tu veux.

Pour l'utiliser en mode shuffle, je peux facilement ajouter un ordre de tri grouping_shuffle, qui marche comme album_shuffle, qui permettrai de trier aléatoirement les chansons mais on laissant les chansons avec même album et grouping ensemble.

Pour l'utiliser en mode random, c'est plus compliqué. Le système random de gmb est vieux je pense à le revoir, pour l'instant ce n'est possible de faire ça. Il y a un plugin qui fait un peu ça, pour jouer des albums au hasard, je crois qu'il n'est pas encore dans mon git, mais doit être dans celui d'ochosi et sur le forum.
Le plugin calcul un score pour chaque album fait de la moyenne des score des chansons de l'album, choisi un album, et même les chanson dans la file d'attente.
Un plugin plus simple pourrait aussi simplement regarder quelle chanson est jouée, et si on est en mode aléatoire et la chanson est la une première partie, insérer les autres parties dans la file d'attente. Reste plus qu'à utiliser un mode random qui exclue les autres parties, pour l'instant le mode random ne connaît pas le champs grouping, mais peut le faire avec un label/étiquette. Ajouter une règle "pas première partie" ne devrait pas être trop dur.

Bien sûr un nouveau système de mode random qui permettrait ce genre de chose serait mieux, mais j'ai pas encore des idées très claires pour un nouveau système. Un truc que j'aimerais bien serait d'avoir un mode avancé où l'utilisateur peut entrer une équation pour le calcul du score.