같은 이름의 다른 앨범이 다른 것을 리듬 박스에 표시하려면 어떻게해야합니까?


8

내 Rhythmbox 라이브러리에는 자손에 의한 Greatest Hits와 Queen에 의한 Greatest Hits가 있습니다. 앨범별로 정렬하면 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

같은 이름의 다른 아티스트가 앨범을 인터리브하지 않는 방식으로 리듬 박스가 앨범별로 정렬되도록하려면 어떻게해야합니까?


2
이 작업을 수행하는 방법을 알지 못하지만 이것이 좋은 질문 이므로이 문제를 해결할 수 있다면 매우 궁금합니다.이 질문을 Rhythmbox 개발자 에게 보내 자신의 사이트를 여기에있는 것처럼 제안 하십시오. 이미 작동하는 경우 수행 할 수있는 방법을 알려주거나 그렇지 않은 경우 향후 릴리스에서 추가로 제안하여 더 나은 음악 플레이어로 만드는 데 기여할 수 있습니다.)
Oyibo

답변:


4

기본적으로 rhythmbox는 앨범 제목을 고유 식별자로 취급하기 때문에 서로 다른 "가장 큰 히트"앨범을 구별 할 수 없습니다.

리듬 박스 플러그인 coverart-browser를 통해 앨범 타이틀과 앨범 아티스트를 고유 식별자로 취급합니다.

임 구르

그림에서 알 수 있듯이, "가장 큰 히트"타이틀을 가진 두 명의 아티스트가 있지만 두 개의 앨범이 다른 아티스트에 의해 있기 때문에 앨범이 별도로 표시됩니다.

CD를 리핑 할 때 종종 앨범 아티스트가 리핑되지 않고 비워집니다.

더 나쁜 것은 다중 아티스트 앨범 (컴파일)의 경우 앨범 아티스트와 아티스트 필드도 모두 비워 둔다는 것입니다. 따라서 제목이 정확히 같은 두 개의 앨범을 남길 수 있습니다.

여기서 트릭은 앨범의 모든 트랙을 선택하고 마우스 오른쪽 단추를 클릭하고 속성을 선택한 다음 앨범 아티스트 필드를 채워 고유하게 만듭니다.

여기에 이미지 설명을 입력하십시오

설치 지침은 아래 링크를 참조하십시오.

연결된 질문 :


2

나는 다양한 시스템과 다른 플레이어 에서이 문제를 보았으며 내가 찾은 유일한 해결책은 아티스트가 접두사로 붙인 앨범의 이름을 지정하는 것입니다.

예를 들면 다음과 같습니다.

그냥 "가장 인기있는 히트"대신 "레드 핫 칠리 페퍼스 가장 큰 히트".

나는 그것의 많은 일을 알고 있지만 누군가가 더 나은 방법을 가지고 있다면 나는 그것을 듣고 싶습니다.


나는 내 생각에 당황스러워하는 것을 발견 한 내 대답에 대해 2 개의 downvotes를 받았다. 가능하지 않다고 대답하는 것은 좋지만 작동하는 대안을 제공했습니다.
CoalaWeb

앨범 이름을 잘못된 것으로 변경하는 것은 모든 사람에게 해결책이 아닙니다. 앨범 제목이 잘못되어 깨질 가능성이 큰 해결 방법입니다. 메타 데이터를 자동으로 수정하는 도구를 사용하는 사람은 이러한 변경 사항을 덮어 씁니다. 귀하의 답변은 추가 토론을 초대합니다. 유일한 정답은 현재 버그가 작동하지 않는 버그이며, 이와 같이보고되고 업스트림으로 수정되어야합니다.
dobey 29'122012-12-18

이 시스템을 몇 년 동안 사용해 왔으며 현재 상황에서 실행 가능한 솔루션이라는 데 동의하지 않습니다. "유일한 정답"과 같은 포괄적 인 진술을 작성하면 구현하는 데 몇 달 또는 몇 년이 걸리는 버그 보고서를 제출할 수 있습니다. 그것을 사용하는 사람). 내 원래 의견은 두 가지 부정적인 투표가 정당하지 않다고 생각하고 내 답변에 투표하지 말아주십시오.
CoalaWeb

2

리듬 박스에서는이 작업을 수행 할 수 없습니다. 그러나 나는 이것이 일어나는 버그라고 생각할 것입니다. 업스트림에 대한 버그가 아직 열려 있지 않은 경우 버그를 열어야합니다. 그것은 무엇을 해야 할 당신을 분류 앨범으로 트랙 번호에 의해 다음, 다음 앨범 아티스트, 다음, 아티스트, 다음 디스크 번호, 앨범별로 일종이다. 그러나 현재이 작업을 수행하고 있지 않습니다.


2

앨범에서 모든 트랙을 선택하고 마우스 오른쪽 버튼을 클릭 한 다음 속성을 선택하십시오. 아티스트 나 앨범 태그를 변경하지 마십시오. 원하는 경우 "앨범 아티스트"를 설정하거나 "정렬"탭을 클릭하십시오. 여기서는 표시되지 않지만 정렬에 특별히 사용되는 아티스트 및 앨범 태그를 설정할 수 있습니다. 예를 들어 "앨범 정렬 순서"를 "최고 히트 1"로 설정하고 다른 앨범에 대해 "최고 히트 2"로 설정하면 여전히 라이브러리에서 "최고 히트"로 표시되지만 정렬됩니다. 별도의 앨범으로. 더 나은 해결책은 "아티스트 정렬 순서"필드를 해당 아티스트 이름으로 변경하는 것입니다. 또한 여러 아티스트가있는 앨범에 적합한 솔루션입니다.

Rhythmbox에는 iTunes에서만 볼 수있는 "연도 별 앨범"기능이 없기 때문에 시간순으로 정렬 된 앨범을 좋아하는 경우에도 사용할 수 있습니다.

"앨범"대신 "아티스트"제목을 사용하여 라이브러리를 정렬하면이 문제가 훨씬 쉽게 해결됩니다. 앨범은 트랙 순서대로 알파벳순으로 정렬되며 동일한 아티스트의 앨범이 함께 그룹화됩니다. 그런 식으로 오프 스프링과 퀸은 서로 가까이 있지 않았을 것입니다.

나는이 질문이 꽤 오래되었다는 것을 알고 있지만 아무도이 솔루션을 게시 한 것으로 보이지 않습니다. 누군가를 도왔기를 바랍니다.


0

저는 개발자이며 '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);

여기여기 에 패키지 구축에 대한 추가 지침


1
Ask Ubuntu에 오신 것을 환영합니다! ;-) 최종 사용자가 자신의 배포를 위해이 기능을 활성화하는 방법을 자세히 설명해 주시겠습니까? (최종 사용자를 생각하십시오)
Fabby

다음에 이러한 변경 사항을 익명 사용자로 제안하지 말고 로그인 한 다음 편집하면 검토 프로세스를 거치지 않아도됩니다. 이제 같은 리뷰어를 두 번 연속으로 얻는 것이 운이 좋았지 만 우리 중 몇 명은 100 명이며 다음에는 그렇게 운이 좋지 않습니다! : P
Fabby
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.