def __init__(self, dogvibes, id): self.dogvibes = dogvibes self.pipeline = gst.Pipeline("amppipeline" + id) # create the tee element self.tee = gst.element_factory_make("tee", "tee") self.pipeline.add(self.tee) # listen for EOS self.bus = self.pipeline.get_bus() self.bus.add_signal_watch() self.bus.connect('message', self.pipeline_message) # Create amps playqueue if Playlist.name_exists(dogvibes.ampdbname + id) == False: self.dogvibes.API_createPlaylist(dogvibes.ampdbname + id) tqplaylist = Playlist.get_by_name(dogvibes.ampdbname + id) self.tmpqueue_id = tqplaylist.id self.active_playlist_id = self.tmpqueue_id if (tqplaylist.length() > 0): self.active_playlists_track_id = tqplaylist.get_track_nbr(0).ptid else: self.active_playlists_track_id = -1 self.fallback_playlist_id = -1 self.fallback_playlists_track_id = -1 # sources connected to the amp self.sources = [] # the gstreamer source that is currently used for playback self.src = None self.needs_push_update = False