=== CHANGELOG FOR VERSION 7.3 === Snapshot - Build 5655 [-] DB: Music templates: Newly created template items not defaulting to "Unsorted" as indicated, leading to errors during scheduling [-] DB: Reports: Assertion Failed error when exporting in ZAiKS format [-] DB: "Insert Advertising" crashes when regionalized ad blocks are present [*] DB: The DB app, when opened from the playout window, will never use persistent SQL connections, restoring the pre-7.3.7 default Version 7.3.7 Build 5653 (2024-09-02) [-] DB: Sync: Cancel button in Compare Filenames dialog does not actually cancel [+] Logging: Added new "text encoding" option with RDS/EBU Latin encoding; currently only used by network-based logging (UDP and TCP) [-] Container playback: Failsafe option not respected during opening [-] DHD: Fixed minor glitches in remote control config dialog [+] DB: Ability to specify ODBC driver for MSSQL connections in mAirList.ini [*] Updated Spanish translation files [+] DB: New option: "Keep SQL connection open" (default: on) - can be disabled to mitigate problems with stale SQL connections after long idle time Version 7.3.6 Build 5650 (2024-07-09) [-] Some cue markers not imported correctly from 3rd party XML metadata [+] DB: New import policy "Overwrite file and replace metadata" [-] DB: Filename for Filler item in Region Containers not resolved [-] Region filler may be used/placed incorrectly [-] DB: "Not a valid integer value" error when moving items to a different Item Type node in the library tree [-] Region containers not updating content duration correctly, leading to incorrect container duration and misplaced fillers Version 7.3.5 Build 5644 (2024-05-29) [+] DB: Music template: New option "Prevent overrun" (in conjunction with "Fill with music", it will skip this entry if no song is found that would fit in the remaining gap) [-] DB: "not a valid integer value" error when moving items in library [+] DB: "Expand variables in URL/filename" option for hour template items; will replace variables in playlist items (for which the same option is enabled) already during scheduling, using date/time of hour being scheduled [-] Nexus Importer: Access violation message on startup [+] Scripting: Added WrapText function Version 7.3.4 Build 5641 (2024-05-03) [-] Possible Range Check Error in HTTP-based functions (e.g. Radioplayer2 logging) [*] Logging: Processing moved into a separate background thread to minimize impact on other parts of the software if a logging operation is slow [+] Playlist skin: Added UseBlendedSelection setting [-] DHD: Issues VT VOLUME commands with wrong decimal separator [-] DB: Scheduler: New option: Use opener and closer from subfolder when selecting recursively [-] DB: Added additional SQL indicies for advertising tables [*] Playout: Increased maximum number of playlists to 32 Version 7.3.3 Build 5635 (2024-03-20) [-] Logging and action lists processed for (finite) stream and Live Feed items [*] Applications will terminate gracefully when Windows shuts down [-] Player does not display error message when in ERROR state [-] PLAYLIST x SAVE always opens Save As dialog, even if filename is set [+] New command: PLAYLIST x SAVEAS [*] File Tagger: Added splitter to resize space between browser and editor [-] When the first item in a container has a Preroll marker set, the second item is started too early [*] DB: When you add a storage that is a subdirectory of another storage, a warning dialog will appear. Version 7.3.2 Build 5632 (2024-03-04) [-] DB Library: "Available spots" not displaying any items [-] DB: Ad Scheduler: Added optimized SQL code for PostgreSQL [-] Gramex report: Fixed empty lines in output [-] News Container: Possibly ncorrect placement of items on timeline [*] Shoutcast/Icecast logging: "http" is assumed if missing in URL [*] Open Radio import: Adjusted semantics of some cue markers Version 7.3.1 Build 5628 (2024-02-27) [+] Added support for importing DynaMix LST playlists [-] Metadata forwarding of relayed streams may not work correctly [-] Fixed typo in French translation file which lead to local database files being created with the wrong file extension (.db instead of .mldb) [-] Encoder: Forwarding of stream metadata not working for non-infinite streams [-] Gramex report: Fixed wrong formatting in CSV output [-] Possible deadlock when opening/prebuffering container items [+] File import: Added support for I Like Music XML metadata [-] When changing player volume through remote control commands or scripts, the level was rounded to the nearest value that can be represented by the volume slider in the player GUI Version 7.3.0 Build 5621 (2024-02-13) Changes during public beta test: [-] DB: Scheduler settings: Wrong dialog displayed when editing Artist Groups [+] DB: Hour templates: Ability to set/replace filler items of Region Containers with a fixed item, or random item from a specific folder [+] Stream and Live Feed playlist items: Built-in silence detection function. Threshold can be configured on the Audio Settings -> General config page. [-] Logging and start/stop action lists executed twice for Stream and Live Feed playlist items [-] Config: "Component already exists" error when editing logging configuration [*] DB: Library export: Output written directly do disk, avoid high RAM usage [-] Config: Ancestor not found" error when editing logging configuration [+] Encoder: Variables can be used in "not playing" text [-] Background scripts not loaded [*] DB: Config: Removed unused "Database Server requires login" option [+] DB: Config: Added "Allow login with default credentials" option; if checked, the login dialog will be populated with the standard login from the config. [+] DB: Added --db, -U/--dbuser and -P/--dbpassword command line options that allow you to select a database and/or pass credentials via the command line for the DB and Auto Importer apps [+] DB: Hour template items: New "ignore errors" option [-] Config: Silence Detection threshold not restored from config [*] Stream/Live Feed: Silence detection will only become active when the player is started [+] File import: Added support for Open Radio *.xml metadata [+] If a *.png or *.jpg file exists alongside an audio file, it will be displayed as album art image in the playlist. The image file must have the same name as the audio file (with or without the audio file extension) plus ".png" or ".jpg". [+] Logging: Added PANEDA API [-] Only items played on air should be reported to System Log and background scripts (OnItemStart etc.) [-] DB: When multiple connections are set up, and DB app is started as a separate application, login credentials are not pre-populated [+] Logging: File: Destination directory will be created if it doesn't exist Version 7.3-beta Build 5600 (2023-10-24) [+] Encoder: Ability to specify a "not playing" text that is used as stream metadata when no item is playing (according to the filters set in the connection's metadata settings) [+] Logging: Added "Execute when no item is playing anymore" and "Execute when stream title changes" options; introduced %B variable for current stream title [+] Logging: Added Media Broadcast PAD protocol (DAB+ DLS) [+] DB: Items can be moved around folders via cliboard and Ctrl-X/C/V shortcuts. You can also mass-adjust artist, attribute values or item type by copying items and pasting them into the respective view. [+] DB: Ability to specify additional separators for automatic splitting of artist names (besides the built-in "feat." etc.) [+] File import: Added support for DABiS-style XML metadata [*] Improved stability of audio engine during long-term operations in other parts of the software [*] DB: Removed ancient "Convert to Unicode" function for local databases === CHANGELOG FOR VERSION 7.2 === Snapshot - Build 5441 [-] REST: UploadDocument may be unassigned in script handler Version 7.2.8 Build 5440 [*] Added cryptographic signing to executable in setup package Version 7.2.7 Build 5439 [-] Added another bugfix to the the 3rd party library that could lead to wrong time calculations and database playlists not being loaded properly Version 7.2.6 Build 5438 (2024-01-22) [+] Scripting: Added function PlayoutEngine: IPlayoutEngine [*] Update Spanish translation [*] Stereo Tool: Made compatible with 10.x versions of libStereoTool_32.dll [-] Stereo Tool: Crash when clicking Apply and then Save buttons in config [*] Stereo Tool and VST plugin config windows remember size and position Version 7.2.5 Build 5436 (2023-12-20) [*] Internal changes for more robust handling of floating point operations [+] Added "SR Text Playlist" file format (Sverige Radio) Version 7.2.4 Build 5434 (2023-12-14) [-] Logging: "Common" option missing in region lists, all region labels shifted [*] Region Containers: Waveform in players/Cue Editor etc. shows a "mix" of all regions instead of just blank space [-] Files/streams may sometimes be kept open after playback, before another item is prebuffered [-] Config: GUI: Extended button: "Script-controlled" checkbox disabled [+] Logging: Ability to disable UTF-8 encoding for UDP and TCP logging [-] Fixed a bug in a 3rd party library that could lead to subsequent rounding errors in floating-point operations; in particular, database playlists may not have been loaded correctly due to incorrect time calculations Version 7.2.3 - Build 5430 (2023-10-31) [-] Waveform rendered incorrectly when for containers with Silence items [-] DB: "Cannot access ... from here" when trying to delete audio files over DBServer/DBClient connection [+] Waveform: The default level (for items which cannot be analyzed) and the displayed level for Silence items can be set in config -> GUI -> General [+] DB: Ability to configure MusicMaster Nexus API settings directly in Music Template, without using local client configuration Version 7.2.2 Build 5427 (2023-09-29) [-] Possible freeze when switching to/from dark mode with DARKMODE ON/OFF [+] Remote control: Added support for Axel Tech Oxygen 1000/2000/3000 [-] Screen objects appear in wrong order above/below browser [-] Mass Edit: Long operations can possibly interrupt playout [-] Config app does not check password on startup [*] DB: Improved performance of SQL connection [-] DB: When deleting an audio file fails, the actual error message is hidden [-] VT Recorder: Fixed memory leak Version 7.2.1 Build 5422 (2023-09-22) [-] Scripting: Fixed possible runtime errors [+] DHD REST Logging: Support for HTTP [*] WASAPI: Avoiding Access Violation error messages when initialization of a playback device fails; more useful error messages are given now [+] Auto File Container: Logging variables can be used in folder and pattern [+] DB Server, Auto Importer and DB app: Database can be specified with "-db " on the command line, skipping the login window Version 7.2.0 Build 5415 (2023-08-29) [-] Control Panel: Possible "Argument out of range" error [*] Screen objects in separate windows remember size and position [*] Progress dialogs: More accurate [+] DB: Ability to run "Synchronize storage" from scripts [+] Scripting: Added function DBAccess(iIndex: integer): IDBAccess [+] In addition to the screen object, the Encoder Status is now also available as a standalone window in the mAirList/About menu [*] Updated SVG library to work around incorrectly displayed icons/images [+] Ability to apply DSP effects only to selected channels of a stream. This can e.g. be used to to process only the main signal with an external plugin (e.g. Stereo Tool) in a regionalized encoder setup. [-] DB: Synchronize: New/missing file mixed up in status bar text [*] DB: Storage configuration dialogs are more user-friendly now [-] Progress bar not updated in progress dialogs [-] DB: Sync: "New files" list not sorted alphabetically [*] More verbose output of HTTP errors (DBClient etc.) [*] Skin Editor: Improved live editing of player fonts and buttons [-] DB: Fixed inconsistencies in Synchronize Storage process [*] Item Properties dialog: Improved dialog design/dimensions when resizing [-] DHD: External PFL logic state not propagated [-] Cue Editor and Mix Editor: Display not updating instantly during volume envelope editing [*] Containers now accept non-file items as content without raising an error, but silently ignore them during playback [+] Added support for d'accord playlist file import (*.nas) [*] DB: Improved performance, in particular for SQL over slow networks [+] Ember+: Added dedicated "Ember+ Consumer (Lawo)" remote control that offers simple configuration for player fader start and PFL Version 7.2-beta Build 5400 (2023-03-10) [+] Added Stream Deck remote control. For the required plugin, see here: https://github.com/mairlist/mairlist-streamdeck-plugin [+] Added Ember+ Provider [+] DB: Hour template: Added "Most recently added item" (will pick the item from the specified folder that was most recently added to the library) [+] DB: Hour templates: Ability to include other hour templates [+] DB: Ability to export library contents as playlist file [+] DB: Sync dialog: You can now adjust the import tasks to peform; the previous "Disable Auto Cue" button was removed in favor of the full list of options. [+] DB: Scheduler: There are now three different selection strategies available (which can also be adjusted on a per-folder level): "Smart" (the previous default, rotates items according to separation settings), "Rotation" (strict rotation, least recently played first) and "Random" (no rotation at all, just pick a random item). For the "smart" strategy, the "rotation variance" can be adjusted (0-99). The higher the variance, the most likely it is that the scheduler deviates from a strict rotation. [+] Database actions: New option "Skip hours that have already been loaded". Scheduler adds a $PLAYLISTSLOT attribute to the "start of hour" and "end of hour" markers, which are used to identify the hours that have already been loaded into the playout. [+] New login/logout feature in playout application. Ability to restrict certain tasks to admin or manager users. [+] VST: Ability to display the plugin GUI in a Screen Object in the playout [+] Screen objects can now be set to be displayed in a separate window (accessible from the dropdown menu of the Tools button) [+] Ability to set a custom caption for screen objects [*] Cleaned up About menu, moved several items to "Windows" submenu [*] Encoder status: Suppresses "Listeners: 0" display if counting of listeners is disabled for all connections [*] Control Panel: Pages which are only available in the standalone config app are now included in the menu tree, [*] Setup: Batch files not longer included in installer [-] Layout Designer ignores "Tools Window" setting of screen objects, placing all screen objects in the main window === CHANGELOG FOR VERSION 7.1 === Snapshot - Build 5270 [*] DB: Error in background playlist caching are now reported to System Log only [-] Some PFL commands don't work when favorite cue markers are defined [-] Scripting: Fixed possible runtime errors [-] Amplification setting ignored for non-infinite Stream and Live Feed items [+] DB: Reporting: Added Gramex (Finland) export [+] Scripting: Added IEmberPlusConsumerRemote.GetParameterValue [-] DB: Reporting: Some filter-specific settings may be missing in export dialog [-] M3U import: Possible Range Check Error on using "#mAirList" special lines 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