Kanalnummer in der Infoleiste - Skin VU_HD_1080P

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Kanalnummer in der Infoleiste - Skin VU_HD_1080P

      Hallo,ich hätte gern die Kanalnummer in der Infoleiste anstatt des Tuners angezeigt.
      Ich nutze den Skin VU_HD_1080P und würde die Anpassung in folgender Datei vornehmen:

      /usr/share/enigma2/Vu_HD_1080P/skin.xml

      Welchen Eintrag müsste ich ändern und wie sollte dieser Eintrag aussehen?
      Mein Skin-Datei habe ich mit angehangen.
      Dateien
      • skin.xml

        (319,26 kB, 9 mal heruntergeladen, zuletzt: )
      Vu+ Uno 4K SE DVB-S2x (Hitachi 750GB) Version: 2021-01-21-vuplus_experimental

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von NaseDC ()

    • Du solltest nicht skin.xml verändern, weil die Datei bei einem Update des Skins überschrieben wird.

      Erstell einen Skinpart!

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von hgdo ()

    • Hallo,

      danke für Eure wertvollen Tipps.
      Könntet Ihr mir bitte auf die Sprünge helfen? An welcher Stelle ich genauer nach der Kanalnummer, anhand meiner Skin.xml, schauen sollte.
      Ich kann die Kanalnummer nicht entdecken. Diese müsste sicherlich irgendwo in der skin.xml auftauchen. Oder liege ich damit falsch?.
      Meinen Skin "Vu_HD_1080P" möchte ich gern beibehalten nur die Kanalnummer hätte ich gern noch in der Infobar.
      Vu+ Uno 4K SE DVB-S2x (Hitachi 750GB) Version: 2021-01-21-vuplus_experimental
    • Wenn deine Firmwareversion aus der Signatur stimmt, solltest du zuerst einmal VTI flashen und dich dann mit der Feinanpassung beschäftigen.
      Sonst machst du später alles noch einmal.
      ACHTUNG!!!! Hier folgt eine Signatur:


      Die Benutzung der Suche ist NICHT verboten! D:

      "Hilfe!!!" ist kein sinnvoller Titel für einen neuen Thread, ebensowenig "VU+Zero" oder vergleichbares.

      Keine Hilfe ohne ausgefülltes Profil!
      Kein Netzwerksupport bei manueller IP-Adress-Vergabe :-)
      Kein Support bei portforwardings/ Portfreigaben

      Profil extra angepasst für die arme Emma, die sonst nichts im Leben hat :happy1:
    • Muss ich den unbedingt VTI flashen, um die Kanalnummer in der Infozeile darzustellen?
      Ich hatte das VTI schon drauf, dies ist mir zu bunt und zu überladen ich mag es schlicht.
      Für mich ist es kein Problem, die fertige skin.xml wegzusichern und wenn diese nach einem Update wieder benötigt wird, per ssh wieder rüberzuschieben.
      ist es möglich die Skin.xml so anzupassen, dass die Kanalnummer in der Infoleiste dargestellt werden kann?
      Vu+ Uno 4K SE DVB-S2x (Hitachi 750GB) Version: 2021-01-21-vuplus_experimental
    • Ob VTI bunt aussieht liegt doch nur am Skin.

      Die Empfehlung dazu, was der richtige Weg wäre, die Box zu nutzen und die Infobar anzupassen, hast Du ja schon bekommen: VTI flashen und den passenden Skin-Part für die Infobox auswählen. Da gibt es bestimmt einen, der so ist, wie Du ihn haben möchtest.

      Wenn Du lieber nicht das VTI verwenden möchtest, sondern das Original-Image, wirst Du nicht so viel Support bekommen, weil es kaum jemanden gibt, der das Original-Image verwendet und Erfahrung damit hat.
    • Wer ohne dem VTI das Original-Image nutzt und die Kanalnummer in der Infoleiste darstellen möchte, kann folgendes probieren.
      Ich konnte dies im Skin "Vu_HD_1080P" erfolgreich umsetzen.

      Datei "ExtendedServiceInfo.py" in das Verzeichnis "/usr/lib/enigma2/python/Components/Converter/" kopieren.

      Download "ExtendedServiceInfo.py":
      ExtendedServiceInfo.py
      Skins/skins_fullhdpli/usr/lib/enigma2/python/Components/Converter at master · HDMU/Skins · GitHub

      und folgende Zeilen

      Quellcode: skin.xml

      1. <!-- #### Kanalnummer #### -->
      2. <widget source="session.CurrentService" render="Label" position="66,100" size="70,35" font="Semiboldit;32" valign="center" halign="left" noWrap="1" foregroundColor="InfobarFgL" back
      3. <convert type="ExtendedServiceInfo">ServiceNumber</convert>
      4. </widget>

      in die Skin.xlm einige Zeilen nach <!-- Main infobar --> wie folgt einfügen.

      Quellcode: skin.xml

      1. <!-- Main infobar -->
      2. <screen name="InfoBar" flags="wfNoBorder" position="0,801" size="1920,279" title="InfoBar" backgroundColor="transparent">
      3. <!-- Background -->
      4. <ePixmap position="0,0" zPosition="-1" size="1920,279" pixmap="Vu_HD_1080P/info-bg.png" />
      5. <!-- #### Kanalnummer #### -->
      6. <widget source="session.CurrentService" render="Label" position="66,100" size="70,35" font="Semiboldit;32" valign="center" halign="left" noWrap="1" foregroundColor="InfobarFgL" back
      7. <convert type="ExtendedServiceInfo">ServiceNumber</convert>
      8. </widget>
      9. <!-- Signal Quality -->

      Python-Quellcode: ExtendedServiceInfo.py

      1. ##
      2. ## Extended Service-Info Converter
      3. ## by AliAbdul
      4. ##
      5. ## Example usage in the skin.xml:
      6. ## <widget source="session.CurrentService" render="Label" position="164,435" size="390,28" font="Regular;26" transparent="1" >
      7. ## <convert type="ExtendedServiceInfo">Config</convert>
      8. ## </widget>
      9. ##
      10. ## Known issues with the ServiceNumber Converter:
      11. ## If you have one service in different bouquets the first index of the service will be taken
      12. ## If you rename, move, delete or add a channel the numbers will not be OK any more. You have to restart E2 then
      13. ##
      14. from Components.config import config
      15. from Components.Converter.Converter import Converter
      16. from Components.Element import cached
      17. from enigma import eServiceCenter, eServiceReference, iServiceInformation
      18. from xml.etree.cElementTree import parse
      19. ##########################################################################
      20. class ExtendedServiceInfo(Converter, object):
      21. SERVICENAME = 0
      22. SERVICENUMBER = 1
      23. ORBITALPOSITION = 2
      24. SATNAME = 3
      25. PROVIDER = 4
      26. FROMCONFIG = 5
      27. ALL = 6
      28. def __init__(self, type):
      29. Converter.__init__(self, type)
      30. self.satNames = {}
      31. self.readSatXml()
      32. self.getLists()
      33. if type == "ServiceName":
      34. self.type = self.SERVICENAME
      35. elif type == "ServiceNumber":
      36. self.type = self.SERVICENUMBER
      37. elif type == "OrbitalPosition":
      38. self.type = self.ORBITALPOSITION
      39. elif type == "SatName":
      40. self.type = self.SATNAME
      41. elif type == "Provider":
      42. self.type = self.PROVIDER
      43. elif type == "Config":
      44. self.type = self.FROMCONFIG
      45. else:
      46. self.type = self.ALL
      47. @cached
      48. def getText(self):
      49. service = self.source.service
      50. info = service and service.info()
      51. if not info:
      52. return ""
      53. text = ""
      54. name = info.getName().replace('\xc2\x86', '').replace('\xc2\x87', '')
      55. number = self.getServiceNumber(name, info.getInfoString(iServiceInformation.sServiceref))
      56. orbital = self.getOrbitalPosition(info)
      57. satName = self.satNames.get(orbital, orbital)
      58. if self.type == self.SERVICENAME:
      59. text = name
      60. elif self.type == self.SERVICENUMBER:
      61. text = number
      62. elif self.type == self.ORBITALPOSITION:
      63. text = orbital
      64. elif self.type == self.SATNAME:
      65. text = satName
      66. elif self.type == self.PROVIDER:
      67. text = info.getInfoString(iServiceInformation.sProvider)
      68. elif self.type == self.FROMCONFIG:
      69. if config.plugins.ExtendedServiceInfo.showServiceNumber.value == True and number != "":
      70. text = "%s. %s" % (number, name)
      71. else:
      72. text = name
      73. if config.plugins.ExtendedServiceInfo.showOrbitalPosition.value == True and orbital != "":
      74. if config.plugins.ExtendedServiceInfo.orbitalPositionType.value == "name":
      75. text = "%s (%s)" % (text, satName)
      76. else:
      77. text = "%s (%s)" % (text, orbital)
      78. else:
      79. if number == "":
      80. text = name
      81. else:
      82. text = "%s. %s" % (number, name)
      83. if orbital != "":
      84. text = "%s (%s)" % (text, orbital)
      85. return text
      86. text = property(getText)
      87. def changed(self, what):
      88. Converter.changed(self, what)
      89. def getListFromRef(self, ref):
      90. list = []
      91. serviceHandler = eServiceCenter.getInstance()
      92. services = serviceHandler.list(ref)
      93. bouquets = services and services.getContent("SN", True)
      94. for bouquet in bouquets:
      95. services = serviceHandler.list(eServiceReference(bouquet[0]))
      96. channels = services and services.getContent("SN", True)
      97. for channel in channels:
      98. if not channel[0].startswith("1:64:"): # Ignore marker
      99. list.append(channel[1].replace('\xc2\x86', '').replace('\xc2\x87', ''))
      100. return list
      101. def getLists(self):
      102. self.tv_list = self.getListFromRef(eServiceReference('1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25) FROM BOUQUET "bouquets.tv" ORDER BY bouquet'))
      103. self.radio_list = self.getListFromRef(eServiceReference('1:7:2:0:0:0:0:0:0:0:(type == 2) FROM BOUQUET "bouquets.radio" ORDER BY bouquet'))
      104. def readSatXml(self):
      105. satXml = parse("/etc/tuxbox/satellites.xml").getroot()
      106. if satXml is not None:
      107. for sat in satXml.findall("sat"):
      108. name = sat.get("name") or None
      109. position = sat.get("position") or None
      110. if name is not None and position is not None:
      111. position = "%s.%s" % (position[:-1], position[-1:])
      112. if position.startswith("-"):
      113. position = "%sW" % position[1:]
      114. else:
      115. position = "%sE" % position
      116. if position.startswith("."):
      117. position = "0%s" % position
      118. self.satNames[position] = name
      119. def getServiceNumber(self, name, ref):
      120. list = []
      121. if ref.startswith("1:0:2"):
      122. list = self.radio_list
      123. elif ref.startswith("1:0:1"):
      124. list = self.tv_list
      125. number = ""
      126. if name in list:
      127. for idx in range(1, len(list)):
      128. if name == list[idx-1]:
      129. number = str(idx)
      130. break
      131. return number
      132. def getOrbitalPosition(self, info):
      133. transponderData = info.getInfoObject(iServiceInformation.sTransponderData)
      134. orbital = 0
      135. if transponderData is not None:
      136. if isinstance(transponderData, float):
      137. return ""
      138. if transponderData.has_key("tuner_type"):
      139. if (transponderData["tuner_type"] == "DVB-S") or (transponderData["tuner_type"] == "DVB-S2"):
      140. orbital = transponderData["orbital_position"]
      141. orbital = int(orbital)
      142. if orbital > 1800:
      143. orbital = str((float(3600 - orbital))/10.0) + "W"
      144. else:
      145. orbital = str((float(orbital))/10.0) + "E"
      146. return orbital
      147. return ""
      Alles anzeigen
      Dateien
      • 00.JPG

        (2,11 MB, 25 mal heruntergeladen, zuletzt: )
      • 01.JPG

        (2,18 MB, 20 mal heruntergeladen, zuletzt: )
      Vu+ Uno 4K SE DVB-S2x (Hitachi 750GB) Version: 2021-01-21-vuplus_experimental