Como posso obter o rhythmbox para ver que diferentes álbuns com o mesmo nome são diferentes?

8

Eu tenho o Greatest Hits da Offspring e Greatest Hits da Queen na minha biblioteca Rhythmbox. Quando eu classifico por álbum, é assim:

Como posso dizer para o rhythmbox classificar por álbum de tal forma que ele não intercale álbuns de artistas diferentes com o mesmo nome?

    
por Dan 24.12.2012 / 20:55

5 respostas

4

Fora da caixa, o rhythmbox não tem a capacidade de diferenciar entre os diferentes álbuns de "maiores sucessos" porque trata os títulos dos álbuns como o identificador único.

Por meio do plug-in rhythmbox coverart-browser , tratamos tanto o título do álbum como o artista do álbum como o identificador exclusivo.

Comoaimagemmostra-doisartistascomosmesmostítulosde"grandes sucessos", mas os álbuns são mostrados separadamente, já que os dois álbuns são de artistas diferentes.

Você deve notar - ao copiar CDs, muitas vezes o artista do álbum não é copiado e deixado em branco.

Pior ainda, para álbuns multi-artista (compilações), ambos os campos artista do álbum e artista também são deixados vazios. Assim, você pode ficar com dois álbuns com exatamente o mesmo título.

O truque aqui é selecionar todas as faixas de um álbum, clicar com o botão direito do mouse e escolher propriedades e, em seguida, preencher o campo do artista do álbum para torná-lo exclusivo

Consulteoslinksabaixoparaobterinstruçõesdeinstalação.

Perguntarelacionada:

por fossfreedom 11.09.2013 / 14:55
2

Eu já vi esse problema em vários sistemas e com diferentes players, e a única solução que consegui foi nomear os álbuns prefixados pelo artista.

Por exemplo:

"Red Hot Chili Peppers Greatest Hits" em vez de apenas "Greatest Hits".

Eu sei que é muito trabalhoso, mas se alguém tiver uma maneira melhor, eu adoraria ouvir isso.

    
por CoalaWeb 24.12.2012 / 21:07
2

Você não pode fazer isso no Rhythmbox. No entanto, eu consideraria um erro que isso aconteça. Você deve abrir um bug sobre ele, se ainda não estiver aberto. O que deve fazer, é classificar por álbum, depois artista de álbum, depois artista, depois número de disco, depois por número de faixa, quando você classifica por álbum. No entanto, não está fazendo isso atualmente.

    
por dobey 24.12.2012 / 21:59
2

Selecione todas as faixas do álbum, clique com o botão direito, escolha as propriedades. Não altere o artista ou a etiqueta do álbum. Defina "artista do álbum", se quiser, ou clique na guia "classificação". Aqui, você pode definir um artista e uma tag de álbum que não serão exibidos, mas serão usados especificamente para classificação. Se você definir "Ordem de classificação de álbuns" como "grandes acertos 1", por exemplo, e defini-los como "maiores acertos 2" para o outro, eles ainda serão exibidos como "Greatest Hits" na biblioteca, mas serão classificados como álbuns separados. Melhor solução seria alterar o campo "ordem de classificação do artista" para o nome do artista correspondente. Esta também é uma boa solução para álbuns com vários artistas.

Você também pode usar isso se você gostar de seus álbuns organizados cronologicamente, já que o Rhythmbox não tem o recurso "álbum por ano" que eu só vi no iTunes.

Classificar sua biblioteca usando o título "Artista" em vez de "Álbum" resolveria esse problema com muito mais facilidade; seus álbuns ainda serão classificados em ordem alfabética, com suas faixas em ordem, e os álbuns do mesmo artista serão agrupados. Dessa forma, os Offspring e Queen não estariam nem perto um do outro, muito menos tudo misturado assim.

Eu sei que essa pergunta é bem antiga, mas ninguém parece ter postado essa solução. Espero ter ajudado alguém.

    
por gordonzed 08.04.2014 / 11:12
0

Sou um desenvolvedor e adiciono 'classificar por artista' a 'rhythmdb_query_model_album_sort_func' - veja abaixo.

Se você é um usuário final capaz de preparar seu sistema para a construção de pacotes, corrigir o código-fonte, criar novos pacotes, instalar, então vá em frente! ; -) .

Este patch foi feito com o rb v2.97, versões mais novas podem ter números de linha diferentes (não verificaram isso ainda) mas basicamente o código deve ser o mesmo.

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] == '
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] == '%pre%') {
+                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] == '%pre%') {
+                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);
') { + 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] == '%pre%') { + 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);

Mais instruções sobre o desenvolvimento de pacotes aqui e < a href="https://raphaelhertzog.com/2012/08/08/how-to-use-quilt-to-manage-patches-in-debian-packages/"> aqui

    
por user526287 03.04.2016 / 22:33

Tags