Wie kann ich Rhythmusbox dazu bringen, zu sehen, dass verschiedene Alben mit demselben Namen unterschiedlich sind?


8

Ich habe sowohl Greatest Hits by the Offspring als auch Greatest Hits by Queen in meiner Rhythmbox-Bibliothek. Wenn ich nach Album sortiere, sieht es so aus:

Geben Sie hier die Bildbeschreibung ein

Wie kann ich festlegen, dass rhythmbox so nach Album sortiert wird, dass keine Alben verschiedener Künstler mit demselben Namen verschachtelt werden?


2
Ich kenne keine Möglichkeit, dies zu tun, aber da dies eine großartige Frage ist und ich selbst ziemlich neugierig bin, ob dies gelöst werden könnte, würde ich vorschlagen, dass Sie diese Frage an die Rhythmbox-Entwickler senden, deren Website hier ist, während sie Ich kann Ihnen entweder sagen, wie Sie es tun können, wenn es bereits funktioniert, oder Sie können es nicht sagen, und Sie können es als Ergänzung in einer zukünftigen Version vorschlagen und dazu beitragen, es zu einem besseren Musikplayer zu machen;)
Oyibo

Antworten:


4

Rhythmbox ist nicht in der Lage, zwischen verschiedenen "Greatest Hits" -Alben zu unterscheiden, da Albumtitel als eindeutige Kennung behandelt werden.

Über den Coverart-Browser des Rhythmbox-Plugins behandeln wir sowohl den Albumtitel als auch den Albumkünstler als eindeutige Kennung.

Imgur

Wie das Bild zeigt - zwei Künstler mit den gleichen "größten Hits" -Titeln, aber die Alben werden separat angezeigt, da die beiden Alben von verschiedenen Künstlern stammen.

Sie sollten beachten, dass beim Rippen von CDs der Albumkünstler häufig nicht gerippt und leer gelassen wird.

Schlimmer noch, bei Alben mit mehreren Künstlern (Zusammenstellungen) bleiben sowohl die Felder für Albumkünstler als auch für Künstler leer. Somit können zwei Alben mit genau demselben Titel übrig bleiben.

Der Trick hier besteht darin, alle Titel für ein Album auszuwählen, mit der rechten Maustaste zu klicken und Eigenschaften auszuwählen und dann das Feld Albumkünstler auszufüllen, um es einzigartig zu machen

Geben Sie hier die Bildbeschreibung ein

Installationsanweisungen finden Sie unter den folgenden Links.

Verknüpfte Frage:


2

Ich habe dieses Problem auf einer Vielzahl von Systemen und mit verschiedenen Playern gesehen. Die einzige Lösung, die ich gefunden habe, besteht darin, die vom Künstler vorangestellten Alben zu benennen.

Zum Beispiel:

"Red Hot Chilli Peppers Greatest Hits" statt nur "Greatest Hits".

Ich weiß, es ist viel Arbeit, aber wenn jemand einen besseren Weg hat, würde ich es gerne hören.


Ich habe 2 Abstimmungen für meine Antwort erhalten, die ich verwirrend finde, wenn ich bedenke, dass meine Antwort die einzige Möglichkeit ist, das zu erreichen, was in der Frage gestellt wurde. Die Antwort, dass es nicht möglich ist, ist in Ordnung, aber ich habe eine Alternative angeboten, die funktioniert.
CoalaWeb

Das Ändern der Albumnamen in etwas Falsches ist nicht für jeden eine Lösung. Es ist eine Problemumgehung, die sehr wahrscheinlich nicht funktioniert, da der Albumtitel dadurch falsch wird. Jeder, der Tools verwendet, die Metadaten automatisch korrigieren, wird diese Änderungen überschreiben. Ihre Antwort lädt auch zur weiteren Diskussion ein. Die einzig richtige Antwort ist, dass es sich derzeit um einen Fehler handelt, der nicht funktioniert. Er muss als solcher gemeldet und im Upstream behoben werden.
Dobey

Ich bin nicht der Meinung, dass ich dieses System seit Jahren verwende und daher unter den gegenwärtigen Umständen eine praktikable Lösung ist. Sie machen umfassende Aussagen wie die "einzig richtige Antwort", die darin besteht, einen Fehlerbericht einzureichen, dessen Implementierung höchstwahrscheinlich Monate oder sogar Jahre dauern wird. Daher biete ich eine Alternative an, während dieser Prozess stattfindet (ich erzwinge nicht jemand, der es benutzt). Mein ursprünglicher Kommentar besagt, dass ich der Meinung bin, dass zwei negative Stimmen nicht gerechtfertigt sind. Sie können nicht für meine Antwort stimmen, aber das ist etwas ganz anderes als eine negative.
CoalaWeb

2

Sie können dies nicht in Rhythmbox tun. Ich würde es jedoch als Fehler betrachten, dass dies passiert. Sie sollten einen Fehler darüber stromaufwärts öffnen, falls noch keiner geöffnet ist. Was es tun sollte , ist nach Album zu sortieren, dann Albumkünstler, dann Künstler, dann Disc-Nummer, dann nach Titelnummer, wenn Sie nach Album sortieren. Dies ist derzeit jedoch nicht der Fall.


2

Wählen Sie alle Titel aus dem Album aus, klicken Sie mit der rechten Maustaste und wählen Sie Eigenschaften. Ändern Sie nicht den Interpreten oder das Album-Tag. Stellen Sie "Albumkünstler" ein, wenn Sie möchten, oder klicken Sie auf die Registerkarte "Sortieren". Hier können Sie einen Interpreten und ein Album-Tag festlegen, die nicht angezeigt werden, sondern speziell zum Sortieren verwendet werden. Wenn Sie beispielsweise "Sortierreihenfolge für Alben" auf "Größte Treffer 1" und für das andere Album auf "Größte Treffer 2" setzen, werden beide weiterhin als "Größte Treffer" in der Bibliothek angezeigt, aber sortiert als separate Alben. Eine bessere Lösung wäre, das Feld "Sortierreihenfolge der Künstler" in den Namen des entsprechenden Künstlers zu ändern. Dies ist auch eine gute Lösung für Alben mit mehreren Künstlern.

Sie können dies auch verwenden, wenn Sie Ihre Alben chronologisch sortiert mögen, da Rhythmbox nicht über die Funktion "Album nach Jahr" verfügt, die ich bisher nur in iTunes gesehen habe.

Das Sortieren Ihrer Bibliothek nach der Überschrift "Künstler" anstelle von "Album" würde dieses Problem viel einfacher lösen. Ihre Alben werden weiterhin alphabetisch sortiert, wobei die Titel der Reihe nach sortiert sind, und Alben desselben Künstlers werden zusammengefasst. Auf diese Weise wären Nachwuchs und Königin nicht einmal nahe beieinander, geschweige denn alles so durcheinander.

Ich weiß, dass diese Frage ziemlich alt ist, aber niemand scheint diese Lösung veröffentlicht zu haben. Hoffe ich habe jemandem geholfen.


0

Ich bin Entwickler und habe 'Sortieren nach Künstler' zu 'rhythmdb_query_model_album_sort_func' hinzugefügt - siehe unten.

Wenn Sie ein Endbenutzer sind, der Ihr System auf die Paketerstellung vorbereiten kann, patchen Sie die Quelle, erstellen Sie neue Pakete, installieren Sie und fahren Sie fort! ;-) .

Dieser Patch wurde mit rb v2.97 erstellt. Neuere Versionen haben möglicherweise andere Zeilennummern (haben dies noch nicht überprüft), aber im Grunde sollte der Code der gleiche sein.

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);

Weitere Anweisungen zur Paketerstellung hier und hier


1
Willkommen bei Ask Ubuntu! ;-) Könnten Sie näher erläutern, wie der Endbenutzer diese Funktion für seine Distribution aktivieren kann? (Denken Sie an Endbenutzer)
Fabby

Schlagen Sie diese Änderungen beim nächsten Mal nicht als anonymer Benutzer vor, sondern melden Sie sich an und bearbeiten Sie sie, damit der Überprüfungsprozess nicht durchlaufen werden muss. Jetzt hatten Sie das Glück, zweimal hintereinander denselben Rezensenten zu bekommen, aber es gibt ein paar 100 von uns, und beim nächsten Mal werden Sie nicht so viel Glück haben! : P
Fabby
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.