Jump to content


Photo

[WIP] PLi-DarkOS Skin


  • Please log in to reply
2057 replies to this topic

Re: [WIP] PLi-DarkOS Skin #901 DimitarCC

  • PLi® Contributor
  • 1,583 posts

+71
Good

Posted 19 December 2023 - 16:23

The problem with this primetime is that it have to be configurable. To be possible to be defined when is the primetime. And then the renderer to be extended with that config too.


Vu+DUO4KSE, DM920UHD, Vu+Uno4KSE, SF8008Mini, 2xPulse4K, Vu+Solo2, Dreambox DM500HD, Triax 78 (7E,9E,13E,19.2E,23.5E) & 2xTriax 78 (39E)


Re: [WIP] PLi-DarkOS Skin #902 DimitarCC

  • PLi® Contributor
  • 1,583 posts

+71
Good

Posted 19 December 2023 - 16:26

So i have updated the skin to support the new logos schema. Since that is not ready yet on PLi it will show default skin logos for now. Till PLi is extended to support new model.

All logos till now present in the skin are gone. So don't be surprised when that vanish ;)


Vu+DUO4KSE, DM920UHD, Vu+Uno4KSE, SF8008Mini, 2xPulse4K, Vu+Solo2, Dreambox DM500HD, Triax 78 (7E,9E,13E,19.2E,23.5E) & 2xTriax 78 (39E)


Re: [WIP] PLi-DarkOS Skin #903 neo

  • PLi® Contributor
  • 715 posts

+48
Good

Posted 19 December 2023 - 17:05

Since the boxinfo stuff isn't split off yet, I'll post it here.

 

I've updated the BSP's, WanWizard has started a test build for me, the vuultimo4k build has just fixed and created:

architecture=armv7ahf-neon
avjack=False
blindscanbinary=blindscan
brand=vuplus
ci=True
compiledate='20231219'
dboxlcd=False
developername=openpli
displaybrand=VU+
displaydistro=OpenPLi
displaymodel=Ultimo 4K
displaytype=colorlcd800
distro=openpli
driversdate='20190424'
dvi=False
feedsurl=http://downloads.openpli.org/feeds/openpli-develop
fhdskin=False
forcemode=no
fpu=hard
friendlyfamily=vuultimo4k
hdmi=True
hdmifhdin=True
hdmihdin=False
hdmistandbymode=0
imagebuild=''
imagedevbuild=''
imagedir=vuultimo4k
imagefs=ext4 tar.bz2
imagetype=release
imageversion='develop'
imglanguage=multilang
imgrevision=''
imgversion='develop'
kernel='3.14.28-1.12'
kexecmb=True
kernelfile=kernel_auto.bin
machinebuild=vuultimo4k
mediaservice=servicegstreamer
middleflash=False
mkubifs=
model=vuultimo4k
mtdbootfs=
mtdkernel=mmcblk0p1
mtdrootfs=mmcblk0p4
multilib=False
multitranscoding=False
oe=
platform=vuultimo4k
python='3.9'
rca=False
rcidnum=2
rcname=dmm1
rctype=0
rootfile=rootfs.tar.bz2
scart=False
noscartswitch=
scartyuv=False
smallflash=False
socfamily='bcm7444'
svideo=False
timerwakeupmode=0
transcoding=True
ubinize=
vfdsymbol=False
wol=False
wwol=False
yuv=False
checksum=7ec7ac9e6bfd058868c9acf823010955

I haven't double checked values yet, I'll do that once the build run is finished, but the boxinfo class can be implemented now.



Re: [WIP] PLi-DarkOS Skin #904 DimitarCC

  • PLi® Contributor
  • 1,583 posts

+71
Good

Posted 19 December 2023 - 17:25

Just one remark in OE-A there is difference in displaybrand

 

PLi:

displaybrand=VU+

OE-A:

displaybrand=Vu+

I mention this since the logo implementation cares for that name exactly so to install the correct logo ;)

 

Ofcource both variations can be used but with  maybe duplicated logos for all variations of the string.


Edited by DimitarCC, 19 December 2023 - 17:27.

