Login Hasło

#1 2009.06.13 00:37:57

hornet
Użytkownik
Zarejestrowany: 2007.01.27
Posty: 59
System: Gentoo Linux
Fluxbox:

ncmpc - kodowanie znaków

Witam,

Jak skonfigurować wyświetlanie polskich znaków w ncmpc? Używam utf8 i w pliku mpd odkomentowałem dwie zmienne odpowiedzialne za tagi i kodowanie systemu plików, i zmieniłem ich wartośc na utf8. Niestety to nic nie daje. Oczywiscie po zamianie restartowałem demona mpd.

Dane trzymam na partycji NTFS ustawionej następująco:

Kod:

locale=pl_PL.utf8

Nie mam pojecia gdzie szukać przyczyny. Próbowałem pliki przelecieć convmv do utf-8, ale nic się nie zmieniło. Baza danych była aktualizowana po tych zmianach.

Z góry dziękuję za odp.

Offline

 

#2 2009.06.13 11:05:20

Moebius
o¤°`°¤o,¸¸¸,o¤°
Skąd: /dev/tty1
Zarejestrowany: 2007.02.26
Posty: 202
System: Gentoo
Fluxbox: ist Krieg!

Re: ncmpc - kodowanie znaków

Zobacz może w plikach muzycznych jakie masz tagi i w jakim kodowaniu. Convmv zmienia tylko nazwy plików (tak mi się wydaje ;D).


Teraz, gdy już nauczyliśmy się latać w powietrzu jak ptaki, pływać pod wodą jak ryby, brakuje nam tylko jednego: nauczyć się żyć na ziemi jak ludzie.

Offline

 

#3 2009.06.13 15:58:09

hornet
Użytkownik
Zarejestrowany: 2007.01.27
Posty: 59
System: Gentoo Linux
Fluxbox:

Re: ncmpc - kodowanie znaków

Pod Windows wszystko jest w porządku, żadnych krzaków nie ma, więc pewnie zwykłe ISO-8859-2. Więc? Jak to usatwić,  aby prawidłowo chodziło?

Offline

 

#4 2009.06.13 17:43:10

Minio
Electric Castle resident
Skąd: Brno, Česko
Zarejestrowany: 2006.11.22
Posty: 546
System: Debian Testing
Fluxbox: Plasma 5.10.5 ;) (Fb 1.3.5)
WWW

Re: ncmpc - kodowanie znaków

Prędzej cp-1250.

Zacznij od sprawdzenia programu easytag. Wydaje mi się że powinien on zdać egzamin, ponieważ ma bardzo wiele funkcji. Jednocześnie jest troszkę ciężkawy, no i ma graficzny interfejs.

Jeżeli wolisz skorzystać z narzędzia CLI, sprawdź ten wpis.

Offline

 

#5 2009.06.13 19:58:03

hornet
Użytkownik
Zarejestrowany: 2007.01.27
Posty: 59
System: Gentoo Linux
Fluxbox:

Re: ncmpc - kodowanie znaków

Zgadzało by się - cp-1250. I teraz mam zmieniać tagi wszystch mp3 do utf8? Chciałbym tego uniknąć bo przecież pod Windows będzie krzaczyć. Jaki wpis powinienem dodać do mpd.conf?
Probowałem CP-1250 oraz WINDOWS-1250 i nic. Oczyiwscie ponowne tworzenie db i restart demona mpd.

Offline

 

#6 2009.06.13 21:29:30

Moebius
o¤°`°¤o,¸¸¸,o¤°
Skąd: /dev/tty1
Zarejestrowany: 2007.02.26
Posty: 202
System: Gentoo
Fluxbox: ist Krieg!

Re: ncmpc - kodowanie znaków

Ale wyświetlają Ci się jakieś krzaki zamiast polskich liter? Czy wcale nie wypisuje?
Pokaż może jeszcze wpis w swojej bazie danych mpd który powinien zawierać polskie litery, ale nie zawiera. ;D

Ostatnio edytowany przez Moebius (2009.06.13 21:31:28)


Teraz, gdy już nauczyliśmy się latać w powietrzu jak ptaki, pływać pod wodą jak ryby, brakuje nam tylko jednego: nauczyć się żyć na ziemi jak ludzie.

Offline

 

#7 2009.06.13 22:32:48

hornet
Użytkownik
Zarejestrowany: 2007.01.27
Posty: 59
System: Gentoo Linux
Fluxbox:

Re: ncmpc - kodowanie znaków

Kod:

Zespó³ Reprezentacyjny - Cena s³awy
Zespó³ Reprezentacyjny - Nie - pro~\ba o rêkê

O to przykład tongue Nie śmiać się,  no. ;D

