diff options
| -rw-r--r-- | doc/asciidoc/classes.txt | 68 | ||||
| -rwxr-xr-x | doc/asciidoc/content.txt | 28 | ||||
| -rw-r--r-- | doc/asciidoc/developer.txt | 11 | ||||
| -rwxr-xr-x | doc/asciidoc/efl.txt | 6 | ||||
| -rw-r--r-- | doc/asciidoc/img/Classes/Corba.png | bin | 0 -> 6092 bytes | |||
| -rw-r--r-- | doc/asciidoc/img/Classes/Media.png | bin | 0 -> 4352 bytes | |||
| -rw-r--r-- | doc/asciidoc/img/Classes/Medialist.png | bin | 0 -> 3611 bytes | |||
| -rw-r--r-- | doc/asciidoc/img/Classes/Search.png | bin | 0 -> 7824 bytes | |||
| -rw-r--r-- | doc/asciidoc/img/Classes/Selection.png | bin | 0 -> 10754 bytes | |||
| -rw-r--r-- | doc/asciidoc/img/Use-Case/Mediensuche.png | bin | 0 -> 108649 bytes | |||
| -rw-r--r-- | doc/asciidoc/img/classdiagram.png | bin | 0 -> 46450 bytes | |||
| -rw-r--r-- | doc/asciidoc/install.txt | 3 | ||||
| -rw-r--r-- | doc/asciidoc/user.txt | 45 | ||||
| -rw-r--r-- | doc/asciidoc/yalp.txt | 33 |
14 files changed, 182 insertions, 12 deletions
diff --git a/doc/asciidoc/classes.txt b/doc/asciidoc/classes.txt new file mode 100644 index 0000000..12e7a21 --- /dev/null +++ b/doc/asciidoc/classes.txt @@ -0,0 +1,68 @@ +Klassen +~~~~~~~ +Search +^^^^^^ +Die Klasse Search implementiert das Suchfeld und den Find-Button. Das Suchfeld +ist ein elementary.Entry der in einen elementary.Frame gelegt wird. Der +Find-Button ist ein elementary.Button. + +Wird der Button geklickt, wird die Funktion findbutton_clicked() aufgerufen. +Darin wird die Eingabe im Suchfeld eingelesen und eine Instanz der Klasse +Corba erzeugt. Der Sucheintrag wird an die Suchfunktion der +Klasse Corba uebergeben. + +image::img/Classes/Search.png[] + +Corba +^^^^^ +In der Funktion corba_search() der Klasse Corba wird die Funktion search() des +ServerControlInterface aufgerufen. Diese bekommt den Suchbegriff uebergeben und +eine Liste der gewuenschten Medien (VIDEO und SOUND, im Code festgelegt). +Anschliessend wird jeweils eine Instanz der Klassen Medialist und Selection +erzeugt. + +In einer Schleife wird fuer jedes gefundene Medium eine Instanz der Klasse +Media erzeugt und diese ueber den Funktionsaufruf add_media(current) der +Medialiste hinzugefuegt. + +image::img/Classes/Corba.png[] + +Medialist +^^^^^^^^^ +Die Klasse Medialist zeichnet die Medialiste, welche eine elementary.List ist. +Die Funktion add_media(self, media), die in der Klasse Corba aufgerufen wird, +fuegt Eintraege zu der Liste hinzu. + +image::img/Classes/Medialist.png[] + +<<< +Media +^^^^^ +Die Klasse Media implementiert fuer jedes gefundene Medium einen Callback, der +bei Klick auf das Medium die Funktion set_stream der Klasse Selection aufruft. +So wird immer gemerkt, welches Listenelement zuletzt angeklickt wurde. + +image::img/Classes/Media.png[] + +Selection +^^^^^^^^^ +Sobald in der Klasse Corba eine Instanz der Klasse Selection erzeugt wird, wird +der Play-Button gezeichnet und ein Emotion-Element erzeugt, in dem spaeter das +Video dargestellt werden kann. +Die Funktion set_stream() speichert welches Listenelement zuletzt angeklickt +wurde. +Wird der Play-Button angeklickt, wird die Funktion play_video() aufgerufen. +Darin wird der Stream erzeugt, gestartet und in einem Emotion-Frame angezeigt. + +image::img/Classes/Selection.png[] + +<<< +UML-Diagramme +~~~~~~~~~~~~~ +Klassendiagramm +^^^^^^^^^^^^^^^ +image::img/classdiagram.png[] + +Use-Case-Diagramm +^^^^^^^^^^^^^^^^^ +image::img/Use-Case/Mediensuche.png[width=375] diff --git a/doc/asciidoc/content.txt b/doc/asciidoc/content.txt index 5b2f7bd..eea005b 100755 --- a/doc/asciidoc/content.txt +++ b/doc/asciidoc/content.txt @@ -1,11 +1,19 @@ -Inhalt -~~~~~~ -1. Einführung -^^^^^^^^^^^^^ -2. Vorhandene Struktur -^^^^^^^^^^^^^^^^^^^^^^ -3. Konzept -^^^^^^^^^^ -GUI-Entwurf -+++++++++++ +YALP - Yet Another Lovely Player +================================ +:Author: Nicole Vreden +:Email: <nicky.v@web.de> +:Date: 26.02.2010 +:Revision: 0.2 + +<<< +include::yalp.txt[] + +<<< +include::install.txt[] + +<<< +include::user.txt[] + +<<< +include::developer.txt[] diff --git a/doc/asciidoc/developer.txt b/doc/asciidoc/developer.txt new file mode 100644 index 0000000..a221a52 --- /dev/null +++ b/doc/asciidoc/developer.txt @@ -0,0 +1,11 @@ +Entwickler... +------------- +...duerfen den YALP-Client weiterentwickeln. Dieses Kapitel beschreibt die +Enlightenment Foundation Libraries, sowie die Architektur des Clients. + + +include::efl.txt[] + +<<< +include::classes.txt[] + diff --git a/doc/asciidoc/efl.txt b/doc/asciidoc/efl.txt index 0d0487b..3fd841f 100755 --- a/doc/asciidoc/efl.txt +++ b/doc/asciidoc/efl.txt @@ -4,7 +4,9 @@ Die Enlightenment Foundation Libraries sind eine Sammlung von Bibliotheken die ursprünglich entwickelt wurden um den DR17 Window Manager zu unterstützen. Diese Bibliotheken sind jedoch so mächtig, flexibel und einfach zu benutzen, dass sie eine gute Plattform zur Entwicklung vieler graphischer Anwendungen -darstellen. Hier einige der wichtigsten Bibliotheken: +darstellen. Hier einige der wichtigsten Bibliotheken, anschliessend eine Grafik +die verdeutlicht, wie die verschiedenen Libraries zusammenhaengen (Quelle: +www.enlightenment.org): Evas ^^^^ @@ -47,4 +49,4 @@ unterstützt libxine 1.0 und gstreamer 0.10 und kann problemlos in die anderen EFL-Bibliotheken integriert werden. Alle Media-Formate die von libxine oder gstreamer unterstützt werden können auch mit Emotion verwendet werden. -image::img/diagram-efl-simple-small.png[scaledwidth="35%"] +image::img/diagram-efl-simple-small.png[width=200] diff --git a/doc/asciidoc/img/Classes/Corba.png b/doc/asciidoc/img/Classes/Corba.png Binary files differnew file mode 100644 index 0000000..2cc7767 --- /dev/null +++ b/doc/asciidoc/img/Classes/Corba.png diff --git a/doc/asciidoc/img/Classes/Media.png b/doc/asciidoc/img/Classes/Media.png Binary files differnew file mode 100644 index 0000000..e8c186f --- /dev/null +++ b/doc/asciidoc/img/Classes/Media.png diff --git a/doc/asciidoc/img/Classes/Medialist.png b/doc/asciidoc/img/Classes/Medialist.png Binary files differnew file mode 100644 index 0000000..9c95ba6 --- /dev/null +++ b/doc/asciidoc/img/Classes/Medialist.png diff --git a/doc/asciidoc/img/Classes/Search.png b/doc/asciidoc/img/Classes/Search.png Binary files differnew file mode 100644 index 0000000..9175236 --- /dev/null +++ b/doc/asciidoc/img/Classes/Search.png diff --git a/doc/asciidoc/img/Classes/Selection.png b/doc/asciidoc/img/Classes/Selection.png Binary files differnew file mode 100644 index 0000000..4da2f3c --- /dev/null +++ b/doc/asciidoc/img/Classes/Selection.png diff --git a/doc/asciidoc/img/Use-Case/Mediensuche.png b/doc/asciidoc/img/Use-Case/Mediensuche.png Binary files differnew file mode 100644 index 0000000..d243259 --- /dev/null +++ b/doc/asciidoc/img/Use-Case/Mediensuche.png diff --git a/doc/asciidoc/img/classdiagram.png b/doc/asciidoc/img/classdiagram.png Binary files differnew file mode 100644 index 0000000..8b7c684 --- /dev/null +++ b/doc/asciidoc/img/classdiagram.png diff --git a/doc/asciidoc/install.txt b/doc/asciidoc/install.txt new file mode 100644 index 0000000..3dc359d --- /dev/null +++ b/doc/asciidoc/install.txt @@ -0,0 +1,3 @@ +Installieren +------------ + diff --git a/doc/asciidoc/user.txt b/doc/asciidoc/user.txt new file mode 100644 index 0000000..e192d79 --- /dev/null +++ b/doc/asciidoc/user.txt @@ -0,0 +1,45 @@ +Benutzer koennen... +------------------- +...Medien finden... +~~~~~~~~~~~~~~~~~~~ +...indem sie einen Suchbegriff in das Textfeld eingeben und auf "Find..." +klicken. +Die Suchergebnisse werden in einer Liste dargestellt. + +Gueltige Suchkriterien sind: + +* Name des Interpreten +* Titel +* leeres Suchfeld + +Es ist auch moeglich, nur einen Teilbegriff einzugeben. Wird das Textfeld leer +gelassen, werden alle in der DB gespeicherten Medien ausgegeben. + +...Medien auswaehlen... +~~~~~~~~~~~~~~~~~~~~~~~ +...indem sie ein Medium aus der Liste anklicken. Der Client merkt sich, +welches Medium zuletzt angeklickt wurde. Ist die Ergebnisliste zu lang um +komplett angezeigt zu werden, wird ein Scrollbalken eingeblendet. + +Hat der Benutzer seine Wahl getroffen kann er den gewaehlten... + +...Titel abspielen... +~~~~~~~~~~~~~~~~~~~~~ +...indem er auf den Button "Play" klickt. Die Suchmaske wird ausgeblendet und +der Stream wird gestartet. + +Klickt der Benutzer in das Video wird die Suchmaske wieder eingeblendet und +transparent ueber das Video gelegt. Es kann nun eine neue Mediensuche gestartet +werden. + +Soll das gleiche Video weiterhin abgespielt und kein anderes Medium gewaehlt +werden, kann die Suchmaske durch Klick auf den "Hide"-Button wieder ausgeblendet +werden. + +Moechte der Benutzer den... + +...Stream unterbrechen... +~~~~~~~~~~~~~~~~~~~~~~~~~ +...kann er dies tun indem er den "Stopp"-Button anklickt. + +image::img/gui.png[] diff --git a/doc/asciidoc/yalp.txt b/doc/asciidoc/yalp.txt new file mode 100644 index 0000000..95698cb --- /dev/null +++ b/doc/asciidoc/yalp.txt @@ -0,0 +1,33 @@ +Der YALP-Client +--------------- + +...kann... +~~~~~~~~~~ +...Medien die im Filesystem des Servers gespeichert sind + +* in der serverseitigen DB finden +* in einer Medienliste darstellen +* vom Server zum Client streamen + +...laeuft... +~~~~~~~~~~~~ +...unter: + +* Linux +* auf dem OpenMoko :-) +(noch zu ergaenzen) + +...benutzt... +~~~~~~~~~~~~~ +...einige Open Source Projekte: + +* EFL: Enlightenment Foundation Libraries fuer das GUI-Design +* postgreSQL: serverseitiges DBMS zur Speicherung der Medieninformationen + +...wurde entwickelt... +~~~~~~~~~~~~~~~~~~~~~~ +...in Python. Die grafische Oberflaeche wurde mit Hilfe der Enlightenment +Foundation Libraries (EFL) umgesetzt. + +...im Rahmen der Projektarbeit im Studium der Angewandten Informatik an der HS +Ravensburg-Weingarten von Nicole Vreden. |
