[Erledigt] tranparenz/alphablending

Wünsche, Anträge, Fehlermeldungen
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

[Erledigt] tranparenz/alphablending

Beitrag von GetAway »

Scheinbar wird beim Bootvorgang die Initialisierung für Transparenz nicht mehr durchgeführt.

Es fällt zunächst nicht auf. Die GUI ist nur minimal transparenter. Dachte erst ich hätte es an den Augen.
Ruft man aber z.B. das Plugin Sysinfo auf, bei dem der Hintergrund undurchsichtig sein sollte, so ist dieser nun fast transparent.

Ruft man den Menüpunkt für die Farbeinstellungen auf, so wird die Initialisierung durchgeführt und alles
erscheint wieder normal.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: [Broken] tranparenz/alphablending

Beitrag von seife »

Das ist auf Nokia (gtx)?
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Broken] tranparenz/alphablending

Beitrag von GetAway »

Korrekt.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: [Broken] tranparenz/alphablending

Beitrag von Gaucho316 »

Mal ins Blaue hineingeraten, kann es sein, dass eine der Änderungen in neutrino.cpp vom 29.08.2010 dafür verantwortlich ist?
http://cvs.tuxbox.org/lists/tuxbox-cvs- ... 00053.html

Ich glaube, die folgende Zeile war wichtig:

Code: Alles auswählen

...
     //USERMENU
     Timerlist            = new CTimerList;

-    colorSetupNotifier->changeNotify(NONEXISTANT_LOCALE, NULL);
-
     // setup recording device
     if (g_settings.recording_type != RECORDING_OFF)
         setupRecordingDevice();
...
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Broken] tranparenz/alphablending

Beitrag von dbt »

bitte das testen:

Code: Alles auswählen

diff --git a/tuxbox/neutrino/src/gui/osd_setup.cpp b/tuxbox/neutrino/src/gui/osd_setup.cpp
index c649d74..b3854dd 100644
--- a/tuxbox/neutrino/src/gui/osd_setup.cpp
+++ b/tuxbox/neutrino/src/gui/osd_setup.cpp
@@ -355,7 +355,8 @@ void COsdSetup::showOsdMenueColorSetup()
     CColorChooser* chContentSelectedTextcolor = new CColorChooser(LOCALE_OSDSETTINGS_COLORMENU_TEXTCOLOR_HEAD, &g_settings.menu_Content_Selected_Text_red, &g_settings.menu_Content_Selected_Text_green, &g_settings.menu_Content_Selected_Text_blue,NULL, colorSetupNotifier);
     CColorChooser* chContentInactivecolor = new CColorChooser(LOCALE_OSDSETTINGS_COLORMENU_BACKGROUND_HEAD, &g_settings.menu_Content_inactive_red, &g_settings.menu_Content_inactive_green, &g_settings.menu_Content_inactive_blue, &g_settings.menu_Content_inactive_alpha, colorSetupNotifier);
     CColorChooser* chContentInactiveTextcolor = new CColorChooser(LOCALE_OSDSETTINGS_COLORMENU_TEXTCOLOR_HEAD, &g_settings.menu_Content_inactive_Text_red, &g_settings.menu_Content_inactive_Text_green, &g_settings.menu_Content_inactive_Text_blue,NULL, colorSetupNotifier);
-
+    colorSetupNotifier->changeNotify(NONEXISTANT_LOCALE, NULL);
+    
     ocs->addItem( new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_COLORMENUSETUP_MENUHEAD));
     ocs->addItem( new CMenuForwarder(LOCALE_OSDSETTINGS_COLORMENU_BACKGROUND, true, NULL, chHeadcolor ));
     ocs->addItem( new CMenuForwarder(LOCALE_OSDSETTINGS_COLORMENU_TEXTCOLOR, true, NULL, chHeadTextcolor ));
@@ -383,6 +384,8 @@ void COsdSetup::showOsdInfobarColorSetup()
 
     CColorChooser *chInfobarcolor         = new CColorChooser(LOCALE_OSDSETTINGS_COLORMENU_BACKGROUND_HEAD, &g_settings.infobar_red, &g_settings.infobar_green, &g_settings.infobar_blue,  &g_settings.infobar_alpha, colorSetupNotifier);
     CColorChooser *chInfobarTextcolor_head     = new CColorChooser(LOCALE_OSDSETTINGS_COLORMENU_TEXTCOLOR_HEAD, &g_settings.infobar_Text_red, &g_settings.infobar_Text_green, &g_settings.infobar_Text_blue, NULL, colorSetupNotifier);
+    colorSetupNotifier->changeNotify(NONEXISTANT_LOCALE, NULL);
+    
     CMenuForwarder *fwInfobarBackground     = new CMenuForwarder(LOCALE_OSDSETTINGS_COLORMENU_BACKGROUND, true, NULL, chInfobarcolor);
     CMenuForwarder *fwInfobarTextcolor     = new CMenuForwarder(LOCALE_OSDSETTINGS_COLORMENU_TEXTCOLOR, true, NULL, chInfobarTextcolor_head);
 
diff --git a/tuxbox/neutrino/src/system/setting_helpers.cpp b/tuxbox/neutrino/src/system/setting_helpers.cpp
index 3dd5521..6d2ee8e 100644
--- a/tuxbox/neutrino/src/system/setting_helpers.cpp
+++ b/tuxbox/neutrino/src/system/setting_helpers.cpp
@@ -406,6 +406,7 @@ bool CTouchFileNotifier::changeNotify(const neutrino_locale_t, void * data)
 
 bool CColorSetupNotifier::changeNotify(const neutrino_locale_t, void *)
 {
+    printf("[neutrino] init osd color settings...\n");
     CFrameBuffer *frameBuffer = CFrameBuffer::getInstance();
 //    unsigned char r,g,b;
     //setting colors-.. 
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Broken] tranparenz/alphablending

Beitrag von GetAway »

@dbt

Funktioniert nicht. colorSetupNotifier->changeNotify wird genau 1x beim Booten aufgerufen.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: [Broken] tranparenz/alphablending

Beitrag von Gaucho316 »

Im Konstruktor von CAlphaSetup in alphasetup.cpp wird frameBuffer->setBlendLevel(*alpha1, *alpha2) aufgerufen. Kann es sein, dass das des Rätsels Lösung ist? Sollte man diesen Befehl vielleicht an eine andere Stelle verschieben? :gruebel:
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Broken] tranparenz/alphablending

Beitrag von GetAway »

Gaucho316 hat geschrieben:Im Konstruktor von CAlphaSetup in alphasetup.cpp wird frameBuffer->setBlendLevel(*alpha1, *alpha2) aufgerufen. Kann es sein, dass das des Rätsels Lösung ist? Sollte man diesen Befehl vielleicht an eine andere Stelle verschieben? :gruebel:
Guter Hinweis @Gaucho316 :D

Hier ist mal ein Fix dazu. Den Observer-Kram habe ich mal entfernt, wurde eh nix übergeben.
Kann man eventuell besser machen. Jedenfalls löst es das Problem.
Wie Immer mal drüber schauen und testen.

Edit: Aktualisiert. Es fehlte noch ein #ifdef
Patch: fix_init_alphablending.diff
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Broken] tranparenz/alphablending

Beitrag von dbt »

Hab das mal so reingenommen. :wink:
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Broken] tranparenz/alphablending

Beitrag von GetAway »

Danke. Threadtitel bitte anpassen.