Senderlogo in der GUI (Infoviewer)

Wünsche, Anträge, Fehlermeldungen
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Beitrag von dbt »

ganz schön ruhig geworden hier.
Na, die Sache dürfte nicht sooo viel Priorität haben, da zum Einen die sprichwörtliche "Neutrino-Schlichtheit" für die meisten quasi "heilig" ist (jüngste Beispiele spar ich mir :wink:) und zum Anderen dürften die meisten Codeschrauber nicht immer die Zeit dafür haben das Ganze aufzurollen.
Mit anderen Worten: keine Zeit und nicht darauf aus, sich die Finger zu verbrennen!
Aber was nicht ist... :wink:
starfighter007
Einsteiger
Einsteiger
Beiträge: 141
Registriert: Montag 4. Dezember 2006, 20:13

Beitrag von starfighter007 »

dbt hat geschrieben:
ganz schön ruhig geworden hier.
Mit anderen Worten: keine Zeit und nicht darauf aus, sich die Finger zu verbrennen!
Aber was nicht ist... :wink:
aber es sieht super aus :)
skydiver
Einsteiger
Einsteiger
Beiträge: 256
Registriert: Montag 14. Januar 2002, 23:13

Beitrag von skydiver »

dbt hat geschrieben:
skydiver hat geschrieben:eben... nicht nur ein logo. sogar das cover ;-)
keine ahnung, was bei meinen compiling-versuchen daneben gegangen ist (schwarzer schleier). ich check gerade nochmal neu aus.
Habe zwar da nicht genauer hingeschaut, aber auf den ersten Blick sieht das aus, als ob im Framebuffer die Hintergrundfarbe mit der Umstellung "verbogen" wurde. Die sollte eigentlich transparent sein, also den Durchblick auf das normale Fernsehbild gewähren. Das müsste man erstmal ausbügeln.
Nebenbei zerhauts auch noch das Shutdownlogo. Sieht schäuslich aus.
wo genau ist denn die hintergrundfarbe verdrahtet? bin eigentlich kein freund des uraltesachenhochschiebens. trotzdem denke ich, dass es das thema wert ist
dwilx

Beitrag von dwilx »

bin eigentlich kein freund des uraltesachenhochschiebens
macht doch nichts, wo wäre denn dann der UPnP-Browser und noch so andere netten Sachen. :wink:

schau mal hier: vermutlich framebuffer.cpp ca. ab Zeile 997 aber da sind 'ne Menge Backgroundsachen drin...und dann hier evtl. mal lesen.
Ich glaube auch nicht, dass die diversen Screensnaps (vom Image von dem hier schon berichtet wurde) irgendwas mit dem 16bit Modus zu tun haben. Das halte ich für einen Fake. Es sei denn, irgendjemand belegt mir das Gegenteil, indem er mir einen diff vor die Nase hält :wink:
Renwich
Interessierter
Interessierter
Beiträge: 62
Registriert: Freitag 26. Mai 2006, 00:34

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von Renwich »

@mb405 did you get any further with the sender logo

http://forum.tuxbox-cvs.sourceforge.net ... 24#p330024

have you any diffs please.?
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von mb405 »

dafür gibts kein diff, da ich die letzte entwicklungsstufe ja schon gepostet habe.
ohne 16 bit mode oder die möglichkeit gif oder bmp bilder anzuzeigen ist das eh nicht sehr brauchbar.
Renwich
Interessierter
Interessierter
Beiträge: 62
Registriert: Freitag 26. Mai 2006, 00:34

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von Renwich »

ok on the same topic is it possible to have an option to show Signal, SNR and BER on the infobar
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von seife »

This is obviously possible, but the people who implemented this and distributed their images don't mind violating my copyright, and so they apparently don't post their code.
Renwich
Interessierter
Interessierter
Beiträge: 62
Registriert: Freitag 26. Mai 2006, 00:34

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von Renwich »

what to show sig, snr. and ber, copy right.?


