Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Переписываю g15mpd (C++)  (Прочитано 1594 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ProFfeSsoRr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Переписываю g15mpd (C++)
« : 23 Июля 2009, 21:49:18 »
Сейчас переделываю в человеческий вид плагин g15mpd. Это так скажем "посредник" между MPD и g15daemon (драйвер клавиатуры Logitech G15). Собственно, не знаю как решить насколько проблем:
1) Не могу сделать вывод русских символов. Гуглением нашел сий пост, http://community.livejournal.com/ru_ubuntu/136063.html, где автор намекает на CP866. Как конвертировать Unicode в CP866 (т.к. тэги в UTF8 все)?
2) Почему-то не обновляется проигранное время, считывается при запуске проги и так и висит. Хотя вся информация о треке своевременно обновляется.
Весь исходник в одном файле, выкладываю:
(Нажмите, чтобы показать/скрыть)

Оффлайн ProFfeSsoRr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Переписываю g15mpd (C++)
« Ответ #1 : 28 Июля 2009, 16:42:00 »
Так, осталось разобраться с кодировкой. Судя по гуглу, мне нужен iconv. Подскажите, как же его правильно прикрутить? Сейчас для вывода на экран используется  строка g15r_renderString (canvas, (unsigned char *)track_info.title, 0, G15_TEXT_MED, 80-(strlen(track_info.title)*5)/2, 0); где track_info.title и есть та строка, которую нужно сконвертировать в cp866. Подскажите пожалуйста, как это сделать. Попробовал прикрутить код вот отсюда: http://www.opennet.ru/base/dev/iconv_c.txt.html - buf и cd пустые получаются.

Оффлайн digiwhite

  • Активист
  • *
  • Сообщений: 732
  • http://www.welinux.ru
    • Просмотр профиля
    • http://www.welinux.ru
Re: Переписываю g15mpd (C++)
« Ответ #2 : 29 Июля 2009, 00:40:09 »
Запостите код еще раз, только например на http://www.copypastecode.com, а то не  очень удобно смотреть.
Социальная сеть не фанатично настроенных Linuxойдов - http://www.welinux.ru

Оффлайн ProFfeSsoRr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Переписываю g15mpd (C++)
« Ответ #3 : 29 Июля 2009, 09:31:35 »
Пожалуйста: http://tinyurl.com/kuj4ok

Только что заметил еще один косяк. Прогу можно запускать с параметром -q, тогда она будет пролистывать плейлист с помощью колесика регулировки громкости. Так вот она пролистывает, и громкость вместе с тем тоже регулируется, что разумеется не нужно.
« Последнее редактирование: 29 Июля 2009, 09:40:57 от ProFfeSsoRr »

Оффлайн digiwhite

  • Активист
  • *
  • Сообщений: 732
  • http://www.welinux.ru
    • Просмотр профиля
    • http://www.welinux.ru
Re: Переписываю g15mpd (C++)
« Ответ #4 : 29 Июля 2009, 22:39:00 »
Тоже поковырялся с iconv. Почему-то тоже строчки получаются пустыми... Пока чего-то не могу понять почему.

update:

Короче посмотрел я... Конвертирует оно у мну. Вот такой код работает:
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 29 Июля 2009, 23:10:15 от digiwhite »
Социальная сеть не фанатично настроенных Linuxойдов - http://www.welinux.ru

 

Страница сгенерирована за 0.03 секунд. Запросов: 22.