Объявление

Свернуть
Пока нет объявлений.

Enigma2 IPTV Plugin своими руками, почти с нуля (python) - enigma iptv player

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • #16
    Re: Enigma2 Plugin своими руками, почти с нуля (python)

    продолжаю разследование
    Spoiler
    http://schwerkraft.elitedvb.net/scm/viewvc.php/enigma2-plugins/partnerbox/src/plugin.py?root=enigma2-plugins&view=markup


    Код:
    import time
    import xml.etree.cElementTree
    import urllib
    import SocketServer
    import servicewebts
    ENIGMA_WEBSERVICE_ID = 0x1012
    Код:
    		if len(url) > 0:
    			self.session.nav.stopService()
    			sref = eServiceReference(ENIGMA_WEBSERVICE_ID, 0, url)
    			self.session.nav.playService(sref)
    			self.session.openWithCallback(self.RemotePlayerFinished, RemotePlayer,"" ,"", 0, 0, self.PartnerboxEntry, servicereference)
    		else:
    			self.close()
    Spoiler
    http://schwerkraft.elitedvb.net/scm/viewvc.php/enigma2-plugins/partnerbox/src/servicewebts/?root=enigma2-plugins


    Makefile.am 1.1 17 months dr_best Added Partnerbox Plugin (Remote Timer and Remote TV Player)
    servicewebts.cpp 1.7 11 months dr_best enable h.264 streaming
    servicewebts.h 1.4 13 months ghost fix strange code (this code should be completly rewritten!)
    Thank you Dam72, after some mods in the servicewebts code , it's working ... now i'm progressing
    Spoiler
    http://www.dream-multimedia-tv.de/board/index.php?page=Thread&postID=89348#post89348


    import servicewebts

    .... that lib is needed for remotetv only.
    Spoiler
    http://www.i-have-a-dreambox.com/wbb2/thread.php?threadid=108924&threadview=0&hi light=&hilightuser=0&sid=759e1c08f1e45689c 32d10a6f31134f5&page=26


    нужно будет посмотреть поконкретние на этот плаг, что это за чертовщина вместе с вебплеером
    Вложения
    Обсуждение всех нюансов развода в Германии. www.razvod.net

    Комментарий


    • #17
      Re: Enigma2 Plugin своими руками, почти с нуля (python)

      кто знает, реально ли запустить плаг не запаковывая его в ипк пакет?
      ну к примеру у меня сейчас стоит оф. имедж, хочу закинуть на него сурсы простого плага и посмотреть, как работать с выводом данных на дисплей
      Обсуждение всех нюансов развода в Германии. www.razvod.net

      Комментарий


      • #18
        Re: Enigma2 Plugin своими руками, почти с нуля (python)

        нашел простой способ для своих экспериментов

        1 зашел по фтп
        /usr/lib/enigma2/python/Plugins/Extensions/CDInfo

        2 поправил главный файл plugin.py (перед этим его сохранил)
        заменил содержимаое файла на это
        http://git.opendreambox.org/?p=enigm...ins/TestPlugin

        3 перегрузил бокс и увидел в последствии тесплагин на месте цдинфо

        потом запустил плаг, полазил чуток и получил зеленый экран с ошибками и перегруз.

        вобщем можно подглядывать в исходники других плагов
        http://schwerkraft.elitedvb.net/scm/...nigma2-plugins

        и потяхонечку создавать свое чадо

        Let's write a plugin. We call it "OurSmallTest", and it should be a test

        plugin. Thus we choose &quotemoPlugins" as a category. The category is just to

        organize plugins in the filesystem.
        Spoiler
        http://git.opendreambox.org/?p=enigma2.git;a=blob;f=doc/PLUGINS;h=c397e09c83dc3f02a85b8d1cbadba5a49c847cf1 ;hb=HEAD

        Обсуждение всех нюансов развода в Германии. www.razvod.net

        Комментарий


        • #19
          Re: Enigma2 Plugin своими руками, почти с нуля (python)

          чтото понять не могу, тикет получаю как положено, тк проверил его на компе
          Код:
            def left(self): 
              self.setTitle(_("left"))    
              stream_url = self.channel_url(6)
              cmd ="gst-launch -v playbin2 uri=%s > /tmp/gst.log" % stream_url
              os.system(cmd)
          лог
          Код:
          Setting pipeline to PAUSED ...
          /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: connection-speed = 0
          /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: download = FALSE
          /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: subtitle-encoding = NULL
          /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: uri = "http://217.19.222.34:18005/?ticket=d...8xE1I%3D"
          /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
          /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-size = -1
          /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: source = (GstNeonhttpSrc) source
          Pipeline is PREROLLING ...
          /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
          ERROR: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: Could not create "queue2" element.
          Additional debug info:
          gsturidecodebin.c(1339): type_found (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0
          Setting pipeline to NULL ...
          /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = NULL
          Freeing pipeline ...
          Код:
            def right(self): 
              self.setTitle(_("right")) 
              test = self.channel_url(6) 
              self.setTitle(test) 
              sref = eServiceReference(4114, 0, test) 
              self.session.nav.stopService() 
              self.session.nav.playService(sref)
          и 4097 ставил и 1012 подставлял, всё бестолку, может мне нужно скин прятать?

          скин у меня почти на весь экран, в заголовок пишу свои сообщения
          class Kartina(Screen):
          skin = """
          <screen position="100,100" size="1000,400" title="Kartina.TV" >
          <!-- widget name="list" position="10,0" size="190,250" scrollbarMode="showOnDemand" / -->
          <widget name="pixmap" position="200,0" size="190,250" />
          </screen>"""
          def __init__(self, session, args = None):

          self.SID = None
          self.channels = []
          self.channels_ttl = 0

          Обсуждение всех нюансов развода в Германии. www.razvod.net

          Комментарий


          • #20
            Re: Enigma2 Plugin своими руками, почти с нуля (python)

            Код:
              def up(self): 
                self.setTitle(_("up")) 
                self.session.nav.stopService() 
                url = "/tmp/test.mp3" 
                self.setTitle(url) 
                sref = eServiceReference(4097, 0, url) 
                self.session.nav.playService(sref)
            мп3шка с внутренней памяти запустилась без лишнего кипиша, завтра буду копать, почему не идет гребаный стрим.
            походу прийдется установить PartnerTV/RemoteTV plugin

            хз где взять плаг и как его установить на оф. имедж
            root@vusolo:~# wget http://dreamboxupdate.com/opendreamb...-r0_mipsel.ipk
            Connecting to dreamboxupdate.com[82.149.226.174]:80
            enigma2-plugin-exten 100% |*****************************| 109 KB 00:00 ETA
            root@vusolo:~# ipkg install *.ipk
            Installing enigma2-plugin-extensions-partnerbox (experimental-cvs20101020-r0) to root...
            Nothing to be done
            An error ocurred, return value: 1.
            Collected errors:
            ERROR: Cannot satisfy the following dependencies for enigma2-plugin-extensions-partnerbox:
            twisted-web
            root@vusolo:~# ls
            enigma2-plugin-extensions-partnerbox_experimental-cvs20101020-r0_mipsel.ipk
            root@vusolo:~#
            Обсуждение всех нюансов развода в Германии. www.razvod.net

            Комментарий


            • #21
              Re: Enigma2 Plugin своими руками, почти с нуля (python)

              фтопку родной имедж.
              поставил вти имежд заинсталил партнертв
              и запустил гсстример в итоге получил лог и картинку на телике



              cmd ="gst-launch -v playbin2 uri=%s > /tmp/gst.log" % stream_url
              Spoiler

              Setting pipeline to PAUSED ...
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: connection-speed = 0
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: download = FALSE
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: uri = "http://217.19.222.34:18005/?ticket=V...9cfbmclViD8%3D"
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: use-buffering = FALSE
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-size = -1
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: source = (GstSoupHTTPSrc) source
              Pipeline is PREROLLING ...
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind: force-caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20: sink-caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:src: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
              buffering... 0%
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstQueue2:queue20.GstPad:sink: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
              buffering... 0%
              buffering... 0%
              buffering... 0%
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstQueue2:queue20.GstPad:src: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:sink: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstGhostPad:sink: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstGhostPad:sink.GstProx yPad:proxypad0: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
              /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMpegTSDemux:mpegtsdemux0.GstPad:sink: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
              buffering... 0%
              buffering... 0%
              buffering... 0%
              buffering... 0%
              buffering... 1%
              buffering... 1%
              buffering... 1%

              порой зависает, но это мне на данный момент не важно

              --------
              кнопка вправо так и не запускает стрим самим плагом, хотя тикет генерируется рабочий
              и сеть при этом мигает, походу стрим прет, но не идет на экран
              Вложения
              Обсуждение всех нюансов развода в Германии. www.razvod.net

              Комментарий


              • #22
                Re: Enigma2 Plugin своими руками, почти с нуля (python)

                распаковал

                нашел это в коде

                Код:
                import time
                import xml.etree.cElementTree
                import urllib
                import SocketServer
                import servicewebts
                ENIGMA_WEBSERVICE_ID = 0x1012
                
                ....
                
                			self.session.nav.stopService()
                			sref = eServiceReference(ENIGMA_WEBSERVICE_ID, 0, url)
                			self.session.nav.playService(sref)
                и файло
                servicewebts.so

                вечерком тоже так попробую, интересно,
                он эти .SO файлы сам при инстале кидает куда положено...

                sref = eServiceReference(0x1001, 0, "/mnt/smb/Aliens.ts&quot => works with ServiceMP3

                ENIGMA_WEBSERVICE_ID = 0x1012
                0x1012 -> 4114
                0x1001 -> 4097
                Обсуждение всех нюансов развода в Германии. www.razvod.net

                Комментарий


                • #23
                  Re: Enigma2 Plugin своими руками, почти с нуля (python)

                  вебсервисы почемуто негрузятся, получаю зеленый экран
                  Код:
                  import servicewebts
                  закидываю тотже servicewebts.so в папку с плагином и в итоге грин пис.

                  с темже кодом, что и вчера идет воспроизведение файла с флэшки и х.264 стрим из инета,






                  [s]но вот картина сабака не идет....[/s]
                  Код:
                  	def up(self): 
                  		self.session.nav.stopService() 
                  		url = "/tmp/test.avi" 
                  		self.setTitle(url) 	
                  		sref = eServiceReference(4097, 0, url) 
                  		self.session.nav.playService(sref)  
                  
                  	def down(self): 
                  		self.setTitle(_("down"))	 
                  		url = "http://хххх.хххх.хххх.хххх" 
                  		self.session.nav.stopService()
                  		self.setTitle(url) 
                  		sref = eServiceReference(4097, 0, url) 
                  		self.session.nav.playService(sref)

                  -------


                  ан нет, картина тоже пошла, походу сети не хватает и изза этого я всё никак не видел картинку




                  Код:
                  	def right(self): 
                  		self.setTitle(_("right")) 
                  		test = self.channel_url(6) 
                  		self.session.nav.stopService()
                  		self.setTitle(test) 
                  		sref = eServiceReference(4097, 0, test) 
                  		self.session.nav.playService(sref)
                  Обсуждение всех нюансов развода в Германии. www.razvod.net

                  Комментарий


                  • #24
                    Re: Enigma2 Plugin своими руками, почти с нуля (python)

                    техник тоже этот сервис юзает:

                    Код:
                    from Plugins.Plugin import PluginDescriptor
                    import kartina
                    import rodnoe
                    import servicewebts
                    
                    def Plugins(path, **kwargs):
                      return [PluginDescriptor(name='RodnoeTV', description='Iptv player for RodnoeTV', icon='plugin-rtv.png', where=PluginDescriptor.WHERE_PLUGINMENU, fnc=rodnoe.Open),
                      PluginDescriptor(name='KartinaTV', description='Iptv player for KartinaTV', icon='plugin-ktv.png', where=PluginDescriptor.WHERE_PLUGINMENU, fnc=kartina.Open)]
                    ----------
                    onLayoutFinish.append
                    session.openWithCallback
                    callback.append

                    from Components.MenuList import MenuList
                    http://www.dream-multimedia-tv.de/bo...threadID=13049

                    Class List
                    http://dream.reichholf.net/pydoc/html/annotated.html

                    PluginDescriptor.WHERE_MENU
                    http://www.dream-multimedia-tv.de/bo...6399#post36399
                    Обсуждение всех нюансов развода в Германии. www.razvod.net

                    Комментарий


                    • #25
                      Re: Enigma2 Plugin своими руками, почти с нуля (python)

                      нашел отличную доку на немецком для начинающих

                       "Our Small Test“ - ein reines Print Beispiel ohne Gui (OSD) S. 3-5
                       lesson "01 Hallo World" – einfaches Fenster (Screen) S. 6-7
                       lesson "02 Hallo World Message" – Screen mit Meldung S. 8-9
                       lesson "03 Call My Msg" - Screen mit Meldung Ja/Nein S. 10-11
                       lesson "04 My Menulist" – Screen mit Menuliste S. 12-14
                       lesson "05 My Shell Prombt" – Screen mit Menuliste und Shell- S. 15-17
                      kommandos, Ausgabe auf der Screen Konsole
                       lesson "06 Message Input" – Screens mit Zeicheneingabe und S. 18-20
                      Ausgabe
                       lesson "07 View a picture" - Screen mit Bild S. 21-23
                       lesson "08 Download a picture" - Download eines Bildes S. 24-25
                      mit Ausgabe auf einem Screen
                       lesson "09 dynamic Text" - Textlabel eines Screens ändern S. 26-27
                       lesson "10 Set Auto Sleep" – Screen für Konfiguration des S. 28-30
                      Startverhaltens der Dreambox
                       lesson "11 Start other plugin" – Screen zum Starten des Bild- S. 31-32
                      betrachters

                      еще в подвеске тоже доку на инглише + доп инфа на инглише + файлы с кода из этого доку

                      кстати вот еще нашел инструкцию на немецком, описалово в краце, как делать плаг
                      https://dream.reichholf.net/wiki/Eni...gin-Erstellung
                      Вложения
                      Обсуждение всех нюансов развода в Германии. www.razvod.net

                      Комментарий


                      • #26
                        Re: Enigma2 Plugin своими руками, почти с нуля (python) - enigma iptv player

                        нашел как запихивать плагин в главное меню

                        Код:
                        from Plugins.Plugin import PluginDescriptor
                        from KTV_API import Kartina_Api
                        
                        def menu(menuid, **kwargs):
                        	if menuid == "mainmenu":
                        		return [("IPTV player", Ktv_api_start, "iptv_player", 45)]
                        	return []
                        	
                        def Ktv_api_start(self):
                        	foo = Kartina_Api('146', '641')
                        	foo.test()
                        
                        def Plugins(**kwargs):
                        	return [
                        		PluginDescriptor(name = "IPTV Player", description="plugin to watch kartina.tv", where = PluginDescriptor.WHERE_MENU, fnc = menu),
                        		PluginDescriptor(name = "IPTV Player", description="plugin to watch kartina.tv", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=Ktv_api_start, icon="plugin-ktv.png")
                        	]
                        поидее так можно любой важный плагин засунуть в главное меню и не париться искать его в плагинах.
                        правда вроде как еще иконка должна прописываться, где это делается я еще не нашел
                        Обсуждение всех нюансов развода в Германии. www.razvod.net

                        Комментарий


                        • #27
                          Re: Enigma2 Plugin своими руками, почти с нуля (python) - enigma iptv player

                          icon="plugin-ktv.png
                          а это разве не она?
                          Xtreamer 2.7 (ГлавТВ PlugIn) + 500GB HDD
                          Xtreamer Prodigy 3.5 (ГлавТВ PlugIn)
                          iNeXT HD-1 (ГлавТВ PlugIn)
                          Dreambox 800 HD PVR DVB-C (Kartina.tv PlugIn) + 500GB HDD
                          2 x FritzBox 7270 + 2x FRITZ!Fon MT-D
                          Nintendo Wii + WiKey2 + 500GB HDD

                          Комментарий


                          • #28
                            Re: Enigma2 Plugin своими руками, почти с нуля (python) - enigma iptv player

                            нет это иконка плагина а не элемента в меню


                            мля, не получается маленькую иконку добавить в лист каналов..
                            MultiContentEntryPixmapAlphaTest(pos=(0, 0), size=(20, 20), png=LoadPixmap(cached=True, path=PNG_PATH+"active.png&quot
                            res.append(MultiContentEntryPixmapAlphaTest(pos=(5 , 0), size=(48, 4, png=loadPNG(picture)))
                            MultiContentEntryText(pos = (80, 5), size = (400, 50), font=0, flags = RT_HALIGN_LEFT, text = 0), # index 0 is the name
                            MultiContentEntryPixmapAlphaTest(pos = (0, 0), size = (48, 4, png = 3), # index 4 is the status pixmap
                            ],

                            hostpng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_PLUGINS, "SystemPlugins/NetworkBrowser/icons/host.png&quot)
                            self.list.append(( file[:-6],'edit',file,hostpng ))
                            Обсуждение всех нюансов развода в Германии. www.razvod.net

                            Комментарий


                            • #29
                              Re: Enigma2 Plugin своими руками, почти с нуля (python) - enigma iptv player

                              вчера после долгих мучений удалось сделать свой список каналов
                              до этого было так

                              skin = """
                              <screen name ="MyChannelSelection" position="100,100" size="1100,550" title="Kartina.TV" >
                              <ePixmap position="20,20" size="35,35" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/IPTVplayer/micron35x35/rodnoetv_ua-ut1.png" zPosition="1" transparent="1" alphatest="blend" />
                              <widget name="mypic" position="50,50" size="35,35" />
                              <widget source="feedlist" render="Listbox" position="0,0" size="700,550" zPosition="1" scrollbarMode="showOnDemand" transparent="1" >
                              <convert type="TemplatedMultiContent">
                              {"templates":
                              {"default": (35,[
                              MultiContentEntryText(pos = (50, 5), size = (100, 22), font=1, flags = RT_HALIGN_LEFT | RT_VALIGN_TOP| RT_WRAP, text = 0), # id
                              MultiContentEntryText(pos = (110, 5), size = (200, 22), font=1, flags = RT_HALIGN_LEFT | RT_VALIGN_TOP| RT_WRAP, text = 1), # channel
                              MultiContentEntryText(pos = (320, 5), size = (300, 22), font=1, flags = RT_HALIGN_LEFT | RT_VALIGN_TOP| RT_WRAP, text = 2), # program
                              ])
                              },
                              "fonts": [gFont("Regular", 22),gFont("Regular", 1,gFont("Regular", 26),gFont("Regular", 20)],
                              "itemHeight": 55
                              }
                              </convert>
                              </widget>
                              </screen>"""

                              probe = self.kartina_api.getChannel_list()

                              self["feedlist"] = List(probe)
                              но с такой схемой почемуто не получалось загрузить картинку

                              пришлось делать так

                              skin = """
                              <screen name ="MyChannelSelection" position="100,100" size="1100,550" title="Kartina.TV" >
                              <widget name="feedlist" position="0,0" size="700,560" zPosition="1" scrollbarMode="showOnDemand" transparent="1" />
                              </screen>"""

                              self.list = MenuList([], enableWrapAround=True, content=eListboxPythonMultiContent)
                              self.list.l.setFont(0, gFont('Regular', 20))
                              self.list.l.setFont(1, gFont('Regular', 20))
                              self.list.l.setFont(2, gFont('Regular', 14))
                              self.list.l.setItemHeight(37)

                              self["feedlist"] = self.list

                              mylist = self.kartina_api.channel_list()
                              self.list.setList(map(channelEntry, mylist))
                              ...
                              def channelEntry(entry):
                              return [entry,
                              (eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 0, 0, 35, 35, loadPNG('/usr/lib/enigma2/python/Plugins/Extensions/IPTVplayer/micron35x35/kartinatv_%s.png' % entry[0] )),
                              (eListboxPythonMultiContent.TYPE_TEXT,40,3,60,22,1 ,RT_HALIGN_LEFT,entry[4]),
                              (eListboxPythonMultiContent.TYPE_TEXT,46,21,60,14, 2,RT_HALIGN_LEFT,entry[5]),
                              (eListboxPythonMultiContent.TYPE_TEXT,100,5,200,22 ,1,RT_HALIGN_LEFT,entry[1]),
                              (eListboxPythonMultiContent.TYPE_TEXT,310,5,300,22 ,1,RT_HALIGN_LEFT,entry[2]),
                              (eListboxPythonMultiContent.TYPE_TEXT,630,5,40,22, 1,RT_HALIGN_RIGHT,'%i %%' % entry[6]),
                              (eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 100, 28, 550, 3, loadPNG('/usr/lib/enigma2/python/Plugins/Extensions/IPTVplayer/slider_1280x10_hbg.png&#39),
                              (eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 100, 28, int((550/100)*entry[6]), 3, loadPNG('/usr/lib/enigma2/python/Plugins/Extensions/IPTVplayer/slider_1280x10_hfg.png&#39),

                              ]
                              в итоге получил то, чего давно хотел :



                              теперь нужно будет справа показать красивый пикон и епг выбраного канала
                              Обсуждение всех нюансов развода в Германии. www.razvod.net

                              Комментарий


                              • #30
                                Re: Enigma2 Plugin своими руками, почти с нуля (python) - enigma iptv player

                                продалжаю дальше развиваться



                                информативность на максимуме.
                                сделал показ следующей передачи

                                хочу еще сделать функцию "что идет сейчас", а потом возьмусь за плеер.
                                дизайн пока вообще трогать не буду

                                Обсуждение всех нюансов развода в Германии. www.razvod.net

                                Комментарий

                                Обработка...
                                X