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


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

Автор Тема: "/w" в Amarok  (Прочитано 868 раз)

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

Оффлайн Virus

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
"/w" в Amarok
« : 31 Январь 2008, 17:01:55 »
    В Winamp есть функция, когда даеш в чат DC++ команду "/w" выводится сообшение о том что юзер сейчас слушает, это можно сделать и в Amarok, мне на хабе сказали так: "/w, а перед этим patch -p0 < amarok.patch". Я так понял это надо скачать патч и поставить, я сделал так:
 Установил Patch, потом набрал:

trojan@host192-168-129-42:~$ sudo patch -p 0 < /home/trojan/п2п/ооо/linuxdcpp-amarok.patch
[sudo] password for trojan:
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- linuxdcpp/linux/hub.cc        2006-12-08 03:39:35.000000000 +0200
|+++ linuxdcpp-new/linux/hub.cc        2007-01-23 21:12:57.000000000 +0200
--------------------------
File to patch: /usr/bin/linuxdcpp
patching file /usr/bin/linuxdcpp
Hunk #1 FAILED at 434.
patch unexpectedly ends in middle of line
Hunk #2 FAILED at 460.
2 out of 2 hunks FAILED -- saving rejects to file /usr/bin/linuxdcpp.rej
trojan@host192-168-129-42:~$ 
 
  Объясните пожалуйста что я делаю не так, или другой способ чтобы работала команда "/w", я под убунтой сижу неделю.

Оффлайн Kwah

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: "/w" в Amarok
« Ответ #1 : 31 Январь 2008, 17:05:45 »
Патч нужно накладывать на исходный код программы, которую после этого нужно пересобрать.

Оффлайн Virus

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: "/w" в Amarok
« Ответ #2 : 01 Февраль 2008, 15:16:50 »
   Патч поставил, спасибо

Оффлайн Virus

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: "/w" в Amarok
« Ответ #3 : 02 Февраль 2008, 13:25:29 »
       Помогите! Я патч уже на исходники другой ставил уже, а надо было ставить о котором я говорил выше. Так он не ставится. Ставлю так:

trojan@host192-168-129-42:~$ sudo patch -p0 < /home/trojan/п2п/linuxdcpp-amarok.patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- linuxdcpp/linux/hub.cc        2006-12-08 03:39:35.000000000 +0200
|+++ linuxdcpp-new/linux/hub.cc        2007-01-23 21:12:57.000000000 +0200
--------------------------
File to patch: /home/trojan/п2п/linuxdcpp-1.0.1/linuxdcpp-1.0.1/linux/hub.cc
patching file /home/trojan/п2п/linuxdcpp-1.0.1/linuxdcpp-1.0.1/linux/hub.cc
Hunk #1 FAILED at 434.
patch unexpectedly ends in middle of line
Hunk #2 FAILED at 460.
2 out of 2 hunks FAILED -- saving rejects to file /home/trojan/п2п/linuxdcpp-1.0.1/linuxdcpp-1.0.1/linux/hub.cc.rej

 patch unexpectedly ends in middle of line я читал значит что какой-то линии не хватает но какой?! Пробовал ставить руками по аналогии с другим, выдает ошибку ту же, версия клиента 1.0.1 скачивал с сайта разработчиков, у других людей на хабе все тоже самое но работает.

Содержимое патча:

--- linuxdcpp/linux/hub.cc        2006-12-08 03:39:35.000000000 +0200
+++ linuxdcpp-new/linux/hub.cc        2007-01-23 21:12:57.000000000 +0200
@@ -434,6 +434,18 @@
                {
                        WulforManager::get()->dispatchClientFunc(new Func0<Hub>(hub, &Hub::addAsFavorite_client));
                }
+//amarok patch by asmer.
+               else if (command == "amarok" || command == "amr"){
+                       int ret = system("dcop amarok player nowPlaying>/tmp/nowplaying");
+                       char str[256];
+                       FILE *F = fopen("/tmp/nowplaying","r");
+                       str[fread(str,1,256,F)-1] = '\0';
+//                     hub->addMessage();
+                       func = new F1(hub, &Hub::sendMessage_client, string("amarok - The Fast Forward Now Playing: ")+string(str));
+                       fclose(F);
+                       WulforManager::get()->dispatchClientFunc(func);
+               }
+
                else if (command == "getlist")
                {
                        typedef Func2<Hub> F2;
@@ -448,7 +460,7 @@
                else if (command == "help")
                {
                        hub->addStatusMessage_gui("Available commands: /away <message>, /back, /clear, /close, /favorite, " \
-                                "/getlist <nick>, /grant <nick>, /help, /join <address>, /pm <nick>, /rebuild, /refresh, /userlist");
+                                "/getlist <nick>, /grant <nick>, /help, /join <address>, /pm <nick>, /rebuild, /refresh, /userlist /amarok aka /amr (asmer amarok patch)");
                }
                else if (command == "join" && !param.empty())
                {

У меня Kubuntu 7.10, клиент собирается нормально, с -p1 патчить пробовал то же самое, в поиске ответа как не искал не нашел, помогите пожалуйста!



     

Оффлайн Virus

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: "/w" в Amarok
« Ответ #4 : 02 Февраль 2008, 19:21:34 »
     Спасибо проблема уже решена, путем долгих умственных стараний я код патча в ручную поставил и работает)))))
« Последнее редактирование: 02 Февраль 2008, 19:23:12 от Virus »

Оффлайн qw1nt

  • Участник
  • *
  • Сообщений: 144
  • Ubuntu 9.10 x64
    • Просмотр профиля
    • Уроки по GIMP
Re: "/w" в Amarok
« Ответ #5 : 25 Июнь 2008, 16:33:23 »
а где этот патч достать можно? гугл что то мало выдаёт...

 

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