Comment puis-je obtenir rhythmbox pour voir que différents albums avec le même nom sont différents?

8

J'ai à la fois Greatest Hits by the Offspring et Greatest Hits by Queen dans ma bibliothèque Rhythmbox. Lorsque je trie par album, cela ressemble à ceci:

entrez la description de l'image ici

Comment puis-je dire à Rhythmbox de trier par album de manière à ce qu'il n'entrelace pas les albums d'artistes différents portant le même nom?

Dan
la source
2
Je ne connais aucun moyen de le faire, cependant, car c'est une excellente question et je suis assez curieux de savoir si cela pourrait être résolu.Je vous suggère de poster cette question aux développeurs de Rhythmbox, leur site étant ici pendant qu'ils '' Je serai en mesure de vous dire un moyen de le faire si cela fonctionne déjà, ou de vous le dire non et vous pouvez le proposer comme ajout dans une future version et contribuer à en faire un meilleur lecteur de musique;)
Oyibo

Réponses:

4

Hors de la boîte, rhythmbox n'a pas la possibilité de différencier les différents albums "plus grands succès" car il traite les titres d'album comme l'identifiant unique.

Grâce au plugin rhythmbox coverart-browser , nous traitons à la fois le titre de l'album ET l'artiste de l'album comme l'identifiant unique.

Imgur

Comme le montre l'image - deux artistes avec les mêmes titres de "plus grands succès" mais les albums sont montrés séparément car les deux albums sont d'artistes différents.

Vous devriez noter - lors de l'extraction de CD, souvent l'album-artiste n'est pas extrait et reste vierge.

Pire encore, pour les albums multi-artistes (compilations), les champs album-artiste et artiste sont également laissés vides. Ainsi, vous pouvez vous retrouver avec deux albums avec exactement le même titre.

L'astuce consiste à sélectionner toutes les pistes d'un album, à cliquer avec le bouton droit et à choisir les propriétés, puis à remplir le champ album-artist pour le rendre unique

entrez la description de l'image ici

Voir les liens ci-dessous pour les instructions d'installation.

Question liée:

liberté libre
la source
2

J'ai vu ce problème sur une variété de systèmes et avec différents joueurs et la seule solution que j'ai trouvée est de nommer les albums préfixés par l'artiste.

Par exemple:

"Red Hot Chilli Peppers Greatest Hits" au lieu de "Greatest Hits".

Je sais que c'est beaucoup de travail mais si quelqu'un a une meilleure façon, j'aimerais l'entendre.

CoalaWeb
la source
J'ai reçu 2 downvotes pour ma réponse que je trouve perplexe étant donné qu'en ce moment la mienne est la seule possibilité de réaliser ce qui a été demandé dans la question. Répondre que ce n'est pas possible est bien, mais j'ai proposé une alternative qui fonctionne.
CoalaWeb
Changer les noms d'album en quelque chose de incorrect n'est pas une solution pour tout le monde. C'est une solution de contournement qui risque fort de se casser, car elle rend le titre de l'album incorrect. Quiconque utilise des outils qui corrigent automatiquement les métadonnées, ces modifications seront écrasées. Votre réponse invite également à poursuivre la discussion. La seule bonne réponse est qu'il s'agit actuellement d'un bogue qui ne fonctionne pas et qu'il doit être signalé comme tel et corrigé en amont.
dobey
Je ne suis pas d'accord pour dire que j'utilise ce système depuis des années et que c'est une solution viable dans les circonstances actuelles. Vous faites des déclarations générales telles que «la seule bonne réponse» qui est de soumettre un rapport de bogue qui prendra plus que probablement des mois, voire des années à mettre en œuvre, donc je propose une alternative pendant que ce processus se déroule (je ne force pas n'importe qui pour l'utiliser). Mon commentaire initial est que je pense que deux votes négatifs ne sont pas justifiés, n'hésitez pas à ne pas voter pour ma réponse, mais c'est très différent de lui donner un vote négatif.
CoalaWeb
2

Vous ne pouvez pas faire cela dans Rhythmbox. Cependant, je considérerais comme un bug que cela se produise. Vous devriez ouvrir un bogue à ce sujet en amont, s'il n'en existe pas déjà. Ce qu'il doit faire, c'est trier par album, puis artiste d'album, puis artiste, puis numéro de disque, puis par numéro de piste, lorsque vous triez par album. Cependant, il ne le fait pas actuellement.

dobey
la source
2

Sélectionnez toutes les pistes de l'album, faites un clic droit, choisissez les propriétés. Ne changez pas le tag de l'artiste ou de l'album. Définissez "artiste d'album" si vous le souhaitez, ou cliquez sur l'onglet "Tri". Ici, vous pouvez définir un tag d'artiste et d'album qui ne sera pas affiché, mais sera utilisé spécifiquement pour le tri. Si vous définissez par exemple "Ordre de tri des albums" sur "les plus grands succès 1" et définissez-le sur "les plus grands succès 2" pour l'autre album, ils s'afficheront toujours comme "Greatest Hits" dans la bibliothèque, mais seront triés comme albums séparés. Une meilleure solution serait de changer le champ "ordre de tri des artistes" par le nom de l'artiste correspondant. C'est également une bonne solution pour les albums avec plusieurs artistes.

