Ejemplo n.º 1
0
class QueuePlayer(QueueListener):
    def __init__(self, name):
        self.player = QueuedWavePlayer()
        super(QueuePlayer, self).__init__(name)

    def get_queued_trackes_to_be_processed(self):
        with self.lock:
            for queued_track in models.QueuedTrack.objects.filter(state="mixed"):
                yield queued_track

    def process_queued(self, queued_track):
        try:
            self.logger.info(
                "Sending %s to player (%s)..", queued_track.track.spotifyid, queued_track.get_wav_file_name()
            )
            self.player.queue_for_playing(queued_track.get_wav_file_name())
            queued_track.state = "played"
            queued_track.save()
        except Exception as e:
            self.logger.exception("background thread had an error: %s", e)
            queued_track.state = "error"
            queued_track.save()  # triggers a track change notification
            queued_track.save()  # triggers a track change notification
Ejemplo n.º 2
0
 def __init__(self, name):
     self.player = QueuedWavePlayer()
     super(QueuePlayer, self).__init__(name)