openvix: release 6.9.003 Merge remote-tracking branch 'origin/Developer' into Release openvix: developer 6.9.003.029 Enhance EGL support with unpremultiply power and blit premultiplication settings Refactor color handling in executeRectangle for premultiplied alpha support Implement GPU-based spinner functionality with transparent window surface clearing and background capture Enhance EGL functionality with window surface recreation and shadow framebuffer management; add texture drawing for sub-rectangles Enhance EGL support for GBQuad platform and add diagnostic features configure.ac: update conditions for NXPL EGL support to include additional MACHINEBUILD types [egl.appends] remove "mesa" openvix: developer 6.9.003.028 [About] add missing return PEP8 double aggressive E301 ~ E306 [About] update EGL / GLES entry [ChannelSelection] add an (optional) separator between channel name and event title for single line [EGL] Improve spinner handling and add conservative readback support for libMali [EGL/GLES] Add support for additional HiSilicon and Broadcom STBs Add support for ax61 in various configuration files and update EGL handling [MovieInfo] work out the type once, fix the stuck directory scan [ServiceInfo] pick up the new icon/DVB changes, tidy the internals openvix: developer 6.9.003.027 [GBQuad] Implement premultiplied color handling for raw-overwrite draws [EGL/GUI] Fix various alpha blending and transparency issues [LogManager] use binary open of log files to avoid rogue encoding openvix: developer 6.9.003.026 [ClientsStreaming] pick the text handler once and stop doing extra work [ScrollLabel] add "alphaBlend" to applyskin [ServiceName2] pick the handler once, fix TransponderInfo [Translations] Updated Finnish (fi.po) translation [Converter.ServiceName] pick the handler once in __init__ [Addons.ServiceInfoBar] fix stream [Multiboot] improve E2 startup [ServiceInfo] move the type checks out of the getters [Converter.FrontendInfo] pick the handler once in __init__ [About] add EGL/GLES [skin] only display color buttons when there is a text available [ServicePosition] fix bogus remaining time when length is 0 Add EGL and GLES version string retrieval functions and update related structures [EventTime] pick the handler once in __init__ [EventName] pick the handler once in __init__ openvix: developer 6.9.003.025 Refactor m_pending_resolution_change to use atomic for thread safety Enhance framebuffer handling for Abcom EGL build and adjust resolution change application in gEGLDC [openvix.conf] update [openvix.conf] update [openvix.conf] update [openvix.conf] add vusolo4k [enigma2.bbappend] move to correct location openvix: developer 6.9.003.024 Refine window resizing logic for ABCom platform; enforce 1080p limit and clarify framebuffer handling Add support for pulse4k/pulse4kmini in EGL and GLES configurations [egl-gles-extras] add layer.conf and folder layout for meta-local [egl] fix spinner remnant background openvix: developer 6.9.003.023 Enhance gEGLDC and VuplusWindowProvider for improved texture handling and alpha blending openvix: developer 6.9.003.022 Refactor gEGLDC to Support Physical Rendering Size and Texture Management [EGL] Define GL_RED and GL_R8 for GLES2 builds to support single-channel textures [EGL] Add VU+ and ABCom EGL backends, improve GLES detection and shadow FBO fallback openvix: developer 6.9.003.021 [egl] reset the one-shot corner radius after every blit [EGL] Broaden Nexus EGL support, enhance texture management and rendering [EGL] Optimize rectangle rendering and improve resolution change handling [eListbox] don't repaint the scrollbar gap of transparent listboxes [elistbox] "clear/repaint empty/unused space between scrollbar and listboxentrys" [eListbox] don't construct a scrollbar in showNever mode openvix: developer 6.9.003.020 [EGL] Defer OSD resolution changes and optimize UI rendering [gb-v3ddriver-gb7252pro.bbappend[ add file [EGL] Update eglSwapInterval to improve vsync handling and reduce latency [EGL] Optimize spinner background capture and adjust eglSwapInterval for performance openvix: developer 6.9.003.019 [EGL] Fix OSD scaling issue by enabling stretch for native window [EGL] Enhance framebuffer locking mechanism and add clear functionality for OSD [ImageManager] Improve fbClass instance handling for locking and unlocking [EGL] Add GigaBlue Quad 4K Pro support and improve rendering/performance openvix: developer 6.9.003.018 openvix: developer 6.9.003.017 [PliExtraInfo] sync with 4f77ccc3addc50adb2908216cac4ca79437cb2f7 openvix: developer 6.9.003.016 PEP8 double aggressive E301 ~ E306 PEP8 double aggressive E22, E224, E241, E242 and E27 Fix Transcoded DTS .mp4 and .mkv files startup position. [PliExtraInfo] share ECM cache across all instances via module-level throttle Added a module-level getCachedEcmData() (globals, not self. attributes) that both refreshCryptoInfo and getBool now call. Since GetEcmInfo's own state is already module-level globals under the hood, every GetEcmInfo() object is just a stateless wrapper around the same data anyway - this just adds one shared once-per-second gate in front of it, used by every instance. [PliExtraInfo] fix Tandberg letter mismatch from original code caid_data had Tandberg's letter as "TB" while CA_TABLE and CRYPTO_LETTER_RANGES both used "T", so getBool's Tandberg Available/Selected checks could never match anything. Changed caid_data to "T" to agree with the other two tables. [PliExtraInfo] dispatch table for transponder/tuner text types Collapsed the ~90-line if-chain for TransponderFrequency, TunerSystem, OrbitalPosition, etc into a dict lookup, plus two smaller dispatch tables for ResolutionString/VideoCodec and PIDInfo/ServiceRef. Same checks, same order, just O(1) instead of scanning a long if-chain every call. [PliExtraInfo] tweak a268771 [PliExtraInfo] make SAT_NAMES a class variable to avoid reallocating this large dict repeatedly [PliExtraInfo] update a comment [PliExtraInfo] CA_TABLE Make CA_TABLE a class level dict, keyed by converter arg, rather than recreating a tuple of tuples on creation of every instance. This allows dict's fast O(1) lookup, rather than iterating the old tuple with a for loop. [PliExtraInfo] remove more int conversions missed in 322d75d [PliExtraInfo] fix readability/maintenance smell There was a module-level function getCryptoInfo(info) and an unrelated instance method self.getCryptoInfo(info) with different signatures and different behavior (one returns a tuple, the other sets self.current_* and returns None). Rename the instance method. [PliExtraInfo] use ColorizeText instead of manual Hex2strColor [ColorizeText] remove unused "session" variable [PliExtraInfo] store caid_data ranges as ints, not hex strings caid_data entries and current_caid were hex strings re-parsed with int(x, 16) on every single lookup, some of them on every poll tick. Parse the table once at module load and keep current_caid as an int, updating every comparison that relied on the old string ranges (including ShowECMInformation in ServiceInfo, which imports caid_data directly). [PliExtraInfo] Fix permanent exception which is swallowed by the surrounding bare except: pass, so the method silently falls through and always returns "" [PliExtraInfo] replace 200+ lines of repeating code with a simple lookup table [ServiceMP3] Add evFirstFrame event to signal when playback starts with a decoded frame [EventTime] fix 487d82c3e17aee0a7e36b1a29c5a6ff2686c2776 openvix: developer 6.9.003.015 openvix: developer 6.9.003.014 [Decoder] Increase retry attempts for opening decoder device to handle prolonged teardown times [ServiceMP3] Add pending stop worker check before starting playback [ServiceMP3] Implement hardware release wait mechanism to prevent race conditions during service transitions [ImageManager] avoid potential BSoD due to possible race caused by file-pruning removing expired files [Audio] Remove passthrough fix and improve DTS detection [egl-gles] fix wrong text background of editable text field e.g. in config list [egl-gles] add missing framebuffer lock for e.g. ofgwrite [ServiceInfo] use "self.title" [ServiceMP3] Enhance playback control with URL parameters and improved track switching [dvbtime] don't let RTC fallback stomp NTP time [ServiceMP3] Subtitle timing fixes (#1) openvix: developer 6.9.003.013 openvix: developer 6.9.003.012 [service] Add deferred buffer clearing for subtitles to prevent playback hang openvix: developer 6.9.003.011 [configure] Simplify EGL/GLES detection and default behavior [configure] Improve EGL/GLES3 capability detection openvix: developer 6.9.003.010 chmod files [gles-egl] add for dm9x0 ePositionGauge - add hidePointerOnZeroLength skin parameter ePositionGauge - update pointer position after resize openvix: developer 6.9.003.009 openvix: developer 6.9.003.008 openvix: developer 6.9.003.007 [PluginBrowser] add "kodi-addon-" to whitelist [OnlineUpdateCheck] reinstate original MIN_INITIAL_DELAY value PEP8 double aggressive W291 ~ W293 and W391 PEP8 double aggressive E301 ~ E306 Let "config.softwareupdate.updatefound" state to persist across reboots... But clear it before executing a software update or making a backup [Addons.ServiceInfoBar] add software update icon [onlineUpdateCheck] reduce initial feeds poll to 2 minutes after enigma (re)start [[Sources.OnlineUpdate] remove near duplication [Addons.ServiceInfoBar] add support for audio channels (5.1, 7.1, etc) openvix: developer 6.9.003.006 [Addons.ServiceInfoBar] add video/audio codec icon support [Addons.ServiceInfoBar] Avoid exception. The current code assumes filteredElements is not empty, but nothing guarantees that. Using permanent icons hides this bug. [AudioIcon] use os.path.join for assembling paths [translation] update de.po openvix: developer 6.9.003.005 [audiochanneldetector] change buffer implementation to speed up detection [gpixmap] fixed full transparent fill Update AVSwitch.py Update AVSwitch.py [PluginBrowser] - re add Kodi-Addons as separate folder in downloads [Translations] Updated Finnish (fi.po) translation PEP8 double aggressive W291 ~ W293 and W391 [NetworkSetup] Catch interface errors while scanning WiFi adaptors openvix: developer 6.9.003.004 [Translations] Updated Finnish (fi.po) translation openvix: developer 6.9.003.003 [SystemInfo] - fix missing CanDownmixAC3Plus line Merge branch 'Developer' into Release openvix: developer 6.9.003.002 [AVSwitch.py] typo PEP8 double aggressive W291 ~ W293 and W391 [configure.ac] sequence [configure.ac] try fix [About] clean [AudioSelection] sync with openbh [vuduo4klite] add additional (author Ev0) [audiochanneldetector] add files Add advanced audio codec diagnostics, dynamic channel reporting, and hardware handover fixes openvix: developer 6.9.003.001 [hotplug] sync 2nd Q. sync updates - by jbleyel/WXbet [TemplatedMultiContent] allow "horizontal", "vertical" and "grid" to be used for orientations [TemplatedMultiContent] don't force "itemWidth" and "orientation" to be mutually inclusive This allows compatibility with openatv templates where orientation is passed as an attribute of the Listbox widget. [skin] "orientation" attribute exclusively for eSlider; "listOrientation" attribute exclusively for eListbox [TemplatedMultiContent] add comment [TemplatedMultiContent] remove assert statements as these are silently skipped in production builds. Instead raise ValueErrors with relevant debug messages. [Hotplug] * do not hand out the same mount point twice [Hotplug] * re-register storage devices after a udev re-add [Hotplug] * improve known_devices [harddisk] add nas fstype support detection [hotplug] * move socket to /var/run/ openvix: release 6.9.002 Merge remote-tracking branch 'origin/Developer' into Release [Translations] Updated Finnish (fi.po) translation PEP8 double aggressive W291 ~ W293 and W391 [PluginBrowser] add recursive close [PluginBrowser] tweak whitelist filtering [TemplatedMultiContent] fix typo [setup.xml] make "Infobar fade-out speed" subordinate to "Enable infobar fade-out" openvix: developer 6.9.002.036 Refine blitting robustness: clamp rounded corner blits and enforce Dreambox software fallback openvix: developer 6.9.002.035 [PluginBrowser] replace unnecessary + Enable hardware alpha blending for Dreambox while ensuring software fallback for unreliable cases Fix unreliable hardware alpha blending on forced acceleration targets openvix: developer 6.9.002.034 Refine video plane clearing and hardware blitting fallback openvix: developer 6.9.002.033 Refine UI rendering, alpha blending, and improve performance [Translations] Updated Finnish (fi.po) translation openvix: developer 6.9.002.032 [LanguageSelection] avoid chained MessageBoxes when deleting languages [Translations] Updated FInnish (fi.po) translation [PluginDownloadComponent] scale icons to fit properly. [LanguageSelection] add class LanguageDownloadBrowser [PluginDownloadBrowser] allow calling code to supply its own "prefix_whitelist" [PluginBrowser] update package filtering openvix: developer 6.9.002.031 [ConfigList] send description to choicebox [ChoiceBox] free up "text" widget if not used for "title" handling openvix: developer 6.9.002.030 [elistbox] refine wrap-around logic to consider orientation for selection movement [elistbox] fix wrap-around logic for selection movement at boundaries openvix: developer 6.9.002.029 [elistbox] ensure content is always painted to clear stale pixels [elistbox] enhance selection movement with wrap-around functionality PEP8 double aggressive W291 ~ W293 and W391 [PluginBrowser] load default plugin icon only once [README] add ccache [PluginBrowser] switch to Components.Sources.List The skin xml is inspected on init and if the old name="list" is detected, Components.PluginList is loaded instead openvix: developer 6.9.002.028 openvix: developer 6.9.002.027 openvix: developer 6.9.002.026 Fix transparency and compositing order in immediate mode rendering PEP8 double aggressive W291 ~ W293 and W391 PEP8 double aggressive E22, E224, E241, E242 and E27 [Translations] Updated Finnish (fi.po) translation [MediaPlayer] remove intermediate variable "self.filelist" [MediaPlayer.settings] add config descriptions [MediaPlayer.settings] use Setup screen [FileList] inParentDirs(): fix parent directory checks incorrectly matching paths like /media/hdd2 as /media/hdd. getMountpoint() uses the same startswith() test, but its values include trailing slashes, so that test is safe. [FileList] use path.join, not string concatenation [FileList] Simplify getMountpointLink path handling [Addons/Pager] add arithmetic for grid layouts [TemplatedMultiCobntent] fix arithmetic bug Horizontal values were getting multiplied by the vertical multiplier and vice versa. [FileList] fix long-standing bug directory always has a trailing slash, whereas return value from "path.realpath" has no trailing slash, so this condition always returned False [FileList] getMountpoint/getMountpointLink: readability, argument is a directory, not a file [FileList] expects "directory" to be an absolute path terminated with a trailing slash. Enforce that. [PluginBrowser] - add Kodi Addon [python_pmt_i] PyInt_FromLong to PyLong_FromLong [Translations] update de.po openvix: developer 6.9.002.025 [nl.po] update [eDVBServicePlay] - compatibility flags with OpenATV for plugins & webp [RestoreWizard/BackupManager] add a watchdog for stalled plugin restores Instead of waiting indefinitely, like before, if there is no callback, after 5 minutes kill the running process and attempt to restore the next plugin Revert "NL-update" NL-update [Console] ePopen: avoid mutable default args (same pattern as eBatch) PEP8 double aggressive W291 ~ W293 and W391 [ServicePosition] various 1. Add complete skin arg list 2. Remove dead code 3. Tweak error message [UsageConfig] use loop for repeating code openvix: developer 6.9.002.024 [tstools.cpp] attempt to fix spurious display of remaining time while watching movies that have suspicious .ap files When fixupPTS() is called with a PTS value up to 10 seconds before m_pts_begin (which can happen at the start of a recording when the .ap access-point table cannot resolve the exact position), the code is intended to clamp now to the recording start (0). PEP8 double aggressive W291 ~ W293 and W391 [UsageConfig] add comment about date/time code [UsageConfig] fix untested date/time code [ClockToText] use formatters where possible [CutListEditor] remove pointless loop-through functions [AVswitch] - fix HDR_Type when no choices Proc [havehdmihdrosd] - set in SystemInfo [dvb.cpp] fix cutlist editor crash when adding 'start cut here' [display480] update TunerPanel [Translations] Updated Finnish (fi.po) translation [setup.xml] add a text openvix: developer 6.9.002.023 [CutListEditor] useability improvements to stp the interface jamming Author: @xcentaurix [FixedMenu] add a default colour [ColorizeText] add default option PEP8 double aggressive W291 ~ W293 and W391 [FixedMenu/CutListEditor] skip-over/grey-out non callable list items [About] use ColorizeText class [Hex2strColor] add ColorizeText class PEP8 double aggressive W291 ~ W293 and W391 PEP8 double aggressive E301 ~ E306 PEP8 double aggressive E225 ~ E228 and E231 PEP8 double aggressive E20 and E211 [ServicePosition] refactor The original is ~350 lines of near-total duplication in getText() - every OSD branch had a byte-for-byte twin in the VFD branch. [RemainingToText] Move module level format functions to a helper file [RemainingToText] make formatters are module-level functions, not bound methods [UsageConfig] build choice lists just once for repeating configs [setup.xml] add reboot on "Show media playback remaining/elapsed" [Translations] update de.po - add some older missing translations [Translations] update de.po [Translations] updated ar.po (by Claude AI) [RemainingToText] change label: INTERVALS > POLL_INTERVALS [RemainingToText] add comment [Converter.Remaining] build on https://github.com/OpenViX/enigma2/commit/f778906925b65b3de74c7b033cd532d93f21ac69 - Read "VFD" from "type" and then discard it from the string. - Work out what formatting is required in __init__ and apply it there. This allows getText() (the function that is continually polled) to do a lot less work. - Drop "self.type" and magic constants completely because all the work is done in __init__ . - Type "VFD" becomes "VFDInMinutes" (made backwards compatible). - Format functions moved out of the class to global level (allowing external use). [ScreenSummary] tweak priority of skin names [AVSwitch, VideoMode] correct typos [AVSwitch] modify fileWriteLine call [Translations] Updated Finnish (fi.po) translation [AVSwitc, Vieomode] - add conditional GigaBlue HDR cotrols [Translations] Updated Finnish (fi.po) translation openvix: developer 6.9.002.022 [ViX.plugin] remove duplicate entry for Script Runner [ButtonSetup] remove exec() calls [ButtonSetup] improve plugin iteration [ButtonSetup] extend test to all classes that inherit MoviePlayer [UsageConfig] config.usage.swap_time, add bare minutes to user override [RemainingToText] tweak poll interval for Mins Secs PEP8 double aggressive E301 ~ E306 [RemainingToText] add bare minutes ("54", not "54 Mins") for when display space is limited Author: @xcentaurix [ButtonSetup] helpableButtonSetupActionMap: Every other class in the module stats with upper case so follow that convention [Plugin] tweak comments openvix: developer 6.9.002.021 [InfoBarGenerics] skip using boundFunction as a wrapper when not passing arguments [InfoBarPlugins] check compatibility before loading in extensions list [Plugin] properly explain WHERE_EXTENSIONSMENU args Revert "[InfoBarPlugins.getPluginList] PluginDescriptor.WHERE_EXTENSIONSMENU" [InfoBarPlugins.getPluginList] PluginDescriptor.WHERE_EXTENSIONSMENU This type of plugins only load if isinstance(self, InfoBarChannelSelection), but previously that was hidden in the loop. This commit avoids the loop running if that condition is not met. [gpixmap] change attribution [gpixmap] cannot blit 0 bpp [http(s)stream] - handle streamrelay with legacy code [font.cpp] whitespace cleanup [Translations] add missing french translations to fr.po [BouquetList] fix zombi screen after deleting an active channel from the list [filepush] don't set m_buffer_min_write = 0 openvix: developer 6.9.002.020 chmod files [translations] de.po update [Translations] Updated Finnish (fi.po) translation openvix: developer 6.9.002.019 chmod files Fix HEVC SPS parser hang on malformed/truncated bitstream data [es.po] tweaks [AudioSettings] Fix wrong text chmod files [translations] fix some 'awkward translations' [translations] update de.po openvix: developer 6.9.002.018 add a guard that prevents unnecessary pmt/pat parsing for non-ts stream formats [enigma2] add .ap/.sc file creation for stream recording chmod files openvix: developer 6.9.002.017 [enigma2] Fix eServiceMP3Record::stop() UI freeze on stuck recording openvix: developer 6.9.002.016 Font - preserve line-start flag across color escapes openvix: developer 6.9.002.015 chmod files hdr change broader stall fix openvix: developer 6.9.002.014 openvix: developer 6.9.002.013 chmod files [eServiceMP3] add watchdog so failure stopping service shows in the debug log [eServiceMP3] attempt to fix endless spinner on zap when GST take too long releasing channel [Navigation] fix RetryTimer Amends https://github.com/OpenViX/enigma2/commit/619e231fbd5043c556d74a4598e289a9d5c07671 [MultiBootSelector] add missing commas, this is a tuple membership test, not a substring test [Downloader] on a non-2xx status, release the underlying connection cleanly, do not leave dangling Font - fix color reset followed by new color sequence [Dowloader] add fixes by @jbleyel Accept the alternative color notation (: ; < = > ?) supported by gRGB. [Renderer.Progress] ensure value stays in range openvix: developer 6.9.002.012 [Tools.Multiboot] rewrite some sections to improve readability by flattening Logic should be identical, and in testing debug prints the same as before. [Multiboot] simplify Mainly use helpers to simplify precedural code. Use subprocess.run to completely replace Console().ePopen() openvix: developer 6.9.002.011 Scan - update progress after last scanned transponder [Tools.Multiboot] add missing presets in init openvix: developer 6.9.002.010 PEP8 double aggressive W291 ~ W293 and W391 PEP8 double aggressive E301 ~ E306 [Multiboot] move multiboot initalisation out of SystemInfo and into Tools.Multiboot. Call directly from StartEnigma. [Tools.Multiboot] add some helper functions to avoid code duplication [Tools.Multiboot] add comment [Console] add comment [MultiBootSelector] - resolve mounted partition [Multiboot] - ensure mounted volume is unmounted. [Screens.ServiceInfo] avoid possible UnboundLocalError [Multiboot] fix hidden bug "slotnumber not in bootslots" will always be true because slotnumber is str, and bootsloots has int keys [Multiboot] fix error in previous commit. SystemInfo["MultiBootSlot"] is an int [About] addColor: add compatability with d22a2c4ae7e263371c071fe810cc3007bfa36381 [Font] use \C to restore the original color - use \C to restore the default foreground color - \c changes the color only when followed by 8 valid hexadecimal digits - invalid \c sequences are rendered as normal text Revert "Font - use \c to restore the original color" PEP8 double aggressive E22, E224, E241, E242 and E27 [Tools.Multiboot] add missing assignment of "slot" to SystemInfo["MultiBootSlot"] Needs testing by someone that has this hardware. [Tools.Multiboot] getBootCodeDescription: as this is a compatibility function, mimic OpenATV implementation [Multiboot] remove slotname mutations from the active code while it is work in progress [Console] fix crash when a callback-less command fails to launch [BackupManager] add XtraPluginsSelectionSummary openvix: developer 6.9.002.009 [Translations] Updated Finnish (fi.po) translation [BackManager] XtraPluginsSelection.saveSelection(): enforce "/media/mountpoint/relative_path" [Translations] Updated Finnish (fi.po) translation [BackupManager] handle failure on delete [BackManager] remove nonsense backupdir [ViX-plugin] print error message if exception while pruning [BackupManager] remove dead code [ViX-plugin] remove orphan [BackupManager] remove unnecessary condition ("if self.didPluginsRestore or self.didSettingsRestore:" has already ruled out didSettingsRestore being True) [BackupManager] various 1) Stage4Complete: remove popup. The user does not need a popup to tell them what they chose in the previous screen. 2) Previous behaviour if settings restore was declined and no plugins to restore, or on error was to just dump the user in the enigma menu without any warning. This commit shows an informative message and then returns to the backup list. PEP8 double aggressive W291 ~ W293 and W391 [BackupManager] delete a nonsense task [BackManager] fix leak Move ActionMaps to __init__(). Previously the ActionMap was in populate_List, which is called from backupRunning() — which reschedules itself via self.activityTimer.startLongTimer(5) for as long as the screen stays open. Reassigning self["myactions"] to a brand-new ActionMap doesn't automatically release the old one in Enigma2; each new instance just gets pushed onto the action stack alongside the previous ones. Leave this screen open a while causes a slow leak. [ImageManager] populate_List: always hide buttons and actions and only reinstate if the mount is available [Translations] Updated Finnish (fi.po) translation openvix: developer 6.9.002.008 [About] add handling to return to the default colour (set by the renderer) after text colour highlighting See: 25230f7066c0d95341ad8f2c453621b1512542dc [About] colours: a single entry in skin parameters would not be comma separated and therefore an int, not a list openvix: developer 6.9.002.007 Font - use \c to restore the original color Revert "[font] - use \c escape sequence to restore previous color if not followed by 8 hex chars" openvix: developer 6.9.002.006 PEP8 double aggressive W291 ~ W293 and W391 [font] - use \c escape sequence to restore previous color if not followed by 8 hex chars [BackupManager] populate_List, fix hacky formatted string sort. Use tuple. [BackupManager] populate_List exception: use OSError [ImageManager] spelling error [BackupManager] "populate_List", change inappropriate gui message on exception The previous message "Please reformat the device..." could be destructive [BackupManager] "populate_List", add debug on exception [BackupManager] "Stage2Complete" fix logic: "if" should be "elif" [BackupManager] remove a str.replace This is a filepath not a url. Later "path.exists(thirdpartyPluginsLocation)" will fail if the path had contained spaces. [BackupManager] correctly handle saving config [BackupManager] fix operator precedence [ImageManager] fix typo [ImageManager] fix some obvious coding/syntax errors openvix: developer 6.9.002.005 [Navigation] Restore service references after stopService to maintain valid state [Service] Optimize responsiveness and prevent UI freezes Scan - include current transponder in progress calculation PEP8 double aggressive W291 ~ W293 and W391 openvix: developer 6.9.002.004 [ClockRealtimeMonitor] improve error handling openvix: developer 6.9.002.003 Revert "[SkinConfig] attempt to simplify" [eTimer] remove the ASSERTs that were added in a previous commit [SkinConfig] attempt to simplify [skin] small change to 673d59361f7529b881fc7b0eb0f010a29022cec0 Call skin plugins before running callbacks PEP8 double aggressive E301 ~ E306 [SkinReñoad] add PluginDescriptor.WHERE_SKINCHANGE PEP8 double aggressive W291 ~ W293 and W391 [Sources.Clock] remove temporary debug [HDR] Refine event dispatch for HDR status changes [enigma2] Prevent main-thread hang from dead network-mounted picon paths [eServiceMP3] Prevent main-thread lockups during HDR probe and stop [OnlineUpdateCheck] increase timeout when checking for software updates [TemplatedMultiContentEx] second attempt to silence PEP8 warnings openvix: developer 6.9.002.002 [Clock] use ClockRealtimeMonitor and eTimer.startEpochAligned [python_base.i] update eTimer [TemplatedMultiContentEx] attempt to silence PEP8 warnings PEP8 double aggressive W291 ~ W293 and W391 [MessageBox] further attempt to silence PEP8 nag messages [PEP] [PEP] [ClockRealtimeMonitor] fix indent openvix: developer 6.9.002.001 [NetworkTime] use ClockRealtimeMonitor to trigger callbacks [eTimer] add method "startEpochAligned" [ClockRealtimeMonitor] add module [enigma2] for IPTV channels return blank as satellite orbital position chmod files [enigma2] remove talkative debug prints openvix: release 6.9.001 openvix: release . Merge remote-tracking branch 'origin/Developer' into Release [SkinSelector] use the provided save function openvix: developer 6.9.001.006 PEP8 double aggressive W291 ~ W293 and W391 [ImageManager] Pruning: use search pattern suggested by @original-birdman [ViX] attempt to correctly normalise config.backupmanager.backuplocation and config.imagemanager.backuplocation [AudioSelection] minor update to last commit openvix: developer 6.9.001.005 [AudioSelection] colour buttons... Colour buttons should not show once scrolled beyond the first page, otherwise they will appear next to items that they do not correspond to. [ButtonSequences] check key_colour buttons have a text field openvix: developer 6.9.001.004 [ImageManager] minor tweak to avoid duplicating file system tests chmod files [HotPlug] - associate mmcblk1p1 check with dm9x0 [Hotplug] change mountpoint to mmc{partition} for multiple partitions on an sdcard [README/CONTRIBUTING] update [ButtonSequences] adhere to visibility of Button/Label objects [ImageManager] green/yellow buttons should only be shown if there is a valid backup directory [ImageManager] dead code 1) In keyRestore1() remove 'if SystemInfo["canMultiBoot"] is False'. SystemInfo["canMultiBoot"] can only be a dict so this clause could never be True. [Multiboot] remove verbose code openvix: developer 6.9.001.003 [Multiboot] fix crash on reflash when not multiboot 15:28:02.5274 [InfoBarGenerics] Key: 401 (Make) KeyID='KEY_BLUE' Binding='('BLUE',)'. 15:28:02.9712 [eInputDeviceInit] 0 191 (401) 1 15:28:02.9712 [eRCDeviceInputDev] emit: 0 15:28:02.9713 [eActionMap] key from dreambox advanced remote control (native): 401 1 15:28:02.9715 [InfoBarGenerics] Key: 401 (Break) KeyID='KEY_BLUE' Binding='('BLUE',)'. 15:28:02.9716 [ActionMap] Keymap 'ColorActions' -> Action = 'blue'. 15:28:02.9718 [ImageManager][keyRestore] self.sel SystemInfo['MultiBootSlot'] openvix-6.9.001.002.developer-vuultimo4k_usb.zip None 15:28:02.9771 Traceback (most recent call last): 15:28:02.9793 File "/usr/lib/enigma2/python/Components/ActionMap.py", line 58, in action 15:28:02.9794 File "/usr/lib/enigma2/python/Plugins/SystemPlugins/ViX/ImageManager.py", line 485, in keyRestore self.keyRestore1() ~~~~~~~~~~~~~~~~^^ 15:28:02.9795 File "/usr/lib/enigma2/python/Plugins/SystemPlugins/ViX/ImageManager.py", line 529, in keyRestore1 imagedict = GetImagelist() 15:28:02.9795 File "/usr/lib/enigma2/python/Tools/Multiboot.py", line 246, in GetImagelist 15:28:02.9797 UnboundLocalError: cannot access local variable 'imagedir' where it is not associated with a value 15:28:02.9799 [ePyObject] (CallObject(>,('ColorActions', 'blue')) failed) 15:28:06.6108 [gRC] Warning: Main thread is busy, displaying spinner! /usr/bin/enigma2.sh: line 311: 2796 Killed LD_PRELOAD=$LIBS /usr/bin/enigma2 openvix: developer 6.9.001.002 PEP8 double aggressive W291 ~ W293 and W391 [evideo] - isolate dm9x0 code [MountManager] add /media/mmc for dm9x0 [Hotplug] mount sd card as /media/mmc [Translations] Updated Finnish (fi.po) translation [Downloader] force error messages to string openvix: developer 6.9.001.001 chmod files [translation] update de.po [Downloader.py] abortConnection() not available in... twisted.web._newclient.TransportProxyProducer. Use stopProducing() instead. openvix: developer 6.9.000.018 [enigma2] fix switch from pig to fullscreen caused by DM9xx driver bug (part 2) [ServiceInfo] remove unnecessary blank lines and trailing 'i' [HDR Detection] enhance gamma handling based on HDR type [HDR Detection] remove unused HDR-related constants and methods [HDR Detection] refine logic for starting HDR detection on video PID changes openvix: developer 6.9.000.017 PEP8 double aggressive E301 ~ E306 [Downloader] add connection timeout [CopyFiles.DownloaderPostcondition] fix a since-forever bug Introduced by https://github.com/OpenViX/enigma2/commit/2709d13bb2ad03fecbd653f7a35837ba84ab8fd1 [CopyFiles.DownloadTask.download_failed] fix args [Downloader] single exit strategy # all exits funnel into _finalise() # self_done prevents races/double-callbacks # network shutdown centralized # file cleanup centralized # callbacks disabling centralized [Downloader] sanitize userAgent arg [Downloader] add some helper functions that can be shared with code to be added later [Downloader] add USER_AGENTS class from @jbleyel [configure.ac] add all gb7252 for HDR [HDR Detection] add support for video gamma change events and enhance HDR type detection logic [HDR Detection] implement software HDR detection support for compatible devices and update related service logic [HDR Detection] extend HDR classification to include generic HDR support and update related logic across service components [HDR Detection] refactor HDR detection logic to improve handling of first frame restarts and enhance colorimetry checks in MP3 service [HDR Detection] add hasSPS method to hdrdetector and enhance HDR detection logic in servicedvb and servicemp3 [HDR Detection] enhance demux selection strategy and add fallback handling for HDR recorder [HDR Detection] update TAP timeout for HDR detection and enhance HEVC codec data handling in MP3 service [HDR Detection] optimize HDR detection logic by removing unused variables and enhancing handling for HEVC streams [HDR Detection] fix connection handling for first CW received in HDR detection [HDR Detection] enhance HDR detection handling for CI descrambling and update logging for MP3 HDR probe [HDR Detection] implement HEVC bitstream probe for HDR classification in eServiceMP3 [HDR Detection] refactor eHDRStreamDetector by removing unused methods and optimizing memory management [HDR Detection] implement eHDRStreamDetector for live HDR detection and classification [HDR Detection] enhance HDR detection setup and result handling in eHDRStreamDetector [HDR Detection] implement HDR detection and classification for video streams [Translations] Updated Finnish (fi.po) translation [Multiboot] add OpenWebif interface def's for Multiboot access [Multiboot] check empty dir [Downloader] add exception protection on write e.g. media full or removed [Downloader] add "return self" to the current callback setters to allow chaining [Downloader] setAgent, write directly to headers dict Idea: @jbleyel [Downloader] uses string headers for urllib [enigma2] fix for crash during enigma2 shutdown [Translations] Updated Finnish (fi.po) translation openvix: developer 6.9.000.016 [Downloader.py] Handle aborted/failed transfers correctly [setup] add missing item config.misc.softcsa.bufferTime chmod files piconMargin [CopyFiles] remove crude UI throttle from the original code [translations] update de.po openvix: developer 6.9.000.015 [config] add setupOnSave callback handler [Translations] Updated Finnish (fi.po) translation openvix: developer 6.8.010.001 openvix: developer 6.8.009.002 [Downloader.py] The module has been changed from a thread-based requests implementation to a fully asynchronous Twisted implementation. [CopyFiles][download_progress] use "bytesToHumanReadable" for display output [JobView][state_changed] print exceptions to debug [Translations] Updated Finnish (fi.po) translation chmod files [enigma2] new TemplatedMultiContentEx converter [Translations] Updated Finnish (fi.po) translation openvix: developer 6.9.000.014 [Translations] Updated Finnish (fi.po) translation [SoftCSA] tweaks to 7246d05e39535cfae657f3cc8251ed71c93640c7 [Translations] Updated Finnish (fi.po) translation [SoftCSA] add Enable/Disable fix dm9xx device driver problem with workaround that sends fullscreen + pig + fullscreen instead of just fullscreen [About] - Hardware Version gbquad4KPro only PEP8 double aggressive W291 ~ W293 and W391 [ImageManager] - Gigablue Image backup add Hardware revision changes - thanks ATVCaptain [ABout] add Hardware Revision for Gigablue 4K - Thanks ATVCaptain Revert "[evideo] attempt to force resizing when switching between full screen and PIG and vice versa" openvix: developer 6.9.000.013 [evideo] attempt to force resizing when switching between full screen and PIG and vice versa [SoftCSA] fix no audio on encrypted QuadPiP tile when brought to focus [Translation de.po] update [README] - note changes are for OE-A 5.6/Ubuntu 26.04 [README] - update for Ubuntu 26.04 users [display800] updated openvix: developer 6.9.000.012 [Renderer.LcdPicon] minor cleanup openvix: release 6.8.009 Merge remote-tracking branch 'origin/Developer' into Release openvix: developer 6.8.009.001 [Renderer.Picon] minor tweak due to the way LcdPicon uses this externally. openvix: release 6.8.008 Merge remote-tracking branch 'origin/Developer' into Release openvix: developer 6.9.000.011 openvix: developer 6.8.008.007 PEP8 double aggressive W291 ~ W293 and W391 [Renderer.Picon] minor rewrite [SoftCSA] Remove redundant setSourcePVR call [SoftCSA] Skip CSA session setup when libdvbcsa is missing [Translations] Updated Finnish (fi.po) translation [CAHandler] Reset m_protocol3_established when last client disconnects [SoftCSA] Fix shutdown deadlock on mipsel [SoftCSA] Restore original recording buffer size to reduce LowMem pressure [CAHandler] Restrict forced CW resend to PiP/swap only [SoftCSA] Add HW-descrambler slot reset workaround [SoftCSA] Connect SoftDecoder signals before start() to fix lost events [eDVBCAHandler] Fall back to /proc/PID/comm when readlink on /proc/PID/exe fails [httpstream] Bypass ring buffer for HTTP/HTTPS streams when Stream Relay is used. [Scan] Fix N/A entries and use-after-free in SDT/VCT processing [sanitizeFilename] cosmetic [README] add Ubuntu 26.04 restriction [sanitizeFilename] use set, not list for blacklists openvix: developer 6.8.008.006 openvix: developer 6.8.008.005 Update fi.po [Translations] Updated Finnish (fi.po) translation [CryptoInfo] attempt to improve readability openvix: developer 6.9.000.010 [menu] "av", update weights openvix: developer 6.8.008.004 [VideoTune] fix typo openvix: developer 6.9.000.009 openvix: developer 6.8.008.003 [SourceCurrentService] add sanity Merge pull request #1258 from xcentaurix/de.po [RemainingToText] arg "Default" > "InMinutes" [EventTime] progress: add poll_interval Update VAudioInfo.py openvix: developer 6.9.000.008 [httpstream] Add ring buffer for HTTP/HTTPS streams openvix: developer 6.8.008.002 PEP8 double aggressive W291 ~ W293 and W391 [MessageBoxModal] this class is just provided for cross distro compatibility [workflow] Remove ubuntu-toolchain-r/test PPA as GCC 13 is included in Ubuntu 22.04 and later [dvbci_ccmgr] fix build with OpenSSL 4.0 [Translations] Updated Finnish (fi.po) translation [de.po] fix * openvix: developer 6.9.000.007 [po] remove fuzzy and stale [po] updates [RemainingToText] remove unneeded arg [Translation] update de.po [RemainingToText] cosmetic openvix: developer 6.8.008.001 [po] update pot [po] update es [Converter] EventTime/RemainingToText: Attempt to remove spaghetti,v2.0 Revert "[Converter] EventTime/RemainingToText: Attempt to remove spaghetti" [Converter] EventTime/RemainingToText: Attempt to remove spaghetti [MessageBox] tweak openvix: release 6.8.007 Merge remote-tracking branch 'origin/Developer' into Release [Readme] update [display480/800] add MessageBoxWizardSummary openvix: developer 6.9.000.006 Update fi.po [Translations] Updated Finnish (fi.po) translation openvix: developer 6.9.000.005 [VuWizard] use the "MessageBoxWizard" skin, not the standard (pig) "MessageBox" openvix: developer 6.8.007.016 [MessageBox] remove non-vix args [MessageBox] fix localisation bug introduced by e1a42be5d79ded477ff9f786f285615a58c1b1a2 [MessageBox] skin tweak [ModalMessageBox] add "title" as an argument [Translations] Updated FInnish (fi.po) translation [Translations] Updated Finnish (fi.po) translation [UsageConfig] update hdmi-CEC debug options [hdmi-CEC] improve TV remote power on/off [setup] - clarify some hdmiCEC messages [hdmi_cec.cpp] - set default values, some cleanup [action] bounce hdmi-CEC key 139 (display Menu) openvix: developer 6.8.007.015 openvix: developer 6.8.007.014 [ModalMessgaeBox] avoid button press fallthrough [Translations] Updated Finnish (fi.po) translation openvix: developer 6.8.007.013 PEP8 double aggressive E225 ~ E228 and E231 [ModalMessageBox] Simplify openvix: developer 6.8.007.012 [ModalMessageBox] tweak close function openvix: developer 6.8.007.011 PEP8 double aggressive W291 ~ W293 and W391 PEP8 double aggressive E20 and E211 [Hotplug] use ModalMessageBox [ModalMessageBox] add class [MessageBox] tweak [Processing] tweak last commit [MessageBox] cleanup [Processing] avoid permanent running instance Revert "[StartEnigma] instantiate Screens.Processing" [Tools] add decorator "classproperty" [MessageBox] don't translate. The text should be translated by the calling code [pvrparse] author @the bandit @Ev0 sets wrong return code [filepush] reinstate missing initialisation statement [Translations] Updated Finnish (fi.po) translation openvix: developer 6.8.007.010 Revert [Gstreamer] add new setting "config.misc.usegstplaybin3" to use "playbin3", a7c07fd5cf06a036d8ccd2864f9a0f76149ca278 [po] update pot [es.po] update [SoftwareUpdate] typo [translation de.po] translate new strings [UserInstalledPackages] filter out embedded packages at the end, so the probability of identifying dependencies is increased [About/UserInstalledPlugins] Move data display to a thread to speed up screen loading