Sonata - редактировать теги?

Использую sonata (из опциональных зависимостей установлен tagpy).

Все прекрасно, да вот не удается редактировать русские теги (буквы просто не вводятся в соответствующие поля). Латиница, при этом, вводится без проблем (кодировка UTF8).

Поставил sonata-svn из AUR - ситуация не изменилась.

Кто что посоветует? Пользователи sonata - проверьте, плиз, это только у меня так?
У меня при попытке редактировать тегов файлов имена(полные пути) которых содержат символы кириллицы, появляется сообщение “Не найдено файлов с редактируемыми тегами”. Но эту проблему я решил. Как оказалось, это кривой 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 что нибудь пишет.
Нет, в консоли совершенно пусто.

Описанная мной проблема наблюдается независимо от того, содержатся русские символы в полном пути или нет. И независимо от типа файла - кроме mp3 проверил ogg.

Патч попробовал применить - результат, к сожалению, нулевой. И вычислить в чем может быть загвоздка - я не смог, в питоне я, увы, не импотентен.
Поставил себе AUR (svn) версии пакетов. Все равно такой ошибки как у тебя нет. Эх, в отладчике бы глянуть или хотя бы принтов в код насовать. )
Как ни странно :) , но у мя с русским всё нормально…

Немного о себе :) :

$ 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
Опциональные зависимотси: tagpy, zsi и dbus-python
На всяк случай:
$ 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"
Ничерта не понимаю.
Установил все то же самое, что и у отписавшихся, переустановил tagpy с зависимостями, скопировал тот же конфиг mpd. Положил тестовую музычку в папку (.ogg), дал права на чтение-запись всем, пересоздал базу mpd.

Та же самая фигня: при редактировании тегов в соответствующие поля тупо не вводятся русские буквы. Вообще не вводятся, курсор не смещается. Английские, при этом, вводятся без проблем, изменения сохраняются. При русской раскладке вводятся только пробелы, цифры, знаки препинания - но не буквы.

Может быть, дело не в сонате, а в самих файлах? В кодировке тегов?
Порекомендуйте нетяжелую (желательно даже консольную) программку для просмотра/изменения кодировки тегов (EasyTag ставить не хочу, он тяжел, а у меня нетбук).

И еще, плиз, выложите где-нибудь любой .mp3 или .ogg файлег, в котором у вас получается вписать русские буквы в теги используя сонату.
К сожалению для редактирования тегов ничего не посоветую, пользуюсь EasyTag. А файлик пожалуйста. http://www.easy-share.com/1905015626/12 - Лента в волосах.mp3
С этим файликом та же проблема…
В файле /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)
функция tags_win_entry_changed, где-то 197 строка.
Замени строки 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)
Запусти sonats из консоли и попробуй исправить теги. Вывод покажи
$ 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.
 
Зарегистрироваться или войдите чтобы оставить сообщение.