OpenSkinDesigner Beta

There are 15 replies in this Thread which was already clicked 3,353 times. The last Post () by kitte888.

  • Ich stell ihn hier mal ein dann kann ich immer in Post 1 die version legen , ist zwar die 3.2.6.5 version noch ist aber schon einiges mehr drin


    habe mal ein wenig damit gespielt


    eingabezeilen dazu gebaut


    angefangen die channelliste auch in etwa mal darzustellen in einer zeile


    ihr könnte ja aber mal testen , wenn es zu fehlern kommt , denke ja , brauche ich aber den skin


    wollte erst mal sehen ob interesse daran besteht , weil ist schon ein wenig arbeit


    habe mal ein testskin dazu gemacht zum spielen testen


    Gradient malen , background , slider , progress


    Radius malen , so kann man rund buttons machen


    pasted-from-clipboard.png


    pasted-from-clipboard.png

  • ich denke du meinst die gradient eingabe , die habe ich fast kpl drin


    also bei mir öffnet sich alles schnell so wie vorher


    habe mal versucht in den list menus etwas darzustellen , auch das man sieht wie es mit fonts und farbbefehlen ist


    ist alles nicht so einfach


    die exe ist aber im post 1

  • Hi kitte888

    Thanks a lot of your efforts, please have a look on the report below it generated by AI, hope it is useful for you.

    🐞 Bug Report: OpenSkinDesigner Crashes with Valid Enigma2 Clock Format Strings

    📌 Summary

    OpenSkinDesigner crashes with a System.FormatException when parsing <convert type="ClockToText"> using valid Enigma2 format strings such as %I, %M, %p, which are based on strftime() format codes, not .NET.

    ⚠️ Issue Details

    • Environment:

      • OpenSkinDesigner v3.2.6.3 / v4.1.0

      • .NET Framework 4.8 (Win32)

      • Windows 10/11

    • Affected Feature:

      <convert type="ClockToText">Format:... inside <widget> or <label> blocks

    • Behavior:

      When the format string uses C-style strftime directives (used in Enigma2), the designer throws a runtime exception and crashes.

    🧪 How to Reproduce

    Working Example in Enigma2 (but fails in OpenSkinDesigner):

    Code
    xml
    CopyEdit
    
    
    <widget source="global.CurrentTime" render="Label" position="650,435" size="100,90"    font="Regular; 70" halign="center" valign="center"    foregroundColor="bluette" backgroundColor="header" transparent="1" zPosition="1">    <convert type="ClockToText">Format:%I</convert>
    </widget>

    Result in OpenSkinDesigner:

    Quote
    💥 System.FormatException

    Message: Input string was not in a correct format.

    Stack Trace:
    Code
    lua
    CopyEdit
    
    
    System.FormatException: Input string was not in a correct format.
    at System.DateTimeFormat.GetRealFormat(String format, DateTimeFormatInfo dtfi)
    ...
    at OpenSkinDesigner.Structures.cConverter.ClockToText.getText(String Source)

    Expected Behavior

    OpenSkinDesigner should:

    1. Parse Enigma2 strftime codes (%H, %I, %M, %p) correctly, or

    2. Skip preview rendering and show a placeholder instead of crashing, or

    3. Provide a compatibility setting for `.NET vs. Enigma2 format mode

    ✅ Valid Format Examples

    ✅ Works in Enigma2 (fails in Designer):

    Code
    xml
    CopyEdit
    
    
    Format:%H       <!-- 24-hour -->
    Format:%I       <!-- 12-hour -->
    Format:%M       <!-- Minutes -->
    Format:%p       <!-- AM/PM -->

    ✅ Works in OpenSkinDesigner (fails in Enigma2):

    Code
    xml
    CopyEdit
    
    
    Format:HH
    Format:hh
    Format:mm
    Format:tt

    💡 Suggested Fixes

    1. Detect Format Type Automatically

    If format.StartsWith("%") → use custom Enigma2-safe preview parser or fallback to static preview (00:00)

    2. Support Dual Preview Modes

    Allow user to toggle between:

    • Enigma2 Format Mode (%H:%M)

    • .NET Format Mode (HH:mm)

    3. Graceful Degradation

    If unsupported format is used, skip rendering with a message like:

    Quote
    Unsupported format preview in design mode

    4. Add Inline Warnings

    Show red warning in preview:

    Quote
    ⚠ Format "%p" not supported in live preview

    🔄 Workaround for Skin Developers

    Until this is fixed, the current workaround is to use .NET-compatible formats only while designing, and switch back before deploying to Enigma2:

    Code
    xml
    CopyEdit
    
    
    <!-- For Enigma2 (deploy) -->
    <!-- <convert type="ClockToText">Format:%I:%M %p</convert> -->
    
    <!-- For OpenSkinDesigner (design) -->
    <convert type="ClockToText">Format:hh:mm tt</convert>

    ✅ Benefits of Fixing This

    • No more runtime crashes when previewing skins

    • Allows full compatibility with modern Enigma2 format styles

    • Improves developer trust and usability of OpenSkinDesigner for live plugin skinning

  • ich mache da nichts mehr , braucht ja auch wohl keiner


    aber so habe ich meine uhr , die geht in beiden


    <screen name="PANEL_Uhr">

    <widget source="global.CurrentTime" render="Label" font="Regular; 30" backgroundColor="0-backgroundskin" foregroundColor="4-Uhr" position="0,0" size="50,40" halign="right" valign="bottom" zPosition="3" transparent="1">

    <convert type="ClockToText">Format:%H</convert>

    </widget>

    <eLabel text=":" font="Regular; 35" backgroundColor="background" foregroundColor="4-Uhr" position="50,0" size="15,40" halign="center" valign="top" zPosition="3" transparent="1" />

    <widget source="global.CurrentTime" render="Label" font="Regular; 30" backgroundColor="0-backgroundskin" foregroundColor="4-Uhr" position="62,0" size="50,40" halign="left" valign="bottom" zPosition="3" transparent="1">

    <convert type="ClockToText">Format:%M</convert>

    </widget>

    <widget source="global.CurrentTime" render="Label" font="Regular; 28" backgroundColor="0-backgroundskin" foregroundColor="4-Uhr" position="110,0" size="170,40" halign="center" valign="bottom" zPosition="3" transparent="1">

    <convert type="ClockToText">Format:%A</convert>

    </widget>

    <widget source="global.CurrentTime" render="Label" font="Regular; 25" backgroundColor="0-backgroundskin" foregroundColor="4-Uhr" position="280,0" size="245,40" halign="left" valign="bottom" zPosition="3" transparent="1">

    <convert type="ClockToText">Format:%d. %B %Y</convert>

    </widget>

    <widget source="global.CurrentTime" render="Label" position="650,435" size="100,90" font="Regular; 70" halign="center" valign="center" foregroundColor="bluette" backgroundColor="header" transparent="1" zPosition="1">

    <convert type="ClockToText">Format:%I</convert>

    </widget>

    </screen>


    verstehe nicht was du mir sagen willst

  • Appreciated kitte888 your prompt response, actually i am use openSkin to update XDREAMY skin, i was looking to offer different clock styles and i noticed that, when i used format like below


    Format:%H <!-- 24-hour -->
    Format:%I <!-- 12-hour -->
    Format:%M <!-- Minutes -->
    Format:%p <!-- AM/PM -->


    it work good on enigma2 but cause error on openskin so i have to change it to example below to avoid errors in my openskin


    Format:%H <!-- 24-hour -->Format:%HH <!-- 12-hour -->
    Format:%MM <!-- Minutes -->
    Format:%TT <!-- AM/PM -->


    The problem is related to OpenSkinDesigner, which tries to interpret Format:%I, Format:%M, Format:%p using .NET’s DateTime parser, not Enigma2’s.

  • und was geht nicht


    pasted-from-clipboard.png


    <widget source="global.CurrentTime" render="Label" font="Regular; 30" backgroundColor="0-backgroundskin" foregroundColor="4-Uhr" position="0,0" size="50,40" halign="right" valign="bottom" zPosition="3" transparent="1">

    <convert type="ClockToText">Format:%H</convert>

    </widget>

    <eLabel text=":" font="Regular; 35" backgroundColor="background" foregroundColor="4-Uhr" position="50,0" size="15,40" halign="center" valign="top" zPosition="3" transparent="1" />

    <widget source="global.CurrentTime" render="Label" font="Regular; 30" backgroundColor="0-backgroundskin" foregroundColor="4-Uhr" position="62,0" size="50,40" halign="left" valign="bottom" zPosition="3" transparent="1">

    <convert type="ClockToText">Format:%M</convert>

    </widget>

    <widget source="global.CurrentTime" render="Label" font="Regular; 28" backgroundColor="0-backgroundskin" foregroundColor="4-Uhr" position="110,0" size="170,40" halign="center" valign="bottom" zPosition="3" transparent="1">

    <convert type="ClockToText">Format:%A</convert>

    </widget>

    <widget source="global.CurrentTime" render="Label" font="Regular; 25" backgroundColor="0-backgroundskin" foregroundColor="4-Uhr" position="280,0" size="245,40" halign="left" valign="bottom" zPosition="3" transparent="1">

    <convert type="ClockToText">Format:%d. %B %Y</convert>

    </widget>


    <widget source="global.CurrentTime" render="Label" font="Regular; 30" backgroundColor="0-backgroundskin" foregroundColor="4-Uhr" position="8,77" size="50,140" halign="right" valign="bottom" zPosition="3" transparent="1">

    <convert type="ClockToText">Format:%HH</convert>

    </widget>

    <widget source="global.CurrentTime" render="Label" font="Regular; 30" backgroundColor="0-backgroundskin" foregroundColor="4-Uhr" position="71,73" size="150,140" halign="left" valign="bottom" zPosition="3" transparent="1">

    <convert type="ClockToText">Format:%MM</convert>

    </widget>


    <widget source="global.CurrentTime" render="Label" font="Regular; 30" backgroundColor="0-backgroundskin" foregroundColor="4-Uhr" position="264,81" size="350,140" halign="left" valign="bottom" zPosition="3" transparent="1">

    <convert type="ClockToText">Format:%TT</convert>

    </widget>

Forum Deutsch LinuxSat

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!