2.71.44 (22/04/2024) - Same as .43 but with screen on/off/luminosity enabled. 2.71.43 (22/04/2024) - Changed sound volume functions for LibVLC. - Changed background color code again because of the undocumented changes in the WebAccess. - Restored Async mode for background/synchronized playlists. - Fixed a rare case where the vertical scrollbar wouldn't appear on interactive scrollable vertical containers. - Emergency playlists will now be centered according to the virtual screen resolution. - Invalid bitmaps (bad format/impossible to load) will be displayed as red rectangles now. - New script functions: - "TVTools.roomBookingSetPlayNext(boolean playNext)" to be able to disable the "mustReloadBooking" Web Service command if needed. - "public String roomBookingEndEventByID(String id)" to end an event at the present time based on it's ID only. - Made the keepAlive http transport permanent for the WebService. - Completely ignoring any screen on/off/luminosity commands in this version. 2.71.42 (26/03/2024) - Some fixes for IPTV: GalleryView and EPG get key strokes again, and IPTV doesn't wait for buffering. 2.71.41 (20/03/2024) - Hotfix for crash on user interaction due to the modifications of the motion detection code. 2.71.40 (20/03/2024) - Designs with no containers and with a first page duration of 0 will now ignore different page durations from the WebAccess. - Improved download of additional files. - Reverted to old method for background color of text boxes. - New script commands, reserved for developers (no description available). - Greatly improved motion detection start reaction speed when you have a long idle delay time. 2.71.39 (08/03/2024) - Roulettes now get their colors from each entry of the database. - Designs: Even invisible views now have their dynamic content updated to avoid old data blinking shortly when the view becomes visible again. - Now always downloading additional files attached to playlist elements even if they don't have a main file. 2.71.38 (21/02/2024) - Fixed once again the management of transparency/opacity in designs because of the indians changing their rules as they see fit without warning. - Updated the HMDI CEC code so it also works on OHM devices. - Image elements can now also contain several images that have to be assembled side by side before being displayed. - MasterDB Implemented screenType=9 for devices with render several images side by side. - Debug developer View is now displaying the script variables sorted. I was tired of ruining my eyes finding a variable. - Scripts: new function "setObjectTextColor" to change a text object's text color on the fly in a script. "updateBDD" now returns the boolean "true" if the database has changed. - Support for VLC video volume control in MasterDBs. - Now closing the philips network socket each time its used. - Small fix to database color decoding for the "vosgian" format. 2.71.37 (30/01/2024) - Increased prefs version from 2.17 to 2.18. - Scripts: shouldPlayNow is now called without arguments. shouldPlay is now shouldPlayPage because of a conflict with shouldPlayNow which was generating unneeded errors in the log. new callback "onObjectsCreated(numPage)" which is called after all object views of a page are created, but before they are displayed. new function "getRawBDDField", which gets the raw value of a BDD field, before it is formatted. - Screenshots are now captured with the full virtual resolution. - Support for Philips EInk displays, for fixed images and designs. - Dynamic playlists are now always downloading Sync. - Support for more models of Techfive tablets. - MasterDB: Support for media volume control: For videos, only with ExoPlayer. For audio and videos in designs. - Databases/Formats: Support for decimal modes 3, 4 and 5, which will display numbers with smaller text for the decimal separator and fractional part, with 1, 2 or 3 digits precision. - Roulette containers: new "PARAMS" parameter which permits to get parameters like colors and background image from a recordset. - New .INI parameters "WebEngine/EnableWatchdog" and "WebEngine/WatchdogHosts", to define hosts to check for network sanity in GeckoView. When "EnableWatchdog=1", if "WatchdogHosts" is empty, the URL's hosts will be checked on port 80. Otherwise, you can add a list of hosts to check in "WatchdogHosts", like "host:port" (default port 80), separated by a ",". Only one pf the hosts needs to be reachable to validate the connection to the URL. - Updated GeckoView to 122.0.20240118164516. 2.71.36 (19/12/2023) - EMPTY recordsets now still create a file cache. - Designs: Enhanced non interactive PDF page display so that it doesn't flicker. PDF pages will now correctly be updated from the cache when in a container. - Support for GFA token recordsets : Name the recordset "#GFA_TOKEN". Mode "xml/json". The url should be the url of the token file, then ";", then the url of the data source. 2.71.35 (12/12/2023) - Added an "animated" parameter to pie charts so they can be used for real charts and for roulettes. - Recordsets named "EMPTY" or "#EMPTY" are now totally ignored by updates. - Now using EXIF to rotate photos from stupid mobile phones. - Optimized LoadText which is now much faster. - Now dispatching key events to "Roulette" style containers. 2.71.34 (05/12/2023) - Implemented circular containers displaying their elements in a pie chart style graphic. - New container type "CONT_MODE = 667", for "roulette" style animated circular containers. Additional parameters are "COLOR0=aarrggbb", "COLOR1=aarrggbb", etc... to define the colors of the sections of the roulette. The result of the spinning will be in variable "PIE_RESULT", which will be the index of the database entry. The main page script function "onSpin()" will be called when spinning starts, and "onPieResult(int num)" at the end of the spinning. - Rewrote formats properly so that they also work on text strings. The function now also properly loads the files in "Windows-1252" encoding, so that accents work, and gets the file directly from medias an no longer from tvtslide/.publish. Now just replaces the #BDD tag and not the whole string and its formatting. - The default YouTube browser in new installations is not GeckoView. - New .INI parameter "MuteVideos" in the "Video" section. If at 1, all videos (files, streams and youtube) will play without the sound. 2.71.33 (21/11/2023) - Implemented NPI-3411D printer natively. - New script function "printObjectToUSB(int objectID)" to print a graphical design object on a NPI-3411D USB printer. - Upgraded to GeckoView 120.0.20231113165053. - New script function "transferImage(int sourceID, int destinationID)" which renders an object into a destination image object. - Checklists are now updating properly. - getAlternateText now also contains the name of the calling database : function getAlternateText(index, bddName) 2.71.32 (14/11/2023) - Android 4.4 is no longer supported, MinSDK is now 21 (Android 5.0). - Upgraded GeckoView to 119.0.20231106151204 which requires Android 21. - Implemented the "use next records" option in recordsets. - The playlist randomization parameter is now ignored when synchro is active. - The "HiSenseShutdown" command no longer requires à wake up time. - New script commands: "printTextToUSB(String text)" prints a text ont a compatible USB printer. "printBigNumberToUSB(int number)" prints a big number on a compatible USB printer. - Changed alpha channel recovery function after a modification in the compiler behavior. 2.71.31 (24/10/2023) - Upgraded to ExoPlayer v2.19.1. - Upgraded to LibVLC 4.00-dev Otto Chriek - LibVLC can now also play in designs. - The developer debug view will now have the right font size on true 4K displays. - WebSocket client: Disabled the automatic connection lost detection if the server is not another Android device with the right server code. - The default user agent for GeckoView is now "mobile". - New Android command "changewallschedulelevel", for internal use only. - Fixed a crash in the audio visualizer. - MasterDB: Now also displaying non youtube .xml stream files. 2.71.30 (28/09/2023) - Render4K: Full screen Videos will automatically play in a surface, and design videos in a texture. - Removed the unreliable "SERVER UNREACHABLE" info that was in the "get information" result. - GeckoView: Added "onWebPageStopped" callback, called when a web page has finished loading. Added "onWebSession" callback, called when a new session is required, permitting to open it in a different window for instance. - Connecting to LV5 in https now at installation. - New script function "hasWebPage" which returns true if the actual display includes a GeckoView. - Android command "screenorientation" now rotates the screen immediately. - New way to get the MAC address on devices which block the "getHardwareAddress" function. - Updated GeckoView to 118.0.20230927232528 2.71.29 (07/09/2023) - Dev info window now wraps content and displays native stack size. - Rewritten hasNetworkConnection to use new method after API 23 and to optionally also check if the server is reachable. - Fixed a random crash in image slideshows when the design containing them ended or looped. - New .INI parameter "System/Render4K". If at 1, all views will be rendered in a 4K hardware surface. Side effect is that videos in designs will automatically be rendered in a Texture for now. - Fixed an issue were the software would search for a file that is on the old server after a server change with the developper list on the device. - The Android command "screenorientation" now attempts to apply the new orientation immediately in order to make multiple wall configuration commands working properly. 2.71.28 (10/08/2023) - GeckoView will now automatically accept all security certificates. - Now taking 10 variables from the schedule level parameters sent by the WebService instead of only 3. 2.71.27 (07/08/2023) - Fixed a resource leak on image/bitmap download that was added when SVG files were implemented. - Dev debug: Displaying widget variables also in modal playlists. - Downgraded some error messages when the web services returns empty values to info instead of warning. - Fixed some potential crashes in LED control functions for devices without LEDs. 2.71.26 (01/08/2023) - Fixed duration for clock widgets. - RootSetDate modified to work on the newer devices with root. 2.71.25 (25/07/2023) - Fixed a crash when an element's condition string ended being null. 2.71.24 (25/07/2023) - New container box parameter "ALWAYS_REBUILD", which will force a container to be rebuilt even if it's assigned recordset has not changed. - Broadcasting conditions for a playlist within a playlist will now always be overwritten by the parent playlist parameters. - Added a security for when the MasterDB update counter in the message sent by the WebService is different from the one in the MDB file (WebAccess bug). - Added a specific message in the WebService answer for when a playlist is stopped because it's waiting for the next synchronisation signal. - Increased maximum number of records in databases to 5000 instead of 2500. 2.71.23 (13/07/2023) - New script function TVTools.roomBookingCheckConfirmation(). 2.71.22 (11/07/2023) - Full support of container build page filters. 2.71.21 (10/07/2023) - New syntax for websocketconfig [port=] [master]: enables the websocket on a specific server or url. The port is optional. The optional master parameter forces the server player to also always be the master of a sync group 2.71.20 (03/07/2023) - Fixed a rare crash with the blink timer for LEDs. - GeckoView now accepts sound playback even without having the focus. - Restored ability to change to the intern's version. No support at all will be done on that version. 2.71.19 (26/06/2023) - Fixed a crash cause by the context being null for the scrollbars in some cases in TVDesignView. 2.71.18 (13/06/2023) - Implemented "TVTWidgetDivers :" widgets for sports. 2.71.17 (13/06/2023) - If a media in a design is changed server side with the same name, it will now be refreshed after the next publication of the levels containing it. - New class "AppRequestReceiver", to receive TVLauncher Intent requests and answer to them. - PrefsFilePath is now initialized in the application constructor instead of the activity constructor. - Fixed the loading of zipped web pages. - Fixed VLC player not sending MediaReady to the playlist. - No longer transmitting key pressed to input commands when the played element is a multi stream (IPTV). - IPTV and IPRADIO commands are now controller elements. - Reduced VLC network cache to 256 when playing IPTV to reduce buffering time after a channel change with the new LibVLC. - Small modifications to VLC surface size changes to avoid some log spam. - GeckoView now asks for focus after being attached to the parent layout and after finishing loading a webpage. 2.71.16 (30/05/2023) - When a background color or image is selected in the WebAccess, and the design is broken because the construction page has an opaque color as background, automatically make that background transparent. 2.71.15 (30/05/2023) - No longer returning gibberish if SU is not supported when requesting CPU frequencies. - TVTools.updateObject now forces a container reconstruction. - DesignRecyclerAdapter now also supports horizontally and vertically centered text. - Sending media duration to the web service even if the media is in a playlist within another playlist. - Simplified the string returned to the WebService about the actual media when monitoring is disabled. - Added a vertical scrollbar to scrolling containers. 2.71.14 (22/05/2023) - Command "storageinfo" returns more detailed information. - Command "screenorientation" now displays the actual screen configuration in the "server" column of the monitoring if called without arguments. - Command "videoinfo" returns more detailed information. - Fixed a capacity calculation problem in vertically centered grid containers. 2.71.13 (15/05/2023) - If a licence file is present on a device, it will be automatically configured with a name like "AUTOyymmddhhmmss". - Stabilized the recycler adapter so that it doesn't crash when you remove an item from the list. - Increased WebService timeout to 20s instead of 10. 2.71.12 (09/05/2023) - HiSense: implemented UPDATE APK and POWER OFF TIME. poweroff