summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdoc/asciidoc/content.txt7
-rw-r--r--doc/asciidoc/install.txt65
-rwxr-xr-xsrc/YalpClients/EflClient/eyalp.py (renamed from src/YalpClients/EflClient/main.py)2
-rwxr-xr-xsrc/YalpClients/EflClient/playlist.py103
-rwxr-xr-xsrc/YalpClients/EflClient/yalp_gui.edc81
5 files changed, 206 insertions, 52 deletions
diff --git a/doc/asciidoc/content.txt b/doc/asciidoc/content.txt
index dc33ef4..d6022bb 100755
--- a/doc/asciidoc/content.txt
+++ b/doc/asciidoc/content.txt
@@ -1,10 +1,13 @@
-YALP - Yet Another Lovely Player
-================================
+eYALP
+=====
:Author: Nicole Vreden
:Email: <nicky.v@web.de>
:Date: 26.02.2010
:Revision: 1.0
+Projektarbeit von {author}
+
+
<<<
include::yalp.txt[]
diff --git a/doc/asciidoc/install.txt b/doc/asciidoc/install.txt
index fefc52f..28dc850 100644
--- a/doc/asciidoc/install.txt
+++ b/doc/asciidoc/install.txt
@@ -1,13 +1,28 @@
Starten...
----------
+Zuerst muss der Benutzer die...
+
+...Datenbank einrichten...
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+...indem er den Datenbank-Dump folgendermassen importiert:
+
+/usr/bin/psql -U yalp -w yalp -h localhost -f yalp-db.backup
+
+Der Dump wurde mit folgendem Kommando erstellt:
+
+/usr/bin/pg_dump -U yalp -w yalp -h localhost -f p -C -o -v -f
+"yalp-db.backup"
+
+
+Anschliessend folgt das Starten...
...des Servers...
~~~~~~~~~~~~~~~~~
-indem man im Verzeichnis yalp das Skript server.sh ausfuehrt.
+...indem man im Verzeichnis yalp das Skript server.sh ausfuehrt.
...des InputPlugins...
~~~~~~~~~~~~~~~~~~~~~~
-... im yalp-Verzeichnis mit ./start-java.sh yalpPGSqlInput.jar
+...im yalp-Verzeichnis mit ./start-java.sh yalpPGSqlInput.jar
...des OutputPlugins...
~~~~~~~~~~~~~~~~~~~~~~~
@@ -17,9 +32,47 @@ indem man im Verzeichnis yalp das Skript server.sh ausfuehrt.
~~~~~~~~~~~~~~~~~
...im yalp-Verzeichnis mit ./efl-gui.sh
-Ausserdem muss der Benutzer noch die...
-...Datenbank einrichten...
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-...indem er
+OpenMoko einrichten
+-------------------
+Das SHR-Projekt stellt Images zur Verfuegung welche alle benoetigten
+Komponenten beinhalten. (http://build.shr-project.org)
+
+http://shr-project.org/trac/wiki/Install[Die SHR-Project Homepage] beschreibt
+die Installation des SHR-Images auf dem OpenMoko
+
+OpenMoko per USB mit Linux-PC verbinden. OpenMoko meldet sich als
+Ethernet-Gadget:
+---------------------------------------------------------------------
+[257233.421118] eth1: register 'cdc_ether' at usb-0000:00:1d.1-1, CDC Ethernet
+Device, 00:1f:11:01:31:2d
+[257233.461876] udev: renamed network interface eth1 to eth4
+---------------------------------------------------------------------
+
+Mit ifconfig die Schnittstelle konfigurieren
+
+-----------------------------------
+sudo ifconfig eth4 192.168.0.200 up
+-----------------------------------
+
+Per SSH mit dem OpenMoko verbinden
+-----
+ssh root@192.168.0.202
+----
+
+Auf dem OpenMoko das WLAN konfigurieren
+---
+/sbin/ifconfig eth0 up
+/sbin/iwconfig eth0 essid <essid> enc <wepkey> essid <essid>
+udhcpc eth0
+---
+
+http://mecka.net/eYalp/eYalp.tar.gz[eYalp] fuer OpenMoko herunterladen und mit
+-----
+tar -xzf eYalp.tar.gz -C /
+-----
+entpacken.
+
+In /etc/eYalp.conf die IP-Adresse und Port des NameServices angeben.
+Zum Starten, ein Terminal oeffnen und eYalp eingeben.
diff --git a/src/YalpClients/EflClient/main.py b/src/YalpClients/EflClient/eyalp.py
index eef1ebf..9865d6a 100755
--- a/src/YalpClients/EflClient/main.py
+++ b/src/YalpClients/EflClient/eyalp.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python
import edje
import ecore.evas
diff --git a/src/YalpClients/EflClient/playlist.py b/src/YalpClients/EflClient/playlist.py
index 4d3f12c..6e356c7 100755
--- a/src/YalpClients/EflClient/playlist.py
+++ b/src/YalpClients/EflClient/playlist.py
@@ -17,54 +17,93 @@ class Selection(object):
def __init__(self, win, c):
self.win = win
self.c = c
- self.vid = emotion.Emotion(self.win.canvas, module_filename="xine")
self.add_button()
self.c.signal_callback_add("mouse,clicked,1", "medialist_buttonframe",
self.play_video)
- self.c.signal_callback_add("mouse,clicked,1", "stop_buttonframe",
- self.stop_video)
-
- def add_button(self):
- addbutton = elementary.Button(self.win)
- addbutton.label_set("Play")
- self.c.part_swallow("medialist_buttonframe", addbutton)
- addbutton.show()
+ self.vid = emotion.Emotion(self.win.canvas, module_filename="xine")
+
+ self.is_playing = False
- stopbutton = elementary.Button(self.win)
- stopbutton.label_set("Stop")
- self.c.part_swallow("stop_buttonframe", stopbutton)
- stopbutton.show()
+ def add_button(self):
+ self.addbutton = elementary.Button(self.win)
+ self.addbutton.label_set("Play")
+ self.c.part_swallow("medialist_buttonframe", self.addbutton)
+ self.addbutton.show()
- hidebutton = elementary.Button(self.win)
- hidebutton.label_set("Hide")
- self.c.part_swallow("hide_buttonframe", hidebutton)
- hidebutton.show()
+ self.pausebutton = elementary.Button(self.win)
+ self.pausebutton.label_set("Pause")
+ self.c.part_swallow("pause_buttonframe", self.pausebutton)
+ self.pausebutton.show()
+ self.hidebutton = elementary.Button(self.win)
+ self.hidebutton.label_set("Hide")
+ self.c.part_swallow("hide_buttonframe", self.hidebutton)
+ self.hidebutton.show()
+
+ self.stopbutton = elementary.Button(self.win)
+ self.stopbutton.label_set("Stop")
+ self.c.part_swallow("stop_buttonframe", self.stopbutton)
+ self.stopbutton.show()
+
def set_stream(self, songs, servercon):
self.songlist = songs
self.servercon = servercon
- print "songlist", songs
-
def play_video(self, dummy, dumm, duemmer):
ip = "10.0.3.180"
port = 9993
- self.info = YalpInterfaces.AccessInfo("huhu", "huhu", "xine", "openmoko",
- YalpInterfaces.STREAM)
- self.stream = YalpInterfaces.Output(0, self.info, self.songlist,
- YalpInterfaces.CREATE, ip)
- ret = self.servercon.control(self.stream)
- self.stream.outputAction = YalpInterfaces.START
- ret = self.servercon.control(self.stream)
- print "stream.info:", self.stream.info
+ #self.vid = emotion.Emotion(self.win.canvas, module_filename="xine")
+ if self.is_playing == True:
+ self.vid = emotion.Emotion(self.win.canvas, module_filename="xine")
+ self.stream.outputAction = YalpInterfaces.PLAY
+ ret = self.servercon.control(self.stream)
+ self.vid.file_set("http://"+ip+":"+str(port))
+ self.c.part_swallow("video", self.vid)
+ self.vid.show()
+ self.vid.play = True
+
+
+ if self.is_playing == False:
+ #self.vid = emotion.Emotion(self.win.canvas, module_filename="xine")
+ self.addbutton.visible = False
+
+ self.c.signal_callback_add("mouse,clicked,1", "pause_buttonframe",
+ self.pause_video)
+ self.c.signal_callback_add("mouse,clicked,1", "stop_buttonframe",
+ self.stop_video)
+
+ self.info = YalpInterfaces.AccessInfo("huhu1", "huhu", "xine",
+ "openmoko",YalpInterfaces.STREAM)
+ self.stream = YalpInterfaces.Output(0, self.info, self.songlist,
+ YalpInterfaces.CREATE, ip)
+ ret = self.servercon.control(self.stream)
+ self.stream.outputAction = YalpInterfaces.START
+ ret = self.servercon.control(self.stream)
+ print "stream.info:", self.stream.info
- print "stream from", ip, port
- self.vid.file_set("http://"+ip+":"+str(port))
- self.c.part_swallow("video", self.vid)
- self.vid.show()
- self.vid.play = True
+ print "stream from", ip, port
+ self.vid.file_set("http://"+ip+":"+str(port))
+ self.c.part_swallow("video", self.vid)
+
+ self.vid.show()
+ self.vid.play = True
+ self.is_playing = True
+ def pause_video(self, huhu, haha, hoho):
+ self.stream.outputAction = YalpInterfaces.PAUSE
+ ret = self.servercon.control(self.stream)
+ self.vid.delete()
def stop_video(self, huhu, haha, hoho):
self.stream.outputAction = YalpInterfaces.STOP
ret = self.servercon.control(self.stream)
+ self.stream.outputAction = YalpInterfaces.DELETE
+ ret = self.servercon.control(self.stream)
+
self.vid.play = False
+ self.vid.file_set("")
+ self.vid.hide()
+ self.is_playing = False
+
+ #def continue_video(self, huhu, haha, hoho):
+ #self.stream.outputAction = YalpInterfaces.PLAY
+ #ret = self.servercon.control(self.stream)
diff --git a/src/YalpClients/EflClient/yalp_gui.edc b/src/YalpClients/EflClient/yalp_gui.edc
index 516c61b..316ac16 100755
--- a/src/YalpClients/EflClient/yalp_gui.edc
+++ b/src/YalpClients/EflClient/yalp_gui.edc
@@ -14,6 +14,7 @@ collections
description
{
state: "default" 0.0;
+ color: 0 0 0 0;
rel1
{
relative: 0.0 0.0;
@@ -32,17 +33,20 @@ collections
name: "video";
type: SWALLOW;
mouse_events: 1;
- description {
+ description
+ {
state: "default" 0.0;
- aspect: 1.7 1.8;
+ aspect: 0.75 1.25;
rel1
{
- relative: 0.0 0.0;
+ /*relative: 0.3 0.2;*/
+ relative: 0.35 0.3;
offset: 0 0;
}
rel2
{
- relative: 1.0 1.0;
+ /*relative: 0.75 0.8;*/
+ relative: 0.7 0.7;
offset: 0 0;
}
}
@@ -181,12 +185,12 @@ collections
color: 30 89 114 175;
rel1
{
- relative: 0.15 0.85;
+ relative: 0.05 0.85;
offset: 0 0;
}
rel2
{
- relative: 0.35 0.9;
+ relative: 0.2 0.9;
offset: 0 0;
}
}
@@ -216,12 +220,46 @@ collections
color: 30 89 114 175;
rel1
{
- relative: 0.45 0.85;
+ relative: 0.3 0.85;
offset: 0 0;
}
rel2
{
- relative: 0.65 0.9;
+ relative: 0.45 0.9;
+ offset: 0 0;
+ }
+ }
+ description
+ {
+ state: "default" 1.0;
+ color: 0 0 0 0;
+ rel1
+ {
+ relative: 0.0 0.85;
+ }
+ rel2
+ {
+ relative: -0.5 0.9;
+ }
+ }
+ }
+ part
+ {
+ name: "pause_buttonframe";
+ type: SWALLOW;
+ mouse_events: 1;
+ description
+ {
+ state: "default" 0.0;
+ color: 30 89 114 175;
+ rel1
+ {
+ relative: 0.55 0.85;
+ offset: 0 0;
+ }
+ rel2
+ {
+ relative: 0.7 0.9;
offset: 0 0;
}
}
@@ -251,7 +289,7 @@ collections
color: 30 89 114 175;
rel1
{
- relative: 0.75 0.85;
+ relative: 0.8 0.85;
offset: 0 0;
}
rel2
@@ -321,6 +359,7 @@ collections
target: "searchframe";
target: "find_buttonframe";
target: "medialist_buttonframe";
+ target: "pause_buttonframe";
target: "stop_buttonframe";
target: "hide_buttonframe";
target: "medialist";
@@ -338,6 +377,7 @@ collections
target: "find_buttonframe";
target: "medialist_buttonframe";
target: "stop_buttonframe";
+ target: "pause_buttonframe";
target: "hide_buttonframe";
target: "medialist";
target: "searcharea";
@@ -347,13 +387,13 @@ collections
{
name: "show_frames_video";
source: "video";
- //source: "main";
signal: "mouse,clicked,1";
action: STATE_SET "default" 0.0;
target: "find_buttonframe";
target: "searchframe";
- target: "medialist_buttonframe";
+ //target: "medialist_buttonframe";
target: "stop_buttonframe";
+ target: "pause_buttonframe";
target: "hide_buttonframe";
target: "medialist";
target: "searcharea";
@@ -370,11 +410,30 @@ collections
target: "searchframe";
target: "medialist_buttonframe";
target: "stop_buttonframe";
+ target: "pause_buttonframe";
target: "hide_buttonframe";
target: "medialist";
target: "searcharea";
transition:SINUSOIDAL 1;
}
+
+ program
+ {
+ name: "show_play_on_pause";
+ source: "pause_buttonframe";
+ signal: "mouse,clicked,1";
+ action: STATE_SET "default" 0.0;
+ target: "medialist_buttonframe";
+ }
+
+ program
+ {
+ name: "show_play_on_stop";
+ source: "stop_buttonframe";
+ signal: "mouse,clicked,1";
+ action: STATE_SET "default" 0.0;
+ target: "medialist_buttonframe";
+ }
}
}
}