Vu+DUO4KSE, DM920UHD, Vu+Uno4KSE, SF8008Mini, 2xPulse4K, Vu+Solo2, Dreambox DM500HD, Triax 78 (7E,9E,13E,19.2E,23.5E) & 2xTriax 78 (39E)


Re: [WIP] PLi-DarkOS Skin #905 neo

  • PLi® Contributor
  • 715 posts

+48
Good

Posted 19 December 2023 - 17:46

There is absolutely no logic in what OE-A does, I've seen "AB-COM", "Formuler", and "qviart", all different case combinations are present.



Re: [WIP] PLi-DarkOS Skin #906 WanWizard

  • PLi® Core member
  • 70,763 posts

+1,830
Excellent

Posted 19 December 2023 - 17:48

I warned them about that: if values are used as data in the image, its value (range) and type needs to be exactly defined.

 

A "display" value was said at the time to be for display purposes only, so you shouldn't use it in code... ;)


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: [WIP] PLi-DarkOS Skin #907 DimitarCC

  • PLi® Contributor
  • 1,583 posts

+71
Good

Posted 19 December 2023 - 17:58

Well but for brand is used MACHINE_BRAND which output the same value. Actually that is used in the code and now we will have difference and/or ambigous code.
Unfortunately there is no other suitable value that can be used to determine the brand...

Vu+DUO4KSE, DM920UHD, Vu+Uno4KSE, SF8008Mini, 2xPulse4K, Vu+Solo2, Dreambox DM500HD, Triax 78 (7E,9E,13E,19.2E,23.5E) & 2xTriax 78 (39E)


Re: [WIP] PLi-DarkOS Skin #908 littlesat

  • PLi® Core member
  • 57,384 posts

+708
Excellent

Posted 19 December 2023 - 18:20

I checked the list...You simply do not know what should be a string, boolean, number etc... 

So do this right for 100% I think we need a kind of 'list' what to derive so we know what it should be....

 

architecture=armv7ahf-neon (string)
avjack
=False (Boolean)
blindscanbinary=blindscan (string)
brand
=vuplus (string)
ci
=True (boolean)
compiledate='20231219' (string)
dboxlcd=False (boolean)
developername=openpli (string)
displaybrand
=VU+ (string)
displaydistro=OpenPLi (string)
displaymodel=Ultimo 4K (string)
displaytype=colorlcd800 (string)
distro
=openpli (string)
driversdate
='20190424' (string)
dvi=False (boolean)
feedsurl=http://downloads.openpli.org/feeds/openpli-develop (string)
fhdskin=False (boolean)
forcemode=no (boolean)
fpu=hard (string)
friendlyfamily
=vuultimo4k (string)

 

Vix now checks on False, True, On, Off and make it then boolean.... when we agree to do the same we can do this as when you add stuff to it you cannot determine what is should be and when you want to have False, True etc... as string then you can do 'False' 'True' etc... to force it as string.


Edited by littlesat, 19 December 2023 - 18:21.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: [WIP] PLi-DarkOS Skin #909 littlesat

  • PLi® Core member
  • 57,384 posts

+708
Excellent

Posted 19 December 2023 - 18:28

I'm trying to make the parser more lean by using this kind of construction. It catch most of the if then else what VIX did... but it only does not catch booleans like 'on/off etc...' Maybe we should try to avoid these. You can 'force' things to string with ' '  and " "  and also lists and tupples etc. are possible.

 

It would be more lean when booleans as on/off are avoided and then the oe-a image also help here to only use True and False.

 

At least this trick may make the parsing loop for the enigma.info more lean...

 

P.S. I just discovered this will not catch the quotes... so 'False' is still a boolean False... even ''False'' does.... So I need to catch quotes separately.

for line in open('/usr/lib/enigma.info', 'r').readlines():
        line = line.strip().split('=', 1)
        try:
                value = eval(line[1])
        except:
                value = line[1]
        print(line[0], value)

Edited by littlesat, 19 December 2023 - 18:39.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: [WIP] PLi-DarkOS Skin #910 DimitarCC

  • PLi® Contributor
  • 1,583 posts

