Posts by Mahmoud Hussein

    Can they share with us the screen template for this plugin to import it in XDREAMY skin? The py file is encrypted.

    Please note that skins are designed to support images, not specific devices, so it’s best to ask whether the skin supports the mentioned image or not.




    Anyway, try XDREAMY and let us know

    Actually I was thinking about this suggestion before, why have separate files contain almost same data.....


    So I asked about the benefits of it, I don't want to push in spacific direction but it just idea to discuss


    **Proposal for File Unification Between OSCam and NCam**


    After examining both codebases, it appears there's significant redundancy in many core files (readers, servers, etc.) that could benefit from unification. Key observations:


    1. **Code Duplication**: Approximately 70-80% of reader/server implementation files contain identical or nearly identical code between projects


    2. **Maintenance Burden**: Currently, bug fixes/enhancements often need to be manually ported between projects


    3. **Divergence Points**: Where NCam requires unique functionality (e.g., specific protocol support), these could remain as separate extensions


    **Suggested Approach**:


    - Create a shared core module for common components (readers, servers, etc.)

    - Maintain project-specific extensions where needed

    - Implement a build system that can compile against either codebase


    **Benefits**:

    - Reduced maintenance overhead

    - Synchronized bug fixes

    - Clearer distinction between shared and unique functionality

    - Smaller codebase footprint


    The unification would particularly help with:

    - Reader protocol implementations

    - Server connection handling

    - Common utility functions

    - Basic ECM/EMM processing


    Would appreciate thoughts from both developer communities on this proposal.


    ---

    Hello Ciefp,


    I hope this message finds you well.


    I’m currently working on integrating your plugins into my XDREAMY skin for Enigma2, and I would appreciate your help with a small issue.


    There’s a screen name conflict between your plugin CiefpE2Converter and another plugin called Transmission. Both plugins define a screen using the same name/class: MainScreen. This causes a conflict when applying skin panels dynamically, since only one MainScreen definition can be active at a time in the skin.


    Code
    <screen name="MainScreen" position="0,0" size="1920,1080" title="..:: CiefpE2Converter v{version} ::.." backgroundColor="transparent" conditional="message_label">
            <panel name="p900_Template"/>
            <panel name="p900_Date"/>
            <panel name="s_RGYB"/>
            <widget name="message_label" position="80,160" size="1720,100" font="Regular;30" valign="top" halign="center" foregroundColor="ltbluette" zPosition="1" transparent="1"/>
            <widget name="file_list" position="80,275" size="825,650" scrollbarMode="showOnDemand" zPosition="1" transparent="1" itemHeight="50" itemCornerRadius="15" scrollbarRadius="5" scrollbarOffset="5" scrollbarWidth="5" scrollbarSliderForegroundColor="ltbluette" scrollbarSliderBorderColor="ltbluette"/>
            <widget name="status_label" position="970,275" size="825,650" font="Regular;22" halign="left" valign="top" zPosition="1" transparent="1"/>
        </screen>



    To resolve this cleanly and maintain compatibility across skins, it would be great if you could consider renaming the screen class (e.g., CiefpMainScreen) or allow conditional skin loading based on plugin context.


    Additionally, I’ve noticed that key mappings across your plugins are not standardized. Some follow the dynamic color key template (red, green, etc.), while others use custom mappings that require manual skin adaptation. It would be very helpful if you could unify the key handling across your plugins when you have time.



    Thanks in advance for your consideration, and thank you for your great work and contributions to the Enigma2 community.


    Best regards,

    Mahmoud

    Do you have a picture for your setup?

    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.

    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

    Okey, now I understand what is your point, to be honest I never did a backup to any image, I usually make image ready in 10 mins which almost same time required for backup restore, I am usually use limited settings in my image and limited plugins as well,


    I think the right place to report this point is openatv thread.


    Regards

    Sorry my friend, but you are completely wrong. I think you are not reading my fstab correctly.


    As soon as I have some time, I will come back with explanations.

    No problem bro, just I tried to explain in light of my limited knowledge.


    Below is your fstab file for sf8008 , when compare it to what I have it is clear we had different method


    giorbak


    Let's chat here, away from aglare skin page, please have a look on the main post, the screenshot of my fstab, there are no Universal storage ID, just partition names,


    In your fstab you have a lot of wrong names


    sda5 you call it sda7 and so on, so you don't have the right order virtually

    thanks i am going to try it but the sometimes the sd card disappear and need to rebooted and then will be come visiable but i try and if i manage to format it any command needs to be use to partition ?

    When you remote the image mount the system also so you will not have successful partitioning process.


    Forget about seeing the sd


    Just use their plugin


    Format

    Unmount

    Partitioning

    thanks i am going to try it but the sometimes the sd card disappear and need to rebooted and then will be come visiable but i try and if i manage to format it any command needs to be use to partition ?

    No needs to reboot, follow the same sequence


    1. Format

    2. Unmount

    3. Make partition


    Wait to get the success message, no needs to reboot or restart during the whole process.