Jeszcze dam locale:

Kod:

LANG=pl_PL.utf8
LC_CTYPE="pl_PL.utf8"
LC_NUMERIC="pl_PL.utf8"
LC_TIME="pl_PL.utf8"
LC_COLLATE=C
LC_MONETARY="pl_PL.utf8"
LC_MESSAGES="pl_PL.utf8"
LC_PAPER="pl_PL.utf8"
LC_NAME="pl_PL.utf8"
LC_ADDRESS="pl_PL.utf8"
LC_TELEPHONE="pl_PL.utf8"
LC_MEASUREMENT="pl_PL.utf8"
LC_IDENTIFICATION="pl_PL.utf8"
LC_ALL=

mpd.conf

Kod:

filesystem_charset        "UTF-8"
id3v1_encoding            "CP-1250"

Nazwy katalogów w menu Browse są dobrze wyświetlane z polskimi znakami.

Offline

 

#8 2009.06.14 09:20:05

Moebius
o¤°`°¤o,¸¸¸,o¤°
Skąd: /dev/tty1
Zarejestrowany: 2007.02.26
Posty: 202
System: Gentoo
Fluxbox: ist Krieg!

Re: ncmpc - kodowanie znaków

Hm, spróbuj ręcznie wyedytować kawałek swojego db_file (masz ustawione w pliku konfiguracyjnym mpd).
Np. Jak miałbyś

Kod:

 
(...)
Artist: Zespó³ Reprezentacyjny 
Title: Cena s³awy
(...)
Artist: Zespó³ Reprezentacyjny
Album: Nie
Title: pro~\ba o rêkê
(...)

to spróbuj to zmienić ręcznie na np.

Kod:

(...)
Artist: Zespół Reprezentacyjny
Title: Cena sławy
(...)
Artist: Zespół Reprezentacyjny
Album: Nie
Title: prośba o rękę
(...)

Uruchom ponownie mpd _bez_ tworzenia bazy danych muzyki.
Jak zadziała, to można łatwo napisać skrypt który przekonwertuje na odpowiednie kodowanie.


Teraz, gdy już nauczyliśmy się latać w powietrzu jak ptaki, pływać pod wodą jak ryby, brakuje nam tylko jednego: nauczyć się żyć na ziemi jak ludzie.

Offline

 

#9 2009.06.14 12:49:18

hornet
Użytkownik
Zarejestrowany: 2007.01.27
Posty: 59
System: Gentoo Linux
Fluxbox:

Re: ncmpc - kodowanie znaków

Działa. Czyli jest to wina mpd?

Offline

 

#10 2009.06.14 14:50:50

Moebius
o¤°`°¤o,¸¸¸,o¤°
Skąd: /dev/tty1
Zarejestrowany: 2007.02.26
Posty: 202
System: Gentoo
Fluxbox: ist Krieg!

Re: ncmpc - kodowanie znaków

Nie wiem czego to jest wina. Pewnie tego, że trzymasz muzykę na NTFSie. ;>
Próbowałeś jeszcze jakieś inne kodowania? ISO-8859-2? ISO-8859-1?
Napisałem na szybko coś w perlu co powinno trochę pomóc. Na pewno nie poprawia wszystkich znaków diakrytycznych - na podstawie tego co mi przesłałeś mogę tylko napisać coś co zamieni ł, ę i ś (ó chyba nie trzeba było). Zostają ą, ć, ź, ż, ń i wszystkie wielkie.
Zapisz do np. skrypt.pl, chmod a+x skrypt.pl, ./skrypt.pl stary_plik_z_bazą_danych > nowy_plik_z_bazą_danych. Przejrzyj nowy plik, zobacz czy wszystko w porządku. Jak działa, no to zamień pliki. Restart mpd.
Niestety to tylko workaround, i będziesz musiał to robić przy każdej aktualizacji bazy danych mpd. Ale nic innego nie jestem w stanie wymyślić.

Kod:

#!/usr/bin/perl 

use strict;
use warnings;

my $first;
my $second;

while (<>) {
    if ( $_ =~ m/^(Artist|Title|Album|Disc|Performer|Composer)(.*)/ ) {
        $first = $1;
        $second = $2;
        $second =~ s/~\\/ś/g;
        $second =~ s/ê/ę/g;
        $second =~ s/³/ł/g;
        print "$first$second\n";
    } else {
        print "$_";
    }
}

Jak nie będzie poprawiać to wyślij mi bazę danych, zobaczę co da się zrobić.


Teraz, gdy już nauczyliśmy się latać w powietrzu jak ptaki, pływać pod wodą jak ryby, brakuje nam tylko jednego: nauczyć się żyć na ziemi jak ludzie.

