Erledigt: Erweiterte Information des laufenden Events ermitteln

Zusatz-Programme für Receiver der 5000er und 6000er Serie.

Hier geht's um alles, was mit den TAP Anwendungen für den PVR5x00/6000 zu tun hat.
Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

Erledigt: Erweiterte Information des laufenden Events ermitteln

#1

Beitrag von Elle4u » So 9. Jul 2006, 17:24

Hallo zusammen,

ich verzweifel gerade mal wieder mit diesen Zeigern und so weiter :u:

Code: Alles auswählen

TYPE_TapEvent *Event = NULL;

Event = TAP_GetCurrentEvent(RecInfo.svcType, RecInfo.svcNum);
//TAP_Print( "%s\n", TAP_EPG_GetExtInfo(Event) );
&InfoBuffer[1] = TAP_EPG_GetExtInfo(Event);
Das TAP_Print gibt mit den Text aus aber die Zuweisung in InfoBuffer (da speicher ich die erweiterten Infos) funktioniert einfach nicht. Egal wie und wo ich die (& oder *) setzte...

Code: Alles auswählen

invalid lvalue in assignment
Kann mir BITTE jemand helfen :oa: .
Zuletzt geändert von Elle4u am Fr 28. Jul 2006, 12:28, insgesamt 1-mal geändert.
Gruß,
Elle4u

t3xi
TAP-Guru
TAP-Guru
Beiträge: 1499
Registriert: Mo 16. Jan 2006, 13:35
Receivertyp: 5^4*2^3

#2

Beitrag von t3xi » So 9. Jul 2006, 17:44

Hi Elle4u,

man sieht leider nicht was dieser InfoBuffer[1] ist, aber probier mal folgendes:

byte *extInfo;
extInfo = TAP_EPG_GetExtInfo(Event);

... usw ...

TAP_MemFree(extInfo);

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 29051
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

#3

Beitrag von FireBird » So 9. Jul 2006, 17:52

Ich nehme an, dass Du die Extended Info wegkopieren möchtest. Deshalb ist auch strcpy zu verwenden:

Code: Alles auswählen

  char                  InfoBuffer [4096];
  byte                  *pExtInfo;

  Event = TAP_GetCurrentEvent(RecInfo.svcType, RecInfo.svcNum);
  pExtInfo = TAP_EPG_GetExtInfo(Event);
  strcpy (InfoBuffer, pExtInfo);
  TAP_MemFree (pExtInfo);
  TAP_Print ("%s\n", InfoBuffer);

Nicht auf das TAP_MemFree vergessen, sonst gibt es Memory-Leak.

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#4

Beitrag von Elle4u » So 9. Jul 2006, 17:54

t3xi hat geschrieben:Hi Elle4u,

man sieht leider nicht was dieser InfoBuffer[1] ist
Oh. Sorry.

InfoBuffer ist ein Char:

Code: Alles auswählen

unsigned char InfoBuffer[10000];
Und das muß auch so bleiben, da die anderen Dinge bereits darauf aufbauen...
Ansonsten lese ich es aus dem Header mit:

Code: Alles auswählen

TAP_Hdd_Fseek(openedFile, 368 + TempHeaderOffset, SEEK_SET);
TAP_Hdd_Fread(&InfoBuffer[1], extdescLength, 1, openedFile);
Aber bei einer laufenden Aufnahme möchte ich es aus dem akt. Event holen...

Aber das geht auch nicht?

Code: Alles auswählen

&InfoBuffer = "Test";
Fehlermeldung:

Code: Alles auswählen

incompatible types in assignment
Gruß,
Elle4u

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#5

Beitrag von Elle4u » So 9. Jul 2006, 17:56

FireBird hat geschrieben:Ich nehme an, dass Du die Extended Info wegkopieren möchtest. Deshalb ist auch strcpy zu verwenden:
Danke.

Ich werde das mal versuchen...
Gruß,
Elle4u

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#6

Beitrag von Elle4u » So 9. Jul 2006, 18:01

Elle4u hat geschrieben:Danke.

Ich werde das mal versuchen...
Cool.

Das geht. :hello: :hello: :hello:

Mann das hat mich jetzt Stunden gekostet :oops:
Gruß,
Elle4u

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#7

Beitrag von Elle4u » So 9. Jul 2006, 18:31

So funzt es nun:

Code: Alles auswählen

TYPE_TapEvent *Event = NULL;
byte *pExtInfo;