Vous pouvez également l'utiliser si vous aimez que vos albums soient classés par ordre chronologique, car Rhythmbox n'a pas la fonctionnalité "album par année" que je n'ai jamais vue que sur iTunes.

Trier votre bibliothèque en utilisant la rubrique "Artiste" plutôt que "Album" résoudrait ce problème beaucoup plus facilement; vos albums seront toujours triés par ordre alphabétique, avec leurs pistes dans l'ordre, et les albums du même artiste seront regroupés. De cette façon, Offspring et Queen ne seraient même pas proches l'un de l'autre, encore moins tous mélangés comme ça.

Je sais que cette question est assez ancienne, mais personne ne semble avoir posté cette solution. J'espère que j'ai aidé quelqu'un.

gordonzed
la source
0

Je suis développeur et j'ai ajouté "trier par artiste" à "rythmdb_query_model_album_sort_func" - voir ci-dessous.

Si vous êtes un utilisateur final capable de préparer votre système pour la construction de packages, corrigez la source, créez de nouveaux packages, installez puis allez-y! ;-) .

Ce patch a été fait avec rb v2.97, les versions plus récentes peuvent avoir des numéros de ligne différents (ne l'ont pas encore vérifié) mais fondamentalement le code devrait être le même.

Description: sort albums with same title first by artist, remove unnecesary space and tab
--- rhythmbox-2.97.orig/rhythmdb/rhythmdb-query-model.c
+++ rhythmbox-2.97/rhythmdb/rhythmdb-query-model.c
@@ -2192,7 +2192,7 @@ rhythmdb_query_model_drag_data_received
        return FALSE;
 }

-/* 
+/*
  * determines whether reordering is possible by checking up
  * the chain for a model with a sort function set.
  */
@@ -2921,7 +2921,7 @@
  * @data: nothing
  *
  * Sort function for sorting by album.  Sorts by album, then
- * disc number, then track number, then title.
+ * artist, then disc number, then track number, then title.
  *
  * Returns: result of sort comparison between a and b.
  */
@@ -2959,6 +2959,31 @@ rhythmdb_query_model_album_sort_func (Rh
        if (ret != 0)
                return ret;

+       /* Then by artist */
+        a_val = rhythmdb_entry_get_string (a, RHYTHMDB_PROP_ARTIST_SORTNAME_SORT_KEY);
+        if (a_val[0] == '\0') {
+                a_val = rhythmdb_entry_get_string (a, RHYTHMDB_PROP_ARTIST_SORT_KEY);
+        }
+        b_val = rhythmdb_entry_get_string (b, RHYTHMDB_PROP_ARTIST_SORTNAME_SORT_KEY);
+        if (b_val[0] == '\0') {
+                b_val = rhythmdb_entry_get_string (b, RHYTHMDB_PROP_ARTIST_SORT_KEY);
+        }
+
+        if (a_val == NULL) {
+                if (b_val == NULL)
+                        ret = 0;
+                else
+                        ret = -1;
+        } else if (b_val == NULL)
+                ret = 1;
+        else
+                ret = strcmp (a_val, b_val);
+
+        if (ret != 0)
+                return ret;
+        /*else
+                return rhythmdb_query_model_album_sort_func (a, b, data); */
+
        /* Then by disc number (assume 1 if non-existent) */
        a_num = rhythmdb_entry_get_ulong (a, RHYTHMDB_PROP_DISC_NUMBER);
        b_num = rhythmdb_entry_get_ulong (b, RHYTHMDB_PROP_DISC_NUMBER);
@@ -3168,7 +3193,7 @@
                                    gpointer data)
 {
        gulong a_val, b_val;
-       
+
        if (rhythmdb_entry_is_lossless (a)) {
                if (rhythmdb_entry_is_lossless (b))
                        return rhythmdb_query_model_location_sort_func (a, b, data);

D'autres instructions sur la construction de packages ici et ici

user526287
la source
1
Bienvenue sur Ask Ubuntu! ;-) Pourriez-vous expliquer comment l'utilisateur final peut activer cette fonction pour sa distribution? (pensez à l'utilisateur final)
Fabby
La prochaine fois, ne proposez pas ces modifications en tant qu'utilisateur anonyme, mais connectez-vous, puis modifiez-le, afin qu'il n'ait pas à passer par le processus de révision. Maintenant, vous avez eu la chance d'avoir le même critique deux fois de suite, mais nous sommes quelques 100 et la prochaine fois, vous n'aurez pas autant de chance! : P
Fabby