[ANNOUNCE] Muggle 0.1.10

  • Nein ,
    ich kann nur vorwaerts spulen und
    bei Datenbank synchronisieren beliben alte Datensaetze bestehen.
    Darus folgt Errormessage:Cannot ..blahblah , die verheitzt dann
    das Graphtft-Plugin und VDR verabschiedet sich. ;)


    Das sieht dann so aus und wenn ich dann nicht Muggle sofort beende , gibts nen Segfault.
    Ist definitiv nen alter Pfad . Hatte im Setupo nur "Datenbank
    synchronisieren" aufgerufen.
    Vielleicht fuegt es ja nur neue Tracks hinzu , allerdings wuerde ich es
    dann auch so nennen.


    (Letzter Screenshot , versprochen ;))

  • Zitat

    Originally posted by Morone
    bei Datenbank synchronisieren beliben alte Datensaetze bestehen.


    hast Du in Setup/Muggle die Option "Delete stale reference" /
    "Datenbankeintrag löschen, wenn Datei fehlt" aktiviert?


    Bei mugglei müsste man Option -z nehmen

  • Nein , koennte daran liegen. ;)
    Im OSD sehe ich nur "Datenbankeintrag loeschen,wenNein".
    Nen kuerzer Eintrag waere da sinnvoll fuer Leute mit grosser Schrift.
    Werde es mal versuchen thx.


    Edit:
    Mein Datenbank ist soeben (zum Glueck nur lt. Muggle)
    von > 15000 auf 14 Tracks geschrumpft. :rolleyes:
    Denke mal da ist noch nen kleiner Bug drin.


    Ok, doch kein Bug , ist immer dasselbe. Warum da kein
    Button geopfert wird wo drauf steht "Back" habe ich nie verstanden.
    Wahrscheinblich bin ich aber auch fuer Muggle zu bloed.
    Denke es ist trotzdem besser beim Aufruf von Muggle entweder
    im TopLevel zu starten oder den User drauf hinzuweisen das man mit
    Exit/Back noch Level zurueckgehen kann. ;)


    Man koennte ja "Sofort spielen" opfern und auf "Play" legen.
    Rot= Zurueck (oben im OSD noch verdeutlichen "Genre/Trance" oder
    nur "....Trance" . "Hinzu" und "Sammlungen" ein Button weiter
    nach rechts.
    Naja vielleicht bin ich auch MP3-Plugin geschaedigt aber so kommen
    keine Missverstaendnisse auf.


    Denke also mal das mit dem Setupeintrag hat geklappt (habe schon ne neue Datenbank angelegt)

  • Hallo,
    vielen Dank für den Tip!


    Zitat

    Original von Morone
    Das liegt an Muggle .
    Der Player oder Decoder verschluckt sich kurz , wenn der
    Hintergrund als StillPicture geladen wird.


    Nur, wenn ich StillPicture abschalte, kommen keine Bilder mehr:-) Was bedeutet das eigentlich.....StillPicture?


    Wie der Zufall es so will bin ich heute von Kanotix-Kernel 2.6.13 auf selbst gebauten 2.6.15-7 gewechselt. Und die Aussetzer sind weg!


    Kann es sein, dass es auch was mit den DVB-Modulen zu tun hat?


    Tschau, Karsten.

    Mein VDR: LianLi-Gehäuse, AMD X2 64 5200+ auf Biostar TA690G, 768MB Ram, 250 GB HD, TT S3200, ne Airstar2 DVB-T und nen Touchpanel:-), Ubuntu Karmic , VDR 1.7.12 Extensionpatch mit x-vdr gebaut.


  • Das ist halt immer dieselbe Krise mit der Tastenbelegung. Du kannst Dir im Commands-menu (Blau) andere Bedeutungen der restlichen Farbtasten definieren, wenn Du magst. Dann kannst Du häufiger genutzte Befehle schneller erreichen.


    Ausgerechnet für "Back" würde ich nun keine Farbtaste opfern wollen, da es dafür doch eine Taste gibt, die Muggle sehr konsistent mit den anderen Menus des VDR nutzt. Eine Play-Taste hat wiederrum nicht jede FB.


    Bei Deinem Vorschlag müsste man auch noch das Commands-Menu opfern womit dann noch weitere 6 Befehle flöten gingen...


    Lars

  • Hi,


    ich bin über eine Problem gestolpert, bei dem muggle beim Hinzufügen von Titeln zur Sammlung abstürzt.


    Der Coredump offenbart eine Stack-Rekursion in mgMainMenu::Message1


    Code
    ....
    #585 0xb7c7a3b1 in mgMainMenu::Message1 (this=0x915e3b0, msg=0xb7ca5f80 "Added %s entries", arg1=
            {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<No data fields>}, _M_p = 0x94162fc "31"}, static _S_empty_rep_storage = {0, 0, 1485, 0}}) at vdr_menu.h:181
    #586 0xb7c7a3b1 in mgMainMenu::Message1 (this=0x915e3b0, msg=0xb7ca5f80 "Added %s entries", arg1=
            {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<No data fields>}, _M_p = 0x94162ec "31"}, static _S_empty_rep_storage = {0, 0, 1485, 0}}) at vdr_menu.h:181
    #587 0xb7c7a3b1 in mgMainMenu::Message1 (this=0x915e3b0, msg=0xb7ca5f80 "Added %s entries", arg1=
            {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<No data fields>}, _M_p = 0x94162dc "31"}, static _S_empty_rep_storage = {0, 0, 1485, 0}}) at vdr_menu.h:181
    ....


    scheinbar versagt gcc bei der Überladung der Funktion kann folgende Funktionen nicht nicht wie gedacht unterscheiden.
    Message1 (const char *msg, std::string arg1)
    Message1 (const char *msg, ...)

    Code
    # gcc -v
    Lese Spezifikationen von /usr/lib/gcc-lib/i486-linux/3.3.5/specs
    Konfiguriert mit: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --enable-__cxa_atexit --with-system-zlib --enable-nls --without-included-gettext --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
    Thread-Modell: posix
    gcc-Version 3.3.5 (Debian 1:3.3.5-13)


    Wenn der std::string-Parameter als Referenz übergeben wird lässt sich das Problem lösen.
    Anbei ein Patch dazu.




    Vielleicht sollte aus Performence gründen generelle auf ein pures "std::string" als Parameter bzw Rückgabewert verzichtet werden, und statt dessen Referenzen (& / const &) verwendet werden, damit unnötige Aufrufe des std::string-Copyconstructor zu vermeiden.



    BTW: Warum wird eigentlich fprintf zur Debugausgabe verwendet und nicht wie der vdr und alle anderen Plugins esyslog/dsyslog/isyslog ? Bei Interesse erstelle ich dazu einen Patch. Für mugglei würde sich dies ja per ifdef/endif selektiv festlegen.



    Andreas

  • Zitat

    Originally posted by Hulk
    Wenn der std::string-Parameter als Referenz übergeben wird lässt sich das Problem lösen.
    Anbei ein Patch dazu.


    Vielen Dank, habe ich integriert.


    Zitat

    BTW: Warum wird eigentlich fprintf zur Debugausgabe verwendet und nicht wie der vdr und alle anderen Plugins esyslog/dsyslog/isyslog ? Bei Interesse erstelle ich dazu einen Patch. Für mugglei würde sich dies ja per ifdef/endif selektiv festlegen.


    das wäre sicher sinnvoll. Ich nehme an, dass das ifdef nur in einem Headerfile vorkommen würde?

  • Zitat

    Ausgerechnet für "Back" würde ich nun keine Farbtaste opfern wollen, da es dafür doch eine Taste gibt, die Muggle sehr konsistent mit den anderen Menus des VDR nutzt. Eine Play-Taste hat wiederrum nicht jede FB.


    Bei Deinem Vorschlag müsste man auch noch das Commands-Menu opfern womit dann noch weitere 6 Befehle flöten gingen...


    Du bist aber auch nicht offen fuer Neuerungen :D


    Befehlsmenue geht nicht floeten , sondern nur "Sofort spielen".
    Das steht ja gleich wieder als erstes im Befehlsmenue.
    Ergo eh doppelt gemoppelt.
    Aber ok , muss ja nicht ne Farbtaste sein aber oben im Status
    sowas wie "Genre->Rap->Sugar Hill Gang" o. ae. waere net verkehrt.
    Ansonsten einmal zuviel gedrueckt und Muggle muss wieder
    uebers Menue (ja ja es sei denn jemand hat nen MacroKey) aufgerufen werden.


    Zitat

    Ausgerechnet für "Back" würde ich nun keine Farbtaste opfern wollen, da es dafür doch eine Taste gibt, die Muggle sehr konsistent mit den anderen Menus des VDR nutzt. Eine Play-Taste hat wiederrum nicht jede FB.


    Gibt bestimmt mehr FBs die keine Farbtasten haben.


    Zitat

    Du kannst Dir im Commands-menu (Blau) andere Bedeutungen der restlichen Farbtasten definieren


    Habe mich schon gewundert , das ich 3 x "Setzen" im Befehlsmenue habe und nach "Sofort spielen" 2 x "Sofort spielen".
    Erklaert einiges...


    Egal , waren nur Vorschalege......

  • Zitat

    Originally posted by Morone
    oben im Status sowas wie "Genre->Rap->Sugar Hill Gang" o. ae. waere net verkehrt.


    Das gibt es doch? Ich habe momentan keinen funktionierenden muggle,
    aber das müsste dann so aussehen:


    Rap:Sugar Hill Gang


    (Dass Rap ein Genre ist, muss man ja nicht hinschreiben)

  • Zitat

    Original von Morone
    Du bist aber auch nicht offen fuer Neuerungen :D


    Doch, sehr gerne sogar. Aber die Tastenbelegung ist so ungefähr in jedem zweiten Muggle-Thread ein Thema und es ist noch nichts dabei rumgekommen, was unisono als Verbesserung akzeptiert wurde.


    Zitat

    Original von Morone
    Befehlsmenue geht nicht floeten , sondern nur "Sofort spielen".
    Das steht ja gleich wieder als erstes im Befehlsmenue.
    Ergo eh doppelt gemoppelt.


    Sieh die Farbtasten in Muggle als Shortcuts ins Befehle-Menü. Man könnte ggf. "Ebene zurück" oder so ähnlich natürlich im Befehle-Menü integrieren, dann könntest Du es Dir auf eine Farbtaste legen.


    Wenn aber "Sofort spielen" nicht auf einer Farbtaste liegt, dann brauchst Du immer zwei Tastendrücke um mehr als ein Lied abzuspielen (ein Album z.B., alle Lieder eines Interpreten, alle Lieder aus einem Jahr oder alle Lieder von einem Genre).


    Zitat

    Original von Morone
    Ansonsten einmal zuviel gedrueckt und Muggle muss wieder
    uebers Menue (ja ja es sei denn jemand hat nen MacroKey) aufgerufen werden.


    Mindestens kursiert dazu ein Patch, evtl. könnte man auch das konfigurierbar machen, wurde schon mehrfach diskutiert. Ist halt nicht VDR-konform.


    Zitat

    Original von Morone
    Gibt bestimmt mehr FBs die keine Farbtasten haben.


    Die Farbtasten sind im Bedienkonzept des VDR einigermaßen fest verankert, während Tasten wie Play eher optional sind. Wir wollen mit Muggle einigermaßen konform der VDR-Bedienung sein, daher sind Funktionen eher den Farbtasten zugeordnet.


    Probier ruhig weiter, braucht mehr als 5 min bis man alles raushat, gebe ich zu.


    Lars

  • Hi,


    Zitat

    Original von wolfgang61


    das wäre sicher sinnvoll. Ich nehme an, dass das ifdef nur in einem Headerfile vorkommen würde?


    Anbei mein Patch dazu, alle Logging-Ausgaben gehen gemäß den VDR-Konventionen in den syslog..., unter Berücksichtigung des vdr-Parameter (-l 1..3). Doppelte Ausgaben nach stdout , stderr und syslog wurden zusammengefasst.


    Die Umsetzung mit #ifdef ging aufgrund des Makefile und des einmaligen Erstellen von mg_tools.o nicht. Deshalb hat mugglei jetzt sein eigenes "syslog_with_tid" als zentrale Ausgabe des Tools.


    Einzige Inkonsequenz ist der Plugin-Parameter -v wenn der VDR mit -l 1 gestartet wird, dann werden keine Debugausgaben erstellt. Wer dies möchten muss den VDR mit -l 3 starten, was aber der dem Defaultwert entspicht.


    Andreas

  • Zitat

    Originally posted by Hulk
    Anbei mein Patch dazu, alle Logging-Ausgaben gehen gemäß den VDR-Konventionen in den syslog..., unter Berücksichtigung des vdr-Parameter (-l 1..3). Doppelte Ausgaben nach stdout , stderr und syslog wurden zusammengefasst.


    Sieht gut aus, wobei ich momentan selber nicht testen kann.
    Ich hoffe, Lars macht das. Dann gibt es wohl ganz schnell ein 0.1.11.


    Dein Patch zu Message1 hilft bei Lars übrigens nicht. Ich habe nun
    das zweite Message1 ganz entfernt.


    Dein Log-Patch bringt bei mir Warnungen:


    Code
    mg_tools.c: In function 'void mgWarning(const char*, ...)':
    mg_tools.c:68: warning: format not a string literal and no format arguments


    so behoben:


    - isyslog(buffer);
    + isyslog("%s",buffer);


    Formale Korrektheit ist mir wichtiger als das letzte Bisschen Geschwindigkeit
    herauszukitzeln.

  • Zitat

    Original von Hulk
    scheinbar versagt gcc bei der Überladung der Funktion kann folgende Funktionen nicht nicht wie gedacht unterscheiden.
    Message1 (const char *msg, std::string arg1)
    Message1 (const char *msg, ...)


    Seltsam. Habe exakt dieselbe Compilerversion (auch Debian) und bei mir hilft der Patch nicht. Habe nun eine angepasste Version der Funktion Message1 gebaut (die lässt sich für den Sonderfall std::string ja auch vereinfachen) und nun klappt es auch bei mir.


    PATCH


    Rückmeldung obs geht wäre nett. Dann mache ich spätestens morgen eine 0.1.11


    Lars

  • Hi,
    würde gerne Testen aber leider habe ich auf dem VDR keine Entwicklerumgebung installiert.
    Mit dem Debianisieren von VDR Paketen habe ich mich noch nicht befasst :O


    Gruß


    Obelix



  • Zitat

    Original von LarsAC
    Keiner Zeit gehabt, das mal zu probieren? Patch sollte auf das Originalarchiv angewendet werden...


    Doch schon, ich habe vorhin die aufnahmefreie Zeit genutzt, um den VDR neustarten zukönnen und den Patch zu testen, und konnte noch keine Problem feststellen.


    Beim Review des Patches ist mir aber in vdr_player.c ist mir eine neue Stelle aufgefallen :

    Code
    if( graphtft ) 
         {
           graphtft->SetupParse( "CoverImage", cover.c_str() );
    +      cout << "Image sent: " << cover.c_str() << endl;
         }


    folgende Umsetzung wäre IMHO besser

    Code
    if( graphtft ) 
         {
           graphtft->SetupParse( "CoverImage", cover.c_str() );
    +     mgDebug ("Image sent: %s",cover.c_str());
         }


    Andreas

  • Hallo Lars,


    Juhuu, mit dem tipp von Morone (false = true) klappt es jetzt auch mit dem GraphTFT (GTFT), der rest war bei mir schon korrekt (graphtft-Enigma-skin).


    Habe auch getestet. Meine tests erfolgten auf 0.1.10 mit dem Bugfix von dir und dem false=true fix von Morone. GTFT ist "meine" version mit den oben erwähnten patches.
    (Habe endlich den übeltäter gefunden der immer GTFT abgeschossen hat ;))


    Noch ein paar kleinigkeiten zu Images. Also nach wie vor werden alle GD images benutzt und nicht die korrekten (war auch kein fix dabei, war also zu erwarten). Ein fix wäre nett :)



    Ich hatte einen crash während "Sofort Play", Backtrace am ende des posts. Bin aber nicht sicher wer da schuld ist !? VDR/muggle ist abgeschmiert bevor sound kam. Habe ein album selektiert und "Sofort Play" gewählt.


    Das das Cover nicht sofort kommt liegt an der option "Use Stillpicture", wenn ja dann kommen sie sofort bei abspielen, wenn nein erst beim ersten track wechsel.


    Wenn ich mit "sofort play" ein album starte dann sind bilder auf TV und GTFT synchron. Wenn ich aber springe zum nächsten track, dann sind sie nicht mehr synchron, GTFT fing bei image 1 wieder an (alpabetisch sortiert) und TV irgendwo anders (evt. beim nächsten bild). Ich habe auch den eindruck das es bei GTFT manschmal etwas länger dauert bis es anfängt die bilder zu wechseln (also nicht die 15 sek. aus den options).


    Play Status auf GTFT klappt bei den track wo es auch in vdr klappt. Scheinbar gibt es einige tracks wo es nicht funktioniert!? Da wird in VDR nur 0:00 als endzeit angezeigt, auf GTFT ist current-time und endzeit die selbe (zeit läuft). Warum es nicht geht bei eingen tracks habe ich noch keine zeit gehabt zu ermitteln. Von wo kommt denn die länge ? Aus DB oder aus ID3 ?


    Dann wäre da nicht die Image größe, kann man mit Muggle sie konvertieren lassen ? Oder wie ich schon mal vorgeschlagen hatte ein prefix einstellen das an der dateinamen rangehängt wird. Also wenn es Cover1.jpg heißt das man dann selber die dateien vorskalieren kann und als Cover1-300.jpg spechern. In den Optionen würde man dann "-300" angeben und diese images würden dann an GTFT gesendet. Besser wäre natürlich eine skalierung in muggle ;)


    Auf GTFT kommt keine "pfad", also Genre:Album:Track in der überschrift des Menüs wenn man sich vor/zurück bewegt. Hatte ich heute morgen auf dem GTFT gesehen, fernseher war aus, hatte keine zeit zu schauen obs auf auf dem TV so war. Sortierung war Genre:Album:Track (oder so ähnlich, aus erinnerung)



    Zurückspulen mit "pfeil links" geht nicht (MP3).



    @Morone
    Danke für das ermittlen :)


    backtrace "Sofort Play" crash :

    Code
    (gdb) bt
    #0  0x080b69d0 in cFilterData::Is (this=0x23c, Pid=103, Tid=2 '\002', Mask=255 'ÿ') at filter.c:60
    #1  0x080f98ef in cSectionHandler::Del (this=0x230, FilterData=0x9d11798) at sections.c:106
    #2  0x080b6b37 in cFilter::Del (this=0x8fc6b98, Pid=103, Tid=2 '\002', Mask=255 'ÿ') at filter.c:155
    #3  0x080e3387 in cPatFilter::Process (this=0x8fc6b98, Pid=0, Tid=0 '\0', Data=0x4282dea4 "", Length=60) at pat.c:279
    #4  0x080f9664 in cSectionHandler::Action (this=0x838cd80) at sections.c:212
    #5  0x0810fcb8 in cThread::StartThread (Thread=0x838cd80) at thread.c:244
    #6  0x40045f71 in pthread_start_thread () from /lib/i686/libpthread.so.0
    #7  0x4023659a in clone () from /lib/i686/libc.so.6
    Current language:  auto; currently c++

    Gruß
    Viking

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!