Problemi plugin rotor [RISOLTO]

Tutto quello che ha a che fare con i plugins.

Moderatori: ragno, tapino, alez, zulu, davidea

Rispondi
Avatar utente
Gringo
Messaggi: 1796
Iscritto il: 21 gen 2007, 19:36

Problemi plugin rotor [RISOLTO]

Messaggio da Gringo »

Io non riesco ancora a compilare il plugin "rotor", nemmeno applicando le Extension Patch :evil:
Qualcuno sa come fare oppure mando il plugin a quel paese?

Codice: Seleziona tutto

Plugin rotor:
make[1]: Entering directory `/vdr/vdr-1.6.0/PLUGINS/src/rotor-0.1.4'
make[1]: Leaving directory `/vdr/vdr-1.6.0/PLUGINS/src/rotor-0.1.4'
make[1]: Entering directory `/vdr/vdr-1.6.0/PLUGINS/src/rotor-0.1.4'
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -c -D_GNU_SOURCE -DUSE_CHANNELSCAN -DUSE_CMDSUBMENU -DUSE_CUTTIME -DUSE_DDEPGENTRY -DUSE_DOLBYINREC -DUSE_JUMPPLAY -DUSE_LIEMIKUUTIO -DUSE_PLUGINMISSING -DUSE_ROTOR -DUSE_SETTIME -DUSE_SORTRECORDS -DPLUGIN_NAME_I18N='"rotor"' -I../../..//include -I/include rotor.c
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -c -D_GNU_SOURCE -DUSE_CHANNELSCAN -DUSE_CMDSUBMENU -DUSE_CUTTIME -DUSE_DDEPGENTRY -DUSE_DOLBYINREC -DUSE_JUMPPLAY -DUSE_LIEMIKUUTIO -DUSE_PLUGINMISSING -DUSE_ROTOR -DUSE_SETTIME -DUSE_SORTRECORDS -DPLUGIN_NAME_I18N='"rotor"' -I../../..//include -I/include menuitems.c
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -c -D_GNU_SOURCE -DUSE_CHANNELSCAN -DUSE_CMDSUBMENU -DUSE_CUTTIME -DUSE_DDEPGENTRY -DUSE_DOLBYINREC -DUSE_JUMPPLAY -DUSE_LIEMIKUUTIO -DUSE_PLUGINMISSING -DUSE_ROTOR -DUSE_SETTIME -DUSE_SORTRECORDS -DPLUGIN_NAME_I18N='"rotor"' -I../../..//include -I/include menu.c
menu.c: In member function 'void cMenuScan::AddChannel(int)':
menu.c:429: error: no matching function for call to 'cChannel::SetPids(int, int, int [33], char [33][8], int [17], char [17][8], int)'
../../..//include/vdr/channels.h:230: note: candidates are: void cChannel::SetPids(int, int, int*, char (*)[8], int*, char (*)[8], int*, char (*)[8], int)
menu.c: In member function 'void cMenuScan::SetPids(int, int, int, int*, char (*)[8], int*, char (*)[8], int)':
menu.c:467: error: no matching function for call to 'cChannel::SetPids(int&, int&, int*&, char (*&)[8], int*&, char (*&)[8], int&)'
../../..//include/vdr/channels.h:230: note: candidates are: void cChannel::SetPids(int, int, int*, char (*)[8], int*, char (*)[8], int*, char (*)[8], int)
make[1]: *** [menu.o] Error 1
make[1]: Leaving directory `/vdr/vdr-1.6.0/PLUGINS/src/rotor-0.1.4'

*** failed plugins: rotor
VDRBOX:
Software: ArchLinux 0.8 Don't Panic, VDR 1.6.0-2 con Extension Patch v.62 (> 70 plugins in IT)
Hardware: Intel P4 2,4 Ghz, 1 GB RAM, DVB-S Hauppauge WinTV Nexus-S rev 2.1, DVB-T Terratec Cinergy 1400, telecomando Terratec
Case: Compaq D510 SFF
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: Problemi plugin rotor [RISOLTO]

Messaggio da ragno »

Gringo ha scritto:Io non riesco ancora a compilare il plugin "rotor", nemmeno applicando le Extension Patch :evil:
Qualcuno sa come fare oppure mando il plugin a quel paese?
Piccola precisazione, la extensionpatch, contiene codice per adattare vdr plainvanilla all'utilizzo di alcuni plugghi che necessitano per il loro funzionamento di modificare vdr.

