try:
self.log.info('Connecting MPD: {0}:{1}'.format(*self.player._mpd))
self.player.connect()
+ self.foreach_plugin('start')
except (PlayerError, PlayerUnHandledError) as err:
self.log.warning('Player: {}'.format(err))
self.reconnect_player()
- self.foreach_plugin('start')
while 42:
try:
self.loop()
Plugin.__init__(self, daemon)
self.chan = 'mpd_sima:{0}.{1}'.format(getfqdn(), getpid())
self.channels = []
- self.uniq = True
+ self._registred = False
def start(self):
if not self.is_capable():
self.log.warning('MPD does not provide client to client')
return
self.is_uniq()
- self.sub_chan()
+ if not self._registred:
+ self.sub_chan()
def is_capable(self):
if {'channels', 'subscribe'}.issubset(set(self.player.commands())):
if channels:
self.log.warning('Another instance is queueing on this MPD host')
self.log.warning(' '.join(channels))
- self.uniq = False
def sub_chan(self):
self.log.debug('Registering as {}'.format(self.chan))
self.player.subscribe(self.chan)
+ self._registred = True
def callback_need_track(self):
if self.is_capable():