#!/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="gstreamer") 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="gstreamer") 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)