[ANNOUNCE] DVDSwitch 0.0.1(Beta)

  • Hallo,


    voller Stolz (auch wenn es nachher großer Misst ist :rolleyes: ) präsentiere ich mein erstes Plugin: DVDSwitch in der Version 0.0.1.


    Gleich vorne weg: Es ist überhaupt mein erstes größeres C basiertes Projekt. Sollte der Code also absoluter Müll sein, weil dort viele Fehler (trotz intensiver Tests) drin stecken, nehme ich das Projekt wieder runter. Aber erst mal will ich es Euch zum testen und spielen anbieten.


    Das Plugin stellt im Grunde eine Parallelentwicklung zum genialen DVDSelect Plugin da. Nicht, dass das DVDSelect schlecht wäre oder so. Ganz im Gegenteil, es hat sich ja hier schon sehr bewährt und ich habe es quasi lieben gelernt. Da mir aber doch so einige Dinge fehlten, die ich gerne umgesetzt haben wollte, habe die Gelegenheit genutzt, das Thema komplett neu umzusetzen.


    Was macht es also: DVD-ISO Images und Verzeichnisse mit video-ts Struktur zum Abspielen mit dem DVD-Plugin anbieten.


    Hier Konkret die Möglichkeiten/Einstellungen:

    • Es gibt 3 Anzeigemodi zum Darstellen der Images:
      [list=1]
    • Modi 1 -> Alle Images ...
      macht nichts anderes als das DVDSelect-Plugin auch ... alle Images aus einem im Setup angegeben Verzeichnis anzeigen inkl. Unterverzeichnisse
    • Modi 2 -> Alle mit Kategorien ...
      Hier werden ebenfalls alle Images aufgelistet, aber sortiert nach Kategorien.
      Kategorien gibt es da 2 Typen. Der eine ist eine Sortierung nach Image-Typ. ... also, je nach dem ob es ein "ISO" Image ist, oder ein Verzeichnis mit entsprechender video_ts Struktur.
      Für den anderen Typ werden die Verzeichnisse selbst als Katergorie heranagezogen. Das ist besonders dann interessant, wenn die Images in Verzeichnisen sortiert sind, die bspw. Film-Genres entsprechen. Unterordner werden natürlich berücksichtigt.
    • Modi 3 -> Verzeichnis für Verzeichnis ...
      ist in etwa das, was auch das Image-Plugin bzw. Mplayer-Plugin machen. Es werden also alle Verzeichnisse zum "hineinnavigieren" angeboten und immer nur die Images angezeigt, die im entsprechenden Ordner vorhanden sind.
      [/list=1]
    • Alle Modi bieten unterschiediche Einstellungsmöglichkeiten:
      [list=1]
    • Alle Modi ... alphabetische Sortierung
    • Modi 2 + 3 ... ausblenden von leeren Verzeichnissen bzw. Kategorien
    • Modi 2 ... Das springen via Links/Rechts-Taste von Kategorie zu Kategorie an Stelle seitenweisem Sprung
      [/list=1]
    • Wer sich die Optik noch individueller Einstellen will findet (je nach Modi) unter "Detailierte Anzeige Einstellung" darüberhinaus:
      [list=1]
    • Blende ISO Erweiterung aus ... sagt eigentlich was es macht: In der OSD Darstellung wird das ".iso" bei solchen Images diese Erweiterung nicht mir angezeigt
    • Zeige Image-Typ Spalte ... Wer mag, kann sich hinter den Image-Namen noch den Typ als einzelne Spalte anzeigen lassen (also ISO oder Verzeichnis)
    • Breite für Image-Spalte ... steht im Zusammenhang mit dem vorherigen Punkt. Wer sich die Typ-Spalte anzeigen lässt, kann mit dieser Breitenangabe bestimmen, ab welcher Stelle die Spalte beginnen soll.
    • Sonderzeichen ändern ... hier können Buchstabenpaare (das ist wichtig, das es Paare sind) angegeben werden. Der angezeigte Name des Images im OSD wird dann so bearbeitet, das jeweils das erste Zeichen durch das zweite ersetzt wird ... macht sich gut, wenn bspw. Unterstriche im Namen enthalten sind
    • Zeichen für Kategorie Trennlinie ... die Kategorien im Modi 2 werden ähnlich dargestellt wie die Kategorien in der Kanal-Liste ... wer mag kan den derzeit eingestellten Bindestrich durch jedes beliebige Zeichen ersetzen
    • Anzahl Zeichen vor Kategorie Name ... hier kann beeinflusst werden, wie viele Zeichen vor dem eigentlichen Kategorie Name dargestellt werden sollen
    • Leerzeichen vor/nach Katergorie Name ... ja, sagt eigentlich alles
    • Trenntext für Subkategorien ... Sollten Verzeichnisse als Kategorientrenner hernagezogen werden und es gibt quasi Unterordner als Unterkategorie, so kann hier der Text eingestellt werden, der als optischer Trenner benutzt werden soll
      [/list=1]
    • Wahl des Namens im Hauptmenü ...
      Wer mag, kann den angezeigten Namen "DVDSwitch" hier ändern ... in was immer er auch will.
    • worauf ich ganz stolz bin, es aber noch als "Experimentel" bezeichnen will ist die Tatsache, das nun keinerlei Angabe über das DVD-Device oder org.DVD Device mehr gemacht werden muss. Wenn alles richtig läuft, sollte das Plugin dem DVD-Plugin ein eignes Device für die Dauer des Abspielens des Images mitteilen und nach beenden des Films sofort wieder das originale übergeben ... das heißt, der "Link" wird nach dem ansehen eines Filmes automatisch wieder zurückgesetzt (nicht erst nach manuellem anschieben bzw. nach Beenden des Plugins etc.). Bei mir hat das bisher supi geklappt, ich hoffe bei Euch auch :]
    • Die Funktionen "lese DVD", "schreibe DVD" und "lösche DVD" sind auch enthalten ... und zwar in ähnlicher Funktionsweise wie bei dem DVDSelect Plugin. Fürs lesen und schreiben müssen also Shell-Scripte ran ... es können die bisherigen genutzt werden. Die Angabe, wo das Plugin diese Scripte findet, sind nun, wie im Wiki als Wunsch aufgeführt, als Parameter zu übergeben. Die Parameter werden dann unten aufgelistet
    • Dem Writescript wird nach wie vor als erster Parameter das Image inkl. Pfad übergeben. Dazu in Folge noch: Name, wie er im OSD steht, Typ des Images (hier: IMAGE oder DIR als Text)
    • Dem Readscript wird als erster Parameter der Imagepfad übergeben, gefolgt vom User angegeben Name, dem DVD-Device sowie, als was das Image eingelesen werden soll, sprich "IMAGE" oder "DIR" ... das kann man nebst Namen einstellen


    Ich hoffe ich habe erst mal nichts vergessen, außer die Parameter (kommen gleich). Ich bezeiche das ganze mal noch doll als Beta. Habe mich ehrlich bemüht den Quellcode immer und immer wieder nach Fehler zu durchforsten. Ich hoffe auch alle gefunden zu haben.


    Sollte das Dingen bei einem nicht ordentlich laufen, so kann via Parameter eine Debug-Logdatei angegeben werden, in der dann das Plugin allerhand Zeugs schreibt. Hier bitte ich auch eine sperate Datei zu nehmen (und kein Syslog o.ä.), da a) die Menge recht groß ist und b) es sich so leichter verschicken und lesen lässt.


    So, nun die Parameter:
    -D LOGFILE --debug=LOGFILE ... hier bitte mit Pfad das zu verwendende Logfile angeben
    -r SCRIPT --readscript=SCRIPT ... hier bitte mit Pfad das zu verwendende DVD-Readscript angeben
    -w SCRIPT --writescript=SCRIPT ... hier bitte mit Pfad das zu verwendende DVD-Writescript angeben


    Jo, das war erst mal alles. Ich hoffe, das alles supi klappt und ich mit dem Teil hier nicht den Preis des schlechtesten Coders bekomme :D


    Bye
    Andreas


    Hier der Downloadlink:
    DVDSwitch 0.0.1


    Und hier noch ein paar Screen's:
     
    Anzeige Modi 1



    Anzeige Modi 1 mit Typ-Spalte und ohne Manipulation des OSDNamen



    Anzeige Modi 2 -> mit Typ als Kategorie



    Anzeige Modi 2 -> mit Verzeichnissen als Kategorie



    Anzeige Modi 2 -> mit Verzeichnissen als Kategorie und Anzeige aller leeren Kategorien/Verzeichnisse



    Anzeige Modi 3



    Anzeige Modi 3 mit Typ-Spalte

    MyVDR:
    HW: Core2Quad Q6600; 4GB; ca. 6TB HDD als RAID1 und LVM; 2xDVB-T USB von Terratec, 9400GT GK;
    SW: yavdr 0.2
    Von Anwendern für Anwender: otrs-forum.de

    Dieser Beitrag wurde bereits 5 Mal editiert, zuletzt von Darkside ()

  • Zitat

    Original von coke
    Gibts Bilder davon?


    Nein, noch nicht. Ich bin froh erst mal das geschafft zu haben ;)


    Sollte das Plugin ein Nutzergemeinde finden, werde ich eine kleine Website mit Screens erstellen. So heißt's erst mal selber probieren!!

    MyVDR:
    HW: Core2Quad Q6600; 4GB; ca. 6TB HDD als RAID1 und LVM; 2xDVB-T USB von Terratec, 9400GT GK;
    SW: yavdr 0.2
    Von Anwendern für Anwender: otrs-forum.de

  • Guten morgen,


    habe 2 Bug's gefixt. Neue Version wurde hochgeladen.



    Öhm, Momentan kann man das nur per Setup einstellen. Habe ich so als Problem nicht gesehen. Auch mein DVD-Image Verzeichnis liegt ganz wo anders (/mutlimedia/dvd) ... die Standardangabe habe ich nur so nach Gefühl gewählt :)


    Aber ich denke, ich werde Deine Idee einbauen ... also ab auf die TODO-Liste.


    Bye
    Andreas

    MyVDR:
    HW: Core2Quad Q6600; 4GB; ca. 6TB HDD als RAID1 und LVM; 2xDVB-T USB von Terratec, 9400GT GK;
    SW: yavdr 0.2
    Von Anwendern für Anwender: otrs-forum.de

  • Zitat

    Original von ronnykornexl
    Selbst sind es hier einiege Verzeichnisse mit ISO(s), wie wäre es mit einer... isosources.conf?


    Ja, das steht schon von Anfang an auf meiner TODO-Liste. Wollte das aber nicht mit als erstes umsetzen. Wird aber bestimmt noch kommen :]

    MyVDR:
    HW: Core2Quad Q6600; 4GB; ca. 6TB HDD als RAID1 und LVM; 2xDVB-T USB von Terratec, 9400GT GK;
    SW: yavdr 0.2
    Von Anwendern für Anwender: otrs-forum.de

  • Neue Beta:


    Code
    1. Fix: Dem DVD-Read-Script wird nun, wie es eigentlich auch sein sollte,
    2. auch der Imagepfad angegeben, in dem die Images abgelegt werden sollen.
    3. Genaue Übergabeparameter im ersten Posting


    Ansonsten ist ein Feedback über die Stabilität, Kritiken und auch Wünsche gerne gesehen :]


    Bye
    Andreas

    MyVDR:
    HW: Core2Quad Q6600; 4GB; ca. 6TB HDD als RAID1 und LVM; 2xDVB-T USB von Terratec, 9400GT GK;
    SW: yavdr 0.2
    Von Anwendern für Anwender: otrs-forum.de

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Darkside ()

  • Hi,


    ich bekomme beim compilieren folgende Meldung

    Code
    1. make[1]: Entering directory `/vdr/vdr-1.3.34/PLUGINS/src/dvdswitch-0.0.1'
    2. g++ -O2 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"dvdswitch"' -I../../../include -I../../../../DVB/include dvdswitch.c
    3. dvdswitch.c: In method `bool cPluginDvdswitch::ProcessArgs(int, char **)':
    4. dvdswitch.c:100: parse error before `}'
    5. make[1]: *** [dvdswitch.o] Error 1
    6. make[1]: Leaving directory `/vdr/vdr-1.3.34/PLUGINS/src/dvdswitch-0.0.1'


    Hat da jemand ne Idee?

  • Auch wenn das erste Posting mittlerweile beängstigend groß geworden ist ?(, so habe ich es nun um Screen's erweitert.


    Bye
    Andreas

    MyVDR:
    HW: Core2Quad Q6600; 4GB; ca. 6TB HDD als RAID1 und LVM; 2xDVB-T USB von Terratec, 9400GT GK;
    SW: yavdr 0.2
    Von Anwendern für Anwender: otrs-forum.de

  • Hallo,


    das ist ja die antwort auf : "wie wird ein gutes plugin noch besser ..." :D


    Gute arbeit, werde ich im WE testen.


    Ich hätte da noch ein vorschlag.
    In vdr-1.3.32 wurde eine neue funktion eingeführt der ein einfacheres (sauberes !?) aufrufen vom DVD plugin zulassen würde (aus HISTORY) :


    - The main menu function of a plugin can now be called programmatically through
    the static function cRemote::CallPlugin().



    keine ahnung ob es dann noch klappt mit deine tolle lösung mit dem device !?


    Danke :)


    Ach ja, am besten bei jede änderung ein neue versionsnummer vergeben, macht es übersichtlicher ;)


    Gruß
    Viking

  • Hallo DarkSide,


    eine kleinigkeit ist mir auf den Screenshots aufgefallen (war zuerst im DVDwechsler plugin auch nicht so ;)) die Blaue taste wird benutzt zum löschen - das ist nicht ganz VDR konform - bei den aufnahmen ist es die Gelbe taste ... :)


    Kann ich aber vermutlich auch selber bei mir ändern falls es dir nicht gefällt ;)


    Gruß
    Viking

  • Moin moin,


    super Sache, dass der reset des Devices wegfällt und somit auch Anrufe mit dem Wortlaut "der LinVDR ist kaputt, immer wenn ich 'ne CD anmachen will, kommt Enterprise". Danke dafür. Eine Sache würde mir aber noch gefallen, dass falls keine Pfade für die Skripte angegeben werden, Default-Pfade gesetzt werden.


    Gruß


    Merten

  • schließe mich der bitte an, bitte immer versionsnummer erhöhen oder zumindest a,b,c oder irgendeine kennzeichnung das sich was geändert hat.


    Nun zu meinem test, hab die allererste 0.0.1 downgeloadet und compiled ...da verabschiedete sich allerdings nach bestätigen des plugin setups der vdr ...


    mit der 0.0.1 von gestern lies sich das plugin auch konfigurieren ...wobei ich den pfadnamen im setup einstellen wollte, was nicht ging weil keine sonderzeichen vor allem kein / vorhanden war.


    hab also einen link von /video/dvd dorthin gemacht wo meine iso files liegen und nach kurzem warten kam die liste pippifein :-)


    allerdings lies sich keine der iso files abspielen ...nach klicken auf ok, startet das dvd plugin jeweils mit der im dvd-lw eingelegten dvd ...


    was kann da schief gehn ?


    eine bitte hätte ich noch, wenns leicht möglich wäre, könntest du .img auch mitaufnehmen in die liste ?

    VDR User: 1141
    VDR1
    ASROCK H67M, CORE i3-2100 3,10GHz,2GB Ram, 2TB HD,Intel SSD,CineS2 + S2 Addon
    EasyVDR 1.0
    Plugins: burn,devstatus,dvdswitch,epgsearch,externalplayer,extrecmenu,femon,live,markad,nordlichtsepg,streamdev-server,systeminfo,text2skin,yaepghd,s.

  • Hallo :)


    Zitat

    Original von viking
    Ich hätte da noch ein vorschlag.
    In vdr-1.3.32 wurde eine neue funktion eingeführt der ein einfacheres (sauberes !?) aufrufen vom DVD plugin zulassen würde (aus HISTORY):


    - The main menu function of a plugin can now be called programmatically through
    the static function cRemote::CallPlugin().


    Ich schaue mir das heut Abend mal an. Danke für den Tip!


    Zitat

    Original von viking
    Ach ja, am besten bei jede änderung ein neue versionsnummer vergeben, macht es übersichtlicher


    Die Versionsnummern sollten auch noch folgen. Für mich ist dieses Plugin noch Beta und ich habe es deshalb immer unter identischer Versionsnummer am laufen. Aber ihr habt alle Recht, ich denke, das es ab jetzt besser wäre, ne ordentliche History mit Fortlaufenden Versionsnummern zu benutzen.


    Zitat

    Original von viking
    eine kleinigkeit ist mir auf den Screenshots aufgefallen (war zuerst im DVDwechsler plugin auch nicht so Augenzwinkern ) die Blaue taste wird benutzt zum löschen - das ist nicht ganz VDR konform - bei den aufnahmen ist es die Gelbe taste ..


    Hast Recht. Ich werde es als Standard ändern. Zukünftig soll es eh variabel einstellbar sein.


    Zitat

    Original von neves
    Eine Sache würde mir aber noch gefallen, dass falls keine Pfade für die Skripte angegeben werden, Default-Pfade gesetzt werden.


    Mmmhh, nun, die Pfade allein sind's ja nicht. Auch die Scriptnamen spielen eine Rolle ... und das soll erst mal variabel sein. Ich liefere ja keine Scripte und damit keine direkte Unterstützung dafür mit. Es soll (derzeit noch) als Option dienen. Wer das nutzen möchte, muss sich halt so ein Script besorgen, es irgendwo ablegen und dem Plugin angeben. Aber ich werde noch mal doll darüber nachgrübeln :]


    Zitat

    Original von ravenclaw_78
    Nun zu meinem test, hab die allererste 0.0.1 downgeloadet und compiled ...da verabschiedete sich allerdings nach bestätigen des plugin setups der vdr ...


    Ja, das ist mir dann auch passiert. War ein Speicherleck.


    Zitat

    Original von ravenclaw_78
    wobei ich den pfadnamen im setup einstellen wollte, was nicht ging weil keine sonderzeichen vor allem kein / vorhanden war.


    Das ist natürlich dumm, das es nicht geht. Schaue ich mir heute Abend an und bessere es aus (hoffentlich macht meine Frau da mit :D )


    Zitat

    Original von ravenclaw_78
    hab also einen link von /video/dvd dorthin gemacht wo meine iso files liegen und nach kurzem warten kam die liste pippifein :-)
    allerdings lies sich keine der iso files abspielen ...nach klicken auf ok, startet das dvd plugin jeweils mit der im dvd-lw eingelegten dvd ...
    was kann da schief gehn ?


    Das ist ja doof und ne gute Frage. ImageDir als Link geht nicht?? Mmmhh. Könntest Du mal den Debugmodus aktivieren und mir ne Log zumailen??


    Zitat

    Original von ravenclaw_78
    eine bitte hätte ich noch, wenns leicht möglich wäre, könntest du .img auch mitaufnehmen in die liste ?


    Mit der Frage habe ich ja fast gerechnet ... mir ist Dein Patch aufgefallen. Unabhängig davon, das ich zu diesem Zeitpunkt kurz vor der Fertigstellung von Version 0.0.1 war, wollte ich mal die Resonanz Deines Patches beobachten. Ich habe nämlich überlegt, wie viele sich DVD-Images auch als IMG's ablegen. Also, schlimm ist das sicher nicht, wenn es unterstützt werden würde ... kommt also auf die TODO ... aber das ist etwas, was a bisserl Zeit in Anspruch nimmt.


    Bye
    Andreas


    PS: Danke für die postive Kritik ... das spornt doch an, weiter zu machen :]

    MyVDR:
    HW: Core2Quad Q6600; 4GB; ca. 6TB HDD als RAID1 und LVM; 2xDVB-T USB von Terratec, 9400GT GK;
    SW: yavdr 0.2
    Von Anwendern für Anwender: otrs-forum.de

  • Das sieht ja gut aus. Werde es jetzt am W-Ende auch mal testen.


    Kleine Kritik: (Bitte nicht übelnehmen :engel1) Wie wär's mit dem Imperativ -> "lies DVD" anstelle von "lese DVD"...?

    Hardware: AMD Duron 900 MHz, 256 MB Ram, 1 x 400 GB und 2 x 200 GB Maxtor, 1 x 500 GB USB 2.0, Nec DVD-RW ND-3500AG, 1 x TT 1.6 FF DVB-S, 1 x Twinhan Budget DVB-T
    Software: VDR 1.4.1, BigPatch, DMH-DVD-Archive-Patch, Kernel 2.6.12
    ---
    "Hörma, wie heißt nomma dat Instrument mit den 3 Knöppen oben drauf...? - Ja richtig, Flöte!"