+71
Good

Posted 19 December 2023 - 18:33

Well but that will not solve string values differences. That values have to be unified...

Vu+DUO4KSE, DM920UHD, Vu+Uno4KSE, SF8008Mini, 2xPulse4K, Vu+Solo2, Dreambox DM500HD, Triax 78 (7E,9E,13E,19.2E,23.5E) & 2xTriax 78 (39E)


Re: [WIP] PLi-DarkOS Skin #911 WanWizard

  • PLi® Core member
  • 70,763 posts

+1,830
Excellent

Posted 19 December 2023 - 18:47

@Littlesat,

 

I strongly suggest you take the code as is, and not try to be clever and break things or make things unmaintainable.


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: [WIP] PLi-DarkOS Skin #912 littlesat

  • PLi® Core member
  • 57,384 posts

+708
Excellent

Posted 19 December 2023 - 18:48

What I try to do is simplify this

The eval at least do most of it... I marked with +++ is done with the eval stuff

                                if value is None:
                                                pass
                                elif (value.startswith("\"") or value.startswith("'")) and value.endswith(value[0]):
                                                value = value[1:-1]
+++                                elif value.startswith("(") and value.endswith(")"):
                                                data = []
                                                for item in [x.strip() for x in value[1:-1].split(",")]:
                                                                data.append(self.processValue(item))
                                                value = tuple(data)
+++                                elif value.startswith("[") and value.endswith("]"):
                                                data = []
                                                for item in [x.strip() for x in value[1:-1].split(",")]:
                                                                data.append(self.processValue(item))
                                                value = list(data)
+++                               elif value.upper() == "NONE":
                                                value = None
+++                                elif value.upper() in ("FALSE", "NO", "OFF", "DISABLED"): -> except for No, Off and Disabled
                                                value = False
+++                                elif value.upper() in ("TRUE", "YES", "ON", "ENABLED"): -> except for Yes, On and Enabled
                                                value = True
+++                                elif value.isdigit() or ((value[0:1] == "-" or value[0:1] == "+") and value[1:].isdigit()):
                                                if value[0] != "0":  # if this is zero padded it must be a string, so skip
                                                                value = int(value)
+++                               elif value.startswith("0x") or value.startswith("0X"):
                                                value = int(value, 16)
+++                                elif value.startswith("0o") or value.startswith("0O"):
                                                value = int(value, 8)
+++                                elif value.startswith("0b") or value.startswith("0B"):
                                                value = int(value, 2)
                                else:
                                                try:
+++                                                                value = float(value) --> Small adjustments needed...
                                                except ValueError:
                                                                pass
                                return value

Edited by littlesat, 19 December 2023 - 18:52.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: [WIP] PLi-DarkOS Skin #913 littlesat

  • PLi® Core member
  • 57,384 posts

+708
Excellent

Posted 19 December 2023 - 18:49


I strongly suggest you take the code as is, and not try to be clever and break things or make things unmaintainable.

 

You can strongly recommend... but this part of code is horrible... at least most of it can be shortened with eval... :D It draws tons of red flags... You see the struggle here...

So we can do the booleans as is and remove the string stuff.... but most of it can be reducted to eval... especially the [] () list tupple booleans, NoneType... octal hex binary... That at least without any harm...


Edited by littlesat, 19 December 2023 - 18:51.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: [WIP] PLi-DarkOS Skin #914 DimitarCC

  • PLi® Contributor
  • 1,583 posts

+71
Good

Posted 19 December 2023 - 18:53

Well i am not part of any of the teams...not PLi nor ViX nor any OE-A distro...But in my opinion making the values different will break any chance code to be shared between distros and in particular my implementation may not work the same or not work at all.

 

Maybe the code is horrible but it was used from years already and any optimization that actually change the values may result to broken code that already exists.


Vu+DUO4KSE, DM920UHD, Vu+Uno4KSE, SF8008Mini, 2xPulse4K, Vu+Solo2, Dreambox DM500HD, Triax 78 (7E,9E,13E,19.2E,23.5E) & 2xTriax 78 (39E)


