=== CHANGELOG FOR VERSION 7.1 === Version 7.1.10 Build 5256 (2023-08-02) [-] D&R Airlab: Error in configuration dialog [*] System Log: Double-click entry to display message in popup dialog [*] Minimized System Log window properly restored when reopened from menu [*] DB: Library view automatically reloads and focuses new files after import [-] DB: Fixed "Replace audio file" function [+] Logging: %e, %l and %p parameters accept an optional number as argument (e.g. %l{0}) to limit the number of decimals in the output [+] DB: Reports: Added UPFR (Romania) output for On Air Log [+] DB: Reports: Added CREDIDAM/UCMR-ADA (Romania) output for Item Statistics [-] Logging: Text may be trunctated in multiline output (e.g. UDP) [+] DB: Added support for pooled SQL connections (Pooled=True in connection string) [*] Improved loading time of item properties dialog [+] File Import and Automatic News Container: Avoid repeated loudness analysis if loudness values already known from MMD or database [-] Automatic File Container: Fixed memory leak Version 7.1.9 Build 5255 (2023-06-21) [-] DB: After cloning a database into a PostgreSQL backend, "unique constraint" errors may appear when adding users or groups. Please contact support if your database is affected. [*] DB: Background playlist caching uses a separate SQL connection, working around possible performance/freeze issues [-] Range check error on startup when using tabbed playlists in Dark Mode [*] Setup: Install latest version of Visual C++ Redistributable (2022) [-] DB: When there are two items with the same filename, but on different storages, DB may mix up metadata when looking up item by filename [+] File Import: Added support for Zenon-Style TXT metadata [+] System Log: Ability to send log events via e-mail [-] Scripting: Fixed possible Access Violation Version 7.1.8 Build 5251 (2023-05-23) [*] DB: Improved loading/sorting speed [-] FLAC/Ogg album art tag (METADATA_BLOCK_PICTURE and COVERART) incorrectly imported as text field [-] Application may lock up when Cancel button is pressed in progress dialog [-] Automatic hour/block splitting not working for "Simple CSV" import filters [+] Scripting: Added IPlayerControl.OpenSync [-] Playlist: Underrun nodes not picking up layout changes from Skin Editor [*] DB: Hour templates: "From subplaylist" will automatically adjust fixed times and ad block slots when using hour offset [-] DB: Region Container content not logged, not included in reports/history [-] DB: MSSQL backend: Port number not used correctly in connection string Version 7.1.7 Build 5244 (2023-03-30) [+] REST Remote: /execute endpoint now also works with GET requests [+] Added AAS (NL) playlist import [+] Added E-power Universeel (NL) playlist import [+] Scripting: Added UpdateAdvertisingEx [-] Update Advertising may report block as changed even if it has not [-] VT: Possible "progress already started" (or other) error when using more than one effect in the VT DSP chain [*] DB Auto Importer deletes all kind of metadata files (DBE, XML, etc.) after successfull import. This has already been the case for MMD, but is now also done for all supported 3rd party metadata files. [+] DB Auto Importer: Ability to disable import of playlist files [-] Config: ASIO sample rate not saved correctly [+] Added Talpa OMS playlist import [*] DB: Improved performance when reloading library view e.g. after Mass Edit [-] GUI texts and error messages may have appeared in German for some builds Version 7.1.6 Build 5235 (2023-02-21) [*] When using "inverse" (negative) cue markers that exceed the actual duration of the item, the system will cap them automatically [*] Audio Settings: GetTickCount64 is now the default "no audio" clock source [*] Remote control: Cleaned up duplicate commands [+] New commands: CARTWALL MODE TOGGLE ON AIR/OFF AIR, CARTWALL MODE TOGGLE ON AIR/PFL, CARTWALL MODE TOGGLE OFF AIR/PFL [-] Open Playlist: File format not detected correctly from file extension Version 7.1.5 Build 5233 (2023-02-10) [-] Scripting: Fixed Access Violation error in methods using TBytes parameters [+] Scripting: Added IRestRemote.WSCloseConnection [+] Audio Settings: Clock source for "no audio output" is now configurable between "BASS" (default) and "GetTickCount64" (old default for v7.0 and earlier), to work around timing issues on virtual machines with faulty hypervisors [-] Control Panel: Encoder connection status/listener count not displayed [-] DHD: State indication logics not restored from config [*] Web Browser screen object: URL displayed in config overview list [+] Added "Simple CSV" playlist import filters [+] License Manager: Added workaround for FTDI dongles without user data area Version 7.1.4 Build 5228 (2023-01-27) [*] MMD files are silently ignored during drag&drop operations [*] DB: Import dialog will display a message when the destination storage is not set, giving instructions where to set up the default import settings [+] Scripting: Added support for encrypted script files (*.mlsx) [-] DB: Access violation when using "Edit audio file" [+] IO-Warrior remote: Added support for IO-Warrior100 [*] IO-Warrior: Pin names are displayed in P. notation in config [+] File import: Added support for Dalet-style XML metadata [-] DB: Playlist column widths not restored correctly after restart [*] DB: Using "natural" sort order for nodes in library tree [+] New Automatic Update mechanism, using the WinSparkle library [-] DB and Cartwall windows not restored correctly after being minimized Version 7.1.3 Build 5219 (2023-01-13) [+] DB: Reports: Added SUISA export [*] DB: "Unexpected filename" error when skipping file import after VT [+] Added Spanish translation, courtesy of Marcos Salas [+] DB: Ability to delete folders which still have sub-folders [-] DB: Incorrect hour selected after navigating through weeks in "Go to" dialog [*] A warning message will be displayed on startup if the software is running on a temporary license file. [+] Support for reading "RATE" (Rating) field from MP4 tags [-] MambaNet: Actuator commands empty, not read from configuration [-] Application may crash after displaying album art images, due to a bug in a 3rd party image library. Workaround added. [-] Command PLAYLIST x CLEAROVERLAY also executes PLAYLIST x CLEAR [-] Icons located in "Central folder for icon files" are not displayed Version 7.1.2 Build 5211 (2022-12-28) [*] Layout Designer: More detailed identification of screen objects [+] Installer: Will install Visual C++ Redistributable 2019 if not present to fulfill dependencies of libpq.dll and its supporting DLLs [+] Config: Added Import/Export buttons for encoder connection configuration [*] Redesigned the configuration import process; it will now prompt you to import the configuration from an older version regardless of whether the software is first started in configuration, playout etc. mode [*] Config: Removed unused file import options (normalize, R128, save MMD) [-] DB: Items not correctly marked as modified when edited in DB playlist, changes in items not saved correctly when saving playlist [+] Background scripts: Added OnWebSocketServerConnectionClosed [-] K8055 Remote: Possible freeze when turning off or on shutdown Version 7.1.1 Build 5206 (2022-12-06) [+] Airlite/Webstation: Ability to assign commands to channel VT on/off [+] Skin: Cartwall tab height can be adjusted with TabHeight=... [-] Scripting: IPlaybackControl.PlayerOfItem method does not work all the time [-] DB: "Go to" dialog: Data shifted in table when start of week is not Moday Version 7.1.0 Build 5204 (2022-11-21) [*] Internal refactoring of all remote control interfaces, please check settings after upgrade [*] RM2200D: Host and port must be configured again after upgrade [+] Axia: Ability to assign player to GPIO for easier configuration [+] Airlite: PFL is switched on console when player goes to/from PFL mode [+] Ability to replace selected built-in icons with custom SVG files; use the command DEBUG IMAGES to see a list of all available image identifiers in the System Log (debug category) [+] Playlist: New GUI option: Expand new items by default [*] WASAPI: Optimized handling of default playback device with lower latency [+] DB: Ability to adjust "First day of week" setting (defaults to Monday) [+] Added E-Mail logging method [+] New command: PLAYLIST x CURSOR CLEAR (clears selection and focus) [+] REST: Ability to implement background script handlers for requests that do not require authentication (OnRESTRequestUnauthenticated, OnRESTRequestRawUnauthenticated) [+] New PLAYLIST commands: EXPAND, COLLAPSE, EXPAND/COLLAPSE, EXPAND ALL, COLLAPSE ALL [+] Logging: "Delay" setting now available for any kind of logging interface [+] Airlite/Webstation: Initial fader state determined at startup [+] REST: Added unauthenticated access option for file server [*] REST: File server will automatically look for an index.html file === CHANGELOG FOR VERSION 7.0 === Snapshot [-] MySQL: Schema error when using MariaDB 5.x Version 7.0.9 Build 5078 (2022-12-06) [+] REST: Ability to filter fields in playlist content [-] Progress dialog may bring wrong window to front when task finished [*] Item Properties dialog: Attributes: Checkbox attributes ignore case Version 7.0.8 Build 5074 (2022-11-21) [*] SMTP: Added Message-Id header to fix incompatibility with GMail [*] DB Auto Importer: Writes bugreport.txt on errors if Debug Mode is enabled [*] GUI: Prevent double execution of actions while progress dialog is visible [-] Possible Access Violation on WASAPI device errors, hiding the original error message/code [*] Skin editor: Enabled live editing of global progress bar [-] Player Countdown screen object only displays last ramp, not all [*] DB: File import: Error message when destination storage is not set [-] DB: File import required exclusive lock on files [-] DB: Auto Importer: Possible Access Violation when External ID is set Version 7.0.7 Build 5067 (2022-10-31) [-] Radioplayer V2: Fixed HTTP POST request format [*] Playlist: Scrolls to new items inserted from browser via double-click [-] Integer Overflow error when dragging of files into playlist fails Version 7.0.6 Build 5065 (2022-10-21) [-] DB: Synchronize: Buttons not updated after successful auto-repair [+] New command: RUNACTIONLIST [-] "Cancel" button in some progress dialogs (e.g. DB Import Files) does not actually cancel the operation [-] DB: Old cached playlist files not pruned correctly [-] DB: Advertising settings: Block alias not reset when field cleared [*] Playlist: Improved handling of invalid album art and playlist icons, working around a possible Range Check Error [-] Playlist Browser: Properties dialog opens on double click [*] DB: Advertising: 23:59:59 preselected as possible end time for new campaigns Version 7.0.5 Build 5062 (2022-09-21) [-] Possible crashes in Properties dialog when using album art imported as playlist item icon [-] DB: No reverse lookup when dragging items into DB playlist and DB app is running as separate process [*] DB: Renamed option "Show templates in Generate menu" to "Show templates in popup/dropdown menus" - now also applies to Manage Templates dialog [-] K8055N remote control not working, configured commands are not executed [*] Mass Edit: Silently ignore non-file items during Normalization Version 7.0.4 Build 5056 (2022-09-02) [-] Ember+ Consumer remote: Possible Access Violation on startup [-] Config: Audio Routing: Live Feed nodes appear under Playback, not Recordingq [+] Scripting: Added IK8055Remote methods ReadDigitialChannel and ReadAllDigital [-] Auto Cue: Incorrect threshold values used when amplification is set on item [+] Added support for reading ID3 tags from AIFF files [-] Possible crash during PFL of container items [+] Added DHD REST API logging [-] Scripting: HTTP POST/PUT functions may use incorrect character encoding [*] DB: Increased performance for setups with a large number of folders - please execute "Check Indices" in the DB connection properties [+] File Recorder: Added "Delete original file after copying" option [+] DB: Config: Added button to retrieve/update Database ID in properties dialog [+] Skin: Playlist: Added "Player" selector, so that settings can be limited to items loaded into a particular player, e.g. Player0RowColor=... First player has index 0. Version 7.0.3 Build 5047 (2022-08-19) [+] MambaNet remote: Ability to adjust Unique ID in configuration [-] Cartwall: "Unknown device ID" error in editions which lack the VTCartwall module [*] *.dbx files (DigAs metadata) ignored during drag&drop [-] DB: Manage Templates dialog: Popup menu for template selection is now multi-column, fixing a bug where the wrong item is selected in Dark Mode [-] REST Remote: Error 404 returned even if endpoint handled by script [-] Event editor: Custom day/time selections not saved/restored correctly [+] Playlist import/exported: Added .m3u8 (UTF-8 encoded M3U) support [*] WASAPI: Correct handling of the situation where all input or output devices are disabled in Windows Control Panel [-] Config: Audio Routing: "Repair" button resets all devices [-] Peakmeter not showing levels for non-infinite Stream and Live Feed items [-] DB: "Prevent auto-float" flag not retained when set through hour template Version 7.0.2 Build 5036 (2022-07-08) [-] Mix Editor may be inaccessible after being minimized [*] DB: Made CharacterSet=UTF8 the default for MySQL/MariaDB connections [-] Screen Objects: Border not visible in Dark Mode [-] DB: Fixed permissions for VTDJ users that prevented voice track uploads [+] MambaNet remote: Ability to adjust MambaNet address through remote.ini [*] Audio Routing: The WASAPI Windows Default Device should be the default playback/recording device when unconfigured (rather than "no audio") [-] Browser: Toolbar not visible when using List=on in skin.ini [+] Scripting: Added URLEncodeUTF8() and URLEncodeAnsi() functions; existing URLEncode() is still available as an alias for URLEncodeAnsi(), but this might change to UTF8 in the future, so always use the explicit version in new scripts. [-] DBClient: HTTP Error 401 when accessing files with token authentication [-] DBClient: User permissions not retrieved correctly from server, menu items not disabled according to permissions Version 7.0.1 Build 5032 (2022-05-30) [*] DB: Advertising preview: Adjusted colors for Dark Mode [-] DB: "Not connected" error when using Export to Database from standalone app [*] DB: Tweaked SQL options to reduce occurances of "Database is locked" error [*] Auto Cue: Thresholds auto-adjusted to respect amplification value of item [-] Playlist: Peakmeter not updated continuously when progress bar is disabled [*] DB: Enable WAL journaling mode for local (SQLite) connections as default [+] License Manager: Added Remove License function on start page [-] DB: User Management: Station/Sub-Playlist permissions not retained [-] System Log: Formatting error in archived log files, times appear as 1899 [+] DB: Added "Compatibility mode" option, which allows you to connect to a version 6 (schema version 24) database for testing purposes; should not be used in production [-] Database Playlist browser: Database selection dropdown emptied when switching Dark/Light Mode [-] DB: Admin: Sub-Playlist configuration not saved correctly [-] DB: MySQL backend: Possible "key was too long" error on database creation [-] Playlist: Some icons not drawn correctly, giving Access Violation errors. The error message is being suppressed now. Please report any missing icons to forum/support to help us identyfing the root cause. [-] DB: Incorrect filename stored in playlist after remote voice-track [-] DB: All items in playlist displayed as "foreign" items [-] DB: Cue markers not saved after voice tracking [-] Progress dialog: Progressbar may flicker after task has been completed Version 7.0.0 Build 5022 (2022-04-22) [*] LED Clock: Ability to specify separate colors for light/dark mode [-] Playlist: Remaining duration of playing items not updated when progress bar is disabled [-] Mini Scheduler: Track separation not updated during scheduling session [-] SAS Remote: Not reacting to playout changes, VT status etc. [+] Ember+ Consumer: Added support for keepalive requests (set to 0 to disable) [-] Empty playlist cannnot be focused, items are inserted in the wrong playlist Version 7.0-RC Build 5020 (2022-04-08) Changes during beta test: [-] DB: Advertising configuration may fail to load [-] Possible crash with "invalid license" error [*] Layout Designer: Automatic migration of v6.x-style layout.ini file [-] DB: Initial Setup may fail with "invalid SQL syntax" error [-] DBClient: "404 not found" error when trying to connect [-] Item Properties dialog: Color not displayed in Dark Mode [-] Cartwall: Items misplaced when switching between tabs [-] Cartwall: Item colors ignored in Dark Mode [-] Possible Range Check Error when parsing durations manually entered by user [-] Fixed Dark Mode display errors in Cue Editor [-] Playout: Insert menu disabled when playlist loses focus [-] Access Violation in file encoding routines (e.g. after Voice Tracking) [-] Layout Designer: Resize/move nodes not visible in Dark Mode [-] Config app and Control Panel: Menu items not translated from English [+] Layout Designer window can be resized [-] Audio routing: Encoder must not use itself as target [+] New commands: DARKMODE ON, DARKMODE OFF, DARKMODE ON/OFF [*] Cartwall: Dropped support for "Dynamic Colors" mode [*] Cartwall: Removed "Colors" page in config app, colors can only be adjusted through the skin now [-] Mix Editor and Cue Editor: Scrollbars not working correctly in Dark Mode [+] Playlist: Added "TitleDisplayMode=Title" skin option (only title, no artist) [-] Some PLAYLIST and PLAYER commands not processed correctly [-] DBClient: Audio files may file to load [-] DBClient: Connections are always read-only regardless of permissions [-] DB: Standard Attributes not shown in Properties dialog [-] DB: Scheduler: File Access Denied error when debug log file is enabled [-] Playlist: Progress bar options from config not applied on startup [-] DB: Items not sorted alphabetically in browser [+] DB App: Added Dark Mode switch in Help menu [-] Some scrollbars not turning dark in Dark Mode [+] Skin Editor: Prompt to save changes when closing window [+] Skin Editor: Added search functionality (Ctrl+F) [-] Ctrl+F shortcut will show error message when System Log viewer is not open [-] DB: Storages appear in random order in Synchronize dropdown menu [-] DB: User/Group management: Library permissions not saved/loaded correctly [-] Remote control: AUTOMATION commands not processed [+] Playlist skin: Added support for custom columns (Custom1..Custom8) [-] Scripting: Some function calls lead to a "Could not call proc" error [-] Mass Edit: "Progress already started" error message [-] Skin: Some labels in player GUI ignore skin colors [-] Range Check Error on startup in Dark Mode if multiple playlists configured [+] Skin Editor: For the style-dependent colors, a preview for both light and dark mode is displayed in the color selection dialog [+] Skin Editor: Ability to specify pairs of HTML codes for light/dark mode [+] Skin Editor: Ability do define custom colors [-] Fixed Dark Mode display issues in some screen objects [-] DB: Error messages when importing files [*] Skin: Adjusted Playlist font identifiers so that they match the column IDs [-] Skin: Some Playlist settings not processed with correct priority [+] Skin Editor: Added right-click menu with Cut/Copy/Paste etc. [-] Logging: Stop events logged as Start events, leading to double entries [-] Playlist: Comment may be cut off due to incorrect node height calculation [-] Skin: Database NodeHeight setting not working correctly [-] DB: "Scheduling" and "History" tabs in item Properties dialog always show data for default station, not the one currently selected [*] DB: Column selection is now done in a popup dialog rather than expanding main menu [-] Playlist: Item row color ignored unless "override skin" option enabled [*] DB: Adjusted colors for Hour Template editor to match light/dark mode [-] DB: Fixed display errors in Select Playlist dialog [*] DB: "First colum" setting for item colors will always used leftmost column [-] DB Client: 404 not found error when uploading files [-] Config: Audio Routing: Wrong section name used for recording devices when saving assignment as *.ini, devices not restored correctly [-] Playlist: Display not updated when setting item type through script [-] File Encoding: When saving as WAV, a file named "-" may be created, or a possible BASS Error 33 may occur [-] DSP: "Progress already started" error when using Normalization plugin [-] Possible "Cannot translate component" error in non-English GUI [-] Dark Mode: Removed glitches in player XML layout [*] Execution of "After startup" actions deferred until the main window is fully show, to work around an error when DARKMODE ON is executed as part of these actions [-] Playlist: BackgroundColor skin setting not working [-] Screen object background color not applied in Dark Mode [-] Time/Timer screen object font color not applied in Dark Mode [-] Playlist: Multi-line Auto Comment not working [-] DB: CSV import: Folder setting ignored for new items [*] Playlist skin: "Custom" columns renamed to "Dynamic" columns (Dynamic1 etc.) to work around naming conflict with "Custom1" etc. playlist item types Known issues: [-] Cue Editor: Audio keeps fading after skip Version 7.0-beta Build 5000 (2022-02-04) Important changes: [*] Redesigned playlist GUI [*] WASAPI is now the default audio output method [*] DirectSound is still supported but only in "application level mixing" mode with higher latency [*] Layout Designer: Screen Objects are now using IDs that indicate their type [*] DB: Scheduler: Attribute filters starting with ~ will now be regarded as regular expressions New features: [+] Built-in Dark Mode [+] Live skin editing [+] Redesigned Audio Routing configuration with improved identification/testing and built-in repair function when device IDs change after Windows update [+] Built-in sine wave and pink noise generator; use Stream playlist items, enter URL as "sine:[,level[,samplerate]]" or "pink:[level]" [+] Redesigned System Log with automatic archiving function and built-in viewer [+] DB: Unified configuration interface for all network/SQL databases [+] DB: Built-in user and group management for local and SQL databases; no longer uses SQL roles for user management. Default login is the "admin" user with password "admin" which can be changed in the database connection properties. Additional users/groups are managed from the DB app -> Administration menu. DBServer application does not have a user database of its own anymore but uses the one from the database. [+] DB: New "Inbox" button in DB app, will check a configurable folder for new audio files, then import and delete them. [+] DB: Advertising: Ability to specify manual blocks (by date/hour/block) for campaigns, in addition to the weekly schedule [+] WASAPI: New "Windows Default Device" setting; will automatically follow when you switch to a different device in Windows sound settings [+] WASAPI: Automatic recovery when devices are disconnected and reconnected [+] WASAPI: Newly connected devices can be used without restarting the software [+] DB: New "Auto-Repair" function in storage sync dialog [+] DB: Transitions: "Artist must match" option (used to schedule Station IDs) [+] New item type: Automatic File Container [+] New screen object: Web Browser (requires Edge and WebView2 runtimes) [+] Sound processing can now be used on soundcard output/input level [+] REST Logging injection [+] REST Remote can use mAirListDB user database for authentication [+] File encoding: Added "Custom (32-bit)" option, $SAMPLERATE and $CHANNELS parameters for custom encoders Discontinued features: [*] DHD Series52 Remote: Removed XP5 support, DHD console is now channel-based [*] Removed On-The-Fly database [*] Removed Window Message Client remote control Other changes: [*] Redesigned progress dialogs [*] Various GUI fixups and improvements [*] ASIO: Simplified input/output channel configuration [*] Updated BASSmix to 2.4.11.1 [*] Updated Virtual Treeview to 7.6.1 [*] Re-implemented IOWarrior remote control based on hidapi.dll [*] Re-implemented Ember+ Consumer remote control [*] DB: Optimized SQL queries [*] DB: Database schema updated to 25