Event = TAP_GetCurrentEvent(RecInfo.svcType, RecInfo.svcNum);
pExtInfo = TAP_EPG_GetExtInfo(Event);
strcpy (&InfoBuffer[1], pExtInfo);
TAP_MemFree (pExtInfo);
Gruß,
Elle4u

t3xi
TAP-Guru
TAP-Guru
Beiträge: 1499
Registriert: Mo 16. Jan 2006, 13:35
Receivertyp: 5^4*2^3

#8

Beitrag von t3xi » So 9. Jul 2006, 18:37

Und wieso bleibt das erste Byte im InfoBuffer ungenutzt? :?

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 29051
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

#9

Beitrag von FireBird » So 9. Jul 2006, 18:39

Elle4u hat geschrieben:

Code: Alles auswählen

strcpy (&InfoBuffer[[b][color=Red]1[/color][/b]], pExtInfo);
Warum beginnst Du beim 2. Element?

Benutzeravatar
Happy
TAP-Guru
TAP-Guru
Beiträge: 5718
Registriert: Fr 9. Dez 2005, 09:32
Receivertyp: TF4000-5500-6000-TMS
Wohnort: bei Karlsruhe
Kontaktdaten:

#10

Beitrag von Happy » So 9. Jul 2006, 18:39

Elle4u hat geschrieben:So funzt es nun:

Code: Alles auswählen


strcpy (&InfoBuffer[1], pExtInfo);

Hi,

hier wird die erw. Info aber ab dem 2. Byte von Infobuffer eingefügt, nicht an den Anfang. Ist das so gewollt ?
Normalerweise würde man das Kopieren so machen:

Code: Alles auswählen

strcpy (InfoBuffer, pExtInfo);
:type: Meine TAPs und Tools

TF5500 PVR (Fw Jan. 2007 P)- 400GB Samsung - AC light 1.05 - Yamaha RX-V 1500
- LAN: Asus WL-500g Deluxe mit ftpd-topfield 0.7.4
TAPs: Quicktimer, Autodelete, Standby, 3PG, Automove, NiceDisplay, PowerRestore, WSS Killer, Eurostirf, Overfly
TV: Sony KDL-46W4500
TF6000 PVR (Fw Okt. 2008)- 160GB Samsung SV1604N
TAPs: iTina, Autodelete, Automove, Autoresume, NiceDisplay, WSS Killer
SRP-2100 (Fw Okt. 2009)
TAPs: SmartEPG, ChangePreview, Autodelete, Automove, BackupSettings,RescueRecs, MySkip, NiceDisplay

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 29051
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

#11

Beitrag von FireBird » So 9. Jul 2006, 18:41

Happy hat geschrieben:hier wird die erw. Info aber ab dem 2. Byte von Infobuffer eingefügt, nicht an den Anfang.
Dritter :p

t3xi
TAP-Guru
TAP-Guru
Beiträge: 1499
Registriert: Mo 16. Jan 2006, 13:35
Receivertyp: 5^4*2^3

#12

Beitrag von t3xi » So 9. Jul 2006, 18:42

Erster :p

Benutzeravatar
Happy
TAP-Guru
TAP-Guru
Beiträge: 5718
Registriert: Fr 9. Dez 2005, 09:32
Receivertyp: TF4000-5500-6000-TMS
Wohnort: bei Karlsruhe
Kontaktdaten:

#13

Beitrag von Happy » So 9. Jul 2006, 18:45

:cry: :cry: :cry:
Hab aber mehr geschrieben plus Verbesserungsvorschlag :altermotzsack: :wink:

Gruß,
Happy
:type: Meine TAPs und Tools

TF5500 PVR (Fw Jan. 2007 P)- 400GB Samsung - AC light 1.05 - Yamaha RX-V 1500
- LAN: Asus WL-500g Deluxe mit ftpd-topfield 0.7.4
TAPs: Quicktimer, Autodelete, Standby, 3PG, Automove, NiceDisplay, PowerRestore, WSS Killer, Eurostirf, Overfly
TV: Sony KDL-46W4500
TF6000 PVR (Fw Okt. 2008)- 160GB Samsung SV1604N
TAPs: iTina, Autodelete, Automove, Autoresume, NiceDisplay, WSS Killer
SRP-2100 (Fw Okt. 2009)
TAPs: SmartEPG, ChangePreview, Autodelete, Automove, BackupSettings,RescueRecs, MySkip, NiceDisplay

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#14

