Jump to content

LUA-Plugins entwickeln / Testumgebung


Mr.Servo

Empfohlene Beiträge

Hi Zusammen,

Typische Quereinsteigerthematik: Ich nutze die gerade sehr ruhige Zeit, um mir mal das Thema "LUA-Programmierung" reinzupfeifen. Also habe ich mich soweit im LUA-Referenzhandbuch 5.1 (lua.org/manual) schlau gemacht und mir auch die Lua:Neutrino-APIs angesehen (tuxbox-neutrino.org/wiki/Lua:Neutrino-API) und soweit mal verstanden. Es gibt ja einige gute Beispiele, welche die Möglichkeiten zeigen. Programmieren kann ich einigermaßen (kein Profi), aber die Umgebung ist mir halt noch fremd. Habe mit auch den offiziellen SciTE-Programmiereditor gezogen und kann somit (einfache) LUA-Skripte lokal (unter Windows) ablaufen lassen. Die Syntax läßt sich hier gut ausprobieren, gerade bei machtvollen Befehlen wie string.gsub() sehr angebracht. Soweit so gut. Aber bereits beim Einsatzes des ersten Objekts ist Schluß mit SciTE:

 

1    local n = neutrino()

führt logischerweise zum Error: lua: luatest.lua:1: attempt to call global 'neutrino' (a nil value)

 

Und nun zu meiner Frage: Welche Entwicklungsumgebung könnt ihr aktuell für die Box empfehlen? Gibt es eine -zumindest teilweise- Emulationsumgebung (für Windows? für Linux?) oder muß ich tatsächlich jede LUA-Skriptänderung per FTP in die Box schieben und dort ausprobieren? Wie handhabt ihr das?

 

Ich habe versucht, diese Frage zu vermeiden, aber nach stundenlanger Recherche (allgemein Internet als auch in KW- und NI-Forum) finde ich keinen echten Anhaltspunkt und was nutzen veralterte Angaben aus dem Jahre 2010? Damals sicherlich richtig, aber sind diese dann wirklich heute noch empfehlenswert?

 

--> Ich vermute mal, ich bin mit dieser Frage nicht der Einzige?

Gruß.......Mr.Servo

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Mr.Servo,

ich bastle  hardcore, das heist unter win bzw. linux mit einen "linuxtauglichen" Editor und teste anschliesend auf den STB ob es klappt, eine Etwicklungsumgebung für lua setze ich nicht ein, ich arbeite oft nach der Methode Try and Error und auch mit Spinnsen in andere Projekte wie es dort gemacht wurde

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Bazi98
Als linuxtauglichen Editor nutze ich Proton (z.B. für Änderungen an Configs). Bei Lua-Skripten bietet der von mir beschriebene Programmiereditor "SciTE" zumindest eine Interpreterversion, d.h. man kann seine Programmierungen laufen lassen und debuggen. Will man aber nur mal das API-Objekt CWINDOW nutzen, ist der Ofen natürlich aus... :unsure:

Also im Härtefall muß ich mir noch einen zweiten Bildschirm hinstellen (einen für meinen Desktop und den anderen für die STB) und dann mit Proton über FTP (z.B. FileZilla) zugreifen, ändern und dann lokal starten. Ist natürlich NSDH (Net So De Hit)... :blush:

Abr vielleicht gibt es noch eine elegantere Möglichkeit?

Gruß......Mr.Servo

 

 

 

bearbeitet von Mr.Servo
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 months later...

Hi Zusammen,

ich bin schon länger am Überlegen wie ich mich im KW-Image irgendwie einbringen kann. Ich programmiere hobbymäßig (VBA-Script {erst Lotus Smartsuite, dann MS-Office}). Ich habe aber kein Problem damit mich auch in C++ oder LUA oder Shellscript einzuarbeiten. Aber: welche Aufgaben könnte ein Quereinsteiger übernehmen, die er auch (mit Hilfe) schultern kann?

Ich sehe für mich folgendes Problem: Wer als williger Quereinsteiger nicht von Anfang dabei war oder nicht hauptberuflich Programmierer ist, der hat wenig Chancen hier mit einzusteigen. Ob C++, LUA oder ShellScript - das Wissen müßte irgendwie vermittelt / geteilt werden. Aber wie genau das ablaufen kann/soll, das ist mir auch nicht so klar! Ich kann nur versuchen mich in die Materie reinzuwühlen (in fast egal was), aber zur Zeit trete ich auf der Stelle.
Wie und mit was könnte man hier im KW-Image helfen, gerne auch mit "niedrigen" Aufgaben?

Gruß......Mr.Servo

bearbeitet von Mr.Servo
Schreibfehler
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Admin

@Mr.Servo

 

Es wäre wirklich schön, wenn sich mehr Leute am Erhalt und der Weiterentwicklung von NeutrinoHD und den Plugins widmen würden. Daher Daumen hoch für Deine Absicht.

Die Software weiterzuentwickeln oder Plugins zu pflegen oder neue zu erstellen, ist nicht unbedingt Raketenwissenschaft. Wichtig ist, daß man weiß, wo man für ein Problem nachschauen muß.

 

Und da ist der erste und umfangreichste Anlaufpunkt natürlich das Tuxbox Neutrino Wiki.

Bei Fragen zum Tuxbox-Projekt selbst ist das Tuxbox-Forum der beste Ort. Dort aber bei Fragen niemals die Wörter "Keywelt" oder "Softcam" oder verwandte verwenden. Mit illegaler Software wollen und dürfen sie sich dort nicht beschäftigen. Und das Keywelt-Image ist durch seine Möglichkeit der einfachen Softcam-Implementation nun halt mal illegal. Das kann man sich nicht schönreden.

 

Solange Du nicht etwas direkt bei Tuxbox committen willst, laß Dich von den doch etwas rauh formulierten Forderungen zu Coding Style und Commit im Wiki nicht abschrecken. Für erste Tests und einfache Sachen kann man auch erst einmal etwas entspannter an die Sache gehen. Und natürlich bekommst Du auch hier im Board (wenn auch nicht immer zeitnah) auf alle Fragen eine Antwort.

 

Am besten lernt man, wenn man mit einfachen Sachen (wie Plugins) anfängt, sich aus dem Git welche herunterlädt und schaut, wie die bestehenden aufgebaut sind und funktionieren. Dann kann mit mit ersten Veränderungen in diesen Plugins beginnen und später auch komplett neue erstellen.

Bis man Aufbau und Änderungsmöglichkeiten im Neutrino selbst durchschaut, dauert es dann doch etwas länger, am Ende ist es dann aber doch immer wieder befriedigend, wenn man eigene Vorstellungen in Neutrino umsetzen kann und sie auch noch funktionieren.

 

Für Sprachbegabte gabe es auch eine Möglichkeit der Mitwirkung zum Beispiel bei den locales, also den Dateien, welche für die Umschaltung der Sprache benötigt werden. Die müssen für fast jedes neue Image angepaßt werden und es kann ja auch nicht schaden, wenn noch neue, bisher nicht vorhandene Sprachen dazukommen.

 

Wie Du siehst, hast Du hier ein weites Feld, auf dem Du Dich mit den unterschiedlichsten Erfahrungsleveln und Programmierfertigkeiten austoben kannst.

 

Das hier war übrigens vor 16 Jahren mein Einstieg in die Bastelstube von Neutrino als recht neuer User und ohne eine Kennung, was da im Quellcode von Neutrino abgeht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@SnowHead

Ich habe parallel auch mal im NI-Forum gefragt, und da kamen von flk folgende Einlesetips:

 

1 https://stackoverflow.com/
2 http://www.lua.org/docs.html#papers
3 https://github.com/cplusplus/draft
4 https://www.kernel.org/doc/man-pages/
5 https://devdocs.io/

 

Finde ich klasse von flk und das werde ich mir mal soweit reinziehen. Fehlt noch ein Projekt (z.B. eine Überarbeitung von was Bestehenden). Ich habe keine Scheu vor neuen Herausforderungen. Wo es noch ein wenig hapert ist eine von euch empfohlene Entwicklungsumgebung (siehe meinen ersten Beitrag). Vielleicht schaue ich mir mal die "Vodafone.so" (klick hier) an, die läuft nämlich nicht auf KW und das würde ich als Kabelnutzer gerne ändern.

Vielleicht haben ja noch andere hier Lust sich neu einzubringen? Dann wär man als Quereinsteiger nicht ganz so einsam...

Gruß.....Mr.Servo

bearbeitet von Mr.Servo
Link zu diesem Kommentar
Auf anderen Seiten teilen

Mal 'ne Fräge an euch!

Ich nutze als linuxfähigen Windows-Editor den "Proton" und als FileTransferProtocoll (FTP) den FileZilla. Bin aber mit beiden nicht sooooo ganz glücklich.

Mit welchen Windowsprogrammen arbeitet ihr den am Liebsten in Verbindung mit der Image-Wartung / -Programmierung? Habt ihr eine Empfehlung?

Gruß.....Mr.Servo

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Admin

@Mr.Servo

 

Eigentlich werden die Images und Plugins am einfachsten gleich unter Linux gebaut. Da kommt man nicht in die Verlegenheit, die Zeilenenden einer Linux-Datei (LF) aus Versehen automatisch durch Windows-Zeilenenden (CR+LF) ersetzen zu lassen. Da passiert unter Windows häufiger als man denkt.

Als Entwicklungsumgebung unter Linux ist Eclipse sehr gut. Das kann man für die verschiedensten Entwicklungsumgebungen und Compiler anpassen und viele Automatikfunktionen des eingebauten Editors (z.B. automatische Formatierung mit Klammern und Einrückungen) nutzen.

Unter Windows verwende ich (wenn erforderlich) den freien Editor Notepad++, den kann man fest auf Linux-Format einstellen. Als FTP-Client verwende ich WinSCP oder den Total Commander. Wichtig bei beiden ist, das Dateiformat für den Transfer keinesfalls auf "Text" oder "Automatisch" zu stellen, dabei gehen viele Linux-Dateien kaputt. Immer das Format "Binär" einstellen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...