I'm after nothing ileagal here just what I've already said, a fancier info bar and options. there are a lot of clever guys on this forum of which I'm not, just a nicer infobar
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von PT-1 »

What Seife meant is that other Forums using this functionality but do not bother to distribute the diff's with it what is a clear violation of GPL
Renwich
Interessierter
Interessierter
Beiträge: 62
Registriert: Freitag 26. Mai 2006, 00:34

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von Renwich »

and I totally agree with the GPL, everything created should have the diffs shared,
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von flasher »

An Stelle immer nur herumzunörgeln könnte man doch auch mal versuchen diese Sache selbst nachzubilden oder man schaut einfach mal in die streaminfo2.cpp.
Bei so vielen Sachen wird immer von GPL und der bösen Seite geschrieben dabei sind einige Lösungen doch bereits im CVS.
Man sollte sich nur mal die Mühe machen und auch die vorhanden Sourcen durchzugehen.

Scheinbar wollen auch hier, wie auch woanders, viele immer alles auf dem Silbertablett serviert bekommen.
Da nunmal nicht alles in das CVS fliessen wird ist auch mal Handarbeit angesagt.

http://d-box2.blogspot.com/ | Eine kleine Hilfe...

German only...

Gruß
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von dbt »

Naja, so eine Anzeige habe ich ja im Novatux drin. Den Patch dazu gibts auch, ist aber nicht ausgereift, da hab ich nicht so viel drauf verbaut, weils eigentlich nicht sooo wichtig ist. Ausserdem ist die Anzeige nicht immer so das wahre, zumindest bei Nokia-Kabelboxen, da sind die Werte eh nicht das was dran steht... :wink:
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von flasher »

dbt hat geschrieben:Naja, so eine Anzeige habe ich ja im Novatux drin. Den Patch dazu gibts auch, ...
Desshalb wollte ich die GPL Diskussion auch direkt wieder im Keim ersticken.
Diese drei Buchstaben verursachen bei einigen nämlich einen Schreibwahn den man u.a. dadurch behandeln könnte indem man sich vor dem Schreiben etwas informiert. :dash:

Gruß
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von PT-1 »

Auf English ;-)

Just look within the streaminfo2.cpp or compare entrys with the Satfinder (apps/tuxbox/tools/satfind)
or even easier within (CVS: apps/dvb/zapit/lib)

There is a function: void CZapitClient::getFESignal (struct responseFESignal &f) and within this you can find how you would get it working or again have a look at the streaminfo2.cpp/h.

I do not translate everything so here is the rough deal:

infoviewer.cpp & infoviewer.h

infoviewer.h:
within the private class you add the following

Code: Alles auswählen

struct feSignal {
unsigned long sig;
unsigned long ber;
unsigned long snr;
} signal;
void showSatfind();
infoviewer.cpp:
The predefined showSatfind() has to be added the following way

Code: Alles auswählen