In questo caso invece la situazione e' opposta, il pluggo deve essere patchato per funzionare con vdr...

Prova questa patch, a me cosi il pluggo si compila ma non e' testato il funzionamento (se ci sono problemi dovrebbero manifestarsi utilizzando la funzionalita' di scansione canali interna al pluggo..).
Comunque a mio avviso, presto uscira' la versione per 1.6.x

Codice: Seleziona tutto

diff -u /root/rotor-0.1.4/filter.c ./rotor/filter.c
--- /root/rotor-0.1.4/filter.c2007-10-14 11:37:13.000000000 +0200
+++ ./rotor/filter.c2008-03-23 17:13:17.000000000 +0100
@@ -368,7 +368,9 @@
         int Ppid = pmt.getPCRPid();
         int Apids[MAXAPIDS + 1] = { 0 };
         int Dpids[MAXDPIDS + 1] = { 0 };
+        int Spids[MAXDPIDS + 1] = { 0 };
 #if VDRVERSNUM >= 10332
+        char SLangs[MAXAPIDS + 1][MAXLANGCODE2] = { "" };
         char ALangs[MAXAPIDS + 1][MAXLANGCODE2] = { "" };
         char DLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
 #else
@@ -448,7 +450,7 @@
                 delete d;
                 }
             }
-        Menu->SetPids(pmt.getServiceId(),Vpid, Vpid ? Ppid : 0, Apids, ALangs, Dpids, DLangs, Tpid);
+        Menu->SetPids(pmt.getServiceId(),Vpid, Vpid ? Ppid : 0, Apids, ALangs, Dpids, DLangs, Spids, SLangs, Tpid);
         Menu->SetCaIds(pmt.getServiceId(),CaDescriptors->CaIds());
         Menu->SetCaDescriptors(pmt.getServiceId(),CaDescriptorHandler.AddCaDescriptors(CaDescriptors));
         }
Only in /root/rotor-0.1.4: i18n.o
diff -u /root/rotor-0.1.4/menu.c ./rotor/menu.c
--- /root/rotor-0.1.4/menu.c2007-10-14 11:37:12.000000000 +0200
+++ ./rotor/menu.c2008-03-24 09:12:05.000000000 +0100
@@ -406,6 +406,11 @@
     channel->SetId(Channel[Num].Nid(),Channel[Num].Tid(),Channel[Num].Sid(),channel->Rid());
     int Apids[MAXAPIDS + 1] = { 0 };
     int Dpids[MAXDPIDS + 1] = { 0 };
+
+#if VDRVERSNUM>=10600
+    int  Spids[MAXDPIDS + 1] = { 0 };
+    char SLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
+#endif
 #if VDRVERSNUM>=10332
     char ALangs[MAXAPIDS + 1][MAXLANGCODE2] = { "" };
     char DLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
@@ -414,6 +419,15 @@
     char DLangs[MAXDPIDS + 1][4] = { "" };
 #endif
     int CaIds[MAXCAIDS+1] = { 0 };
+
+#if VDRVERSNUM>=10600
+    for (int i=0; i<=MAXDPIDS; i++)
+    {
+      Spids[i]=Channel[Num].Spid(i);
+      strcpy(SLangs[i],Channel[Num].Slang(i));
+    }
+#endif
+
     for (int i=0; i<=MAXAPIDS; i++)
     {
       Apids[i]=Channel[Num].Apid(i);
@@ -426,7 +440,11 @@
     }
     for (int i=0; i<=MAXCAIDS; i++)
       CaIds[i]=Channel[Num].Ca(i);
+#if VDRVERSNUM>=10600
+    channel->SetPids(Channel[Num].Vpid(),Channel[Num].Ppid(),Apids,ALangs,Dpids,DLangs,Spids,SLangs,Channel[Num].Tpid());
+#else
     channel->SetPids(Channel[Num].Vpid(),Channel[Num].Ppid(),Apids,ALangs,Dpids,DLangs,Channel[Num].Tpid());
+#endif
     channel->SetCaIds(CaIds);
   }
   else
@@ -455,16 +473,18 @@
   num++;
 }
 
