def on_playing(obj): global alsamixer if control_center.ccchange("volume"): alsamixer.setvolume( int(math.log10(control_center.ccget("volume")*100.0) / 0.02) ) if control_center.ccget("next"): control_center.ccset("next",False) obj.next() if control_center.ccchange("playing"): if control_center.ccget("playing"): obj.resume() else: obj.pause() write_led2("p") if control_center.ccchange("channel"): obj.play_list = [] obj.next() try: dur = obj.cur_song['length'] if dur == 0: dur = int(obj.player.query_duration(gst.FORMAT_TIME, None)[0] / 1000000000) pos = int(obj.player.query_position(gst.FORMAT_TIME, None)[0] / 1000000000) except Exception, e: print "+++++++++++++++",e dur,pos = 0,0
def play(self,uri): self.player.set_state(gst.STATE_NULL) self.player.set_property("uri", uri) self.player.set_state(gst.STATE_PLAYING) self.is_playing = True self.is_pause = False waiting = 0 while self.is_playing: if control_center.ccchange("volume"): volume(control_center.ccget("volume")) if control_center.ccget("next"): control_center.ccset("next",False) mute(True) self.player.set_state(gst.STATE_NULL) self.is_playing = False if control_center.ccchange("playing"): if control_center.ccget("playing"): self.player.set_state(gst.STATE_PLAYING) self.is_pause = False mute(False) else: self.player.set_state(gst.STATE_PAUSED) self.is_pause = True mute(True) if control_center.ccchange("channel"): self.play_list = [] mute(True) self.player.set_state(gst.STATE_NULL) self.is_playing = False if waiting % 10 == 0: try: dur = self.cur_song['length'] if dur == 0: dur = int(self.player.query_duration(gst.FORMAT_TIME, None)[0] / 1000000000) pos = int(self.player.query_position(gst.FORMAT_TIME, None)[0] / 1000000000) print "%s / %s %f @%f"%(self.convert_s(pos), self.convert_s(dur), 1.0 - pos * 1.0 / dur, control_center.ccget("volume")) if not self.is_pause: write_led2("%d"%(dur - pos)) mute(False) else: write_led2("p") except Exception, e: print "+++++++++++++++",e print "00:00 / 00:00" write_led2("") time.sleep(0.1) waiting += 1
def control(): global sig_play_over if control_center.ccget("next"): control_center.ccset("next",False) sig_play_over = True if control_center.ccchange("playing"): if control_center.ccget("playing"): resume() else: pause()
def fetch_playlist(self): write_led2("") request = urllib2.Request(control_center.ccget("channel")) request.add_header('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11') request.add_header('Accept-Encoding','deflate') request.add_header('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8') request.add_header('Connection','close') request.add_header('Cookie',control_center.ccget("cookie")) response = urllib2.urlopen(request) ret = response.read() print ret self.play_list = json.loads(ret)["song"]
def on_next_song(obj): if obj.play_list == [] : request = urllib2.Request(control_center.ccget("channel")) request.add_header('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11') request.add_header('Accept-Encoding','deflate') request.add_header('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8') request.add_header('Connection','close') request.add_header('Cookie',control_center.ccget("cookie")) response = urllib2.urlopen(request) ret = response.read() print ret obj.play_list = json.loads(ret)["song"] obj.cur_song = obj.play_list.pop() control_center.ccset("db_cur_song",json.dumps(obj.cur_song)) return obj.cur_song["url"]
def fetch_playlist(): global play_list # write_fetch() chl = json.loads(control_center.ccget("channel")) request = urllib2.Request(chl["url"]) request.add_header( "User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11", ) request.add_header("Accept-Encoding", "deflate") request.add_header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") request.add_header("Connection", "close") for (k, v) in chl["headers"].items(): request.add_header(k, v) response = urllib2.urlopen(request) play_list = json.loads(response.read())["song"]
obj.play_list = [] obj.next() try: dur = obj.cur_song['length'] if dur == 0: dur = int(obj.player.query_duration(gst.FORMAT_TIME, None)[0] / 1000000000) pos = int(obj.player.query_position(gst.FORMAT_TIME, None)[0] / 1000000000) except Exception, e: print "+++++++++++++++",e dur,pos = 0,0 print "%s / %s"%(convert_s(pos), convert_s(dur)) if control_center.ccget("playing"): write_led2("%d"%(dur - pos)) def on_next_song(obj): if obj.play_list == [] : request = urllib2.Request(control_center.ccget("channel")) request.add_header('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11') request.add_header('Accept-Encoding','deflate') request.add_header('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8') request.add_header('Connection','close') request.add_header('Cookie',control_center.ccget("cookie")) response = urllib2.urlopen(request) ret = response.read() print ret obj.play_list = json.loads(ret)["song"]