1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
#!/usr/bin/env python
import edje
import ecore.evas
import sys
import os
import ecore
import emotion
import evas
import elementary
import YalpInterfaces, CosNaming, YalpInterfaces__POA
import evas.c_evas
import media
class Selection(object):
def __init__(self, win, c):
self.win = win
self.c = c
self.add_button()
self.c.signal_callback_add("mouse,clicked,1", "medialist_buttonframe",
self.play_video)
self.vid = emotion.Emotion(self.win.canvas, module_filename="xine")
self.is_playing = False
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()
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
def play_video(self, dummy, dumm, duemmer):
ip = "10.0.3.180"
port = 9993
#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
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)
|