[ANNOUNCE] ExtRecMenu-Plugin 0.9a (Bugfix-Release)

  • Zitat

    Original von nordlicht
    Zumal das Feedback auch schon mal umfangreicher war, das hat einen dann immmer etwas angetrieben ;) Oder vielleicht funktioniert ja mittlerweile alles zufriedenstellend :D Meistens wird sich ja nur gemeldet, wenn etwas nicht funktioniert :P Ist ja nicht nur bei meinen Plugins so.


    Ja, das Plugin funktioniert jetzt so gut, dass es kaum noch "Beschwerden" gibt. Bei mir hat es etwas gedauert, bis ich die Version testen konnte, weil ich erst mal mit VDR-1.3.47 beschäftigt war.


    Beim flüchtigen Durchsuchen der Sourcen, ist mir aufgefallen, dass einige Klassen fast identisch mit den Original-Klassen des VDR sind. Das liegt wohl daran, dass sie vom VDR nicht in einer Headerdatei exportiert werden. Das könnte natürlich zu einem Problem werden, wenn sich die Klassen im VDR ändern. Hast du schon mal bei Klaus angefragt, ob er diese Klassen exportieren würde? Es wäre auf jeden Fall die bessere Lösung.


    Tom

  • Zitat

    Original von TomG
    Beim flüchtigen Durchsuchen der Sourcen, ist mir aufgefallen, dass einige Klassen fast identisch mit den Original-Klassen des VDR sind. Das liegt wohl daran, dass sie vom VDR nicht in einer Headerdatei exportiert werden. Das könnte natürlich zu einem Problem werden, wenn sich die Klassen im VDR ändern. Hast du schon mal bei Klaus angefragt, ob er diese Klassen exportieren würde? Es wäre auf jeden Fall die bessere Lösung.


    Die Klasse cReplayControl musste ich mit ins Plugin stecken, weil sie nach Beenden der Wiedergabe ins VDR-Aufzeichnungs-Menü springt. Das ist der einzige Grund, ich wüsste aber auch nicht auf anhieb, wie man der Klasse beibringen könnte, nach Beenden ein Plugin aufzurufen. Wäre vielleicht ein Vorschlag an Klaus für VDR 1.5


    Die Klasse cRecordingInfo habe ich auch wegen ein paar Änderungen in dem Plugin, aber da wird ja auch kaum was gemacht.


    Einzig die Klasse cMenuCommands ist eine 1-zu-1-Kopie, auf die ich verzichten könnte, wenn sie in der entsprechenden Header-Datei stehen würde. Mal schauen.


    Zitat

    Original von balta
    Hab die neue Version noch nicht ausprobiert, aber haste auch schon das Editieren von Episodentitel etc. eingebaut??Beschreibung editieren wird wohl etwas schwieriger sein im VDR, da die Editierfelder ja nur eine Zeile haben...


    Da muss ich, glaube ich, direkt in der info.vdr rumfuschen. Muss ich mich erstmal mit auseinandersetzen, da ich in Sachen Text-Datei editieren bis jetzt überhaupt noch nichts programmiert habe.

    Zitat

    Da kommt mir noch ne Idee, wahrscheinlich etwas schwer umzusetzen. Könnte man nicht auch richtige Video-DVDs integrieren?? Sind doch auch nur mpeg-files in einem bestimmten Ordner. So hätte man dann sein ganzes "Film-Archiv" im VDR zur Auswahl.


    Das macht der DVD-Archive-Patch von DMH, wird bei Gelegenheit integriert. Pat schreit da schon seit Version 0.7 nach :D


    Gruß
    Nordlicht

  • Hallo Leute,


    bin wieder am Basteln. Bis jetzt sand ja beim Aufruf des Plugins in der Titelzeile einfach "Erweitertes Aufzeichnungsmenü". Ich habe das jetzt durch die Anzeige des freien Plattenplatzes in Prozent und als Zeitangabe, wie es auch beim VDR-Hauptmenü ist, ersetzt. Was haltet ihr davon? Sollte davor noch was stehen? Wenn ich "Erweitertes Aufzeichnungsmenü" beibehalte, werden die Daten nicht mehr mit angezeigt, da schon zu viel Platz verbraucht wurde. Ist aber glaube ich auch nicht notwendig, schließlich sollte man sich schon bewusst sein, was man da aufgerufen hat ;D


    Mir graut es momentan noch ein bisschen davor, die Umbenennen/Verschieben-Routine auf "mv" umzubauen, wenn, dann soll Verzeichnis umbenennen/verschieben ja gleich mit dazu. Da muss ich einiges Umstricken. Das werde ich wohl am Wochenende in Angriff nehmen.


    An die Shell-Skript-Gurus: wenn ich die Parameter für das dvdarchive.sh Skript mit Hochkommas quote, muss ich dann außer vor die Hochkommas noch irgendwo einen Backslash vorsetzen? Wenn, dann will ich es ja gleich richtig machen ;)


    Gruß
    Nordlicht

  • Feedback vdr-extrecmenu-0.9a:
    --------------------------------------------

    Zitat

    Original von nordlicht
    Zumal das Feedback auch schon mal umfangreicher war, das hat einen dann immmer etwas angetrieben ;) Oder vielleicht funktioniert ja mittlerweile alles zufriedenstellend :D Meistens wird sich ja nur gemeldet, wenn etwas nicht funktioniert :P Ist ja nicht nur bei meinen Plugins so.


    Wie sagte einst ein nordlicht: "Die UNI hat wieder begonnen".
    Außerdem funktioniert dein Plugin mittlerweise wirklich gut.


    Eine Frage an alle zur Einstellung der Sortierreihenfolge: sieht irgendjemand mehr als die Hälfte des Eintrages im Setup?
    Un wo wir gerade dabei sind: auch ich unterstütze die Belegung der "0" zum ändern der Sortierreihenfolge (macht VDR auch so).


    Das oben von vdrchuck beschriebene Problem mit dem cmdsubmenu-patch (Unterverzeichnis wird nicht angezeigt) habe ich auch.
    Habe "vdr-cmdsubmenu-0.4-1.3.36.diff" von TomG genommen


    Desweiteren scheint auch der JumpPlay-patch (vdr-jumpplay-0.7-1.3.46.diff, TomG) nicht zu funktionieren. Der oben von TomG beschriebene Patch war für das kompilieren von extrecmenu hierbei nötig.


    Mit dem VDR Aufzeichnungsmenü funktioniert beides problemlos.


    Ich verwende NICHT den Bigpatch (und normalerweise auch nicht cmdsubmenu und jumpplay).



    Monroe

  • Zitat

    Original von nordlicht
    bin wieder am Basteln. Bis jetzt sand ja beim Aufruf des Plugins in der Titelzeile einfach "Erweitertes Aufzeichnungsmenü". Ich habe das jetzt durch die Anzeige des freien Plattenplatzes in Prozent und als Zeitangabe, wie es auch beim VDR-Hauptmenü ist, ersetzt. Was haltet ihr davon? Sollte davor noch was stehen? Wenn ich "Erweitertes Aufzeichnungsmenü" beibehalte, werden die Daten nicht mehr mit angezeigt, da schon zu viel Platz verbraucht wurde. Ist aber glaube ich auch nicht notwendig, schließlich sollte man sich schon bewusst sein, was man da aufgerufen hat ;D


    Das sehe ich gemischt.
    Es sollte da auf jeden Fall stehen wo man ist (allein schon um konsistent mit den anderen Menüs zu bleiben). Ich plädiere für
    "Aufzeichnungen - Disk 94% 1:47 frei"
    oder
    "Aufzeichnungen - 1:47 frei"
    Ist dann so wie beim Programmmenü (z.B. "Programm - SAT.1").
    Zusammen mit dem Ersetzen des originalen Aufzeichnungsmenüs fällt dann gar nicht mehr auf, dass es sich um ein Plugin handelt. Das Optimum wie ich finde.


    Zitat

    Original von nordlicht
    Mir graut es momentan noch ein bisschen davor, die Umbenennen/Verschieben-Routine auf "mv" umzubauen, wenn, dann soll Verzeichnis umbenennen/verschieben ja gleich mit dazu. Da muss ich einiges Umstricken. Das werde ich wohl am Wochenende in Angriff nehmen.


    Und warum ist das nötig? Wegen den Leuten mit den Symlinks oder den Verzeichnissen?
    Ich finde die Verwendung eines externen Programms nicht so schön (ist aber nur ne persönliche Meinung)



    Monroe

  • Hi Monroe,


    leider habe ich beim Setup-Menü keinen Einfluss auf die Position der Parameter, dass ist ein von VDR vorgegebener Wert. Das Ändern der Sortierung durch drücken von 0 will ich in die nächste Version mit einbauen. Wenn ich die Umbenennen/Verschieben-Routine umgebaut habe, sind die Voraussetzungen dafür geschaffen. Dann schmeiße ich den Setup-Eintrag zum Sortieren auch wieder raus, da man das dann ja für jedes Verzeichnis direkt einstellen kann.


    Die JumpPlay- und CmdSubMenu-Funktionalität funktioniert nur in Zusammenhang mit dem BigPatch, beides lässt sich nach meinem aktuellen Kenntnisstand nicht ins Plugin einbauen. Wenn einer oder beide Patches einzeln angewendet sind, müssen die entsprechenden #ifdef's gelöscht oder auskommentiert werden und das Plugin neu übersetzt werden. Dann sollte das auch klappen. TomG hat ja in den aktuellen JumpPlay-Patch ein #define eingebaut, was zumindestens diese Problematik vereinfacht. Aber wenn ich nur noch danach Abfrage, sind die Nutzer älterer VDR-Versionen mit entsprechendem BigPatch wieder aufgeschmissen :( Ich denke mal, wenn VDR 1.4 raus ist und der entsprechende BigPatch dazu, werde ich das Plugin daran ausrichten, Nutzer älterer Versionen müssen dann halt Hand anlegen. (Wenn man Argumente gegen Patches bräuchte, wäre diese Situation wahrscheinlich ein Paradebeispiel :D)


    Ansonsten habe ich zwar jetzt wieder Uni, was aber nur heißt, dass ich nicht ganz soviel Zeit habe. Wenn ich dann aber was Neues rausbringe, sollte ich ja trotzdem wissen, ob es funktioniert ;)


    Gruß
    Nordicht

  • Zitat

    Original von Monroe


    Und warum ist das nötig? Wegen den Leuten mit den Symlinks oder den Verzeichnissen?
    Ich finde die Verwendung eines externen Programms nicht so schön (ist aber nur ne persönliche Meinung)

    Richtig glücklich bin ich darüber auch nicht, aber anscheinend gibt es doch ein Menge Leute, die ihr /video-Verzeichnis auf mehrere Platten verteilen. Wobei das Anpassen der Symlinks dann über ein Skript geschieht/geschehen muss, da hat mir vejoun schon Hilfe angeboten.


    Für Vorschläge, wie man das anders lösen kann, bin ich natürlich offen!


    Gruß
    Nordlicht

  • Zitat

    Original von nordlicht
    leider habe ich beim Setup-Menü keinen Einfluss auf die Position der Parameter, dass ist ein von VDR vorgegebener Wert.


    Ist mir schon klar, aber vielleicht ist es bei 16:9 ja anders? Deshalb meine Frage.


    Zitat

    Ansonsten habe ich zwar jetzt wieder Uni, was aber nur heißt, dass ich nicht ganz soviel Zeit habe. Wenn ich dann aber was Neues rausbringe, sollte ich ja trotzdem wissen, ob es funktioniert ;)


    Damit meinte ich mich. Auch meine Uni hat wieder begonnen.
    Außerdem hielt mich "TES IV: Oblivion" doch sehr vom testen ab :D



    Monroe

  • Zitat

    Original von nordlichtDas Ändern der Sortierung durch drücken von 0 will ich in die nächste Version mit einbauen.

    Megafreu :)


    nordlicht, monroe: Auch die Uni geht irgendwann vorbei. Lohnt sich am Ende fast nicht - man bekommt ja nur 1 Papier mit etwas Text drauf ;)

    (( Kein VDR im Augenblick ))
    Desktop: OS X 10.4 - PowerBook G4
    Misc. HW: XBox 1.0 w/ XBMC & Sanyo Z3S & Onkyo TX-SR503E

  • Hi,

    Zitat

    Original von nordlicht
    An die Shell-Skript-Gurus: wenn ich die Parameter für das dvdarchive.sh Skript mit Hochkommas quote, muss ich dann außer vor die Hochkommas noch irgendwo einen Backslash vorsetzen? Wenn, dann will ich es ja gleich richtig machen ;)


    Imho muss, wenn Du den Parameter in " packst, nur " gequotet werden.

    VDR1: Gigabyte GA-M720-US3 (nVidia Corporation MCP78S [GeForce 8200]), Athlon II X2 240, 2GB RAM, Intel 82574L Gigabit, Debian Squeeze, Kernel 2.6.38.3 mit linux-media.tar.bz2 vom 20.04. 10:04, dvbhddevice fb6b1beedb72, VDR-1.7.22 (extension-Patch, 15 Plugins), epgsearch, extrecmenu, ...
    VDR2: Debian Etch, 2.6.21.3, K6-2 400, 192MB, NFS-Root, 466GiB über NFS, 1xNexus 2.1, 1xNova S, VDR-1.4.7
    Server: Debian Squeeze, 2.6.35.7, AMD X2 240e, 4GB, System: Raid1 2x500GB, Aufnahmen: Raid5 4TB + 1x 500GB, 1000MBit LAN
    Episodenlisten für epgsearch, VDRSeriesTimer

  • Zitat

    Original von nordlicht
    bin wieder am Basteln. Bis jetzt sand ja beim Aufruf des Plugins in der Titelzeile einfach "Erweitertes Aufzeichnungsmenü". Ich habe das jetzt durch die Anzeige des freien Plattenplatzes in Prozent und als Zeitangabe, wie es auch beim VDR-Hauptmenü ist, ersetzt. Was haltet ihr davon?


    Gute Idee. Beim normalen Aufnahmen- und Timer-Menü ist mir letztens auch aufgefallen, dass diese Anzeige da gut hinpassen würde.


    Tom

  • Zitat

    Original von nordlicht
    Die Klasse cReplayControl musste ich mit ins Plugin stecken, weil sie nach Beenden der Wiedergabe ins VDR-Aufzeichnungs-Menü springt. Das ist der einzige Grund, ich wüsste aber auch nicht auf anhieb, wie man der Klasse beibringen könnte, nach Beenden ein Plugin aufzurufen. Wäre vielleicht ein Vorschlag an Klaus für VDR 1.5


    Du könntest myReplayControl von cReplayControl erben lassen und nur die Methode überschreiben, die etwas anders machen soll.


    Zitat

    Die Klasse cRecordingInfo habe ich auch wegen ein paar Änderungen in dem Plugin, aber da wird ja auch kaum was gemacht.


    Bei cRecordingInfo könntest du auch jetzt schon mit Vererbung arbeiten. Aber wenn dein myMenuRecordingInfo sowieso alles ganz anders macht, bringt das wohl nicht viel.


    Tom

  • Zitat

    Original von nordlicht
    TomG hat ja in den aktuellen JumpPlay-Patch ein #define eingebaut, was zumindestens diese Problematik vereinfacht. Aber wenn ich nur noch danach Abfrage, sind die Nutzer älterer VDR-Versionen mit entsprechendem BigPatch wieder aufgeschmissen :(


    Für ältere Bigpatchversionen könntest du ja so etwas vorsehen:


    #if BIGPATCHVERSION <= xxx
    #define JUMPPLAYVERSNUM 6
    #endif


    #if BIGPATCHVERSION <= yyy
    #define CMDSUBMENUVERSNUM 4
    #endif


    Ich nehme jedenfalls an, dass die BIGPATCHVERSION immer hochgezählt wird, so dass du sie entsprechend auswerten kannst. Auf diese Weise brauchst du nur auf die Defines
    JUMPPLAYVERSNUM bzw. CMDSUBMENUVERSNUM testen.


    Ich bin zwar noch nicht so weit mit dem Einbau des Defines in den CmdSubmenu-Patch, aber dass das Define CMDSUBMENUVERSNUM heißen wird, habe ich schon mal mit Frank abgestimmt. Er wird es in die nächste BigPatch-Version so einbauen.


    Tom

  • Um noch mal auf den überlangen Setupeintrag für das Sortieren zu kommen.
    Da er nur zur hälfte lesbar ist, ist er nur bedingt brauchbar. Ich musste z.B. erst die Sourcen (i18n.c)
    lesen, um die möglichen Bedeutungen zu verstehen.


    Da es Systembedingt ist und von VDR vorgegeben, lässt es sich leider nicht direkt ändern.
    Auch kann man die Informationen kaum kürzer ausdrücken.
    Daher schlage ich vor diesen Eintrag in zwei aufzusplitten. Z.B.:

    Code
    Aufnahme sortieren nach        Alphabet
                                     Datum
      Sortieren anwenden auf         Alle Verzeichnisse
                                     nur Hauptverzeichnis


    oder so ähnlich.
    Was haltet ihr davon?



    Monroe

  • Hallo Leute,


    Monroe
    Wie gesagt, in der nächsten Version schmeiße ich diesen Setup-Parameter wieder raus, da man die Sortierung dann für jedes Verzeichnis selber einstellen kann.


    TomG
    Danke für den Tipp mit den #define's. Mit dem ganzen Präprozessor-Gedöns kenne ich mich kaum aus, habe ich bis jetzt nicht gebraucht...


    Zu deinem Vorschlag, myReplayControl von der cReplayControl abzuleiten. Habe es mal versucht, bleibe jetzt aber hängen. Meine Klassen-Definition sieht jetzt so aus:

    Beim Kompilieren bekomme ich jetzt aber folgende Fehlermeldung:

    Code
    mymenurecordings.c: In member function »eOSState myMenuRecordings::Play()«:
    mymenurecordings.c:439: Fehler: »cControl« ist eine nicht erreichbare Basis von »myReplayControl«
    make: *** [mymenurecordings.o] Fehler 1

    Die entsprechende Code-Stelle sieht so aus:

    Code
    myReplayControl::SetRecording(recording->FileName(),recording->Title());
        cControl::Shutdown(); // stop running playbacks
        cControl::Launch(new myReplayControl); // start playback  <= DAS HIER MAG DER COMPILER NICHT!
        return osEnd; // close plugin

    Muss ehrlich zugeben, dass ich mich mit der Objektorientierung, zumindestens was die Vererbung angeht, immer noch etwas schwer tue. Hat jemand einen Tipp, wie ich das lösen könnte? Ansonsten bleibt die Klasse so, wie sie ist, drin.


    Gruß
    Nordlicht

  • "nicht erreichbare Klasse" - vielleicht "myReplayControl" eine "friend"-Klasse machen, aber das würde nen Patch benötigen. Habe aber auch seit Ewigkeiten kein C++ mehr programmiert, nur Java da gibt es solche Schweinereien nicht.

    (( Kein VDR im Augenblick ))
    Desktop: OS X 10.4 - PowerBook G4
    Misc. HW: XBox 1.0 w/ XBMC & Sanyo Z3S & Onkyo TX-SR503E

  • Hi ravemax,


    wenn, dann möchte ich das ohne Patchen von VDR lösen. Eigentlich funktioniert das ganze bis jetzt ja auch, wollte nur mal ausprobieren, ob es auch so geht. Vielleicht ist das ganze aber auch gar nicht so sinnvoll, wenn ich weitere Änderungen vornehme, muss ich ja auch die entsprechenden Methoden wieder implementieren.


    Mir schwebt das z.B. vor, dass Datum und Uhrzeit der Aufzeichnung beim Wiedergabe-Display nicht angezeigt werden. Finde das überflüssig, zumal dadurch auch Platz vor den eigentlichen Namen verloren geht.


    Gruß
    Nordlicht

  • Zitat

    Original von nordlicht
    Zu deinem Vorschlag, myReplayControl von der cReplayControl abzuleiten. Habe es mal versucht, bleibe jetzt aber hängen. Meine Klassen-Definition sieht jetzt so aus:


    Die static Variablen fileName und title sind doch schon in cReplayControl definiert. die solltest du hier auf keinen Fall verdecken. Die static Methoden sind dann wahrscheinlich auch unnötig, wenn sie nichts anderes machen, als die geerbten Varianten.


    So wie ich dich verstanden habe, ist die einzige Änderung in ProcessKey. Also solltest du auch nur ProcessKey überschreiben. In der Implementation von ProcessKey wäre es am besten, wenn du die geerbete Version aufrufst und deine Sonderbehandlung vorher und/oder danach einbaust, falls das möglich ist. Das würde dann so aussehen:



    In vdr/menu.c macht beispielsweise cMenuText::ProcessKey etwas in der Art.


    Zitat

    Beim Kompilieren bekomme ich jetzt aber folgende Fehlermeldung:

    Code
    mymenurecordings.c: In member function »eOSState myMenuRecordings::Play()«:
    mymenurecordings.c:439: Fehler: »cControl« ist eine nicht erreichbare Basis von »myReplayControl«
    make: *** [mymenurecordings.o] Fehler 1

    Die entsprechende Code-Stelle sieht so aus:

    Code
    myReplayControl::SetRecording(recording->FileName(),recording->Title());
        cControl::Shutdown(); // stop running playbacks
        cControl::Launch(new myReplayControl); // start playback  <= DAS HIER MAG DER COMPILER NICHT!
        return osEnd; // close plugin


    Fehlt da ein Include? Die beanstandete Stelle fällt aber sowieso weg, wenn du nur noch ProcessKey überschreibst.


    Tom

Jetzt mitmachen!

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