nur deinen stream krieg ich nicht hin.
die nicht benötigten labels könnte man noch hiden. sieht dann ein bisschen schöner aus.
nur deinen stream krieg ich nicht hin.
die nicht benötigten labels könnte man noch hiden. sieht dann ein bisschen schöner aus.
hier mal der code, wie es mit TV & MP3 funktioniert (noch nicht mit deinem Stream!)
/*******************************************************************************
* showInfo - Test
*******************************************************************************/
#include <plugin.h>
#include <stdio.h>
#include <stdlib.h>
#include <lib/gui/ewindow.h>
#include <lib/gui/ebutton.h>
#include <lib/gui/emessage.h>
#include <lib/gui/listbox.h>
#include <iostream>
#include <sys/types.h>
#include <sys/dir.h>
#include <dirent.h>
#include <stdlib.h>
#include <lib/base/console.h>
#include <lib/dvb/service.h>
#include <enigma.h>
#include <enigma_main.h>
#include <map>
#include <time.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <net/if.h>
#include <arpa/inet.h>
#include <linux/if_ether.h>
#include <linux/input.h>
#include <iomanip>
#include <iostream>
#include <fstream>
#include <timer.h>
#include <enigma_plugins.h>
#include <enigma_standby.h>
#include <sselect.h>
#include <upgrade.h>
#include <math.h>
#include <lib/dvb/frontend.h>
#include <lib/driver/eavswitch.h>
#include <lib/dvb/dvb.h>
#include <lib/dvb/edvb.h>
#include <lib/dvb/epgcache.h>
#include <lib/dvb/servicestructure.h>
#include <lib/dvb/decoder.h>
#include <lib/dvb/dvbservice.h>
#include <lib/dvb/service.h>
#include <lib/dvb/record.h>
#include <lib/dvb/serviceplaylist.h>
#include <lib/gdi/fb.h>
#include <lib/gdi/glcddc.h>
#include <lib/gdi/gfbdc.h>
#include <lib/gdi/epng.h>
#include <lib/gui/emessage.h>
#include <lib/system/http_dyn.h>
#include <lib/system/econfig.h>
#include <lib/system/info.h>
#include <lib/system/dmfp.h>
#include <enigma_dyn.h>
#include <enigma_dyn_utils.h>
#include <epgwindow.h>
#include <streaminfo.h>
#include <lib/dvb/servicemp3.h>
using namespace std;
// Funktionen definieren
extern "C" int plugin_exec( PluginParam *par );
extern eString getCurService(void);
extern eServiceReference string2ref(const eString &service);
bool my_playService(const eServiceReference &service);
//Fenster
class eShowInfo : public eWindow {
//private:
eLabel *lb1,*lb2,*lb3,*lb4,*lb5, *lb6, *lb7, *lb8, *lb9, *lb10;
void eShowInfo::my_setEIT(EIT *eit);
public:
eShowInfo(); // the constructor.
~eShowInfo(); // the destructor.
};
int plugin_exec( PluginParam *par ) {
eShowInfo myShowInfo; // our demo dialog instance.
myShowInfo.show(); // show the dialog...
myShowInfo.exec(); // give control to dialog.. (the dialog is modal!)
myShowInfo.hide();
return 0;
}
/*****************************************************************************
* myShowInfo
* Fenster wird aufgebaut
*****************************************************************************/
eShowInfo::eShowInfo(): eWindow(1) {
cmove(ePoint(70, 60));
cresize(eSize(560, 460));
setText("showInfo");
// Label
lb1=new eLabel(this);
lb1->move(ePoint(10, 10));
lb1->resize(eSize(400, 30));
lb1->loadDeco();
lb1->setText("Label 1");
lb2=new eLabel(this);
lb2->move(ePoint(10, 50));
lb2->resize(eSize(400, 30));
lb2->loadDeco();
lb2->setText("Label 2");
lb3=new eLabel(this);
lb3->move(ePoint(10, 50+40));
lb3->resize(eSize(400, 30));
lb3->loadDeco();
lb3->setText("Label 3");
lb4=new eLabel(this);
lb4->move(ePoint(10, 50+40+40));
lb4->resize(eSize(400, 30));
lb4->loadDeco();
lb4->setText("Label 4");
lb5=new eLabel(this);
lb5->move(ePoint(10, 50+40+40+40));
lb5->resize(eSize(400, 30));
lb5->loadDeco();
lb5->setText("Label 5");
lb6=new eLabel(this);
lb6->move(ePoint(10, 50+40+40+40+40));
lb6->resize(eSize(400, 30));
lb6->loadDeco();
lb6->setText("Label 6");
lb7=new eLabel(this);
lb7->move(ePoint(10, 50+40+40+40+40+40));
lb7->resize(eSize(400, 30));
lb7->loadDeco();
lb7->setText("Label 7");
lb8=new eLabel(this);
lb8->move(ePoint(10, 50+40+40+40+40+40+40));
lb8->resize(eSize(400, 30));
lb8->loadDeco();
lb8->setText("Label 8");
lb9=new eLabel(this);
lb9->move(ePoint(10, 50+40+40+40+40+40+40+40));
lb9->resize(eSize(400, 30));
lb9->loadDeco();
lb9->setText("Label 9");
lb10=new eLabel(this);
lb10->move(ePoint(10, 50+40+40+40+40+40+40+40+40));
lb10->resize(eSize(400, 30));
lb10->loadDeco();
lb10->setText("Label 10");
eServiceReference &myref = eServiceInterface::getInstance()->service;
eServiceHandler *sapi=eServiceInterface::getInstance()->getService();
eService *service = eServiceInterface::getInstance()->addRef(myref);
if( service && service->id3 )
{
std::map<eString,eString> &tags = service->id3->getID3Tags();
eString artist="unknown", album="unknown", title="", num="";
if (tags.count("TALB"))
album=tags.find("TALB")->second;
if (tags.count("TIT2"))
title=tags.find("TIT2")->second;
if (tags.count("TPE1"))
artist=tags.find("TPE1")->second;
if (tags.count("TRCK"))
num=tags.find("TRCK")->second;
lb1->setText("Interpret: " + artist);
lb2->setText("Album: " + album);
lb3->setText("Song: " + title);
lb4->setText("Nummer: " + num);
}
else
{
EIT *eit=sapi->getEIT();
my_setEIT(eit);
}
}
eShowInfo::~eShowInfo()
{
// we have to do almost nothing here. all widgets are automatically removed
// since they are child of us. the eWidget-destructor will to this for us.
}
void eShowInfo::my_setEIT(EIT *eit)
{
eString cur_event_text="";
if (eit)
{
eString nowtext, nexttext, nowtime="", nexttime="", descr;
int val=0;
int p=0;
for (ePtrList<EITEvent>::iterator i(eit->events); i != eit->events.end(); ++i)
{
EITEvent *event=*i;
LocalEventData led;
switch(p)
{
case 0:
led.getLocalData(event, &nowtext, &descr);
cur_event_text=nowtext;
lb1->setText("akt.Senung: "+nowtext);
if (!nowtext.isNull())
val|=1;
break;
case 1:
led.getLocalData(event, &nexttext);
lb2->setText("nächt. Sendung: "+nexttext);
if (!nexttext.isNull())
val|=2;
break;
}
tm *t=event->start_time!=-1?localtime(&event->start_time):0;
eString start="";
if (t && event->duration) {
start.sprintf("%02d:%02d", t->tm_hour, t->tm_min);
lb3->setText("start: "+start);
}
eString duration;
if (event->duration>0) {
duration.sprintf("%d min", event->duration/60);
lb4->setText("Dauer akt. Sendung: "+duration); //DAUER
}
else { duration=""; }
switch (p)
{
case 0:
{
nowtime=start;
lb5->setText("now time: "+nowtime);
break;
}
case 1:
{
nexttime=start;
lb6->setText("next time: "+nexttime);
break;
}
}
p++;
}
}
}
Alles anzeigen
The internal ci-slots of the dreambox do only support smartcards with the encryption system dreamcrypt. for all other encryption systems you need a module that you insert into the pcmcia-like slot.
tyrel: du verwendest eine m3u um einen Stream abzuspielen. Korrekt? kannst du mir die mal posten, damit ich testen kann, obs bei streams auch klappt.
hier mal ein erster screenshot. code folgt, sobald ich es fertig habe.
sorry, hatte deine letzten postings irgendwie übersehen. ich schau mal, ob ich was rauskriege.
gutemine made a small missspelling: Lüfter = Fan
otherwise you won't find anything.
in der setEIT würde ich mal die den eString nowtext anschauen. ist auch nur raten. aber nowtext wird über assign dem label im skin zugeordnet.
müsste glaub in der enigma_main.cpp zu finden sein.
schau mal diese funktion an:
void eZapMain::setEIT(EIT *eit)
schau mal in der enigma_dyn_epg.cpp. dort hast du die epg-anzeige fürs webif drin.
Gruss
Dre
das problem hab ich bei sf teilweise auch. stört mich aber ehrlich gesagt nicht mehr gross. hab mich daran gewöhnt.
habs auch eher zufällig entdeckt.
datei mit 4 aufrufen, gewünschte zeile selektieren und dann ok drücken. danach kannst du die zeile bearbeiten.
hm, bin ja auch kein programmierexperte. aber versuch mal in apps/tuxbox/plugins ein ./autogen.sh vielleicht hilft das was.
und das devel-package hast du auch installiert? kenn das debian etch gar nicht.
kannst du mal die befehle angeben, die du verwendet hast? libtool ist korrekt installiert (evtl. inkl. devel)?
Gruss
Dre
davon ging ich aus, da es im cvs ja auch drin ist. aber wie ich sehe, hast du die configure.ac erweitert.
danke dir.
Zitat
es wird die grafik für sselect_folder geladen. gemäss default.esml ist dies folder-fs8.png.
existiert bei dir in /share/tuxbox/enigma/pictures/ diese datei?
Gruss
Dre
hat niemand eine idee?
Gruss
Dre