void CInfoViewer::showSatfind()
{
CZapitClient::responseFESignal s;
g_Zapit->getFESignal(s);

signal.sig = s.sig & 0xFFFF;
signal.snr = s.snr & 0xFFFF;
signal.ber = (s.ber <>

int sx = BoxStartX;
int sy = g_settings.screen_StartY + 150;
int ex = BoxEndX;
int ey = sy + 20;

int fromleft = sx + 137;// gap from left
int fromright = ex - 85; // gap from right

// max width per Signal
unsigned int maxbar = ((fromright - fromleft) / 3) - 20;
// maximal Sig amount
unsigned long maxs = 65000;
// maximal BER amount
unsigned long maxb = 40000;

unsigned int sigbar = ( (long) maxbar * (long) signal.sig ) / (long) maxs;
unsigned int snrbar = ( (long) maxbar * (long) signal.snr ) / (long) maxs;
unsigned int berbar = ( (long) maxbar * (long) signal.ber ) / (long) maxb;

// Sometimes the Ber Bar is larger than the Max Bar so therefore needs to be stopped hereif (berbar > maxbar)

berbar = maxbar;

}
For all 3 results you need to draw Boxes

Code: Alles auswählen

// Background
frameBuffer->paintBoxRel(fromleft , ey - 6, maxbar + 2, 8, COL_INFOBAR_PLUS_7);
frameBuffer->paintBoxRel(fromleft + maxbar + 10, ey - 6, maxbar + 2, 8, COL_INFOBAR_PLUS_7);
frameBuffer->paintBoxRel(fromleft + (maxbar * 2) + 20, ey - 6, maxbar + 2, 8, COL_INFOBAR_PLUS_7);

// Bar 100%
frameBuffer->paintBoxRel(fromleft + 1, ey - 5, maxbar, 6, COL_INFOBAR_PLUS_3);
frameBuffer->paintBoxRel(fromleft + maxbar + 11, ey - 5, maxbar, 6, COL_INFOBAR_PLUS_3);
frameBuffer->paintBoxRel(fromleft + (maxbar * 2) + 21, ey - 5, maxbar, 6, COL_INFOBAR_PLUS_3);

// Bar to show amount
frameBuffer->paintBoxRel(fromleft + 1, ey - 5, sigbar, 6, COL_BASIC_GREEN);
frameBuffer->paintBoxRel(fromleft + maxbar + 11, ey - 5, snrbar, 6, COL_BASIC_YELLOW);
frameBuffer->paintBoxRel(fromleft + (maxbar * 2) + 21, ey - 5, berbar, 6, COL_BASIC_RED);

You can call this function now and it will show the amounts from when the function was called. As the Infobar is shown for a duration of 6 seconds we also keep updating trough this duration.

For that the Function showTitle() is like made for it

Code: Alles auswählen

[else if ( ( msg == NeutrinoMessages::EVT_TIMER ) && ( data == sec_timer_id ) )
{
paintTime( show_dot, false );
showRecordIcon(show_dot);
show_dot = !show_dot;
}
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von flasher »

Danke fürs Übersetzen.

Da hat sich nur ein kleiner Fehler eingeschlichen:

Du schreibst:

berbar = maxbar;

das müsste aber so heissen:

if (berbar > maxbar)
berbar = maxbar;


Die Abfrage muss rein, da sonnst der BER Wert immer voll ist.

Irgendiwe wurden aber nicht alle Zeilen 100% ins Blog übernommen.

Ich sehe gerade, dass folgende Zeile:

signal.ber = (s.ber < >

so aussehen müsste

signal.ber = (s.ber < 0x3FFFF) ? s.ber : 0x3FFFF;

Gruß
Renwich
Interessierter
Interessierter
Beiträge: 62
Registriert: Freitag 26. Mai 2006, 00:34

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von Renwich »

is there a diff for this.? please :roll:
AudioSlyer
Erleuchteter
Erleuchteter
Beiträge: 450
Registriert: Sonntag 28. Juli 2002, 01:18

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von AudioSlyer »

Mit ein bischl Prozentrechnung kann man das schnell ausrechnen ;)
<zack> Fortschrittbalken (height2=10) dünner machen und <zack> einen 2in1 Balken darüber platziert.
Ihr seid Offtopic ;)

Code: Alles auswählen

void CInfoViewer::paint_signal_fe()
{
CZapitClient::responseFESignal s;
int fd_ber=0;
int fd_snr=0;
int height2= 10;
g_Zapit->getFESignal(s);
fd_ber = y_signal_fe(s.ber, 4000,  100);
fd_snr = y_signal_fe(s.snr, 65000, 100);
frameBuffer->paintBoxRel(BoxEndX-114, BoxStartY, 2+100+2, height2,   COL_INFOBAR_SHADOW_PLUS_0); //border
frameBuffer->paintBoxRel(BoxEndX-112, BoxStartY+2 , fd_snr+2, height2-4, 0x12); //fill(active)
frameBuffer->paintBoxRel(BoxEndX-112+fd_snr, BoxStartY+2 , 100-fd_snr	, height2-4, COL_INFOBAR_PLUS_3); //fill pa
frameBuffer->paintBoxRel(BoxEndX-112, BoxStartY+2 , fd_ber+2, height2-4, 0x2); //fill(active)
}

int CInfoViewer::y_signal_fe(unsigned long value, unsigned long max_value, int max_y)
 {
         long  l;
         if (!max_value)
                 max_value = 1;
         l = ((long)max_y * (long)value) / (long)max_value;
         if (l > max_y)
                 l = max_y;
         return (int)l;
 }
in .h muss dann noch

Code: Alles auswählen

void paint_signal_fe();
..
int y_signal_fe(unsigned long value, unsigned long max_value, int max_y);
Zuletzt geändert von AudioSlyer am Dienstag 4. März 2008, 13:56, insgesamt 2-mal geändert.
AudioSlyer
Erleuchteter
Erleuchteter
Beiträge: 450
Registriert: Sonntag 28. Juli 2002, 01:18

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von AudioSlyer »

sorry, hab wieder zitat statt edit geklickt :(
Hollo
Einsteiger
Einsteiger
Beiträge: 226
Registriert: Mittwoch 22. August 2001, 00:00

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von Hollo »

ist es möglich eine Signalanzeige wie auf dem Blog http://d-box2.blogspot.com/ beschrieben ist, ins CVS zu übernehmen ?

wenn die Anzeige abschaltbar wäre, würde es ja niemanden stören

Neutrino würde das doch mächtig aufwerten :P , bei Enigma ist dies ja schon gang und gebe
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von mb405 »

das bisle code sollte jeder imagebauer selber reinpatchen können.
Renwich
Interessierter
Interessierter
Beiträge: 62
Registriert: Freitag 26. Mai 2006, 00:34

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von Renwich »

Finally managed to get a good compile , I now have 3 coloured bares mid screen that stay on until another menu is accessed

Bild

Code: Alles auswählen

--- tuxbox-cvs-orig/apps/tuxbox/neutrino/src/gui/infoviewer.h	2008-04-24 16:35:14.000000000 +0100
+++ tuxbox-cvs/apps/tuxbox/neutrino/src/gui/infoviewer.h	2008-04-28 12:01:54.000000000 +0100
@@ -50,7 +50,12 @@
 {
  private:
 	CFrameBuffer * frameBuffer;
-	
+struct feSignal {
+unsigned long sig;
+unsigned long ber;
+unsigned long snr;
+} signal;
+void showSatfind();
 	bool           gotTime;
 	bool           recordModeActive;
 #ifndef SKIP_CA_STATUS
@@ -85,7 +90,10 @@
 
 	void show_Data( bool calledFromEvent = false );
 	void paintTime( bool show_dot, bool firstPaint );
-	
+	void paint_signal_fe();
+
+	int y_signal_fe(unsigned long value, unsigned long max_value, int max_y);
+		
 	void showButton_Audio();
 	void showButton_SubServices();
 	
--- tuxbox-cvs-orig/apps/tuxbox/neutrino/src/gui/infoviewer.cpp	2008-04-24 16:35:14.000000000 +0100
+++ tuxbox-cvs/apps/tuxbox/neutrino/src/gui/infoviewer.cpp	2008-04-28 12:44:28.000000000 +0100
@@ -128,6 +128,58 @@
 	lcdUpdateTimer = g_RCInput->addTimer( LCD_UPDATE_TIME_TV_MODE, false, true );
 }
 
+
+void CInfoViewer::showSatfind()
+{
+CZapitClient::responseFESignal s;
+g_Zapit->getFESignal(s);
+
+signal.sig = s.sig & 0xFFFF;
+signal.snr = s.snr & 0xFFFF;
+signal.ber = (s.ber < 0x3FFFF) ? s.ber : 0x3FFFF;
+
+int sx = BoxStartX;
+int sy = g_settings.screen_StartY + 150;
+int ex = BoxEndX;
+int ey = sy + 20;
+
+int fromleft = sx + 137;// gap from left
+int fromright = ex - 85; // gap from right
+
+// max width per Signal
+unsigned int maxbar = ((fromright - fromleft) / 3) - 20;
+// maximal Sig amount
+unsigned long maxs = 65000;
+// maximal BER amount
+unsigned long maxb = 40000;
+
+unsigned int sigbar = ( (long) maxbar * (long) signal.sig ) / (long) maxs;
+unsigned int snrbar = ( (long) maxbar * (long) signal.snr ) / (long) maxs;
+unsigned int berbar = ( (long) maxbar * (long) signal.ber ) / (long) maxb;
+
+// Sometimes the Ber Bar is larger than the Max Bar so therefore needs to be stopped hereif (berbar > maxbar)
+
+if (berbar > maxbar)
+berbar = maxbar;
+
+// Background
+frameBuffer->paintBoxRel(fromleft , ey - 6, maxbar + 2, 8, COL_INFOBAR_PLUS_7);
+frameBuffer->paintBoxRel(fromleft + maxbar + 10, ey - 6, maxbar + 2, 8, COL_INFOBAR_PLUS_7);
+frameBuffer->paintBoxRel(fromleft + (maxbar * 2) + 20, ey - 6, maxbar + 2, 8, COL_INFOBAR_PLUS_7);
+
+// Bar 100%
+frameBuffer->paintBoxRel(fromleft + 1, ey - 5, maxbar, 6, COL_INFOBAR_PLUS_3);
+frameBuffer->paintBoxRel(fromleft + maxbar + 11, ey - 5, maxbar, 6, COL_INFOBAR_PLUS_3);
+frameBuffer->paintBoxRel(fromleft + (maxbar * 2) + 21, ey - 5, maxbar, 6, COL_INFOBAR_PLUS_3);
+
+// Bar to show amount
+frameBuffer->paintBoxRel(fromleft + 1, ey - 5, sigbar, 6, COL_GREEN);
+frameBuffer->paintBoxRel(fromleft + maxbar + 11, ey - 5, snrbar, 6, COL_OLIVE);
+frameBuffer->paintBoxRel(fromleft + (maxbar * 2) + 21, ey - 5, berbar, 6, COL_RED);
+
+}
+
+
 void CInfoViewer::paintTime( bool show_dot, bool firstPaint )
 {
 	if ( gotTime )
@@ -533,12 +608,21 @@
 				showRecordIcon(show_dot);
 				show_dot = !show_dot;
 			}
+			
 			else if ( g_settings.virtual_zap_mode && ((msg == CRCInput::RC_right) || msg == CRCInput::RC_left ))
 			{
 				virtual_zap_mode = true;
 				res = messages_return::cancel_all;
 				hideIt = true;
 			}
+			//newcode
+			else if (g_settings.infobar_sat_display)
+			
+			{   
+				showSatfind();
+
+			}
+			//endnewcode
 			else
 			{
 				res = neutrino->handleMsg(msg, data);

Renwich
Interessierter
Interessierter
Beiträge: 62
Registriert: Freitag 26. Mai 2006, 00:34

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von Renwich »

with +int sy = g_settings.screen_StartY + 365;


Bild
Renwich
Interessierter
Interessierter
Beiträge: 62
Registriert: Freitag 26. Mai 2006, 00:34

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von Renwich »

More good news , it seems that now the bars are on top of the infobar they disapear at the same time as the infobar
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Senderlogo in der GUI (Infoviewer)

Beitrag von dbt »

Bevor dieses Thema komplett offtopic zum Signalbar-Thema wird, nehme ich das Thema von hier :
http://forum.tuxbox-cvs.sourceforge.net ... 33#p356933
mit rein.
Wie es momentan mit den Logos vonstatten geht, steht schon mal hier.
Für Signalbars bitte extra ein Thema aufmachen :wink: