Reihenfolge der Plugins im Menu andern ?

  • Hi Leute,


    Habt ihr ne idee wie man die reihenfolge der plugins im menu ( taste M ) beeinflussen kann ?
    Ich benutze die ct distri.: im script /etc/init.d/vdr wird nach den plusins gesucht und die liste dann irgendwie zusammen gebastelt. Aber die reihenfolge ist nicht beeinflussbar.


    Sinn und zweck des ganzen:


    Im menu erscheint z.B. das Calender plugin weit unten und lässt sich dann nicht mit "m" & "zifferntaste" einfach aufrufen.


    Gruß


    Markus

  • Kann man eigentlich auch PluginEinträge ausblenden.


    Ich habe das Mediadetection Plugin drin und somit könnte ich mir die Eintrage für DVD, VCD und PCD eigentlich schenken.


    Leider hört die Nummerierung ja bei 0 auf und somit ist das schon manchmal ein ganu schönes Pfeil runter gedrücke bis ich bei den Einstellungen oder andere Plugins lande.


    Also mich würde entweder Plugineinträge ausblenden( ohne diese zu deaktivieren ) oder durchnummerierung interessieren.


    Gibts da Möglichkeiten ?

    Registered VDR User #841
    P4 1.7, 256 MB Ram, 200 GB Samsung, TT DVB-C 2.1, TT DVB-C 1500, VDR Extension Board, 12.1" TFT, Pearl Mod-It Gehäuse  
    Suse 10, Kernel 2.6.13-15.11-default, VDR 1.4.2-BP

  • Das mit der Reihenfolge der Auswahl stimmt glaube ich nicht ganz, einige Punkte bleiben immer ganz oben. Aber ab position 4 ist dann alles in der Reihenfolge wie unter Plugins angewählt.

  • Hi,



    Ja und nein ;)
    Das hängt vom Plugin ab. Das DVD und VCD Plugin bieten in den Einstellungen dafür eine Option. Beim PCD weiß ich's nicht, aber wenn, dann vermutlich auch in den Einstellungen, wenn nicht, dann bitte doch den PCD Programmierer darum.


    Gruß,
    Andreas

  • Zitat

    Original von Thomas
    AFAIK ist die Reihenfolge die, die Du beim Aufruf von VDR angibst, also die Reihenfolge der -P Optionen.


    Logisch, aber was wäre nun wenn es so ist wie er gepostet hat?


    Zitat: im script /etc/init.d/vdr wird nach den plusins gesucht und die liste dann irgendwie zusammen gebastelt.


    Das würde mal Simpel gesagt so ablaufen:


    cd /wo/auch/immer
    ls
    a
    b
    c
    d


    Nun würde <a> an erster Stelle stehen, <m> weiter hinten, wenn es so ist wie er gepostet hat, dann müßte man da den Sortier Schlüssel ändern um den Eintrag an erste Stelle zu bekommen.


    Habe die Distrie nicht hier, deshalb meinte ich er soll das Dingens mal posten, wenn das Script auto die Übergabe aus dem index generiert, dann kann es nur so ablaufen.


    MFG Ronny

  • klar mach ich.


    Ich habs aber natürlich @Home auf dem VDR und nicht hier im office !


    Aber ich hab mal ne frage, die ist zwa OT,
    aber vielleicht kan mir jemand ein tip geben, wie man noad automatisch nach einer
    Timer-aufzeichnung starten kann ?


    Gruß


    Markus

  • Here we go:


    -------- / schnipp / -----------
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    DAEMON=/usr/sbin/runvdr
    NAME=vdr
    DESC="vdr daemon"
    test -x $DAEMON || exit 0


    ENABLED=0
    test -f /etc/default/vdr && . /etc/default/vdr
    test "$ENABLED" != "0" || exit 0


    PLUGINPREFIX="libvdr-"
    PLUGINCONFDIR="$CFG_DIR/plugins"
    PLUGINS=""
    CMDS_FILE="$CFG_DIR/commands.conf"
    RECCMDS_FILE="$CFG_DIR/reccmds.conf"
    REMOTE_FILE="$CFG_DIR/remote.conf"


    # iterate through plugin directory
    # and read every plugins config file
    # to get specific parameters


    getplugins ()
    {
    local plugins
    local i


    echo -n "Seeking plugins: "
    plugins=`find $PLUGIN_DIR -name "$PLUGINPREFIX*.so.1.2.6" -printf "%f\n" | sed 's/^libvdr-\(.\{1,\}\)\.so\.[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/\1/'`


    for i in $plugins; do
    echo -n "$i "
    if [ -e "$PLUGINCONFDIR/plugin.$i.conf" ] ; then
    # FIXME: what about multiline?
    TMP=`cat $PLUGINCONFDIR/plugin.$i.conf`
    PLUGINS="-P \"$i $TMP\" $PLUGINS"
    else
    PLUGINS="-P $i $PLUGINS"
    fi
    done
    echo
    }


    -------- / schnipp / -----------


    case "$1" in
    start)
    getplugins
    getcommands
    getreccmds
    getremotes
    if [ "$KEYB_TTY" != "" ]; then
    clear > $KEYB_TTY
    echo "This tty is currently mapped to VDR, keypresses aren't echoed." > $KEYB_TTY
    echo -n "For a login prompt switch to another console." > $KEYB_TTY
    chvt 8
    fi
    echo -n "Starting $DESC: $NAME "
    # leave $OPTIONS as last for input redirect
    start-stop-daemon --start --quiet --exec $DAEMON \
    --make-pidfile --background --pidfile /var/run/runvdr.pid -- \
    -v $VIDEO_DIR -c $CFG_DIR -L $PLUGIN_DIR "$PLUGINS" $OPTIONS
    echo "."
    ;;
    -------- / schnipp / -----------


    ich glaube Tobi hat da nichts gegenüber der vanilla ct version geändert.


    Ist der Fette Teil sie Sortierreihenfolge ? Wenn ja: aus dem teil werdschnischlau ;(
    Kann ich nicht einfach die files im $PLUGIN_DIR Ordner umbenennen so nach dem motto:
    vdr_plugin_1_*1.2.6
    vdr_plugin_2_*1.2.6
    vdr_plugin_3_*1.2.6
    und mit 1, 2, 3 geb ich die reigenfolge im menu an ?


    Tschau bis morgen !


    Markus


    PS: Sorry for the long line ( ich hab ne 1400'er auflösung )

  • Ist der Fette Teil sie Sortierreihenfolge ?
    -------------
    Nein, es werden die Plugins aufgelistet die im Dir liegen, haben halt den namen vdrlib-NAME-version....so, mit sed wirds nur in ein Format gebracht, das am Ende der NAME heraus kommt.


    Der FETTE Teil steht für irgend etwas, sed soll also eine Nummer entfernen 0-9 steht für eins von denen 0123456789.


    Da brauchst Du nur bei "find" die richtige Option, mit einzutragen:


    find $PLUGIN_DIR -name "$PLUGINPREFIX*.so.1.2.6" -printf "%f\n" | sed 's/^libvdr-\(.\{1,\}\)\.so\.[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/\1/'`


    Bin gerade nicht daheim, tipp mal "man find".



    Wie man noad automatisch nach einer Timer-aufzeichnung starten kann ?
    -------------
    Mußt Du VDR mit übergeben:


    --record='/wo/auch/immer/noad --statisticfile=/wo/auch/immer/noadstat'


    oder


    -r'**************'


    MFG Ronny


    Ot: Ein vdr -V giebt übrigens auch alles Plugins aus, ohne solchen langen Einzeiler.

  • Kann ich nicht einfach die files im $PLUGIN_DIR Ordner umbenennen so nach dem motto:
    vdr_plugin_1_*1.2.6
    vdr_plugin_2_*1.2.6
    vdr_plugin_3_*1.2.6
    und mit 1, 2, 3 geb ich die reigenfolge im menu an ?


    Keine Ahnung weiß nicht wie das da alles abläuft, bei dem CTs Dingens.


    Probiers doch einfach.


    Oder so? (ungetestet)
    ---------------------------------
    for i in $plugins; do


    in


    for i in calendar `echo "$plugins" | sed -e "s/calendar//"`; do
    ---------------------------------


    MFG Ronny

  • Hi,


    ich habs noch mal gechecked:
    Beim Starten sucht das Script nach den Plugins und gibt dann diese Liste aus:


    Seeking plugins: calendar mp3 mplayer osdteletext scanner vcd console dvd streamdev pilot timeline


    Danach wird vdr mit diesen Argumenten gestartet (Ich hab da mal ein paar <CR> Eingefügt):


    vdr --start --quiet --exec /usr/sbin/runvdr --make-pidfile --background --pidfile /var/run/runvdr.pid -- -v /video -c /etc/vdr -L /usr/lib/vdr/plugins


    -P timeline
    -P pilot
    -P streamdev
    -P "dvd -C /dev/dvd"
    -P console
    -P "vcd -v /dev/dvd"
    -P scanner
    -P "osdteletext -r"
    -P "mplayer -m /usr/sbin/vdrmp3mount.sh -M /usr/sbin/vdrmplayer.sh"
    -P "mp3 -m /usr/sbin/vdrmp3mount.sh"
    -P calendar


    -l 1 -w 60 -s /usr/sbin/shutdownvdr < /dev/tty8


    Klasse ! Das ist die Reihenfolge meiner Plugins im Menu.
    UND: Ich hab sie in umgekehrter Reihenfolge Installiert.
    Also landen Neue automatisch oben und bringen das Menu durcheinander.


    Den Tip mit den Find argumenten muß ich mal checken.
    Aber das führt ja auch nur zu einer festen reihenfolge: z.b. abcd, oder datum, oder file grösse..
    Habs gechecked: Geht nicht, 'find' findet eine "zufällige" Reihenfolge, auch ein 'touch' hilft da nicht weiter !


    Neue Idee: wenn ich zb. den kalender oben haben will : Calendar deinstallieren und dann neu installieren dann könnte er ja wieder oben sein.
    Was meint ihr ?


    Gruß


    Markus

  • Hi MrDASYLab,


    also ich hatte ein ziemlich ähnliches Problem (bei mir war der MPlayer-Eintrag weiter nach unten gerutscht, wobei ich gerne VCD ohne Shortcut gehabt hätte). Allerdings hat bei mir schon ein einfaches | sort -r anhängen gereicht, um die Plugins zumindest alphabetisch in die richtige Reihenfolge zu bringen.


    Demnach sieht die Zeile bei mir jetzt folgendermassen aus:


    Code
    plugins=`find $PLUGIN_DIR -name "$PLUGINPREFIX*.so.1.2.6" -printf "%f\n" | sed 's/^libvdr-\(.\{1,\}\)\.so\.[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/\1/' | sort -r`


    Vielleicht hilft das ja jemandem!


    Guten Morgen!:sleep

    c't VDR - Tobi ElchAIO - TT 1.6 - Shuttle SK41G - AMD 2000+ - Medion 4688

  • Zitat

    Original von MrDASYLab
    Habt ihr ne idee wie man die reihenfolge der plugins im menu ( taste M ) beeinflussen kann ?
    Ich benutze die ct distri.: im script /etc/init.d/vdr wird nach den plusins gesucht und die liste dann irgendwie zusammen gebastelt. Aber die reihenfolge ist nicht beeinflussbar.


    Das hat mich auch schon immer gestört. Aber sonst ist die automatische Plugin-Einbindung des ct-VDR ja sehr komfortabel. Also habe ich mich heute rangemacht und das Init-Script (/etc/init.d/vdr) so angepasst, dass es die Reihenfolge der Plugins aus einer neuen Konfigurationsdatei "order.conf" ausliest, die im Plugins-Verzeichnis liegen muss (also in /etc/vdr/plugins).


    Die Datei enthält je einen Plugin-Namen pro Zeile, also z.B.

    Code
    calendar
    timeline
    mp3
    mplayer
    vdrrip


    Die Plugins erscheinen in dieser Reihenfolge im Menü, danach kommen dann alle nicht eingetragenen Plugins. Nicht installierte Plugins werden ignoriert, so muss man die Datei nicht bei jeder Installation oder Deinstallation eines Plugins anpassen.


    Meine Änderungen am Init-Script hänge ich als Diff-Datei an.
    Tom

  • Hey TomG,


    das schaut ja gut aus.


    Kannst du nem Linux Neuling denn die Kommandozeile zum Patchen posten ?
    Kenne mich mit den Diffs leider noch nicht aus.


    Vielen Dank und Gruß


    Markus


    PS. Das ist doch was für Alle. Können wir Tobi das nicht in die Multipatch Version Aufnehmen lassen ?

  • Hi, Markus,


    Zitat

    Kannst du nem Linux Neuling denn die Kommandozeile zum Patchen posten ?
    Kenne mich mit den Diffs leider noch nicht aus.


    Diff-Datei runterladen z.B. ins Verzeichnis /tmp und dann:

    Code
    cd /etc/init.d/
    patch < /tmp/vdr.init.order.diff

    Muss als root ausgeführt werden, sonst hat man keine Schreibrechte.
    Ich hänge am besten auch noch mein komplettes Init-Script als (gezippte) Datei an, falls es mit dem Patchen nicht klappt. Auspacken mit:

    Code
    gunzip vdr.gz

    Darin sind noch ein paar andere Kleinigkeiten gegenüber der ct-Version geändert. Die einzige wesentliche Änderung ist aber, dass zur Zusammenstellung der commands.conf nicht mehr nach Dateien mit dem Muster "command.*.conf", sondern "commands.*.conf" gesucht wird. So funktioniert auch die Einbindung der Kommandos des Pakets vdr-addon-vdrconvert. Damit dann das Shutdown-Kommando nicht verschwindet muss jetzt aber command.shutdownvdr.conf umbenannt werden in commands.shutdownvdr.conf.


    Zitat

    PS. Das ist doch was für Alle. Können wir Tobi das nicht in die Multipatch Version Aufnehmen lassen ?


    Hab ich nichts dagegen. Sonst hätte ich's hier nicht veröffentlicht. ;)
    Tom

  • Hi


    Zitat

    Original von Fledermaus
    Bei den addons sind vorne dreistellige Nummern wenn man diese ändert
    werden diese entsprechend neu im Menü angeordnet.


    ?( Bin ich der einzige, der das nicht versteht?


    Welche dreistelligen Nummern meinst du? In welcher Datei?


    Oder meinst du vielleicht die externen Kommandos in der commands.conf.


    Es geht hier aber um Plugins. Und die Diskussion ergibt auch nur einen Sinn für die ct-Distribution oder darauf aufbauende, weil dort die Plugins automatisch eingebunden werden.


    Tom

Jetzt mitmachen!

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