Offline

 

#11 2009.06.14 16:38:37

hornet
Użytkownik
Zarejestrowany: 2007.01.27
Posty: 59
System: Gentoo Linux
Fluxbox:

Re: ncmpc - kodowanie znaków

Zamienia. Dzięĸuję bardzo! Reszte definicji jestem chyba w stanie sam zrobić. Jak działa skrypt raczej będę szukał na stronach poświęconych temu językowi. W sumie też sed-a można użyć, czy się mylę?

Ostatnio edytowany przez hornet (2009.06.14 17:29:51)

Offline

 

#12 2009.06.14 17:54:35

Moebius
o¤°`°¤o,¸¸¸,o¤°
Skąd: /dev/tty1
Zarejestrowany: 2007.02.26
Posty: 202
System: Gentoo
Fluxbox: ist Krieg!

Re: ncmpc - kodowanie znaków

Można użyć sed-a, nawet będzie krócej i prościej: wink

Kod:

sed -e s/ê/ę/g -e s/³/ł/g -e s/~\\\\/ś/g nazwa_pliku

Ale mój skrypt modyfikuje tylko linijki zaczynające się od Artist, Title, Album etc. - mówiłeś że ścieżki są ok, więc ich nie tykałem. ;D
No i jest w perlu. wink


Teraz, gdy już nauczyliśmy się latać w powietrzu jak ptaki, pływać pod wodą jak ryby, brakuje nam tylko jednego: nauczyć się żyć na ziemi jak ludzie.

Offline

 

#13 2009.06.14 21:57:48

hornet
Użytkownik
Zarejestrowany: 2007.01.27
Posty: 59
System: Gentoo Linux
Fluxbox:

Re: ncmpc - kodowanie znaków

Przeniosłem kilka mp3 na ext3/reiserfs i również mam problem z kodowaniem - więc można z góry wykluczyć winę NTFS. Na forach mało informacji o tym... czyli to tylko ja mam z tym problemy i stosowanie jakiś dzikich metod naprawiania?
Może użyć kodowania ISO tylko dla mpd i ncmpc?

Offline

 

#14 2009.06.14 22:11:59

Moebius
o¤°`°¤o,¸¸¸,o¤°
Skąd: /dev/tty1
Zarejestrowany: 2007.02.26
Posty: 202
System: Gentoo
Fluxbox: ist Krieg!

Re: ncmpc - kodowanie znaków

Problem leży w tym, że coś masz zwalonego w tagach. Nie chciałeś zmieniać kodowania tagów, żeby na winzgrozie się nic nie schrzaniło. O to mi chodziło, że problem powoduje NTFS.
Teraz jak masz trochę muzyki na innym systemie plików, zmień kodowanie tagów - najlepiej na utf8. Minio w swoim poście dał dwa przykłady programów, za pomocą których możesz to zrobić.

Używanie ISO tylko dla mpd i ncmpc - nie wiem czy jest sens i czy coś to rozwiąże, ale jak koniecznie chcesz to spróbuj. `LC_ALL="pl_PL" ncmpc' i jazda. ;D

Ostatnio edytowany przez Moebius (2009.06.14 22:12:36)


Teraz, gdy już nauczyliśmy się latać w powietrzu jak ptaki, pływać pod wodą jak ryby, brakuje nam tylko jednego: nauczyć się żyć na ziemi jak ludzie.

Offline

 

#15 2009.06.14 22:12:20

yoyoo2
Użytkownik
Zarejestrowany: 2009.01.17
Posty: 70

Re: ncmpc - kodowanie znaków

jak przeniesiesz to nic nie daje bo kodowanie nazw jest  w windows cp1250

polecam jak raz zrobisz to dac je na partycje ext3 http://www.fs-driver.org/ - driver ext3 dla windowsa, kiedys uzywałem i działał bez problemów

Offline

 

#16 2009.06.14 23:39:17

hornet
Użytkownik
Zarejestrowany: 2007.01.27
Posty: 59
System: Gentoo Linux
Fluxbox:

Re: ncmpc - kodowanie znaków

Myślę, że mógłbym rozwalić partycję z danymi... 30 GB ma.. więc 10 GB na moje śmieci, a reszta na muzykę - LUKS + AES 512 + ext3. Po testach z /home uważam, że to ciekawe rozwiązanie i wbrew pozorom nawet bardzo stabilne. Kilka razy prąd wyłączyli i ext3 podniósł się bez problemu.
W sumie tak patrzę na inne mp3, to mam polskie znaki bez zmiany, a kodowanie jest chyba to samo. Nie wiem co się dzieje. Jutro włączę moją winzgrozę i sprawdzę to.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson