programmierung starthilfe
-
- Interessierter
- Beiträge: 93
- Registriert: Freitag 15. Oktober 2004, 18:40
programmierung starthilfe
hi,
kann mir mal jemand ein wenig starthilfe in bezug auf die programmierung unter der gui neutrino geben?
ich beabsichtige ein programm in c++ für meine dbox zu schreiben. das programm soll eine definierte file (als argument übergeben) vom w3 in die dbox ziehen. dabei soll eine progressbar zum download ausgegeben werden. mehr soll dieses programm schon nicht machen.
meine frage lehnt sich auf http://wiki.tuxbox-cvs.sourceforge.net/Plugins:Tutorial an.
ist es für die sache unbeding erforderlich so ein plugin zu erstellen oder kann ich auch ein "normales programm" erstellen, welches die gui auch direkt anspricht?
hatte zwar schon grafische oberflächen unter linux programmiert, aber dies war mittels c++ und qt3 und hatte nicht mit der dbox zu tun.
cu...
luke999
edit: dieser beitrag folgt auf mein vorangegangen http://forum.tuxbox-cvs.sourceforge.net ... hp?t=37264
kann mir mal jemand ein wenig starthilfe in bezug auf die programmierung unter der gui neutrino geben?
ich beabsichtige ein programm in c++ für meine dbox zu schreiben. das programm soll eine definierte file (als argument übergeben) vom w3 in die dbox ziehen. dabei soll eine progressbar zum download ausgegeben werden. mehr soll dieses programm schon nicht machen.
meine frage lehnt sich auf http://wiki.tuxbox-cvs.sourceforge.net/Plugins:Tutorial an.
ist es für die sache unbeding erforderlich so ein plugin zu erstellen oder kann ich auch ein "normales programm" erstellen, welches die gui auch direkt anspricht?
hatte zwar schon grafische oberflächen unter linux programmiert, aber dies war mittels c++ und qt3 und hatte nicht mit der dbox zu tun.
cu...
luke999
edit: dieser beitrag folgt auf mein vorangegangen http://forum.tuxbox-cvs.sourceforge.net ... hp?t=37264
-
- Interessierter
- Beiträge: 93
- Registriert: Freitag 15. Oktober 2004, 18:40
-
- Interessierter
- Beiträge: 93
- Registriert: Freitag 15. Oktober 2004, 18:40
keiner ne idee
ich dachte das wär ein entwicklerforum
<nicht übel nehmen, recherchiere bereits den ganzen tag und finde einfach nichts>
hat noch keiner sowas gemacht?
bin langsam für jede art von realisierungsvorschläge offen
cu...
luke999
ps: also mal ehrlich, so ein projekt müsste schon ein wenig mehr dokumentiert werden.


ich dachte das wär ein entwicklerforum
<nicht übel nehmen, recherchiere bereits den ganzen tag und finde einfach nichts>

hat noch keiner sowas gemacht?
bin langsam für jede art von realisierungsvorschläge offen

cu...
luke999
ps: also mal ehrlich, so ein projekt müsste schon ein wenig mehr dokumentiert werden.
-
- Senior Member
- Beiträge: 1339
- Registriert: Donnerstag 24. April 2003, 12:12
Hmm, für Enigma-Plugins gibt es eine Demoanwendung: http://cvs.tuxbox-cvs.sourceforge.net/c ... nigma/demo
Neutrino hingegen bietet keine API für Plugins an, in dem Fall mußt du dir alles per Linux-Framebuffer-API selber zeichnen. Siehe z.B. Tuxtxt.
Neutrino hingegen bietet keine API für Plugins an, in dem Fall mußt du dir alles per Linux-Framebuffer-API selber zeichnen. Siehe z.B. Tuxtxt.
-
- Interessierter
- Beiträge: 93
- Registriert: Freitag 15. Oktober 2004, 18:40
-
- Interessierter
- Beiträge: 93
- Registriert: Freitag 15. Oktober 2004, 18:40
-
- Einsteiger
- Beiträge: 161
- Registriert: Donnerstag 29. November 2001, 00:00
-
- Interessierter
- Beiträge: 93
- Registriert: Freitag 15. Oktober 2004, 18:40
hi ed_2,
eigentlich ganz einfach, ich habe mir tuxmail vorgenommen und den "überflüssigen" code aus dem plugin genommen. dadurch hatte ich mir so eine art grundgerüst erstellt, worauf ich mein plugin aufbaute.
compiliert habe ich das plugin dann vom cdk directory aus (aufruf: "make plugins").
zuvor hatte ich die configure.ac und makefile.ac angepasst. also so wie in http://wiki.tuxbox-cvs.sourceforge.net/Plugins:Tutorial beschrieben.
ansonsten brauchst du noch c kenntnisse.
eigentlich ganz einfach, ich habe mir tuxmail vorgenommen und den "überflüssigen" code aus dem plugin genommen. dadurch hatte ich mir so eine art grundgerüst erstellt, worauf ich mein plugin aufbaute.
compiliert habe ich das plugin dann vom cdk directory aus (aufruf: "make plugins").
zuvor hatte ich die configure.ac und makefile.ac angepasst. also so wie in http://wiki.tuxbox-cvs.sourceforge.net/Plugins:Tutorial beschrieben.
ansonsten brauchst du noch c kenntnisse.

-
- Einsteiger
- Beiträge: 161
- Registriert: Donnerstag 29. November 2001, 00:00
-
- Neugieriger
- Beiträge: 13
- Registriert: Donnerstag 25. August 2005, 15:24
Hallöle,
habe mich auch mal an dem Tutorial versucht. Als ersten Schritt wollte ich mal ein Framework für Plugins erstellen, dass dann schon grundliegenden Code für die Steuerung (Fernbedienung), Framebuffer, LCD, etc. enthält - aber das nur nebenbei.
Habe mich genau an das Tutorial gehalten, also configure.ac und Makefile.am im plugins Verzeichnis angepasst und entsprechend Makefile.am im Verzeichnis des Testplugins erstellt. Leider haut das nicht so ganz hin:
Hier fehlt also das Makefile selbst, von dem im Tutorial nicht die Rede ist.
Erstellt im Verzeichnis des Testplugins nur Makefile.in.
In Sachen Makefiles kenne ich mich kaum aus und hoffe daher, nur einen dummen Fehler gemacht zu haben.
Vielen Dank im Voraus für alle Antworten!
habe mich auch mal an dem Tutorial versucht. Als ersten Schritt wollte ich mal ein Framework für Plugins erstellen, dass dann schon grundliegenden Code für die Steuerung (Fernbedienung), Framebuffer, LCD, etc. enthält - aber das nur nebenbei.
Habe mich genau an das Tutorial gehalten, also configure.ac und Makefile.am im plugins Verzeichnis angepasst und entsprechend Makefile.am im Verzeichnis des Testplugins erstellt. Leider haut das nicht so ganz hin:
Code: Alles auswählen
.../tuxbox-cvs/cdk$ make plugins
Making all in plugin_framework
make[3]: Entering directory `/home/freak/code/dbox/plugin_framework'
make[3]: *** Keine Regel, um »all« zu erstellen. Schluss.
Code: Alles auswählen
.../tuxbox-cvs/apps/tuxbox/plugins$ ./autogen.sh
In Sachen Makefiles kenne ich mich kaum aus und hoffe daher, nur einen dummen Fehler gemacht zu haben.
Vielen Dank im Voraus für alle Antworten!
-
- Senior Member
- Beiträge: 1339
- Registriert: Donnerstag 24. April 2003, 12:12
Das Makefile wird von automake erstellt. Dieses sollte aber eigentlich automatisch aufgerufen werden.
Hmm.
Was mir auffällt, wieso sucht er das Verzeichnis bei dir eigentlich in "/home/freak/code/dbox" ?
Das Tutorial baut das doch schließlich ins Unterverzeichnis von "apps/tuxbox/plugins" ein.
Was hast du genau in der configure.ac und der Makefile.am eingetragen?
Hmm.
Was mir auffällt, wieso sucht er das Verzeichnis bei dir eigentlich in "/home/freak/code/dbox" ?
Das Tutorial baut das doch schließlich ins Unterverzeichnis von "apps/tuxbox/plugins" ein.
Was hast du genau in der configure.ac und der Makefile.am eingetragen?
-
- Neugieriger
- Beiträge: 13
- Registriert: Donnerstag 25. August 2005, 15:24
Stimmt, hatte ich vergessen zu erwähnen: das Verzeichnis des Testplugins ist ein symlink - allerdings kann es daran nicht liegen, denn mittlerweile hab ich es direkt ins plugins verzeichnis kopiert. Die Einträge hab ich wie gesagt strikt nach dem Tutorial gemacht, der vollständigkeit halber hier nochmal der Inhalt:
.../tuxbox-cvs/apps/tuxbox/plugins/Makefile.am
fx2 und vncviewer hab ich entfernt weils da Probleme beim Compilieren gab. Kann mir aber nicht vorstellen, dass es damit was zu tun hat.
.../tuxbox-cvs/apps/tuxbox/plugins/configure.ac
Gerade ist mir bei der Ausgabe von make plugins aufgefallen, dass dort für jedes Plugin 2 Befehle zur Erstellung des Makefiles aufgerufen werden - ausser bei meinem eigenen. Diese habe ich nun einfach mal "per Hand" entsprechend angepasst und ausgeführt:
Und siehe da, .../tuxbox-cvs/cdk$ make plugins versucht nun mein Plugin zu erstellen. Zwar habe ich noch ein paar fehler im Code, aber ab hier kenne ich mich zumindest wieder aus 
Trotzdem kann es ja nicht ganz Sinn der Sache sein, die besagten Befehle per Hand auszuführen. Entweder wurde dieser Part im Tutorial "vergessen", oder ich hab was übersehen/falsch gemacht, oder das Tutorial ist veraltet. Naja, zumindest gehts jetzt, wenn auch nicht so elegant wie man sich das wünschen würde
.../tuxbox-cvs/apps/tuxbox/plugins/Makefile.am
Code: Alles auswählen
AUTOMAKE_OPTIONS = gnu
if BOXTYPE_DREAMBOX
SUBDIRS = \
include tuxmail tuxtxt tuxcom fx2 enigma plugin_framework
else
SUBDIRS = \
include tuxmail tuxtxt tuxcom plugin_framework
endif
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = \
tuxbox-plugins.pc
.../tuxbox-cvs/apps/tuxbox/plugins/configure.ac
Code: Alles auswählen
AC_INIT(tuxbox-plugins,0.0.1)
AM_INIT_AUTOMAKE(tuxbox-plugins,0.0.1)
TUXBOX_APPS
TUXBOX_APPS_DIRECTORY
AC_PROG_CC
AC_PROG_CXX
AC_DISABLE_STATIC
AM_PROG_LIBTOOL
AC_ARG_WITH(boxtype,
[ --with-boxtype=NAME dreambox/dbox2 [[dbox2,dreambox]]],
[BOXTYPE="$withval"],[BOXTYPE="dbox2"])
AC_SUBST(BOXTYPE)
AM_CONDITIONAL(BOXTYPE_DREAMBOX,test "$BOXTYPE" != "dbox2")
AM_CONDITIONAL(BOXTYPE_DBOX2,test "$BOXTYPE" = "dbox2")
TUXBOX_APPS_DVB
TUXBOX_APPS_DRIVER
TUXBOX_APPS_LIB_CONFIG(CURL,curl-config)
TUXBOX_APPS_LIB_CONFIG(FREETYPE,freetype-config)
TUXBOX_APPS_LIB_PKGCONFIG(PNG,libpng)
TUXBOX_APPS_LIB_PKGCONFIG(SIGC,sigc++-1.2)
if test "$BOXTYPE" = "dbox2"; then
TUXBOX_APPS_LIB_PKGCONFIG(TUXBOX,tuxbox)
fi
TUXBOX_APPS_LIB_PKGCONFIG(XMLTREE,tuxbox-xmltree)
TUXBOX_APPS_LIB_PKGCONFIG(CONFIGFILE,tuxbox-configfile)
TUXBOX_APPS_LIB_PKGCONFIG(TUXTXT,tuxbox-tuxtxt)
CPPFLAGS="$CPPFLAGS $TUXTXT_CFLAGS"
CFLAGS="$CFLAGS $TUXTXT_CFLAGS"
AC_OUTPUT([
Makefile
include/Makefile
tuxmail/Makefile
tuxmail/daemon/Makefile
tuxtxt/Makefile
tuxtxt/font/Makefile
tuxcom/Makefile
enigma/Makefile
enigma/demo/Makefile
enigma/dreamdata/Makefile
enigma/ngrabstart/Makefile
enigma/ngrabstop/Makefile
enigma/dslconnect/Makefile
enigma/dsldisconnect/Makefile
plugin_framework/Makefile
tuxbox-plugins.pc
])
Code: Alles auswählen
.../tuxbox-cvs/apps/tuxbox/plugins$ automake-1.4 --gnu plugin_framework/Makefile
.../tuxbox-cvs/apps/tuxbox/plugins$ CONFIG_FILES=plugin_framework/Makefile CONFIG_HEADERS= /bin/sh ./config.status
config.status: creating plugin_framework/Makefile
config.status: executing default-1 commands

Trotzdem kann es ja nicht ganz Sinn der Sache sein, die besagten Befehle per Hand auszuführen. Entweder wurde dieser Part im Tutorial "vergessen", oder ich hab was übersehen/falsch gemacht, oder das Tutorial ist veraltet. Naja, zumindest gehts jetzt, wenn auch nicht so elegant wie man sich das wünschen würde

-
- Senior Member
- Beiträge: 1339
- Registriert: Donnerstag 24. April 2003, 12:12
-
- Neugieriger
- Beiträge: 13
- Registriert: Donnerstag 25. August 2005, 15:24