qutim 0.2, nowlistening plugin и exaile

Двинулсятупой гуманитарий и решил добавить в плагин, который отображает музыку в статусе аськи, поддержку плеера, которым он в даннвц момент пользуется. В итоге у него все получилось… Последовательность действий:

Захотел я поддержку Exaile в qutim-plugin-nowlistening…
Скачал исходники

apt-get source qutim-plugin-nowlistening

После этого в домашней папке появилась папка с исходниками…
Воспользовался я поиском в этой папке и нашол три файла в тексте которых содержалось слова «qmmp» (плеер был взят случайный)

settings.ui
mprisdatagetter.cpp
NowListening_ru.ts

Добавил я в файл settings.ui по аналогии после

<item>
<property name="text">
<string>Amarok 2</string>
</property>
</item>

такой текст

<item>
<property name="text">
<string>Exaile</string>
</property>
</item>

Добавил я в файл NowListening_ru.ts после

<message>
<source>Amarok 2</source>
<translation type="unfinished">Amarok 2</translation>
</message>

такой текст

<message>
<source>Exaile</source>
<translation type="unfinished">Exaile</translation>
</message>

Ну и в файл mprisdatagetter.cpp я добавил еще два куска текста:
после этого

else if (m_player_name == "QMMP"){
m_dbus_interface = new QDBusInterface("org.mpris.qmmp", "/Player", "org.freedesktop.MediaPlayer",
QDBusConnection::sessionBus(), this);
m_uri_call_method = "location";
m_length_call_method = "mtime";
m_artist_call_method = "artist";
m_title_call_method = "title";
m_album_call_method = "album";
m_track_call_method = "track";
connect(m_dbus_interface, SIGNAL(TrackChange(QVariantMap)), this, SLOT(trackChanged(QVariantMap)));
m_timer = new QTimer();
connect (m_timer, SIGNAL(timeout()), this, SLOT(checkPlayerStatus()));
m_timer->start(timer_period * 1000);
}

Это

else if (m_player_name == "Exaile"){
m_dbus_interface = new QDBusInterface("org.mpris.exaile", "/Player", "org.freedesktop.MediaPlayer");
m_uri_call_method = "URI";
m_length_call_method = "length";
m_artist_call_method = "artist";
m_title_call_method = "title";
m_album_call_method = "album";
m_track_call_method = "track";
m_timer = new QTimer();
connect (m_timer, SIGNAL(timeout()), this, SLOT(isTrackChanged()));
connect (m_timer, SIGNAL(timeout()), this, SLOT(checkPlayerStatus()));
m_timer->start(timer_period * 1000);
}

И, в этом же файле, переделал эту строчку

if (m_player_name == "QMMP" || m_player_name == "Amarok 2" || m_player_name == "VLC" ) {

чтобы она выглядела так

if (m_player_name == "QMMP" || m_player_name == "Amarok 2" || m_player_name == "VLC" || m_player_name == "Exaile") {

Сохранил все это дело
После этого в терминале ввел

cd qutim-plugin-nowlistening-0.8.0.2/
и
dpkg-buildpackage

При сборке оно написало, что нужно доставить, я доставил. Все собралось и работает!!!! Да, я сделал это!!!!
Это жесть какая-то — все делалось наугад, раз двадцать пересобирал переделанный методом тыка пакет, в итоге оно таки работает. Чего еще дураку нужно? — наверняка все криво, но надеюсь, что кому-то (пользователям Exaile) поможет.

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5Звёзд: 6Звёзд: 7Звёзд: 8Звёзд: 9Звёзд: 10 (1 оценок, среднее: 10,00 из 10)
Загрузка...

9 thoughts on “qutim 0.2, nowlistening plugin и exaile

  1. Гуманитарий, а ты пробовал сделать патч и отослать разрабам QutIM’а? Если, конечно, ты его исходники правил, а не какие-то ещё.
    В свободном сообществе такие поступки жестоко поощряются. 🙂

  2. я у них аналогичный текст на форуме написал, только эти говнюки на мою суперпупермегаразработку пока не обратили внимания и даже не откомментировали 🙁

  3. > на мою суперпупермегаразработку пока не обратили внимания и даже не
    откомментировали
    И действительно — говнюки! 🙂

    ——————————————
    Оффтоп:
    Предлагаю переименовать этот раздел из «новости опенсорса» в «мои приключения со свободным ПО» 🙂
    Тем более, что термины «новости» и «опенсорс» говорят вообще непонятно, о чём.

  4. Да, очень идиотское название ты придумал, мне даже нравится, наверное переименую.

Добавить комментарий

Ваш e-mail не будет опубликован.