Posts by KiddaC

    I have just downloaded iflatfhd_v5.4_all.ipk to see exactly how this skin is built. The entire thing is template driven. I also presume it has it own skin builder plugin too, as most of the screens are blank in the original ipk. Jeewhizz this is a complicated skin to learn the ropes with.



    Code
    <screen name="InfoBar" position="0,0" size="1920,1080" title="Infobar" flags="wfNoBorder" backgroundColor="transparent">
        <!--/* Widgets -->
        <panel name="IBSeasonsWidget" />
        <panel name="IBTunerWidget" />
        <panel name="IBResolutionWidget" />
        <panel name="IBSNRAGCWidget" />
        <panel name="IBIconsWidget" />

    I am confused about your screen name. The screen name is InfoBar or SecondInfoBar depending on which one it is showing on.

    Yes you can have a template screen name. I.e <screen name="whatever", but to show that in the infobar template you would bring it in as a panel. <panel name="whatever" />. So I presume that is what you are doing.


    I have just changed my onxy skin infobar to snr db and it works perfectly fine.


    e7dfe76446f734f4b412156a7.png


    <eLabel text="SNR:" position="675,28" size="55,28" font="Regular;20" foregroundColor="white" backgroundColor="blackglass" transparent="1" halign="right" />

    <widget source="session.FrontendStatus" render="Label" position="735,28" size="70,22" font="Regular;20" foregroundColor="white" backgroundColor="blackglass" transparent="1">

    <convert type="FrontendInfo">SNRdB</convert>

    </widget>

    I don't mind giving guidance, but I am not going to write this for you. Google is your friend. There are literally hundreds of skins you can download that has these elements in that you can use as reference.


    only getting % symbol.. Is the size of the label large enough?

    SNR text. You need to write as a seperate elabel next to your component. <eLabel text="SNR:" ....


    for example


    Code
    <eLabel text="SNR:" position="675,28" size="55,28" font="Regular;20" foregroundColor="white" backgroundColor="blackglass" transparent="1" halign="right" />
    <widget source="session.FrontendStatus" render="Label" position="735,28" size="70,22" font="Regular;20" foregroundColor="white" backgroundColor="blackglass" transparent="1">
    <convert type="FrontendInfo">SNR</convert>
    </widget>


    BER is just the same.


    Code
    <convert type="FrontendInfo">BER</convert>

    SNR DB is just


    Code
    <convert type="FrontendInfo">SNRdB</convert>


    For screen resolution I have always just used various graphic. Notice I am using a conditional show hide so it only shows if true, plus for the SD ( is not hd) I am using invert. I presume you can just swap out render="Pixmap" to render="Label" or render="FixedLabel" (it might need text="blah blah". Only ever used graphics for this so I don't know)


    HD / SD


    Code
    <widget source="session.CurrentService" render="Pixmap" pixmap="o-icons/hd.png" position="0,0" size="30,20"  alphatest="blend" zPosition="2">
    <convert type="ServiceInfo">IsHD</convert>
    <convert type="ConditionalShowHide" />
    </widget>
    <widget source="session.CurrentService" render="Pixmap" pixmap="o-icons/sd.png" position="0,0" size="30,20"  alphatest="blend" zPosition="2">
    <convert type="ServiceInfo">IsHD</convert>
    <convert type="ConditionalShowHide">Invert</convert>
    </widget>


    Screen resolution.


    others include


    <convert type="ServiceInfo">IsWidescreen</convert>

    <convert type="ConditionalShowHide"/>


    <convert type="ServiceInfo">IsWidescreen</convert>

    <convert type="ConditionalShowHide">Invert</convert>


    <convert type="ServiceInfo">IsMultichannel</convert>


    <convert type="ServiceInfo">IsCrypted</convert>


    <convert type="ServiceInfo">IsCrypted</convert>

    <convert type="ConditionalShowHide">Invert</convert>


    <convert type="ServiceInfo">SubtitlesAvailable</convert>


    <convert type="ServiceInfo">IsStream</convert>


    <convert type="ServiceInfo">HasHBBTV</convert>

    py files are uncompiled files. When you reboot your box they compile into the pyo file.

    So you have the 2 files. frontendinfo and serviceinfo. So don't worry about them.


    When i put the snr on my very old sky skin I used.


    <widget source="session.FrontendStatus" render="Label" position="1100,598" size="38,36" font="Regular;14" valign="center" noWrap="1" backgroundColor="skydarkblue" foregroundColor="white" transparent="1" halign="right">

    <convert type="FrontendInfo">SNR</convert>

    </widget>


    so if the code is not working with just source="frontend". Try source="session.FrontendStatus"


    Also the position of the elements are from the start of the infobar. If its positioned 0,0 then work from the top of the screen.

    If the infobar is positioned halfway down the page position="0,400", then your frontend widgets will be relative to that. so they might just be 10 pixels down etc. If you are not aware of this they might actually be showing but off screen.


    The oe alliance files for reference are here.


    https://github.com/oe-alliance…thon/Components/Converter


    looking at serviceinfo.py your reference looks to be AudioPid and VideoPid




    I have never used vpid, but it is probably. this.


    <widget source="session.CurrentService" render="Label" ...
    <convert type="ServiceInfo">VideoPid</convert>

    </widget>


    And just for reference. If you are copying code over from another skin, you have to make sure the font and colour references are correct for the skin you are using.

    For example if Skin A references a font called Roboto, And Skin B doesn't use Roboto. Then the skin will fail to load.

    The same with colours. If Skin A uses a colour called "darkblue", but this colour reference isn't defined in SKIN B, again the skin will fail to load.

    So amend any font and colour references.

    Yes you can pretty much copy any element from one skin to another.


    Each element has code that goes in the xml file. In most skins this will be found in the correct screen in skin.xml


    This xml code then either references a python component that exists in ALL enigma2 builds, or it will reference a custom component just for that skin.


    If its a standard component (which SNR, AGC, BER are) then you just need to copy that bit of code from the xml file.

    If its a custom component you would then also have to copy over the python component to the correct locations.

    These normally live in usr/lib/enigma2/python/Components/...


    If you download a skin IPK and open it up with 7zip. You will see the file structure to see if there is any custom components.


    For example in my slyk1hd skin I use custom time components.


    In the IPK, I will have this file structure. usr/lib folder is my custom components. usr/share folder are all my skin files.


    f63f833bdc22b52a6db3.png


    inside the sub folders of usr/lib/enigma2/python/components/Converter are my custom components.



    dee03292fae.png



    In my skin xml file I reference these like this.


    <widget source="global.CurrentTime" render="Label" position="917,523" size="240,36" font="Regular;24" foregroundColor="skylightblue" backgroundColor="skydarkblue" valign="center" halign="right" transparent="1" zPosition="2">

    <convert type="SlykClockToText">SlykHDDate</convert>

    </widget>



    So its just a case of disecting the original skin, seeing if its a standard or custom component and then copying over any custom components where needed.

    Without causing a flame war, all I will add to this, is people buy boxes for their needs. There are many many makes, many many specs, many different price ranges for various different uses, whether that be sat, cable, multi sat etc. To say there is only one box to buy, and one image to use (i.e VIX) is really quite a blinkered attitude. At the end the of the day they all run the same operating system, so nowadays its all about how fast, what tuners, and what display capabilities they have. Not about the over priced brands or just one image.

    If you need any other help on this skin (or any other skin), probably best to PM me. As I rarely visit this openpli section. I only saw your post as it was in the latest posts panel.


    I am not that busy nowadays. So it's no problem asking.

    Are you just asking to fix the N/A labels.


    thats these 2 elements.


    <screen name="SecondInfoBar" ....

    <!-- EXS crypt -->

    ...



    <widget source="session.CurrentService" render="Label" position="200,18" size="880,30" backgroundColor="background" font="Regular; 24" text="Astra 19.2E DVB-S2 10627 27500 3/4 8PSK" halign="center" transparent="1" zPosition="1" foregroundColor="cyan1">

    <convert type="ServiceName2">%S %s %F %p %Y %f %b %o %r</convert>

    <convert type="ServiceName2">%R</convert>

    <convert type="ConverterRotator">3</convert>

    </widget>


    <widget source="session.CurrentService" render="Label" font="Regular; 24" position="1080,18" size="180,30" halign="right" backgroundColor="background" transparent="1" noWrap="1" foregroundColor="unfff000">

    <convert type="FanTempInfo">FanInfo</convert>

    </widget>

    If you are using a very new image, they have got rid of the old busybox cron and replaced it with the full component called cronie.


    The old cron busy box had a default root file that you could amend to automatically run your scripts.

    Cronie doesn't have this emtpy root file by default. So you need to manually set on up your first cron via the cron timers menu.

    Once you have set it up once via the menus, you can then manually edit it however you like to run your scripts.


    Maybe this is the problem you have.

    It seems < convert type="ConfigEntryTest"> is actually an openpli component. But googling it. I have only found one other skin from a few years ago that use that exact line. Most people use that component for a flashing recording icon the LED front display.

    it might even be this component. Unless this is a default openpli python component. there is no ConfigEntryTest converter supplied in the IPK.


    <widget source="session.CurrentService" render="Pixmap" pixmap="Xmas_HD/icons/ico_vti_update.png" position="680,515" size="60,25" zPosition="3" transparent="1" alphatest="blend">

    <convert type="ConfigEntryTest">config.usage.update_available,True,CheckSourceBoolean</convert>

    <convert type="ConditionalShowHide" />

    </widget>


    Looking at your screenshot. This VTI icon is the last graphic/icon that is shown before the code seems to fail. So above might be your problem.

    I have had a quick look at the infobar code of this skin. I don't use openpli so cannot personally test it. There is no visually obvious problem with the code.

    But as it's loading half the infobar. It is obviously failing when hitting a certain custom component. (and there are a lot of them).


    What I would personally do is either wrap some comment tags around different clumps of the infobar code to see where its failing. <!-- -->


    or telnet into your box.

    Run the command enigma2

    see what error messages and warnings show up in the telnet window.

    You should then be able to pinpoint where it is failing and either correct the error or delete that piece of code.

    You need to give a bit more detail pal. There is many ways to view iptv on these boxes.

    How are you trying to view iptv.


    xcplugin?

    suls bouquet plugin?

    e-channelizer?

    iptv player (local folder)

    IPTV provider script?


    ( I probably don't know the answer, but just giving you a heads up that your question is far too vague )