Nirvana's sectionsd Testecke

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
arzka
Developer
Beiträge: 19
Registriert: Sonntag 10. April 2005, 23:21

Beitrag von arzka »

mb405 hat geschrieben:also der fehler kommt beim compilen
sectionsd.cpp: In function `void* insertEventsfromFile(void*)':
sectionsd.cpp:3218: error: 'class SIevent' has no member named 'name'
sectionsd.cpp:3222: error: 'class SIevent' has no member named 'text'
sectionsd.cpp:3231: error: 'class SIevent' has no member named 'extendedText'
That is because my patch protected those variables to avoid their direct manipulation since now that data contains language information as well.

You should use setter and getter methods.

Code: Alles auswählen

e.name = std::string(UTF8_to_Latin1(xmlGetAttribute(node, "name")));
I haven't read API documentation of the XML-library, so I don't know how to get attribute "lang" from the node "name", but you should do something like

Code: Alles auswählen

e.setName(xmlSomethingToGetAttribute("lang"), std::string(UTF8_to_Latin1(xmlGetAttribute(node, "name"))));
zeile 3222

Code: Alles auswählen

e.text = std::string(UTF8_to_Latin1(xmlGetAttribute(node, "text")));
zeile 3231

Code: Alles auswählen

e.extendedText = std::string(UTF8_to_Latin1(xmlGetAttribute(node, "extendedText")));
Same here. You should use methods e.setText() and e.appendExtendedText().

--
Arzka
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

Mutige können das hier ja mal testen:
http://s57.yousendit.com/d.aspx?id=30GC ... KBR8DCCM44

Ich habe das leider nicht mehr geschafft.
Wie bereits im anderen Thread erwähnt dreht dieser Patch die Reihenfolge der Channel ID.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

na dann hab ich doch was zum testen.

kann es sein, das es an dem patch liegt, warum die kanal_ids nicht stimmen ?

Code: Alles auswählen

+//changed the order of ChannelID - Nirvana 12.02.06 - Order is now: ONID - TSID - SID
du drehst da den "original_network_id" und "transport_stream_id" um
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

test ist erfolgreich abgelaufen. er speichert und liest ganz brav die epg daten. großen dank an dich Nirvana.

ich hab mal obigen dreher in der zapittypes.h rausgelassen. es sieht so bei mir aus

Code: Alles auswählen

/* unique channel identification */
typedef uint64_t t_channel_id;
#define CREATE_CHANNEL_ID_FROM_SERVICE_ORIGINALNETWORK_TRANSPORTSTREAM_ID(service_id,original_network_id,transport_stream_id) ((((t_channel_id)transport_stream_id) << 32) | (((t_channel_id)original_network_id) << 16) | (t_channel_id)service_id)
#define CREATE_CHANNEL_ID CREATE_CHANNEL_ID_FROM_SERVICE_ORIGINALNETWORK_TRANSPORTSTREAM_ID(service_id, original_network_id, transport_stream_id)
#define CREATE_TRANSPONDER_ID_FROM_ORIGINALNETWORK_TRANSPORTSTREAM_ID(original_network_id,transport_stream_id) ((((t_original_network_id) original_network_id) << 16) | (t_transport_stream_id) transport_stream_id)
#define CREATE_BOUQUETENTRY_ID(bouquet_id,original_network_id,transport_stream_id,service_id) ((((t_bouquetentry_id) bouquet_id) << 48) | (((t_bouquetentry_id) original_network_id) << 32) | (((t_bouquetentry_id) transport_stream_id) << 16) | (t_bouquetentry_id) service_id)
#define GET_ORIGINAL_NETWORK_ID_FROM_CHANNEL_ID(channel_id) ((t_original_network_id)((channel_id) >> 16))
#define GET_SERVICE_ID_FROM_CHANNEL_ID(channel_id) ((t_service_id)(channel_id))
#define PRINTF_CHANNEL_ID_TYPE "%16llx"
#define PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS "%llx"
#define SCANF_CHANNEL_ID_TYPE "%llx"

#define CREATE_CHANNEL_ID64 (((uint64_t)satellitePosition << 48) | ((uint64_t) transport_stream_id << 32) | ((uint64_t)original_network_id << 16) | (uint64_t)service_id)
und die channellist sieht so aus dazu
44d00016dca Das Erste
43100016e29 EinsExtra
43100016e2a EinsFestival
43100016e2b EinsPlus
43700016d66 ZDF
43700016d6b ZDFinfokanal
43700016d6e ZDFdokukanal
43700016d70 ZDFtheaterkanal
500850701 DAS VIERTE
2100850033 TELE 5
43100016e2c MDR FERNSEHEN
43100016e41 NDR FS HH
43100016e2e rbb Berlin
43100016e2d rbb Brandenburg
44d00016dcc hr-fernsehen
44d00016dcb Bayerisches FS
44d00016dd2 Phoenix
43700016d67 3sat
44d00016dcd arte
43100016e44 MDR SACHSEN
43100016e45 MDR S-ANHALT
43100016e46 MDR TH?INGEN
43100016e40 NDR FS MV
43100016e42 NDR FS NDS
43100016e43 NDR FS SH
43100016e47 S?WEST Ferns. RP
44d00016dd1 S?WEST Ferns. BW
44d00016dd0 BR-alpha
44d00016dcf WDR K?n
4000001233b ARTE
44100012ee3 RTL Television
44100012ef4 RTL2
44100012f08 Super RTL
210085002e SAT.1
2100850382 ProSieben
2100850383 KABEL1
44100012f1c VOX
700850202 ONTV Regional
700850307 Franken SAT
44300017080 RTL Austria
4430001708a RTL2 Austria
4430001708f Super RTL A
700850030 SAT.1-CH
43a00014e25 SAT.1 A
43a00014e21 ProSieben Schweiz
43a00014e22 ProSieben Austria
43a00014e23 Kabel 1 Schweiz
43a00014e24 Kabel 1 Austria
44300017085 VOX Austria
319c013e1f41 RTL Television
319c013e1f43 RTL CH
319c013e1f42 VOX CH
319c013e1f48 DAS VIERTE
319c013e1f4b ZDF
3c8c013e0261 RTL 2 CH
3c8c013e0262 Super RTL CH
3c8c013e025b Tele A
200850008 PREMIERE START
20085000a PREMIERE 1
20085000b PREMIERE 2
20085002b PREMIERE 3
200850009 PREMIERE 4
20085001d PREMIERE 5
200850029 PREMIERE 6
200850014 PREMIERE 7
400850017 PREMIERE KRIMI
400850010 PREMIERE SERIE
1100850203 MGM
1100850022 DISNEY CHANNEL
110085000e DISCOVERY CHANNEL
110085000d DISCOVERY GESCHICHTE
110085000c ANIMAL PLANET
100850206 GOLDSTAR TV
100850016 HEIMATKANAL
400850204 PREMIERE NOSTALGIE
....
ich hoff, das nutzt was
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

Mal platt gefragt: Was stört denn, wenn die KanalIDs richtig herum gedreht sind?
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

ich glaub sumisu hat da was geschriben dazu. normalerweise ist es ja egal. auf jeden fall geht damit das epg-speichern wunderbar.
sumisu
Einsteiger
Einsteiger
Beiträge: 108
Registriert: Donnerstag 21. Juli 2005, 17:37

Beitrag von sumisu »

ich verstehe ehrlich gesagt auch nicht, warum sich zu dem channel_id-Thread keiner äussert. Bitte schaut euch die letzten Beiträge dazu nochmal an. Dort habe ich haarklein dokuemntiert, WAS m.E. derzeit falsch ist und WARUM es m.E. korrigiert werden sollte.

Danke,
Sumisu