-#if VDRVERSNUM>=10332
-void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int Tpid)
-#else
+#if VDRVERSNUM>=10600
+void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2],int Tpid)
+#elif VDRVERNUM<=10331
 void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][4], int *Dpids, char DLangs[][4], int Tpid)
+#else
+void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2],int Tpid)
 #endif
 {
   for (int i=0; i<num; i++)
     if (Sid==Channel[i].Sid())
     {
-      Channel[i].SetPids(Vpid,Ppid,Apids,ALangs,Dpids,DLangs,Tpid);
+      Channel[i].SetPids(Vpid,Ppid,Apids,ALangs,Dpids,DLangs,Spids,SLangs,Tpid);
       display(i);
     }
 }
diff -u /root/rotor-0.1.4/menu.h ./rotor/menu.h
--- /root/rotor-0.1.4/menu.h2007-10-14 11:37:12.000000000 +0200
+++ ./rotor/menu.h2008-03-23 17:10:36.000000000 +0100
@@ -116,7 +116,7 @@
   virtual eOSState ProcessKey(eKeys Key);
   void AddChannel(int Num);
   void NewChannel(const cChannel *Transponder, const char *Name, const char *ShortName, const char *Provider, int Nid, int Tid, int Sid);
-  void SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int Tpid);
+  void SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid);
   void SetCaIds(int Sid,const int *CaIds);
   void SetCaDescriptors(int Sid,int Level);
   cChannel* GetChannel(int Sid);
Common subdirectories: /root/rotor-0.1.4/patches and ./rotor/patches
Common subdirectories: /root/rotor-0.1.4/po and ./rotor/po
saluti
ragno
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Avatar utente
Gringo
Messaggi: 1796
Iscritto il: 21 gen 2007, 19:36

Re: Problemi plugin rotor [RISOLTO]

Messaggio da Gringo »

ragno ha scritto: Comunque a mio avviso, presto uscira' la versione per 1.6.x

saluti
ragno
Speriamo perchè non va ancora.

Cmq, niente di che visto che impostando l'opzione disecq nel menu l'antenna si muove lo stesso :-)
VDRBOX:
Software: ArchLinux 0.8 Don't Panic, VDR 1.6.0-2 con Extension Patch v.62 (> 70 plugins in IT)
Hardware: Intel P4 2,4 Ghz, 1 GB RAM, DVB-S Hauppauge WinTV Nexus-S rev 2.1, DVB-T Terratec Cinergy 1400, telecomando Terratec
Case: Compaq D510 SFF
Avatar utente
jan23
Messaggi: 202
Iscritto il: 08 gen 2008, 21:23
Località: in giro...

Re: Problemi plugin rotor [RISOLTO]

Messaggio da jan23 »

Gringo ha scritto: Poi, una cosa volevo capire.
Se il plugin non è stato migrato per la versione > 1.5.7 ma si usa sempre quello per 1.4.x allora la lingua sarà sempre in inglese (cioè quello dei sorgenti del plugin).
Non esiste un metodo per usare la lingua italiana mediante le traduzioni?
Ciao Gringo

La versione 'migrata' esiste, ma non è tradotta (quindi hai sicuaramente un po' di lavoro sottomano :) ).
Scusami, ma per distrazione o per errore quando ti ho postato i files stavo usando la versione senza il supporto al 'gettext'.
Ho provveduto ad aggiornare il files in "risorse" (il plugin è gia patchato);
la versione originale invece la trovi qui

http://home.vrweb.de/~bergwinkl.thomas/

Purtoppo però non credo che il tuo problema sia dovuto a questo ma ...spero sinceramente di sbagliarmi!
Altrimenti dovresti dettagliare la tua configurazione, forse può essere utile a capire qual'è il tuo problema.

buonanotte
VDR: vdr-2.0.5 (FHS) e 2.1.3 (LCLBLD) su Opensuse-13.1 (x86_64), TT S2-6400, LNB Inverto Twin Black Ultra, rotore Moteck SG-2100
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: Problemi plugin rotor [RISOLTO]

Messaggio da ragno »

Gringo ha scritto:
Speriamo perchè non va ancora.

Cmq, niente di che visto che impostando l'opzione disecq nel menu l'antenna si muove lo stesso :-)
Infatti ho scoperto che il pluggo che manda in crash vdr e' proprio rotor. Riguardo al funzionamento della parabola, in effetti tutto funge, (se il motore e' impostato), pero' non e' possibile effettuare il setup...

Per le localizzazioni, tutto cio' che non e' migrato al supporto gettext, credo venga visualizzato solo in lingua inglese.

ciao
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: Problemi plugin rotor [RISOLTO]

Messaggio da ragno »

jan23 ha scritto:
ps x Gringo: forse un problema di dipendenze? Comunque io ricevo questo errore

Codice: Seleziona tutto

menu.c:429: error: no matching function for call to 'cChannel::SetPids(int, int, int [33], char [33][8], int [17], char [17][8], int)' 
quando provo a compilare il plugin non patchato.

ciao
Quell'errore e' una normale conseguenza della gestione dei sottotitoli in vdr 1.6.x, alla funzione SetPids() devono essere passati anche i pid dei sottotitoli.

Il problema invece e' che il pluggo compilato (patchando il codice) genera un errore di runtime mandando in crash vdr. Il problema evidentemente risiede in qualcos'altro, visto che la parte del codice da patchare riguarda la funzionalita' di scansione canali interna al pluggo che normalmente non viene utilizzata. E' piu' probabile che il codice contenuto nell'extensionpatch sia fallato per la 1.6.x...

saluti
ragno
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: Problemi plugin rotor [RISOLTO]

Messaggio da ragno »

Ecco la patch che dovrebbe risolvere il problema di errore a runtime(da vdrportal):

Codice: Seleziona tutto

--- rotor.c.old2006-06-14 23:44:27.000000000 +0200
+++ rotor.c2006-06-14 23:46:43.000000000 +0200
@@ -96,7 +96,8 @@
       continue;
     if ((diseqc=Diseqcs.Get(source->Code(),12000,'h')) || (diseqc=Diseqcs.Get(source->Code(),12000,'v')) || (diseqc=Diseqcs.Get(source->Code(),12000,'l')) || (diseqc=Diseqcs.Get(source->Code(),12000,'r'))) 
     {
-      char *c=strdup(diseqc->Commands());
+      char *commandstring=strdup(diseqc->Commands());
+      char *c=commandstring;      
       while (c = strchr(c, '['))
       {
         char *e = strchr(++c, ']');
@@ -131,7 +132,7 @@
           break;
         }
       }
-      free(c);
+      free(commandstring);
     }
     cRotorPos *p = RotorPositions.GetfromSource(source->Code());
     if (p==RotorPositions.First())
saluti
ragno
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Avatar utente
Gringo
Messaggi: 1796
Iscritto il: 21 gen 2007, 19:36

Re: Problemi plugin rotor [RISOLTO]

Messaggio da Gringo »

jan23 ha scritto:
Gringo ha scritto: Poi, una cosa volevo capire.
Se il plugin non è stato migrato per la versione > 1.5.7 ma si usa sempre quello per 1.4.x allora la lingua sarà sempre in inglese (cioè quello dei sorgenti del plugin).
Non esiste un metodo per usare la lingua italiana mediante le traduzioni?
Ciao Gringo

