muu |
|
Темы:
8
Сообщения:
476
Участник с: 16 ноября 2008
|
Использую sonata (из опциональных зависимостей установлен tagpy). Все прекрасно, да вот не удается редактировать русские теги (буквы просто не вводятся в соответствующие поля). Латиница, при этом, вводится без проблем (кодировка UTF8). Поставил sonata-svn из AUR - ситуация не изменилась. Кто что посоветует? Пользователи sonata - проверьте, плиз, это только у меня так? |
ulis |
|
Темы:
2
Сообщения:
67
Участник с: 28 ноября 2008
|
У меня при попытке редактировать тегов файлов имена(полные пути) которых содержат символы кириллицы, появляется сообщение “Не найдено файлов с редактируемыми тегами”. Но эту проблему я решил. Как оказалось, это кривой tagpy, его функция FileRef не понимает Unicode, и требует UTF-8. В sonatа нужно внести изменения в /usr/lib/python2.6/site-packages/sonata/tagedit.py.189c189 < fileref = tagpy.FileRef(tags[self.tagnum]['fullpath'].encode('utf-8')) --- > fileref = tagpy.FileRef(tags[self.tagnum]['fullpath']) 239c239 < tag = tagpy.FileRef(current_tag['fullpath'].encode('utf-8')).tag() --- > tag = tagpy.FileRef(current_tag['fullpath']).tag() 283с283 < filetag = tagpy.FileRef(tags[self.tagnum]['fullpath'].encode('utf-8')) --- > filetag = tagpy.FileRef(tags[self.tagnum]['fullpath']) После этого теги отображаются и нормально редактируются. Я предполагаю здесь что-то похожее. Скажи, в консоль при запуске и попытке редактирования тега sonata что нибудь пишет. |
muu |
|
Темы:
8
Сообщения:
476
Участник с: 16 ноября 2008
|
Нет, в консоли совершенно пусто. Описанная мной проблема наблюдается независимо от того, содержатся русские символы в полном пути или нет. И независимо от типа файла - кроме mp3 проверил ogg. Патч попробовал применить - результат, к сожалению, нулевой. И вычислить в чем может быть загвоздка - я не смог, в питоне я, увы, не импотентен. |
ulis |
|
Темы:
2
Сообщения:
67
Участник с: 28 ноября 2008
|
Поставил себе AUR (svn) версии пакетов. Все равно такой ошибки как у тебя нет. Эх, в отладчике бы глянуть или хотя бы принтов в код насовать. ) |
cac2s |
|
Темы:
6
Сообщения:
277
Участник с: 10 января 2009
|
Как ни странно :) , но у мя с русским всё нормально… Немного о себе :) : $ pacman -Qi sonata Название : sonata Версия : 1.6-1 URL : http://sonata.berlios.de/ Лицензия : GPL3 Группы : Не указано Предоставляет : Не указано Зависит от : pygtk python-mpd Опциональные зависимости : gnome-python-extras: Enhanced system tray support tagpy: Metadata editing support zsi: Lyrics fetching support dbus-python: Various extra functionality (e.g. multimedia keys support) Требуется пакетами : Не указано Конфликтует с : Не указано Заменяет : Не указано Размер установленного : 1932,00 K Сборщик : Alexander Fehr <pizzapunk gmail com> Архитектура : i686 Дата сборки : Пнд 30 Мар 2009 02:37:20 Дата установки : Срд 22 Апр 2009 16:42:43 Причина установки : Явно установлен Установочный скрипт : No Описание : Elegant GTK+ music client for MPD На всяк случай: $ cat /etc/mpd.conf music_directory "/mnt/misc/music" playlist_directory "/var/lib/mpd/playlists" db_file "/var/lib/mpd/mpd.db" log_file "/var/log/mpd/mpd.log" error_file "/var/log/mpd/mpd.error" pid_file "/var/run/mpd/mpd.pid" state_file "/var/lib/mpd/mpdstate" user "mpd" #port "6600" #log_level "default" #gapless_mp3_playback "yes" #save_absolute_paths_in_playlists "no" #metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc" #follow_outside_symlinks "yes" #follow_inside_symlinks "yes" #password "[email protected],add,control,admin" #default_permissions "read,add,control,admin" #audio_output { # type "alsa" # name "Alsa Software Volume" # device "hw:0,0" # optional # format "44100:16:2" # optional #} mixer_type "software" volume_normalization "yes" #audio_buffer_size "2048" #buffer_before_play "10%" #filesystem_charset "UTF-8" #id3v1_encoding "UTF-8" [[email protected] ~]$ cat /etc/mpd.conf music_directory "/mnt/misc/music" playlist_directory "/var/lib/mpd/playlists" db_file "/var/lib/mpd/mpd.db" log_file "/var/log/mpd/mpd.log" error_file "/var/log/mpd/mpd.error" pid_file "/var/run/mpd/mpd.pid" state_file "/var/lib/mpd/mpdstate" user "mpd" #port "6600" #log_level "default" #gapless_mp3_playback "yes" #save_absolute_paths_in_playlists "no" #metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc" #follow_outside_symlinks "yes" #follow_inside_symlinks "yes" #password "[email protected],add,control,admin" #default_permissions "read,add,control,admin" #audio_output { # type "alsa" # name "Alsa Software Volume" # device "hw:0,0" # optional # format "44100:16:2" # optional #} mixer_type "software" volume_normalization "yes" #audio_buffer_size "2048" #buffer_before_play "10%" #filesystem_charset "UTF-8" #id3v1_encoding "UTF-8" |
muu |
|
Темы:
8
Сообщения:
476
Участник с: 16 ноября 2008
|
Ничерта не понимаю. Установил все то же самое, что и у отписавшихся, переустановил tagpy с зависимостями, скопировал тот же конфиг mpd. Положил тестовую музычку в папку (.ogg), дал права на чтение-запись всем, пересоздал базу mpd. Та же самая фигня: при редактировании тегов в соответствующие поля тупо не вводятся русские буквы. Вообще не вводятся, курсор не смещается. Английские, при этом, вводятся без проблем, изменения сохраняются. При русской раскладке вводятся только пробелы, цифры, знаки препинания - но не буквы. Может быть, дело не в сонате, а в самих файлах? В кодировке тегов? Порекомендуйте нетяжелую (желательно даже консольную) программку для просмотра/изменения кодировки тегов (EasyTag ставить не хочу, он тяжел, а у меня нетбук). И еще, плиз, выложите где-нибудь любой .mp3 или .ogg файлег, в котором у вас получается вписать русские буквы в теги используя сонату. |
ulis |
|
Темы:
2
Сообщения:
67
Участник с: 28 ноября 2008
|
К сожалению для редактирования тегов ничего не посоветую, пользуюсь EasyTag. А файлик пожалуйста. http://www.easy-share.com/1905015626/12 - Лента в волосах.mp3 |
muu |
|
Темы:
8
Сообщения:
476
Участник с: 16 ноября 2008
|
С этим файликом та же проблема… |
ulis |
|
Темы:
2
Сообщения:
67
Участник с: 28 ноября 2008
|
В файле /usr/lib/python2.6/site-packages/sonata/tagedit.py. (Аккуратней с отступами). Добавь строки def tags_win_entry_key_press(self,editable,event): keyname = gtk.gdk.keyval_name(event.keyval) print "Key %s (%d) was pressed" % (keyname, event.keyval) print 'text_entry_key_press - ', editable.get_text() def tags_win_entry_changed(self, editable): style = editable.get_style().copy() print 'text_entry_changed - ', editable.get_text() style.text[gtk.STATE_NORMAL] = editable.get_colormap().alloc_color("red") editable.set_style(style) Замени строки 174-176 на entry.connect('changed', self.tags_win_entry_changed) entry.connect('key-press-event', self.tags_win_entry_key_press) button.connect('clicked', self.tags_win_apply_all, name, tags, entry) |
muu |
|
Темы:
8
Сообщения:
476
Участник с: 16 ноября 2008
|
$ sonata text_entry_changed - Hey Daddy text_entry_changed - KORN . text_entry_changed - ISSUES text_entry_changed - 1999 text_entry_changed - 10 text_entry_changed - Nu-Metal text_entry_changed - Getting Off text_entry_changed - Korn text_entry_changed - See You On The Other Side text_entry_changed - 2005 text_entry_changed - 10 text_entry_changed - Hard Rock text_entry_changed - Ripped by RNS Key space (32) was pressed text_entry_key_press - Korn text_entry_changed - Korn Key Cyrillic_pe (1744) was pressed text_entry_key_press - Korn Key Cyrillic_er (1746) was pressed text_entry_key_press - Korn Key Cyrillic_o (1743) was pressed text_entry_key_press - Korn Key Cyrillic_be (1730) was pressed text_entry_key_press - Korn Key Cyrillic_a (1729) was pressed text_entry_key_press - Korn Key space (32) was pressed text_entry_key_press - Korn text_entry_changed - Korn Key Cyrillic_pe (1744) was pressed text_entry_key_press - Korn Key Cyrillic_er (1746) was pressed text_entry_key_press - Korn Key Cyrillic_o (1743) was pressed text_entry_key_press - Korn Key Cyrillic_be (1730) was pressed text_entry_key_press - Korn Key Cyrillic_a (1729) was pressed text_entry_key_press - Korn Key period (46) was pressed text_entry_key_press - Korn text_entry_changed - Korn . Key space (32) was pressed text_entry_key_press - Korn . text_entry_changed - Korn . Key Shift_L (65505) was pressed text_entry_key_press - Korn . Key ISO_Prev_Group (65034) was pressed text_entry_key_press - Korn . Key t (116) was pressed text_entry_key_press - Korn . text_entry_changed - Korn . t Key e (101) was pressed text_entry_key_press - Korn . t text_entry_changed - Korn . te Key s (115) was pressed text_entry_key_press - Korn . te text_entry_changed - Korn . tes Key t (116) was pressed text_entry_key_press - Korn . tes text_entry_changed - Korn . test Key space (32) was pressed text_entry_key_press - Korn . test text_entry_changed - Korn . test Key t (116) was pressed text_entry_key_press - Korn . test text_entry_changed - Korn . test t Key e (101) was pressed text_entry_key_press - Korn . test t text_entry_changed - Korn . test te Key s (115) was pressed text_entry_key_press - Korn . test te text_entry_changed - Korn . test tes Key t (116) was pressed text_entry_key_press - Korn . test tes text_entry_changed - Korn . test test Key slash (47) was pressed text_entry_key_press - Korn . test test text_entry_changed - Korn . test test/ Key BackSpace (65288) was pressed text_entry_key_press - Korn . test test/ text_entry_changed - Korn . test test Key period (46) was pressed text_entry_key_press - Korn . test test text_entry_changed - Korn . test test. |