Beitrag von Elle4u » So 9. Jul 2006, 18:46

Das hat DeJe damals so gemacht.
Warum auch immer... :thinker:
Wenn ich aber nur kopiere, dann fehlt nachher das 1. Zeichen in der Ausgabe.

Habe jetzt noch ein Problem.

Wenn eine Info leer ist, dann friert der Topf hier ein:

Code: Alles auswählen

strcpy (&InfoBuffer[1], pExtInfo);
Kann ich das noch irgendwie abfangen?
Gruß,
Elle4u

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 29051
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

#15

Beitrag von FireBird » So 9. Jul 2006, 18:49

if (pExtInfo != NULL)

Das zum Thema: die Entwickler reden nicht miteinander.

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#16

Beitrag von Elle4u » So 9. Jul 2006, 18:54

FireBird hat geschrieben:Das zum Thema: die Entwickler reden nicht miteinander.
OK. Danke. :up:

Und entschuldigt meine für Euch sicherlich manchmal doof erscheinenden Nachfragen :oops:
Kann mir vorstellen, daß Euch da manchmal die Haare zu Berge stehen. :X

So wie mir, wenn ein Laie vom PC spricht :D
Gruß,
Elle4u

Benutzeravatar
Homer
ToppiHolic gefährdet
ToppiHolic gefährdet
Beiträge: 9742
Registriert: Sa 11. Mär 2006, 12:08
Receivertyp: TF5200PVRc (seit 25. März 2006) CRP-2401CI+ (seit 26. Mai 2011) Uno 4K
Receiverfirmware: Dec 06 2006,
Mar 9 2011
Wohnort: 669..
Kontaktdaten:

#17

Beitrag von Homer » So 9. Jul 2006, 19:00

Man darf natürlich nur so viele Bytes von pExtInfo kopieren, wie man bei "TAP_EPG_GetExtInfo(Event)" erhalten hat.

Viele Grüße
Homer
rettet-das-freetv.de Project Euler 2401 Urban Priol ist ein smarter Androide und kann keine TAPs.

TF5200PVRc (HA250JC)
TAPs: BootMenu - UsbAccelerator - [thread=49960]acaderc_5k[/thread] - RemoteSwitch - Automove V1.9 final [90] (18.04.2008) - TF5000Display - 3PG - IdleHDD

CRP-2401CI+ (ST3500312CS,MZ-75E500B)
TAPs: XStartTap_TMS - AutoReboot - RemoteSwitch_TMS - RescueRecs - SmartEPG_TMS - RebuildNAV - Automove V2.0 beta 13 (24.05.2011) - StartFTPd - TMSRemote - NiceDisplay

KabelBW Unitymedia (free to air)

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#18

Beitrag von Elle4u » So 9. Jul 2006, 19:09

Homer hat geschrieben:Man darf natürlich nur so viele Bytes von pExtInfo kopieren, wie man bei "TAP_EPG_GetExtInfo(Event)" erhalten hat.
Aber da erhält man ja nur einen Pointer...

Klappt aber ja jetzt wunderbar :hello:
Gruß,
Elle4u

Benutzeravatar
Harvey
iTina-Promoter und Kuhinteressent
iTina-Promoter und Kuhinteressent
Beiträge: 3894
Registriert: So 11. Dez 2005, 22:34
Receivertyp: 0x1388 PVR
Receiverfirmware: 13.09.2005
Wohnort: Planet Erde, Milchstraße

#19

Beitrag von Harvey » Mo 10. Jul 2006, 11:51

Code: Alles auswählen

strcpyn (&InfoBuffer[1], pExtInfo, 9999);
InfoBuffer[9999]=0;
Das verhindert einen Überlauf, falls die erweiterte Info mehr als 10000 Zeichen hat.
Gruss
Harvey

Benutzeravatar
Gerti
Nicht mehr bei Topfield-Europe
<b>Nicht mehr bei Topfield-Europe</b>
Beiträge: 15742
Registriert: Fr 9. Dez 2005, 00:16
Receivertyp: Vu+ Uno 4k
Wohnort: Hürth
Kontaktdaten:

#20

Beitrag von Gerti » Mo 10. Jul 2006, 15:49

Hi!

Ich muß gestehen, alles verstanden zu haben, was hier geschrieben wurde...ich bin platt :-)

Gruß,
Gerti

Antworten

Zurück zu „TF 5x00/6000 PVR TAP“