Как я могу получить rhythmbox, чтобы увидеть, что разные альбомы с одинаковыми именами разные?

В моей библиотеке Rhythmbox есть и «Лучшие хиты от потомков», и «Лучшие хиты от Queen». Когда я сортирую по альбому, это выглядит так:

enter image description here

Как я могу сказать, чтобы rhythmbox сортировал по альбому так, чтобы он не чередовал альбомы? разными художниками с одинаковыми именами?

8
задан 24 December 2012 в 23:55

5 ответов

Я видел эту проблему на разных системах и на разных проигрывателях, и единственное решение, которое я нашел, - это назвать альбомы с префиксом исполнителя.

Например:

"Red Hot Chilli Peppers Greatest Hits" вместо просто "Greatest Hits".

Я знаю, что это большая работа, но если у кого-то есть способ получше, я бы хотел это услышать.

0
ответ дан 24 December 2012 в 23:55

Из коробки «rhythmbox» не имеет возможности различать разные альбомы «лучших хитов», потому что он рассматривает названия альбомов как уникальный идентификатор.

Через плагин rhythmbox coverart-browser мы рассматриваем как название альбома, так и исполнителя альбома как уникальный идентификатор.

Imgur

Как показано на рисунке - два артиста с одинаковыми названиями «лучших хитов», но альбомы показаны отдельно, поскольку оба альбома принадлежат разным исполнителям.

Вы должны заметить - при копировании компакт-дисков альбом-исполнитель часто не копируется и остается пустым.

Еще хуже то, что для альбомов (сборников) с несколькими исполнителями поля «Исполнитель альбома» и «Исполнитель» также остаются пустыми. Таким образом, вы можете остаться с двумя альбомами с одинаковым названием.

Хитрость заключается в том, чтобы выбрать все дорожки для альбома, щелкнуть правой кнопкой мыши и выбрать свойства, а затем заполнить поле альбома-исполнителя, чтобы сделать его уникальным

enter image description here

См. Ссылки ниже для инструкций по установке.

Связанный вопрос:

0
ответ дан 24 December 2012 в 23:55

Вы не можете сделать это в Rhythmbox. Тем не менее, я бы посчитал ошибкой, что это происходит. Вы должны открыть ошибку об этом в апстриме, если она еще не открыта. То, что он должен сделать , это сортировка по альбому, затем исполнителю альбома, затем исполнителю, затем номеру диска, затем номеру дорожки, когда вы сортируете по альбому. Однако в настоящее время он этого не делает.

0
ответ дан 24 December 2012 в 23:55

Я разработчик и добавил «сортировать по исполнителю» в «rhythmdb_query_model_album_sort_func» - см. Ниже.

Если вы конечный пользователь, который может подготовить вашу систему к сборке пакетов, исправьте исходный код, создайте новые пакеты, установите и продолжайте! ; -)

.

Этот патч был сделан с rb v2.97, более новые версии могут иметь разные номера строк (еще не проверяли), но в основном код должен быть таким же.

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

Дополнительные инструкции по сборке пакетов здесь и здесь

0
ответ дан 24 December 2012 в 23:55

Выберите все треки из альбома, щелкните правой кнопкой мыши, выберите свойства. Не меняйте исполнителя или тег альбома. Установите «Исполнитель альбома», если хотите, или нажмите на вкладку «Сортировка». Здесь вы можете установить исполнителя и тег альбома, которые не будут отображаться, но будут использоваться специально для сортировки. Если вы установите для «Порядка сортировки альбома» значение «наибольшие хиты 1», например, и установите для него «наибольшие хиты 2» для другого альбома, они все равно будут отображаться как «Самые лучшие хиты» в библиотеке, но будут отсортированы как отдельные альбомы. Лучшим решением было бы изменить поле «порядок сортировки по исполнителю» на имя соответствующего исполнителя. Это также хорошее решение для альбомов с несколькими исполнителями.

Вы также можете использовать это, если вам нравятся ваши альбомы, отсортированные в хронологическом порядке, поскольку у Rhythmbox нет функции «альбом по году», которую я когда-либо видел только в iTunes.

Сортировка вашей библиотеки с использованием заголовка «Исполнитель», а не «Альбом» решит эту проблему гораздо легче; ваши альбомы будут по-прежнему отсортированы в алфавитном порядке, их треки расположены по порядку, а альбомы одного и того же исполнителя будут сгруппированы. Таким образом, Аутспринг и Королева даже не будут рядом друг с другом, не говоря уже о том, что все так смешалось.

Я знаю, что этот вопрос довольно старый, но, похоже, никто не опубликовал это решение. Надеюсь, я кому-то помог.

0
ответ дан 24 December 2012 в 23:55

Другие вопросы по тегам:

Похожие вопросы: