Beiträge von Dr.Best

    Ich hab so ne Funktion in unser Boardimage implementiert, damit alle gemounteten Verzeichnisse in dieser Liste dort zusätzlich mit angezeigt werden. :smiling_face: Kannst ja mal testen wenn Du magst!


    Grüße
    Dr. Best

    Zitat

    Original von Seddi
    Im ersten Abschnitt, den du auskommentiert hast, hast du auch die Funktion:


    blit2FB(...


    mit auskommentiert ... nun ja wie soll ich sagen genau diese Funktion schiebt das dekodierte Bild in den Framebuffer :grinning_squinting_face:


    Wollte ich ja, damit ich sehen kann, ob der schwarze Hintergrund am Bild lag oder am Setmode.


    Ich hab mir auch schon die Spiele angeschaut (fx2), ob ich hier irgendwo Code Hinweise bekomme. Leider aber auch nix, was ich jetzt sofort richtig interpretieren könnte.LazyT schafft es ja auch irgendwie, nur ein kleines Bild darstellen zu können...


    Ich frag nochmal bei Gelegenheit im irc nach!


    Danke für Deine Hilfe!

    Danke für Deine Erklärungen Seddi! =)


    Ich hatte am Wochenende mal versucht, einfach die clearFB auszukommentieren und überhaupt kein Bild dargestellt .


    Also diesen Codeabschnitt hatte ich auskommentiert:


    Code
    /* ClearFB if image is smaller */
    	if (x_size < (int)var->xres || y_size < (int)var->yres)
    		clearFB(var->bits_per_pixel, bp);
    	blit2FB(fbbuff, x_size, y_size, var->xres, var->yres, x_pan, y_pan, x_offs, y_offs, bp);


    Das komsiche ist, das in dem Moment, dass der Bildschirm dennoch schwaz wird. Eventuell ist ja das SetMode dafür verantwortlich, aber wie Du merkst hab ich von Tuten und Blasen bei dem Thema keine Ahnung, sind nur Vermutungen.... :grinning_squinting_face:


    Code
    if (screenInfo->bits_per_pixel != 16)
    	{
    		fbClass::getInstance()->lock();
    		fbClass::getInstance()->SetMode(720, 576, 16);
    #if HAVE_DVB_API_VERSION == 3
    		fbClass::getInstance()->setTransparency(0);
    #endif
    	}



    Zitat

    Wenn du dir die Routinen in fb_display.cpp mal genauer ansiehst, kannst du relativ viel über den Framebuffer lernen und die Routinen sind auch alle relativ allgemein. Du kannst quasi die ganzen Display und Convert und Pic Decode Routinen (pictureViewer.cpp) nutzen und den "Rahmen" drum herum selbst schreiben (quasi als Ersatz für ePicViewer). Dann müsstest du das hinbekommen ohne die eigentlichen Enigma Sourcen zu verbiegen.


    Ich hab , wie gesagt, letztes Wochenende hier ziemlich "rumgespielt", aber zu keinem Ergebniss gekommen (also bzgl. schwarzen Hintergrund, Bilder konnte ich immerhin anzeigen und positionieren). Vielleicht funktioniert das ja jetzt Dank Deiner Erklärung. :smiling_face: Werde später es nochmal versuchen, am Wochenende habe ich entnervt aufgegeben, da ich von Framebuffern aber auch wirklich überhaupt keine Ahnung habe :winking_face: und mir das Lesen im Internet über dieses Thema leider nicht weitergeholfen hat. :confused_face:



    Nachtrag (kann mir nicht selber antworten! :grinning_squinting_face: :frowning_face:


    in apps/tuxbox/enigma/lib/gdi/fb.cpp --> fbClass::SetMode habe ich eben gesehen, dass hier auch der Befehl


    Code
    memset(lfb, 0, stride*yRes);

    gesetzt wird...


    Mir glatt entgangen am WE... :smiling_face: Darum dürfte der Bildschirm wohl auch immer schwarz werden...


    Das mit den transparenten Farben setzen hab ich zwar beim ersten Lesen nicht gleich verstanden von Dir, aber vielleicht wird das ja noch was... :winking_face:

    Zitat

    Original von guano30
    ...Nur fühlen sich immer mehr der Herren ans Bein gepinkelt, wenn sich wirklich mal einer eines Problems annimmt und das dann nicht DMM konform ist......... Sind das nun die neu auserkohrenen Sonnenkönige im Bereich Enigma 2 ?...


    Wer fühlt sich denn hier ans Bein gepinkelt? :face_with_rolling_eyes:


    Im Gegenteil, tmbinc hat es sogar begrüßt, wenn Freizeitentwickler sich an dem Thema WebIf dran machen... :grinning_squinting_face:

    Ich hab zwar keine 7025, mische mich jetzt aber hier mal ein... :grinning_squinting_face:



    Zitat

    Original von guano30
    Wie kann daran gearbeitet werden, wenn man im IRC diskutiert wie es realisiert wird?
    Ihr baut auch erst das Haus und dann den Keller oder was ?


    Sei mir nicht böse, aber Du scheinst von Softwareentwicklung überhaupt keine Ahnung zu haben... :winking_face:


    Um auf Dein komisches Beispiel mit dem Haus zurückzukommen: Ohne Architekten, der das Haus plant, keine Bauarbeiter, die das Haus bauen...


    Und zZ. wird halt noch über eine gescheite Softwarearchitektur geredet...und das ist ganz klar: wir arbeiten daran... :winking_face:


    Was Thowi macht, ist von der Idee her quick & dirty, vor allem dirty, weil funzen tut bei ihm das ja auch nicht, soviel ich mitbekommen habe... :grinning_squinting_face:


    Schön, dass DMM diesen Weg diesmal beim WebIF nicht einschlägt... :face_with_tongue: Auch wenn ich das WebIf aus dem Enigma1 gar nicht soooo schlecht finde... :smiling_face:

    Hi!


    Ich würde gerne ein Bild direkt im Framebuffer anzeigen, aber nicht den ePictureViewer verwenden, da dieser den gesamten Bildschirmhintergrund schwarz macht, und das will ich nicht... :frowning_face:


    Also ich stelle mir das so vor: ein Bild , von dem ich Breite+Höhe kenne (sagen wir 200 x 160) auf dem Screen positionieren und dann nur diese Koordinaten mit einem Bild füllen, während das normale Fernsehbild weiterläuft.


    Wenn ich mir im ePictureViewer die Zeile

    Code
    struct fb_cmap map_back = {0, 256, red_b, green_b, blue_b, NULL};


    anschaue, weiss ich, dass das letzte Argument für Transparenz steht. Eventuell ist es ja auch damit getan, hier einen Wert zu setzen? :confused_face: Wenn ja, nur welchen? :frowning_face:


    Ich wäre über Hinweise von Euch sehr dankbar! :smiling_face:


    Grüße Dr. Best

    Wenn ich die eSize bekommen will, um die Breite zu erlangen, muss ich dann über die Methode getExtend gehen? Oder liege ich da auch falsch? :confused_face:


    also


    Code
    eSize m = MeinLabel->getExtend();


    und nun m.width() ?


    Wenn ich das nämlich so mache stimmen die Zahlen leider nicht... :confused_face:


    Grüße
    Dr. Best

    Ist zwar schon ne Weile her, aber vielleicht brauchste die Antwort ja noch... :winking_face:


    Wenn Du den "mode" Inhalt brauchst, bekommt Du diesen über


    Code
    int MeinModus = eZapMain::getInstance()->getMode();


    Grüße
    Dr. Best

    Hi!


    Ich bekomme es nicht hin, dass mir die Methode getLeftTop des Labels vernüftige Werte zurückbringt.


    Wenn ich über einen Skin eine Position eines Labels mit getLeftTop bekommen will, bekomme ich einen ePoint (1,1) :confused_face:


    im Prinzip sieht der Code wie folgt aus:


    Code
    ePoint m = MeinLabel->getLeftTop();


    in m.x() oder m.y() steht jedoch immer nur ne 1 drinnen... :face_with_rolling_eyes:


    Hat jemand einen Vorschlag? :smiling_face:


    Grüße
    Dr. Best

    Hi raphae1!


    Da Du hier in Enigma1 reingepostet hast gehe ich davon aus, dass Dich die Enigma2 Features nicht kümmern... :grinning_squinting_face:


    DMM hat schon lange keine neuen Funktionen für Enigma1 entwickelt, und gehe davon aus, dass sie es auch nicht mehr machen, denn für DMM ist Enigma2 die Zukunft. :smiling_face:


    Ich finde die Handhabung von überlappenden Timer in Enigma1 auch nervend, deswegen programmiere ich gerade für diese Thematik unter Enigma1 eine
    andere, konfortablere Lösung... :winking_face:


    Bei Bedarf kannste ja mal auf unsere Homebase kommen, ich weiss nicht, wie DMM hier mit Fremdimages umgeht, selbst wenn sie kein EMU Support drinnen haben... =)


    Grüe
    Dr. Best

    Hi mordillo!


    Hier mal ein Beispielcode... :smiling_face:



    Grüße
    Dr. Best