Re: [WIP] PLi-DarkOS Skin #915 littlesat

  • PLi® Core member
  • 57,384 posts

+708
Excellent

Posted 19 December 2023 - 18:56

This does as far I can see exactly the same... without changing values.... but less code (exceptions) in that if then else... and therefore optimized... Only the exceptions are left here... It should not break anything as far I can see for now.

 

                                if value is None:

                                                pass

                                elif (value.startswith("\"") or value.startswith("'")) and value.endswith(value[0]):

                                                value = value[1:-1]

                                elif value.upper() in ("FALSE", "NO", "OFF", "DISABLED"):

                                                value = False

                                elif value.upper() in ("TRUE", "YES", "ON", "ENABLED"):

                                                value = True

                                else:

                                     try:

                                          value = eval(value)

                                     except:

                                          pass

                                return value


Edited by littlesat, 19 December 2023 - 19:00.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: [WIP] PLi-DarkOS Skin #916 neo

  • PLi® Contributor
  • 715 posts

+48
Good

Posted 19 December 2023 - 18:57

Well but for brand is used MACHINE_BRAND which output the same value. Actually that is used in the code and now we will have difference and/or ambigous code.
Unfortunately there is no other suitable value that can be used to determine the brand...

 

This was all discussed before OE-A went ahead without bothering with any of it.

 

I tried (but obviously failed in some cases) to duplicate OE-A's values, but they are really all over the place, the person defining all those must have been absolutely shitfaced!

 

Brand in general is all over the place, sometimes it is the OEM brand, sometimes the Retail brand, sometimes the MACHINE is defined in an OEM brand meta layer, sometimes it is scattered over different onces (for example nextv, an OEM supplier, can be found in at least 5 different places. Sometimes it is lower case, sometimes uppercase, sometimes mixed case.

 

It was an absolutely nightmare to get to this point...

 

I'll wait until a full build run has finished so I can review all values at once, I've already seen some others that are off too...


Edited by neo, 19 December 2023 - 18:59.


Re: [WIP] PLi-DarkOS Skin #917 littlesat

  • PLi® Core member
  • 57,384 posts

+708
Excellent

Posted 19 December 2023 - 19:03

And I would do it even this way...

 

                          if value is not None:

                                if (value.startswith("\"") or value.startswith("'")) and value.endswith(value[0]):

                                                return value[1:-1]

                                elif value.upper() in ("FALSE", "NO", "OFF", "DISABLED"):

                                                return False

                                elif value.upper() in ("TRUE", "YES", "ON", "ENABLED"):

                                                return True

                                else:

                                     try:

                                          return eval(value)

                                     except:

                                          return value


WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: [WIP] PLi-DarkOS Skin #918 littlesat

  • PLi® Core member
  • 57,384 posts

+708
Excellent

Posted 19 December 2023 - 19:06


It was an absolutely nightmare to get to this point...

 

That is indeed a good point... I discovered this e.g. with the flash an image from another team stuff.... A nightmare...

We at least had the names from the bsp defined by the manufacturer. But OE-A makes his own bps and define them by their own... and then you get differences.... A nightmare.... This also clarifies exactly why the branding thread for years ago that took a long time and never completed so they did what they did...


Edited by littlesat, 19 December 2023 - 19:06.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: [WIP] PLi-DarkOS Skin #919 Huevos

  • PLi® Contributor
  • 4,747 posts

+167
Excellent

Posted 19 December 2023 - 19:48

@Littlesat you don't seem to understand what you are breaking.

 

The methods and output of BoxInfo class must be the same across distros for compatibility.

 

The content of enigma.info must also be the same for compatibility when reading that file directly.



Re: [WIP] PLi-DarkOS Skin #920 littlesat

  • PLi® Core member
  • 57,384 posts

+708
Excellent

Posted 19 December 2023 - 19:49

I’m not breaking anything…I’m only optimizing. Input and output will be equal with a simplified code. Why didn’t you see that?

Edited by littlesat, 19 December 2023 - 19:58.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W



12 user(s) are reading this topic

0 members, 12 guests, 0 anonymous users