Esempio n. 1
0
    def API_queueAndPlay(self, uri, request):
        # If in tmpqueue and state is playing and there are tracks in tmpqueue.
        # Then remove the currently playing track. Since we do not want to queue tracks
        # from just "clicking around".
        playlist = Playlist.objects.get(id=self.active_playlist_id)
        if self.is_in_tmpqueue() and self.get_state() == 'playing' and playlist.tracks.count() >= 1:
            playlist.entry_set.all()[0].delete()

        tracks = self.dogvibes.create_tracks_from_uri(uri)
        e = None
        queue = Playlist.objects.get(id=self.tmpqueue_id)
        for track in tracks:
            e = Entry(playlist=queue, track=track)
            e.insert_at(0)
        self.play_track(queue.id, e.id)

        self.playlist_version += 1
        self.needs_push_update = True
        request.finish()