La versione 'migrata' esiste, ma non è tradotta (quindi hai sicuaramente un po' di lavoro sottomano :) ).
Scusami, ma per distrazione o per errore quando ti ho postato i files stavo usando la versione senza il supporto al 'gettext'.

buonanotte
In realtà il plugin l'ho tradotto e l'ho mandato allo sviluppatore ma lui non lo ha mai aggiunto nel codice poiché non ha più rilasciato delle versioni aggiornate.

Il problema è come dice Ragno, se il plugin non è nativo per 1.5.7 e superiore allora si vede solo in inglese.
VDRBOX:
Software: ArchLinux 0.8 Don't Panic, VDR 1.6.0-2 con Extension Patch v.62 (> 70 plugins in IT)
Hardware: Intel P4 2,4 Ghz, 1 GB RAM, DVB-S Hauppauge WinTV Nexus-S rev 2.1, DVB-T Terratec Cinergy 1400, telecomando Terratec
Case: Compaq D510 SFF
maidiremaik
Messaggi: 381
Iscritto il: 28 mag 2007, 13:21
Località: 192.168.0.2

Re: Problemi plugin rotor [RISOLTO]

Messaggio da maidiremaik »

@ gringo
come ben sai ho un rotore stab h-h 120 e ho messo su anche io vdr 1.6 ovviamente con il rotor manco a parlarne
mi servirebbe una mano , volevo provare il tuo disecq.conf , non è che me lo gireresti?
asta la vista companhero
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: Problemi plugin rotor [RISOLTO]

Messaggio da ragno »

maidiremaik ha scritto:@ gringo
come ben sai ho un rotore stab h-h 120 e ho messo su anche io vdr 1.6 ovviamente con il rotor manco a parlarne
mi servirebbe una mano , volevo provare il tuo disecq.conf , non è che me lo gireresti?
asta la vista companhero
E che problemi hai? Lo stab dovrebbe essere usal, quindi il setup e' semplicissimo, basta inserire le coordinate (e se non le conosci usa google earth), attivare la funzione gotox e disattivare il diseqc di vdr.

ciao
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

Re: Problemi plugin rotor [RISOLTO]

Messaggio da alez »

Forse ho capito male io, ma maidiremaik non riesce a fare andare il pluggo, quindi non riuscirebbe a fare fungere il motore neanche in U.S.A.L.S.

@maidiremaik

se hai le posizioni memorizzate sull'eprom del motore, puoi sfruttare un diseqc.conf tipo questo:

viewtopic.php?p=1572#1572

sostituendo i numeri delle posizioni indicate nell'esempio con le tue posizioni.

In questo modo non usi il pluggo ed usi il motore direttamente in modalita' DiSEqC 1.2 anziche' Stab U.S.A.L.S.
Ciao alez
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: Problemi plugin rotor [RISOLTO]

Messaggio da ragno »

alez ha scritto:Forse ho capito male io, ma maidiremaik non riesce a fare andare il pluggo, quindi non riuscirebbe a fare fungere il motore neanche in U.S.A.L.S.
Devono applicare l'ultima patch postata, ora a me funziona senza problemi.

In pratica:

1) applicare extensionpatchv55 attivando il codice per il pluggo rotor (in Make.config attivare la define ROTOR=1)

2) applicare la patch per codice del pluggo per risolvere i problemi di compilazione (sempre in questo thread)

3) applicare l'ultima patch che risolve il problema di errore a runtime (questo errore occorre solo se si utilizza il gcc 4.1x) e riguarda la gestione errata di un puntatore di memoria...

saluti
ragno
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Avatar utente
jan23
Messaggi: 202
Iscritto il: 08 gen 2008, 21:23
Località: in giro...

Re: Problemi plugin rotor [RISOLTO]

Messaggio da jan23 »

ragno ha scritto:
- La sintonizzazione dei canali dal pluggo rotor, utilizzando la funzione integrata di ricerca canali.

ragno
ciao ragno

per me la sintonizzazione canali nel plugin rotor funziona perfettamente (tranne che in abbinamente a menuorg, nessun problema invece con submenu e setup. Anche con menuorg in relatà il problema può essere ovviato di volta in volta, disattivando temporaneamente l'editing del menù dalle opzioni del plugin).

Volevo chiederti: hai scritto che il plugin Pin-1.9.0 compila e funziona nativamente con la 1.6. Vorei sapere se usi qualche accorgimento particolare perchè a me senza la ExPatch non ne vuole sapere di andare.

Ciao e grazie
VDR: vdr-2.0.5 (FHS) e 2.1.3 (LCLBLD) su Opensuse-13.1 (x86_64), TT S2-6400, LNB Inverto Twin Black Ultra, rotore Moteck SG-2100
Avatar utente
Gringo
Messaggi: 1796
Iscritto il: 21 gen 2007, 19:36

Re: Problemi plugin rotor [RISOLTO]

Messaggio da Gringo »

@ ragno: buone notizie, sono riuscito a compilare rotor con le 2 patch che avevi suggerito, grazie :wink:
VDRBOX:
Software: ArchLinux 0.8 Don't Panic, VDR 1.6.0-2 con Extension Patch v.62 (> 70 plugins in IT)
Hardware: Intel P4 2,4 Ghz, 1 GB RAM, DVB-S Hauppauge WinTV Nexus-S rev 2.1, DVB-T Terratec Cinergy 1400, telecomando Terratec
Case: Compaq D510 SFF
Rispondi