Beispiel #1
0
def track_uri_callback(sp, result):
	global currentLid, currentTracks, currentTrackI, currentPlaylistId
	if "type" in result and result["type"] == 3:
		Logging.notice("Track is not available. Skipping.")
		do_next_queue(sp)
		return

	#We need to "end" the previous track
	if currentTrackI > 0:	
		#Get the last track
		currentTrack = currentTracks[currentTrackI - 1]
		trackUri = SpotifyUtil.id2uri("track", SpotifyUtil.gid2id(currentTrack.gid))
		sp.track_end(currentLid, 0, 97, trackUri, sp.username, currentPlaylistId, None)

	currentTrack = currentTracks[currentTrackI]
	trackUri = SpotifyUtil.id2uri("track", SpotifyUtil.gid2id(currentTrack.gid))

	lid = result["lid"]
	url = result["uri"]
	currentLid = lid

	print "Got URL for: " + currentTrack.name + " - " + currentTrack.artist[0].name

	sp.track_event(lid, 3, 0, None)
	sp.track_progress(lid, 500, 97, sp.username, currentPlaylistId, trackUri, None)
	sp.track_event(lid, 4, 500, None)
	sp.send_command("sp/echo", ["h"])
	sp.send_command("sp/log", [30, 1, "heartbeat", 77, 77, 2, False])	
	time.sleep(1)
	do_next_queue(sp)
Beispiel #2
0
def album_metadata_callback(sp, album):
	print album.name+"\n"
	uris = []
	for track in album.disc[0].track:
		uris.append(SpotifyUtil.gid2uri("track", track.gid))
		sp.track_uri(SpotifyUtil.gid2id(track.gid), "mp3160", track_uri_callback)
	sp.metadata_request(uris, multi_track_metadata_callback)
Beispiel #3
0
 def getImages(self):
     if self.obj != None and self.obj.attributes.picture != None:
         images = {}
         size  = 300
         image_url = Spotify.imageFromId(SpotifyUtil.gid2id(self.obj.attributes.picture), size)
         if image_url != None:
             images[size] = image_url
             return images
     return None
 def getImages(self):
     if self.obj != None and self.obj.attributes.picture != None:
         images = {}
         size = 300
         image_url = Spotify.imageFromId(
             SpotifyUtil.gid2id(self.obj.attributes.picture), size)
         if image_url != None:
             images[size] = image_url
             return images
     return None
Beispiel #5
0
def do_next_queue(sp):
	global currentTracks, currentTrackI
	currentTrackI += 1	
	if currentTrackI >= len(currentTracks):	
		print("Done!")	
		return

	track = currentTracks[currentTrackI]

	trackId = SpotifyUtil.gid2id(track.gid)
	trackUri = SpotifyUtil.id2uri("track", trackId)

	sp.track_uri(trackId, "mp3160", track_uri_callback)
Beispiel #6
0
    def imagesFromArray(image_objs, must_convert_to_id=True):
        images = {}
        for image_obj in image_objs:
            size = image_obj.width
            if size <= 60:
                size = 60
            elif size <= 160:
                size = 160
            elif size <= 300:
                size = 300
            elif size <= 320:
                size = 320
            elif size <= 640:
                size = 640

            image_id = SpotifyUtil.gid2id(image_obj.file_id) if must_convert_to_id else image_obj.file_id
            image_url = Spotify.imageFromId(image_id, size)
            if image_url != None:
                images[size] = image_url

        return images
    def imagesFromArray(image_objs, must_convert_to_id=True):
        images = {}
        for image_obj in image_objs:
            size = image_obj.width
            if size <= 60:
                size = 60
            elif size <= 160:
                size = 160
            elif size <= 300:
                size = 300
            elif size <= 320:
                size = 320
            elif size <= 640:
                size = 640

            image_id = SpotifyUtil.gid2id(
                image_obj.file_id) if must_convert_to_id else image_obj.file_id
            image_url = Spotify.imageFromId(image_id, size)
            if image_url != None:
                images[size] = image_url

        return images
Beispiel #8
0
 def getID(self):
     return SpotifyUtil.gid2id(self.obj.gid)
 def getID(self):
     return SpotifyUtil.gid2id(self.obj.gid)