def onEvent(self, mask): self.mask = mask self.tuners = [] bit = 1; for tunernumber in range(8): #print "IBTS UNKNOWN ", tunernumber, bit, bool(mask & bit) if bool(mask & bit): #print "IBTS UNKNOWN append tuner", tunernumber self.tuners.append(tunernumber) bit = bit << 1 # Remove live tuner if self.tuners: from NavigationInstance import instance iplayableservice = instance and instance.getCurrentService() if iplayableservice: tuner, tunertype, tunernumber = getTunerByPlayableService(iplayableservice) #print "IBTS UNKNOWN live tuner", tunernumber if tunernumber in self.tuners: #print "IBTS UNKNOWN remove tuner", tunernumber self.tuners.remove(tunernumber) else: del self.tuners[-1] if config.infobartunerstate.show_events.value: from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.onEvent()
def onEvent(self, mask): self.mask = mask self.tuners = [] bit = 1 for tunernumber in range(8): #print "IBTS UNKNOWN ", tunernumber, bit, bool(mask & bit) if bool(mask & bit): #print "IBTS UNKNOWN append tuner", tunernumber self.tuners.append(tunernumber) bit = bit << 1 # Remove live tuner if self.tuners: from NavigationInstance import instance iplayableservice = instance and instance.getCurrentService() if iplayableservice: tuner, tunertype, tunernumber = getTunerByPlayableService( iplayableservice) #print "IBTS UNKNOWN live tuner", tunernumber if tunernumber in self.tuners: #print "IBTS UNKNOWN remove tuner", tunernumber self.tuners.remove(tunernumber) else: del self.tuners[-1] if config.infobartunerstate.show_events.value: from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.onEvent()
def onEventClientCountChanged(self, count, client, force=False): if len(self.ids) < count: # Extract parameters ip = str(client) id = getStreamID(count, ip) print "IBTS Stream Event StreamServer Start " + id self.ids.append( (id, ip, None) ) # We will add the entry later if force: client = getClient(ip) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.addEntry(id, self.getPluginName(), self.getType(), self.getText(), "", "", 0, "", 0, time(), 0, True, "", client, ip, "") gInfoBarTunerState.onEvent() else: # Remove Finished Stream print "IBTS Stream Event StreamServer End", count, client # There is no way to find the correct stream, just remove the oldest if self.ids: id, ip, servicereference_string = self.ids[0] del self.ids[0] from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.finishEntry(id) gInfoBarTunerState.onEvent()
def onEvent(self, event, stream): if StreamingWebScreen and stream: if (event == StreamingWebScreen.EVENT_START): id = getStreamID(stream) log.debug("IBTS Stream Event WebIf Start " + id) irecordservice = stream.getRecordService() eservicereference = stream.getRecordServiceRef() # Extract parameters ip = str(stream.clientIP) if ip and ':' in ip and '.' in ip: # Mixed style ::ffff:192.168.64.27 ip = string.split(str(stream.clientIP), ':')[-1] # Delete references to avoid blocking tuners del stream tuner, tunertype, tunernumber = getTunerByPlayableService( irecordservice) name = getEventName(eservicereference) number = getNumber(eservicereference) channel = getChannel(eservicereference) reference = "" if eservicereference is not None: reference = str(ServiceReference(eservicereference)) client = getClient(ip) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.addEntry(id, self.getPluginName(), self.getType(), self.getText(), tuner, tunertype, tunernumber, name, number, channel, reference, time(), 0, True, "", client, ip) if config.infobartunerstate.plugin_webif.show_events.value: gInfoBarTunerState.onEvent() elif event == StreamingWebScreen.EVENT_END: # Remove Finished Stream id = getStreamID(stream) log.debug("IBTS Stream Event WebIf End " + id) # Delete references to avoid blocking tuners del stream from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.finishEntry(id) if config.infobartunerstate.plugin_webif.show_events.value: gInfoBarTunerState.onEvent()
def onEvent(self, timer): if not timer.justplay: #print "IBTS Timer Event "+ str(timer.state) + ' ' + str(timer.repeated) #TODO # w.processRepeated() # w.state = TimerEntry.StateWaiting if timer.state == timer.StatePrepared: print "IBTS Records StatePrepared" pass elif timer.state == timer.StateRunning: id = getTimerID( timer ) print "IBTS Records StateRunning ID " + id from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState and not gInfoBarTunerState.hasEntry(id): #TEST Bug Repeating timer blocking tuner and are not marked as finished #timer.timeChanged = self.__OnTimeChanged name = timer.name begin = timer.begin end = timer.end endless = timer.autoincrease # Is this really necessary? try: timer.Filename except: timer.calculateFilename() filename = timer.Filename irecordservice = timer.record_service servicereference = timer.service_ref # Delete references to avoid blocking tuners del timer tuner, tunertype, tunernumber = getTunerByPlayableService(irecordservice) number = getNumber(servicereference.ref) channel = getChannel(servicereference.ref) gInfoBarTunerState.addEntry(id, self.getPluginName(), self.getType(), self.getText(), tuner, tunertype, tunernumber, name, number, channel, begin, end, endless, filename) gInfoBarTunerState.onEvent() # Finished repeating timer will report the state StateEnded+1 or StateWaiting else: id = getTimerID( timer ) print "IBTS Records StateEnded ID " + id # Delete references to avoid blocking tuners del timer from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.finishEntry(id) gInfoBarTunerState.onEvent()
def onEvent(self, ev): #log.debug( "IBTS Live onEvent ev", ev, str(self.tunerstate) ) if ev == iPlayableService.evUpdatedEventInfo or ev == iPlayableService.evUpdatedInfo: if self.tunerstate: tunerstate = self.tunerstate from NavigationInstance import instance if instance: changed = False eservicereference = instance.getCurrentlyPlayingServiceReference( ) eservicereference_string = str(eservicereference) # Avoid recalculations if self.eservicereference_string != eservicereference_string: tunerstate.number = None tunerstate.channel = "" tunerstate.tuner, tunerstate.tunertype, tunerstate.tunernumber = "", "", None tunerstate.name, tunerstate.begin, tunerstate.end = "", 0, 0 self.eservicereference_string = eservicereference_string if not tunerstate.number: tunerstate.number = getNumber(eservicereference) changed = True if not tunerstate.channel: tunerstate.channel = getChannel(eservicereference) changed = True if not tunerstate.reference: tunerstate.reference = eservicereference_string changed = True iplayableservice = instance.getCurrentService() if not tunerstate.tuner or not tunerstate.tunertype or not tunerstate.tunernumber: tunerstate.tuner, tunerstate.tunertype, tunerstate.tunernumber = getTunerByPlayableService( iplayableservice) changed = True if not tunerstate.name or not tunerstate.begin or not tunerstate.end: tunerstate.name, tunerstate.begin, tunerstate.end = getEventData( iplayableservice) changed = True if changed: from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.updateMetrics() from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.onEvent()
def onEvent(self, event, stream): log.debug("IBTS Stream Event OpenWebIf") if StreamAdapter and stream: if (event == StreamAdapter.EV_BEGIN): id = getStreamID(stream) log.debug("IBTS Stream Event OpenWebIf Start " + id) irecordservice = stream.getService() eservicereference = stream.ref # Extract parameters ip = stream.clientIP # Delete references to avoid blocking tuners del stream tuner, tunertype, tunernumber = getTunerByPlayableService( irecordservice) name = getEventName(eservicereference) number = getNumber(eservicereference) channel = getChannel(eservicereference) reference = str(eservicereference) client = getClient(ip) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.addEntry(id, self.getPluginName(), self.getType(), self.getText(), tuner, tunertype, tunernumber, name, number, channel, reference, time(), 0, True, "", client, ip) if config.infobartunerstate.plugin_openwebif.show_events.value: gInfoBarTunerState.onEvent() elif event == StreamAdapter.EV_STOP: # Remove Finished Stream id = getStreamID(stream) log.debug("IBTS Stream Event OpenWebIf End " + id) # Delete references to avoid blocking tuners del stream from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.finishEntry(id) if config.infobartunerstate.plugin_openwebif.show_events.value: gInfoBarTunerState.onEvent()
def onEvent(self, event, stream): if StreamingWebScreen and stream: if (event == StreamingWebScreen.EVENT_START): id = getStreamID(stream) log.debug( "IBTS Stream Event WebIf Start " + id ) irecordservice = stream.getRecordService() eservicereference = stream.getRecordServiceRef() # Extract parameters ip = str(stream.clientIP) if ip and ':' in ip and '.' in ip: # Mixed style ::ffff:192.168.64.27 ip = string.split(str(stream.clientIP), ':')[-1] # Delete references to avoid blocking tuners del stream tuner, tunertype, tunernumber = getTunerByPlayableService( irecordservice ) name = getEventName(eservicereference) number = getNumber(eservicereference) channel = getChannel(eservicereference) reference = "" if eservicereference is not None: reference = str(ServiceReference(eservicereference)) client = getClient(ip) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.addEntry(id, self.getPluginName(), self.getType(), self.getText(), tuner, tunertype, tunernumber, name, number, channel, reference, time(), 0, True, "", client, ip) if config.infobartunerstate.plugin_webif.show_events.value: gInfoBarTunerState.onEvent() elif event == StreamingWebScreen.EVENT_END: # Remove Finished Stream id = getStreamID(stream) log.debug( "IBTS Stream Event WebIf End " + id ) # Delete references to avoid blocking tuners del stream from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.finishEntry(id) if config.infobartunerstate.plugin_webif.show_events.value: gInfoBarTunerState.onEvent()
def onEvent(self, event, stream): log.debug( "IBTS Stream Event OpenWebIf" ) if StreamAdapter and stream: if (event == StreamAdapter.EV_BEGIN): id = getStreamID(stream) log.debug( "IBTS Stream Event OpenWebIf Start " + id ) irecordservice = stream.getService() eservicereference = stream.ref # Extract parameters ip = stream.clientIP # Delete references to avoid blocking tuners del stream tuner, tunertype, tunernumber = getTunerByPlayableService(irecordservice) name = getEventName(eservicereference) number = getNumber(eservicereference) channel = getChannel(eservicereference) reference = str(eservicereference) client = getClient(ip) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.addEntry(id, self.getPluginName(), self.getType(), self.getText(), tuner, tunertype, tunernumber, name, number, channel, reference, time(), 0, True, "", client, ip) if config.infobartunerstate.plugin_openwebif.show_events.value: gInfoBarTunerState.onEvent() elif event == StreamAdapter.EV_STOP: # Remove Finished Stream id = getStreamID(stream) log.debug( "IBTS Stream Event OpenWebIf End " + id ) # Delete references to avoid blocking tuners del stream from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.finishEntry(id) if config.infobartunerstate.plugin_openwebif.show_events.value: gInfoBarTunerState.onEvent()
def onEventParametersChanged(self, params): try: if self.ids: id, ip, servicereference_string = self.ids[-1] print "IBTS Stream Event StreamServer Changed " + id if servicereference_string is None: servicereference_string = str( params.get(streamServerControl.URI_PARAM_REF, [""])[0]) self.ids[-1] = (id, ip, servicereference_string) if servicereference_string: eservicereference = eServiceReference( servicereference_string) if eservicereference and eservicereference.valid(): service_ref = ServiceReference( servicereference_string) tuner, tunertype, tunernumber = getTunerByServiceReference( service_ref) name = getEventName(eservicereference) number = getNumber(eservicereference) channel = getChannel(eservicereference) name = getEventName(eservicereference) client = getClient(ip) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.addEntry( id, self.getPluginName(), self.getType(), self.getText(), tuner, tunertype, tunernumber, name, number, channel, time(), 0, True, "", client, ip) gInfoBarTunerState.onEvent() except Exception, e: print "IBTS exception " + str(e) import os, sys, traceback print str(sys.exc_info()[0]) print str(traceback.format_exc()) sys.exc_clear()
def onEventParametersChanged(self, params): try: if self.ids: id, ip, servicereference_string = self.ids[-1] print "IBTS Stream Event StreamServer Changed " + id if servicereference_string is None: servicereference_string = str(params.get(streamServerControl.URI_PARAM_REF, [""])[0]) self.ids[-1] = (id, ip, servicereference_string) if servicereference_string: eservicereference = eServiceReference(servicereference_string) if eservicereference and eservicereference.valid(): service_ref = ServiceReference(servicereference_string) tuner, tunertype, tunernumber = getTunerByServiceReference( service_ref ) name = getEventName(eservicereference) number = getNumber(eservicereference) channel = getChannel(eservicereference) name = getEventName(eservicereference) client = getClient(ip) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.addEntry(id, self.getPluginName(), self.getType(), self.getText(), tuner, tunertype, tunernumber, name, number, channel, time(), 0, True, "", client, ip) gInfoBarTunerState.onEvent() except Exception, e: print "IBTS exception " + str(e) import os, sys, traceback print str(sys.exc_info()[0]) print str(traceback.format_exc()) sys.exc_clear()
def onEventClientCountChanged(self, count, client, force=False): if len(self.ids) < count: # Extract parameters ip = str(client) id = getStreamID(count, ip) print "IBTS Stream Event StreamServer Start " + id self.ids.append((id, ip, None)) # We will add the entry later if force: client = getClient(ip) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.addEntry(id, self.getPluginName(), self.getType(), self.getText(), "", "", 0, "", 0, time(), 0, True, "", client, ip, "") gInfoBarTunerState.onEvent() else: # Remove Finished Stream print "IBTS Stream Event StreamServer End", count, client # There is no way to find the correct stream, just remove the oldest if self.ids: id, ip, servicereference_string = self.ids[0] del self.ids[0] from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.finishEntry(id) gInfoBarTunerState.onEvent()
def onEventParametersChanged(self, params): try: if self.ids: id, ip, servicereference_string = self.ids[-1] log.debug( "IBTS Stream Event StreamServer Changed " + id ) if servicereference_string is None: servicereference_string = str(params.get(streamServerControl.URI_PARAM_REF, [""])[0]) self.ids[-1] = (id, ip, servicereference_string) if servicereference_string: eservicereference = eServiceReference(servicereference_string) if eservicereference and eservicereference.valid(): service_ref = ServiceReference(servicereference_string) tuner, tunertype, tunernumber = getTunerByServiceReference( service_ref ) name = getEventName(eservicereference) number = getNumber(eservicereference) channel = getChannel(eservicereference) name = getEventName(eservicereference) reference = str(eservicereference) client = getClient(ip) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.addEntry(id, self.getPluginName(), self.getType(), self.getText(), tuner, tunertype, tunernumber, name, number, channel, reference, time(), 0, True, "", client, ip) if config.infobartunerstate.plugin_openwebif.show_events.value: gInfoBarTunerState.onEvent() except Exception, e: log.exception( "IBTS exception " + str(e) )
def onEvent(self, timer): if timer.justplay: return elif timer.state == timer.StatePrepared: log.debug("IBTS Records StatePrepared") return elif timer.state == timer.StateRunning: id = getTimerID(timer) log.debug("IBTS Records StateRunning ID " + id) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState and not gInfoBarTunerState.hasEntry(id): #TEST Bug Repeating timer blocking tuner and are not marked as finished #timer.timeChanged = self.__OnTimeChanged name = timer.name begin = timer.begin end = timer.end endless = timer.autoincrease # Is this really necessary? try: timer.Filename except: timer.calculateFilename() try: filename = timer.Filename except: filename = timer.name irecordservice = timer.record_service servicereference = timer.service_ref # Delete references to avoid blocking tuners del timer tuner, tunertype, tunernumber = getTunerByPlayableService( irecordservice) number = getNumber(servicereference.ref) channel = getChannel(servicereference.ref) reference = str(servicereference) gInfoBarTunerState.addEntry(id, self.getPluginName(), self.getType(), self.getText(), tuner, tunertype, tunernumber, name, number, channel, reference, begin, end, endless, filename) if config.infobartunerstate.plugin_records.show_events.value == "start" or config.infobartunerstate.plugin_records.show_events.value == "startend": gInfoBarTunerState.onEvent() elif timer.state == timer.StateEnded: id = getTimerID(timer) log.debug("IBTS Records StateEnded ID " + id) # Delete references to avoid blocking tuners del timer self.finish(id) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: if config.infobartunerstate.plugin_records.show_events.value == "startend" or config.infobartunerstate.plugin_records.show_events.value == "end": gInfoBarTunerState.onEvent() elif timer.state == timer.StateWaiting: id = getTimerID(timer) log.debug("IBTS Records StateWaiting ID " + id) finish = False # Finished repeating timer will report the state StateEnded+1 or StateWaiting if (timer.repeated != 0): finish = True # Delete references to avoid blocking tuners del timer if finish: self.finish(id) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: if config.infobartunerstate.plugin_records.show_events.value == "startend" or config.infobartunerstate.plugin_records.show_events.value == "end": gInfoBarTunerState.onEvent() elif timer.state == (timer.StateEnded + 1): id = getTimerID(timer) log.debug("IBTS Records StateEnded+1 ID " + id) finish = False # Finished repeating timer will report the state StateEnded+1 or StateWaiting if (timer.repeated != 0): finish = True # Delete references to avoid blocking tuners del timer if finish: self.finish(id) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: if config.infobartunerstate.plugin_records.show_events.value == "startend" or config.infobartunerstate.plugin_records.show_events.value == "end": gInfoBarTunerState.onEvent() else: # Unknown timer state id = getTimerID(timer) log.debug("IBTS Records unknown state " + str(timer.state) + " ID " + id) # Delete references to avoid blocking tuners del timer
def onEvent(self, event, stream): if StreamingWebScreen and stream: if event == StreamingWebScreen.EVENT_START: id = getStreamID(stream) print "IBTS Stream Event WebIf Start " + id irecordservice = stream.getRecordService() eservicereference = stream.getRecordServiceRef() # Extract parameters ip = str(stream.clientIP) if ip and ":" in ip and "." in ip: # Mixed style ::ffff:192.168.64.27 ip = string.split(str(stream.clientIP), ":")[-1] # Delete references to avoid blocking tuners del stream tuner, tunertype, tunernumber = getTunerByPlayableService(irecordservice) name = getEventName(eservicereference) number = getNumber(eservicereference) channel = getChannel(eservicereference) client = getClient(ip) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState gInfoBarTunerState.addEntry( id, self.getPluginName(), self.getType(), self.getText(), tuner, tunertype, tunernumber, name, number, channel, time(), 0, True, "", client, ip, ) gInfoBarTunerState.onEvent() elif event == StreamingWebScreen.EVENT_END: # Remove Finished Stream id = getStreamID(stream) print "IBTS Stream Event WebIf End " + id # Delete references to avoid blocking tuners del stream from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState gInfoBarTunerState.finishEntry(id) gInfoBarTunerState.onEvent()
def onEvent(self, timer): if timer.justplay: return elif timer.state == timer.StatePrepared: log.debug( "IBTS Records StatePrepared" ) return elif timer.state == timer.StateRunning: id = getTimerID( timer ) log.debug( "IBTS Records StateRunning ID " + id ) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState and not gInfoBarTunerState.hasEntry(id): #TEST Bug Repeating timer blocking tuner and are not marked as finished #timer.timeChanged = self.__OnTimeChanged name = timer.name begin = timer.begin end = timer.end endless = timer.autoincrease # Is this really necessary? try: timer.Filename except: timer.calculateFilename() try: filename = timer.Filename except: filename = timer.name irecordservice = timer.record_service servicereference = timer.service_ref # Delete references to avoid blocking tuners del timer tuner, tunertype, tunernumber = getTunerByPlayableService(irecordservice) number = getNumber(servicereference.ref) channel = getChannel(servicereference.ref) reference = str(servicereference) gInfoBarTunerState.addEntry(id, self.getPluginName(), self.getType(), self.getText(), tuner, tunertype, tunernumber, name, number, channel, reference, begin, end, endless, filename) if config.infobartunerstate.plugin_records.show_events.value == "start" or config.infobartunerstate.plugin_records.show_events.value == "startend": gInfoBarTunerState.onEvent() elif timer.state == timer.StateEnded: id = getTimerID( timer ) log.debug( "IBTS Records StateEnded ID " + id ) # Delete references to avoid blocking tuners del timer self.finish(id) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: if config.infobartunerstate.plugin_records.show_events.value == "startend" or config.infobartunerstate.plugin_records.show_events.value == "end": gInfoBarTunerState.onEvent() elif timer.state == timer.StateWaiting: id = getTimerID( timer ) log.debug( "IBTS Records StateWaiting ID " + id ) finish = False # Finished repeating timer will report the state StateEnded+1 or StateWaiting if (timer.repeated != 0): finish = True # Delete references to avoid blocking tuners del timer if finish: self.finish(id) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: if config.infobartunerstate.plugin_records.show_events.value == "startend" or config.infobartunerstate.plugin_records.show_events.value == "end": gInfoBarTunerState.onEvent() elif timer.state == (timer.StateEnded+1): id = getTimerID( timer ) log.debug( "IBTS Records StateEnded+1 ID " + id ) finish = False # Finished repeating timer will report the state StateEnded+1 or StateWaiting if (timer.repeated != 0): finish = True # Delete references to avoid blocking tuners del timer if finish: self.finish(id) from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: if config.infobartunerstate.plugin_records.show_events.value == "startend" or config.infobartunerstate.plugin_records.show_events.value == "end": gInfoBarTunerState.onEvent() else: # Unknown timer state id = getTimerID( timer ) log.debug( "IBTS Records unknown state " + str(timer.state) + " ID " + id ) # Delete references to avoid blocking tuners del timer