easyVDR5: Setup-Plugin
#26
>>Sieht gut aus, aber ist eine zentrale Datei, wo drin steht welche Plugins zu starten sind, nicht handhabbarer?

Glaube ich nicht.
Stell dir vor, du willst 500 Plugins als jemand, der Plugins compiliert und als .deb paketiert, mit sinnvollen Voreinstellungen verwalten.
Dann möchtest du bestimmt eher je Plugin eine separate Datei, die du *mit* jedem einzelnen Plugin als Voreinstellung einfach installierst. Ist eine Frage, wer das, warum und wie paketiert!

Natürlich kann man später auch so eine Datei später mit Shell Scripts && co versuchen zu parametrisieren.


Falls das nicht so ist, für mich wäre das jetzt eine einfache Übung. Wäre keine riesige Änderung. Meinungen??
Bitte konkret mit Vorschlägen, was praktisch wäre.


>> Irgendwie muss noch berücksichtigt werden, dass manche Plugins als erstes oder letztes Plugin geladen werden müssen

Nein, Stefan.

Da hast du etwas nicht verstanden. Plugins haben keinerlei Lade-Reihenfolge oder Dependencies von anderen Plugins. Niemals. Ein plugin ist eine externe Bibliothek, die zusätzliche Funktion in VDR hinzufügt - ohne anderes zu erwarten.
Falls du doch so ein Plugin entdeckst, welches vor oder nach anderen Plugins geladen werden muss, dann melde das bitte dem Autor dieses Plugins als furchtbaren *Bug*. Aber nicht als Krücke hier.


>> Der Menüeintrag sollte vielleicht statt easyvdr eher Plugin-Setup oder so genannt werden, was meint ihr?

Ihr könnt den Eintrag benennen, wie ihr wollt, siehe Thema ini Datei. Lies weiter oben, deswegen auch eine Konfigurationsdatei.. ;-)

Allerdings geh ich davon aus, dass später in diesem Plugin nicht *nur* Plugins verwaltet werden *könnten*. Dann wäre der Begriff "Plugin-Setup" zu eng gefasst. Von euch konfigurierbar. Hängt von euch ab, wie ihr wollt!
Zitieren
#27
Hi, 
Da dynamite alle DVB Devices belegt muss es so weit ich weiß als erstes geladen werden, da Tuner sonst blockiert werden durch echte schon vorher. Aber wenn du da andere Lösungen hast, ich kann mich nur ans basteln erinnern, wo wir die Sonderbehandlung für die beiden Plugins reinbasteln mussten. 
Prinzipiell hast du absolut Recht! 
Nur finde ich dynamite eigentlich ziemlich interessant und wichtig, da immer mehr Tuner lahm starten. Meine TT S2 3200 sind ja auch betroffen, nicht nur Sundtek. 


Das die Texte konfigurierbar sind ist super! Hatte ich da nicht rausgelesen, sorry! Die Benennung von mir war auch nur beispielhaft. 
Mfg Stefan
[size=x-small][b]Test-VDR1[/b]: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, Mygica t230 Stick als Tuner, nvidia Slim-GT218 512MB PCIe x1     -   v3.5-64
VDR2 in Rente
VDR3 in Rente
[b]VDR4[/b]: MSI G31M2 v2, Intel E5200, 6" t6963c gLCD, 2GB, WD Red 4TB, 2x TT3200, ASUS GT730-SL-2GD3-BRK, mod. Digitainergeh.       -   v3.5-64
[b]VDR5[/b]: GIGABYTE GA-G31M-S2L, Intel E5200, GT630 passiv, 2GB, 3TB, 6"  t6963c gLCD, mod. Digitainergeh.          -   v3.5-64
[b]VDR6[/b]: MSI MS-7236, Intel E2140, GT630 passiv, 2GB, WD Green 2TB, 6" t6963c gLCD, 2x TT3200    -    v2.5-64
[color=blue][url=http://tinyurl.com/ycx4qsv]Hilfe gefällig? Dann brauchen wir ein easyInfo aus easyPortal![/url][/color][/size]
Zitieren
#28
Das dynamite Plugin wird dann nie kompatibel sein können.
Aber ohnehin ist Lars sehr unwillig, den dafür nötigen Patch je an 2.4.1 anpassen zu wollen, so dass z.Z. dynamite keine Zukunft hat.


Falls aber dein einziges Anliegen ist, etwas spät startende Tuner nachträglich zu laden, ließe sich das sicher was machen.
Nur eben eine -> Sequenz beim Laden von Plugins ist prinzipiell keine gute Idee.
Zitieren
#29
Hi Wirbel
(19.06.2020, 08:30)Wirbel schrieb: Falls aber dein einziges Anliegen ist, etwas spät startende Tuner nachträglich zu laden, ließe sich das sicher was machen.
Naja wenn das ginge, wäre das doch schon ein Highlight, bzw Feature.
Einige Karten haben sich da zickig und benötigen bald schon ein Neustart vom VDR, daher war das Verzögern durch dynamite bei einigen Usern die Notlösung.

Gruß Aaron
[size=xx-small][b]Mediacenter[/b]
[b]easyVDR4.Alpha(Lubuntu18.04 64-Bit) [/b]Gigabyte, Ltd. H97-HD3 mit Intel(R) G3260 @ 3.30GHz 4GB DDRx,Intelgrafik,MATSHITA BD-MLT UJ265 Bluray LW, 2TB Festplatte,LCD+IRTrans-Empfänger,2x SkystarS2 PCI

Show Content
[/size]
Zitieren
#30
Eins nach dem anderen.
Zitieren
#31
Zu dem ersten Beitrag in diesem Thread von Aaron gibt es jetzt ein Plugin, was genau das macht:

Zitat:Zum anderen Thema Setup-plugin, was hier aufgestoßen ist:
Ich denke ein plugin, das installierte plugins listet und diese aktivieren/deaktivieren kann, eventuell noch die Einstellungen der einzelnen plugins bedienen kann sollte doch eigentlich reichen.

Ps: Da ich weder vom VDR noch Plugins Entwickler/Skript Ahnung habe, bin ich hier raus und kann nur zuschauen, nichts beisteuern! Beim bashen/skripten wäre es was anderes.

Gruss Aaron

Ich lade es demnächst hoch und habe schon mal einen extra Beitrag zur Installation und Konfiguration angelegt.
Zitieren
#32
@Wirbel, danke das hört sich prinzipiell sehr cool an.
Denkst Du das Verfahren ist dann auch (relativ) kompatibel zu eTobi / YaVDR ? (Also den Standard Debian/Ubuntu Paketen?)

Ich denke das kennst du schon ? https://www.yavdr.org/documentation/0.6/de/ch01s06.html
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
[url=http://wiki.easy-vdr.de/index.php/Hilfe]Du brauchst Hilfe? Wir brauchen Daten![/url] English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 
Show Content


Zitieren
#33
Relativ kompatibel. Ja/Nein/Was ist relativ kompatibel. Eine sehr ausführliche Beschreibung gibt es im zweiten Beitrag, lies dir den mal durch.
Zitieren
#34
Hi Wirbel
(20.06.2020, 12:28)Wirbel schrieb: Plugin softhddevice
Wenn man will, kann man auch Ausgabedevices wie softhddevice später starten, wie hier zu sehen. In dem Fall hat man so etwas einen headless VDR,
der (siehe erstes Beispiel) sich perfekt vom control Plugin via "telnet localhost 2002" bedienen lässt. Funzt super.
Ich muss softhddevice mit Parametern starten, bei mir also '-f -v vdpau -a hw:1,7'. Auch softhddevice ist ein device Plugin, und lässt sich nicht stoppen, wenn es erst mal läuft.
Code:
[EasyPluginManager]
Args=-f -v vdpau -a hw:1,7
AutoRun=false
Stop=false
Diesen Punkt finde ich schon mal sehr interessant. Wir übergeben aus dem bash easyvdr-setup gewisse Konfigurationen in eine conf Datei. 
Code:
[email protected]:/var/lib/vdr$ ls | grep easyvdr
easyvdr-dvb-default-driver
easyvdr-frontend-kodi.conf
easyvdr-frontend-softhddevice.conf
easyvdr-frontend-sxfe.conf
easyvdr-frontend-xine.conf

[email protected]:/var/lib/vdr$ cat easyvdr-frontend-softhddevice.conf
FULLSCREEN="-f"
GEOMETRY=""
ACCELERATION=""
VIDEO_DEVICE="-v va-api"
VIDEO_MISCELLANEOUS_1=""
VIDEO_MISCELLANEOUS_2=""
FRONTEND_DISPLAY="-d :0"
AUDIO_DEVICE="-a default"
AUDIO_DEVICE_PASSTHROUGH=" "
AUDIO_MIXER_CHANNEL=""
AUDIO_MISCELLANEOUS="-w alsa-driver-broken"
MISCELLANEOUS=""
CONFIG_FILE=""
CONNECTSTRING=""

Unter anderem Nutzung pulseaudio, vdpau, oder vaapi. Heißt für uns, diese müssten eventuell in die softhddevice_settings.ini umgelenkt werden. 
Wenn ich mir das allerdings so anschaue, werden wir wohl VDR direkt beim Start mit den Parametern füttern.
Wenn das weiterhin gehen sollte, wären auch hier keine Änderungen durch uns nötig. Das muss man mal in Ruhe durchspielen..
Peter ( Bleifuss2 ) hat uns den Upstart für Systemd umgebaut, vielleicht kann er uns da Eckinfos geben.


Ps: Um deinen Beitrag nicht all zu unübersichtlich zu machen, würde ich vorschlagen, das wir für die Tests ein weiteres Thema aufmachen. 

Bis jetzt sieht das alles sehr vielversprechend und interessant aus.

Gruß Aaron
[size=xx-small][b]Mediacenter[/b]
[b]easyVDR4.Alpha(Lubuntu18.04 64-Bit) [/b]Gigabyte, Ltd. H97-HD3 mit Intel(R) G3260 @ 3.30GHz 4GB DDRx,Intelgrafik,MATSHITA BD-MLT UJ265 Bluray LW, 2TB Festplatte,LCD+IRTrans-Empfänger,2x SkystarS2 PCI

Show Content
[/size]
Zitieren
#35
Es wäre recht einfach, zu dem Plugin ein commandline tool zu schreiben, welche die ini Files auf sichere Art aus der Shell bearbeitet.
Zitieren
#36
Auch zu diesem Plugin wird es ein Shell Tool geben;
ich arbeite an so etwas..

Falls Wünsche bestehen, früher Input macht weniger Arbeit.

Code:
int HelpText(std::string ProgName) {
  std::cout << ProgName <<
  " - a commandline tool for the easyvdr VDR Plugin.\n"
  "It configures VDR Plugins by writing to their ini files.\n\n"
  "The following options are available.\n"
  "   -h, --help\n"
  "          show this help text and exit.\n"
  "   --list_plugins\n"
  "          show all available plugins\n"
  "   --enabled_plugins\n"
  "         show all enabled plugins\n"
  "   --disabled_plugins\n"
  "         show all disabled plugins\n"
  "   --all_status\n"
  "         shows all plugins with their status and commandline.\n"
  "   --plugin PLUGINNAME\n"
  "         selects the plugin PLUGINNAME for commands.\n"
  "   --plugindir DIRECTORY\n"
  "          use DIRECTORY as path for plugins libs,\n"
  "          instead of /usr/local/lib/vdr\n"
  "   --inidir DIRECTORY\n"
  "          use DIRECTORY as path for plugin configs,\n"
  "          instead of /etc/vdr/conf.d\n"
  "   --enable\n"
  "         enable autorun of this plugin.\n"
  "         Requires --plugin PLUGINNAME.\n"
  "   --disable\n"
  "         disable autorun of this plugin.\n"
  "         Requires --plugin PLUGINNAME.\n"
  "   --status\n"
  "         shows the status and commandline of a plugin.\n"
  "         Requires --plugin PLUGINNAME.\n"
  "   --get_commandline\n"
  "         prints the commandline of a plugin to stdout and exit.\n"
  "         Requires --plugin PLUGINNAME.\n"
  "   --set_commandline STRING\n" 
  "         set the commandline of a plugin to STRING.\n"
  "         Requires --plugin PLUGINNAME.\n"
  "   --del_commandline STRING\n" 
  "         deletes STRING from the commandline of a plugin,\n"
  "         does nothing if that string is not found.\n"
  "         Requires --plugin PLUGINNAME.\n"
  "   --add_commandline STRING\n" 
  "         adds STRING to the commandline of a plugin.\n"
  "         Requires --plugin PLUGINNAME.\n"
  "   --replace_commandline FROM TO\n"
  "         requires two arguments: FROM and TO\n"           
  "         replaces the first hit of FROM by TO in plugins commandline\n"
  "         Requires --plugin PLUGINNAME.\n"
Zitieren