Known bugs/limitations - Custom playlist icons do not resize correctly. - CPU load can get high if progress bar and/or countdown enabled in playlist - File Management may cause BASS.DLL error 37. Switch off and report to the forum. - GUI option "show status messages in system tray" not working yet Snapshot - Build 519 [-] (Possibly) resolved progress bar drawing bug Version 2.1.46 (2008-07-03) [*] Save Desktop using default directory "SaveDesktop" [-] eldoDB using wrong week number, not displaying certain playlists [-] Database Playlist Browser does not work for eldoDB [-] Playlist: "Always show ramp" only for playable items [+] New commands: PLAYLIST x MARKASPLAYED, PLAYLIST x RECYCLE [+] Playlist: new skin.ini settings for the ASSIST/AUTO toolbar buttons: AssistButtonColor, AssistButtonActiveColor, AutoButtonColor, AutoButtonActiveColor [*] Updated to audimarkLib API 1.2.8.2. You need to update your DLL: http://www.mairlist.com/download/misc/audimark/1.2.8.2/audimarkLib.dll [-] No PFL HOOKOUT commands available [+] Playlist control bar: New options "Show upcoming event box" and "Show duration box" [-] Wrong tempo and pitch values shown in PFL dialog [*] EOF warning overlay now also displayed after player stops at EOF [-] OTF database does not show duplicate artists with different case [+] Player countdown screen object: new countdown type "EOF warning" [-] Mixdown creates broken files [*] Player countdown: time format can be (and must be) freely customized [-] "Not a valid integer value" when typing a time offset [-] Items are not stop-logged when fading in the background in automation [-] Broken Hook Container XML output Version 2.1.45 (2008-05-14) [-] Duration always 0 on HTTP stop logging [-] Config: Access Violation when an invalid sound card is specified in devices.ini [-] Incorrect treatment and errors when linking to/from dummies [-] MySQL logging errors are not displayed [+] Scripting: New procedure HTTPGetAsync(iURL: string) [+] Scripting: New function function HTTPGet(iURL: string; iData: string): string [-] Tempo/pitch values not updated in PFL dialog [+] Support for loading and saving Regional Containers from/to M3U [-] eldoDB: Comment not imported [-] Setting a link unloads active player below linking item [-] System-wide hotkeys ignore PFL commands [*] Better exception handling when database connection dies during search [-] Unhandled exceptions when a playlist item image file does not exist [*] Tool tips enabled in various GUI playlist objects [+] Screen objects: Removed Ramp Countdown, added Player Countdown [-] Event scheduler: Time offset ignored [+] New "#mAirList INCLUDE ..." syntax to include external playlists during M3U import. An external playlist can also be included by specifying only its filename, either "flat" (by adding all of its items into the playlist) or as a container. The mode can be switched with "#mAirList MODE FLAT" and "#mAirList MODE CONTAINER". [+] Player: Separate "Artist" font [-] PFL playback does not stop at Cue Out [*] OTF database is always scanned at startup if cache does not exist [*] "Open Desktop" dialog uses default directory "OpenDesktop" Version 2.1.44 (2008-03-08) [-] Stop logging to files: duration always "0" [*] Undid some internal changes introduced since v2.1.42 Build 484, possibly causing BASS.DLL errors [-] Cannot drop shortcuts to audio files into playlist [-] Cart player does not reset at end of fade [+] IComPort: new procedure Close() [+] IComPort: new procedure SetDTR(iValue: boolean) [+] Playlist GUI: Support for alternating row colors. You can prefix each skin.ini RowColor setting by "Alternate". It will then only affect the even row numbers. [+] New playlist item option "Don't move to history" (effective for non-playable items only) [-] Tilde in filename ignored when auto cue enabled Version 2.1.43 (2008-02-17) [*] New "screen object" concept succeeding the former clock, date etc. objects. See forum post for details. [-] Player colors and other colors not loaded from skin.ini [-] Clicking into playlist for PFL or links does not work [*] Downgraded Virtual Treeview to 4.4.3 [-] Network/SOAP interface not working [-] Cartwall: "Phantom" Close button [+] Support for IO-Warrior 56 [-] File Management does not release files on close [+] Player: New option "Use PFL device only during playback" (allows you to re-route the PFL signal to ordinary output when idle) [*] Extra PFL dialog: "Start/Stop PFL" button only visible when not run in "Properties" mode [-] Duration always "0" when logging to file at player stop [-] Stop logging occurs twice for cart players [*] Playlist: Redraw speed optimizations when using skin.ini [*] General code cleanup [+] BASS.DLL Configuration: New option "ignore speaker arrangement". Can prevent mixed up speaker order. [+] Config: BASS.DLL: "Force multichannel output" ignored [-] OTF Database: "Save to database" button disabled after inserting item from database search browser [-] BASS.DLL Error 37 when using multiple speakers with ASIO or software mixing [*] Config: "Test" button does now work not only once for ASIO and software mixing [+] Support for accessing SAM4 databases [-] Access Violation when an HTTP stream is interrupted [-] Access Violation when using MIDI [-] Stream playback does not work when BASS_SAMPLE_FLOAT active [+] mAirListScript: Imported Delphi function "FileExists" [+] File Logging: new option "overwrite existing log file" [+] mAirListTag: Properties dialog uses all available vertical space [-] PLAYLIST x EXTRAPFL OFF not working [*] Revised logging variables, a complete listing is now available in the Wiki: http://wiki.mairlist.com/index.php/Logging_Variables [*] Cleaned up handling and playing of containers [*] Playlist scrollbar more accurate [+] Date and time written into exception dialog [+] New commmand BROWSER FOCUS [*] Made many BROWSER ... commands operational, there are still some missing though [-] Playlist: Cue In ignored in Ramp display [+] Location of all configuration files shown in About dialog [+] New file import option: Strip leading and trailing whitespace from tag data [*] Auto Cue performance increased by up to 25% [-] Playlist: Live Backtiming ignores internal clock [*] The "interfaces" and "types" parts of the scripting documentation (mAirListScript.chm) are now extracted from the original source files, which means that they are always current and complete. [*] Playlist item icons are now by default stored as REFERENCES in MMD files and playlists, i.e., only the filename is stored but not the binary data. If you want to save the binary data instead, hold Shift while clicking the Select Icon button in the Properties dialog. [-] Hour Countdown and Event Countdown: Rounding error, 1 second ahead actual time [-] Exception when loading playlist with a startup notification script [-] Massive exceptions when using incompatible PNG files (256 color) [+] Prepared some new cool features you still don't imagine ;) [-] PFL dialog: Ctrl/Shift sometimes ignored when clicking +/- [-] Player: "Show ramp when idle" always active [-] Tilde with decimal part ignored Version 2.1.42 (2007-11-29) [*] CONFIGURATION NOW STORED IN AN EXTRA DIRECTORY ("config"). MOVE ALL .INI FILES THERE! [*] Database configuration stored in an extra file (database.ini) [*] Remote control configuration stored in an extra file (remote.ini) [*] Player devices stored in an extra file (devices.ini) [*] Logging configuration stored in an extra file (logging.ini) [*] Made database, remote and logging setup more user friendly [*] audimark interface implemented as a database [*] Using audimark is now free for everyone (until further notice) [*] Shoutcast logging replaced by a generic HTTP GET interface with easier configuration [-] Hook Fade/Hook Out ignored by cart players [*] Progressbar now also works for hooks [-] Playlist: Link icons not resized correctly [-] Custom action titles not displayed [*] Playlist: Artist and Title merged into a common column in simple mode. If using ColWidths etc., note that there is now one column less than before. [+] skin.ini: Playlist: new setting "TitlePercentage" (for simple mode, default: 50) [*] skin.ini: Playlist: Removed "AutoSizeIndex". The auto-size column is now determined by setting one column to "*" in ColWidths [*] Updated to Virtual Treeview 4.5.2 [*] Layout Designer: Values can be typed into the fields (press Return to commit) [+] Playlist item options accessible through playlist popup menu [+] Player: New GUI option "Swap artist and title" [+] Playlist: New popup menu item "Create Container" [*] Playlist: Containers are added right above the top-most involved item [*] skin.ini: Additional text format "Text" can be set in skin.ini for HourCountdown, Time and Date label. Use "%s" as placeholder for time output. [*] Dropped support for loading v2.0 event lists (they can be converted with mAirList 2.1.41) [*] Network/SOAP password encrypted in remote.ini [+] New screen object "Comment viewer": Drop an item to see its comment [+] Playlist: New GUI option "Show break duration" [+] OTF database search includes attributes [*] Scripting: IPlaylist: "append" parameter for all load operations dropped. Use Playlist.AppendPlaylist(Factory.CreatePlaylistFromFile('blah')) instead. [+] Loading of DRS2006 (*.dbf) files. As there are only relative file names in .dbf files, you need the following entry in mAirList.ini: [DefaultDirectories] DRS2006Import=c:\wherever\your\archive\is\ [*] Recycle Bin and Playlist browsers: Adjusted width of the Time column [*] Scripting: Changed "IOWarrior" to "IOWarriorRemote(0)" [-] "Hard" fixed time ignored when a "soft" fixed time item is above [-] Version 2.1.41 (2007-11-14) [-] PFL/Hook/Loop buttons not working in cart player [*] Player shows correct remaining duration in Hook Mode [-] Fixed Windows 98/ME incompatibilities (player buttons and playlist icons) [-] Lockups when sending commands through SOAP [*] Cleaned up command list in config [+] Player: Ramp prefix can be changed through skin.ini (e.g. "RampPrefix=R-") [-] skin.ini: Playlist toolbar font settings ignored [-] Cue dialog: TEST does not start playback when playback is currenly paused [+] Player: New options "Use cue category colors" and "Expand all cue categories" [-] Config: Player click commands occur multiple times in list [+] New command PLAYER X-Y START/FADEOUT [+] Properties dialog: New tab "Audio File", ability to choose a different file [+] Player: New "Fade Out" button [-] Loop and Fade Out do not work well together [+] Player: New GUI option "Use simple cue list" [+] Player: New GUI option "Show cue in seconds" [+] Playlist: New popup menu item "Create Hook Container" [+] Hook Containers can also be created by holding Shift while dragging items into a player (ordinary or cart player) [+] Config: New "File Repository" page (this is where you can set your opener/sweeper/closer for Hook Containers at the moment) [+] Status window displayed while preparing files for addition [-] Playlist: Link icons not scaled correctly [-] Obsolete "PFL CUE" commands in config, must be "PFL CUEIN" now [-] Cart player does not reset at EOF [+] Playlist: New skin.ini setting "HideSelection=on" [-] Playlist: "HistoryRowColor" affects also non-history rows [+] Engine: New option "Use Recycle Bin" [*] Scripting: Introduced the IFactory interface, which is used to create playlist items etc. Replaces static "CreateFilePlaylistItem" etc. functions. [+] Many additional file formats supported for playlist icons Version 2.1.40 (2007-10-29) [+] New option "only allow one instance at the same time" [+] New option "show splash screen" [*] New player buttons. Colors probably not perfect yet. Suggestions welcome. [*] Option "Move item to history when closing player" split into two options for "paused/EOF" and "loaded" [*] Internal redesign of the main form initialization [*] Better exception handling during startup [-] Non-auto-load player is unloaded when removing link above its item [*] Inserting items by pressing Return should now work for all browsers Holding Shift will insert at the top of the active playlist. Holding Ctrl will insert before the currently focused item. Otherwise, the items will be appended. [*] Case-insensitive search for mAirList's special ID3v2 tags [*] New Cue Dialog [+] Support for up to three ramps [+] Skin.ini: New color setting "ProgressBarRampDividerColor" [+] Support for Hook In, Hook Fade, Hook Out [+] New player buttons for loop mode and hook mode [-] Mixdown configuration: OK button inactive [+] Actions can be reordered in Event Scheduler [-] Cue Out ignored in PFL [+] Players: Rounded player boxes, new skin.ini setting "BorderRadius" [+] Playlist: Optical enhancements (rounded player boxes) [-] Config: No means to remove default cart set [-] Fixed several memory leaks [-] Cart players do not create copies of dragged items [+] Players and cartwall: New setting "Command when clicked" Version 2.1.39 (2007-10-15) [*] LICENSE FILE FORMAT CHANGED, YOU NEED TO RE-REQUEST YOUR LICENSE FILE! (see Forum announcement for details) [-] eldoDB: Access Violation on loading playlists [-] Individual playlist item colors ignored [-] Default selected playlist item color black (should be white) [-] mAirListScript: massive Access Violations (caused by an outdated version of a source file) [+] Playlist: New GUI option "item-specific colors have priority over skin.ini" [+] Playlist: New skin.ini setting "GridLineStyle=solid" [*] Updated BASS.DLL to 2.3.0.3 [*] Updated BASSENC.DLL to 2.3.0.3 [*] Updated BASS_FX.DLL to 2.3.0.3 [*] Updated BASSMIX.DLL to 2.3.0.1 [*] Updated BASSASIO.DLL to latest beta [+] Notification scripts: new procedure OnTimer (see example script for usage) [-] eldoDB and RadioDB: GetNextPlaylist loads wrong playlist (next day instead of next hour) [-] IDatabaseTree.GetDataOfNode not working, replaced by a set of specific functions for the particular members of TDatabaseNodeData [+] New file import option "import file tags as attributes" [*] Improved performance when using skin.ini for custom playlist colors [+] File and Playlist actions: New option "enable variable substitution". You can then use the %Y, %M, %D, %h, %h and %s variables which will be replaced by the components of the current time. You can also specify a time offset in seconds which will be added to the current time before the variables get substituted. [+] Player: New option "loop audio", still experimental, needs a button [+] Playlist: New option "Use only a single player in automation mode" [*] Player shows ramp without "0:" if shorter than one minute [+] Support for importing DigAS Show XML files [+] Ability to link items in assist mode. Note the new playlist item option and the rightmost column in the playlist. [+] Player: new option 'Auto load on demand' (will load the player instantly when a START command is received) [*] Player: "Move item to history when closing player" option will only put the item into the history if it has been played [*] Shoutcast logging performed in a thread, does not block GUI anymore. [+] Desired position for playlist overlay can be specified in skin.ini: Keyword "OverlayPosition", values "N", "NE", "E", "SE", "S", "SW", "W", "NW". You can also specify values for "OverlayPaddingX" and "OverlayPaddingY". [-] Config: PFL sound card label not updated [+] Scripting: New notification procedure OnExecuteCommand(Command: string) [+] New playlist open/save items in Open and Save menu [+] New GUI option: "Open and Save buttons apply to first playlist" [*] Mixdown profiles are now managed in mAirListConfig and specified in a different way. [+] New commands: PLAYLIST x MOVE UP, PLAYLIST x MOVE DOWN Version 2.1.38 (2007-09-13) [+] IPlaybackControl: New functions GetIndex and GetPlaybackControlIndex (the latter always returns -1 for cart players) [-] Auto Cue always disabled in mAirListTag [+] Container Items can be created by holding Shift during drag & drop [*] M3U import will ignore empty lines (workaround for broken M3U playlists created by Windows Media Player) [*] Player option "Only auto-load special items" also active in automation [*] Player: New option "hide buttons during automation" [*] Many internal changes to the database subsystem, in particular the database tree browser. Please test thoroughly. [+] New database type "Script database" for custom connections [+] Support for accessing SQL servers from mAirListScript [+] Tool Tips for long entries now working in most browsers [-] Auto Cue not applied for OTF database [+] Databases can be disconnected/reconnected trough database browser popup menu [*] Slight change to the automation algorithm (stopped players will be unloaded first before anything else happens) [-] PLAYLIST ... commands not working [-] 00:00 midnight ignored as a fixed time [+] New playlist item option "Exclude from logging" [*] User Defined Properties are now called "Attributes" [+] Default attributes and possible values can be set up in the config [*] Playlist skin is now processed in a slightly different way. See the "Changes in mAirList 2.1" Wiki article for details [+] Started to implement a Control Panel (Ctrl+Alt+X) [-] Wrong keys in skin.ini for button colors Version 2.1.37 (2007-07-30) [-] Access Violation when using skin.ini [+] More status messages in splash screen [+] iTunes: New config options "SubstPathFrom" and "SubstPathTo", for substituting the base directory (makes it possible to use iTunes over a network); [-] "Save Tag" in Extra PFL does not close player => file access denied [+] New exception/error message dialog with copy-to-clipboard functionality Version 2.1.36 (2007-07-22) [*] Better exception handling in the Mixdown routines [-] Shoutcast logging enabled by default after upgrade from previous version [-] Screen Objects (Clock etc.) resize automatically when using layout.ini [+] New GUI option: Minimize to tray [*] Changed Exception Report dialog [+] Optional additional $$$DATA1$$$, ... parameters for Shoutcast logging [-] + and & not encoded correctly in Shoutcast logging URLs [+] Scripting: New function URLEncode(iString: string): string [+] Scripting: New function ISOWeek(DateTime: TDateTime): integer; [*] Better error handling when importing M3U files. Errorneous items are replaced by dummy items indicating the error message (in the User Defined Properties section) [-] Manual event execution does not ignore auto/assist state [*] Insert/Play actions insert the item below the currently playing one instead of at the top of the playlist [+] Cartwall: New option "visible at startup" for embedded display [-] Notification Scripts: new procedures OnCartwallShow, OnCartwallHide [+] Virtually any playlist option, playlist GUI option and playlist progressbar option can now be changed at runtime, either through the playlist popup menu, or by the corresponding PLAYLIST x OPTION ..., PLAYLIST x GUIOPTION ..., or PLAYLIST x PROGRESSBAR ... commands. [+] The same applies to the options of the (ordinary) players, which are now accesible through the popup menu and can also be changed through PLAYER x-y OPTION ..., PLAYER x-y GUIOPTION ... and PLAYER x-y PROGRESSBAR ... [*] The old playlist commands COMMENTS, BACKTIMING, VIEWMODE and PROGRESSBAR have been abandoned in favor of the new commands mentioned above. Check the list in the config dialog dropdowns for the new syntax. [+] Playlist: New popup menu items "Mark as Played" and "Recycle" [*] audimark license key to be entered in mAirListConfig Version 2.1.35 (2007-07-02) [-] Event Scheduler ignores "run in automation" and "run in assist" flags [*] "Extra browser objects" are now called "Other screen objects". They are also saved in a different way in mAirList.ini, so you have to set them up again. They might also appear above/below the browsers in a different order than before. [+] New screen object: "ON AIR/OFF AIR display". Looks just like the switch, but is not clickable. layout.ini/skin.ini: "OnAirStatus" [+] New screen object: Ramp countdown. layout.ini/skin.ini: "RampCountdown" [+] Experimental support for audimark ad blocks (requires audimarkLib.dll). Only works with a commercial or explicitly unlocked free license. [*] Restructured and cleaned up several config dialog pages [*] Moved options related to file import to the new "File Import" config page. These options are now also stored in a difference place in mAirList.ini, so you will have to set them up again. [+] Writing Shoutcast/Icecast metadata [-] BASS WDM hardware mixing: playing on wrong device when file management active [+] PFL/Properties Dialog: The "Save to.." butons (tag, MMD, database) are now labeled "export to...", and keep the dialog open. [+] Mixdown can write cue sheets Version 2.1.34 (2007-06-10) [-] Notification scripts: CurrentPlaylist causes Access Violation [+] Player: New option "only auto-load items marked as 'special'" (assist mode only) [+] Playlist items: New option "special item" [-] Events: "Run in automation" always set when loading event list [*] Event scheduler now uses the new "action list" concept. Pre-2.1.34-.mle files can be imported, but not vice versa [+] Browser: New option "Resizable panes" (for Outlook-style browser, default off, previous default on) [-] Stream playback: Fade Out doesn't affect volume [-] Stream playback: Access Violation at end of fade out [*] BASS.DLL options can be set individually for each sound card (force multichannel output) or even each player (file management, BASS_STREAM_PRESCAN, BASS_SAMPLE_SOFTWARE, BASS_SAMPLE_FLOAT) [-] SAS Interface hangs after receiving certain packets [-] OTF Database disabled on finding corrupt files [*] Removed video support. Will be revisited at some point in the future. [+] Notification Scripts: New procedure OnAutomationChange Version 2.1.33 (2007-05-28) [-] Possible access violation at EOF Version 2.1.32 (2007-05-27) [+] Introduced the concept of "action lists", a set of actions executed under certain conditions. At the moment, you can assign actions to each playlist item (inside the Properties dialog, Option tab) which are executed when the item is started or stopped, respectively. At a later point, action lists will replace the current "Action" field in the event scheduler, and will be used in further places. Current actions includes: - Insert and/or play files - Insert and/or play streams - Insert and/or play playlists - run scripts - execute fadestart commands - mute or unmute mixer (finally with a GUI to select the channel!) - send data to serial port [-] layout.ini: On Air switch changes dimensions when clicked [-] Cue points still ignored sometimes [-] Long delay when searching iTunes databases and auto cue is enabled. Temporarily olved by disabling auto cue for items imported from iTunes. [-] Internal stop notification missing: STOP logging does not work, global progress bar is not reset [+] BASS_FX support for ASIO output [*] Significant internal changes to the BASS.DLL interfaces [-] Auto Cue settings ignored in mAirListTag mode [+] New command: PFL 0 [*] Improved handling of error conditions [*] Updated video support, requires GMFBridge. Very experimental. Do not use ;) Version 2.1.31 (2007-05-14) [-] Cue markers ignored by player Version 2.1.30 (2007-05-14) [-] Small skipping/loop on starting players [-] Cartwall: PFL Mode does not work on "START/STOP"/... commands [+] Playlist item: New option "always fade out on stop" [*] "Only auto-load if no other player is already loaded" only looks for other auto-load enabled players [-] Bugfixes in video playback [*] BASS.DLL hardware mixing: Sample rate can be configured (again) [-] SAS events not working [*] Toolbar buttons grayed out as long as no playlist is focused [+] Notification Scripts: New procedues OnShutdown, OnOnAir, OnOffAir [*] Internal redesign of database logging. mAirList now takes care of correct parameter types (string, number, ...). You must NOT enter quotation marks anymore inside the SQL string. For example, instead of INSERT INTO log VALUES('%a') write now INSERT INTO log VALUES(%a) [-] Joystick buttons not detected on localized Windows [+] Config: New "Test" button in sound card selection dialog [+] Scripting: New procedure SetApplicationTitle (changes title in task bar) [*] Playlist: Home/End keys working again [+] Database search across multiple databases Version 2.1.29 (2007-05-03) [-] Cartwall: PFL Mode broken [-] Config: Backtiming Prefix for Fixed+Soft not restored [-] Extra PFL doesn't close with Ctrl+P [+] Player: New option: Only auto-load if no other player is already loaded [+] Notification Scripts: New functions: OnBeforePlayerStart, OnBeforeCartPlayerStart, OnBeforePlayerStop, OnBeforeCartPlayerStop, OnSASCommand (see template or help file for parameters) [+] New example Notification Script SAS_Monitor.mls [*] OnPlayerStop now already called at EOF [-] Global progress bar does not reset after short item played from another player [-] Cartwall: TRIGGER not displayed when loading a cart set [+] Experimental support for video playback (VERY experimental) Version 2.1.28 (2007-04-26) [-] Scripting system broken in v2.1.27 Version 2.1.27 (2007-04-26) [-] Performance problems when loading large event lists [-] "Load and play playlist" event does not start playlist [-] Config: PFL display options not loaded/saved correctly (and too many of them offered anyway) [-] Config: Cartwall monitor setting not preserved [+] Config: Process priority can be set [*] Config: Auto Cue thresholds moved to "PFL" page [+] Playlist: New GUI option "swap artist and title in extended display mode" [+] Config: New GUI option "Show save confirmation" [-] ID3v2 artist is truncated when containing a '/' character [-] Title in multiple cue point editor remains empty [+] Added various "CARTWALL x ..." commands (see list in config dialog) [*] Changed some commands (for consistency) "CARTWALL x CLEAR" -> "CARTWALL x CLOSE" "CARTWALL CLEAR ALL" -> "CARTWALL CLOSE ALL" "PLAYER x-y UNLOAD" -> "PLAYER x-y CLOSE" [*] Changed internal handling of player/cartwall commands [+] Playlist: Backtiming prefix for soft fixed time can be set in config [+] Scripting: New function "Engine" (returns central IEngine interface) [-] RadioDB: better error handling when loading playlists [-] Setup: failed to create "plugins\bass" folder Version 2.1.26 (2007-04-10) [-] LED Clock seconds ignores time adjustment [-] Stream playback not working when BASS_SAMPLE_FLOAT enabled [*] Better error handling in event system [-] "Play file" event loads and skips file when playlist is empty [+] PFL Dialog indicates existence of alternative cue points [*] Some tweaks to remove stutter at the beginning of playback Version 2.1.25 (2007-03-25) [*] Scripting: Serial Ports accessible even if used for remote control [+] Scripting: new procedure ExecuteCommandRPC(iURL, iCommand: string) [-] PFL CUE PLUS/MINUS changes value by 0.02s instead of 0.01s [-] Fixed performance issues in PFL stutter mode [+] New faderstart commands: PFL STARTNEXT PLUS/MINUS/SET/TEST/DELETE [*] Auto cue not applied when inserting files and an MMD file or mAirList ID3 tag is present [+] Config: GUI Options: Status bar can be switched off [*] Better error handling with broken device entries in mAirList.ini [-] Hour Countdown one second behind real time [*] Duration shown in playlist toolbar for non-played items only [+] IPlaylist: Scripting: New method GetActiveDuration [+] .m3u and .mlp files can be opened and saved through the main toolbar (however, they only apply to the first playlist) [+] New fixed browser element: "ON AIR/OFF AIR switch". Can be used to put mAirList into "off air" mode, in which logging is disabled. Customizable through skin.ini, [OnAirSwitch], settings: * OnAirFont * OffAirFont * OnAirBackgroundColor * OffAirBackgroundColor * OnAirCaption * OffAirCaption [+] Config: New "Engine options" with options related to on air switching [+] New commands: ON AIR, OFF AIR, ON/OFF AIR [+] New [DefaultDirectories] setting in mAirList.ini: SelectIcon [+] Internal clock can be adjusted to ease backtiming during pre-productions. Double click any clock GUI object to adjust the time. [+] New playlist item option: Set internal clock to fixed time when started [+] New command: PLAYLIST x DELETE [-] Playlist: Progress bar not displayed properly in non-extended mode [*] Playlist: Backtiming properly considers Start Next and Fade Out markers [+] New option: Regard Start Next marker as EOF [+] BASS.DLL: Floating point operation (BASS_SAMPLE_FLOAT) can be disabled in config in order to prevent speaker assignment problems on Creative hardware when using BASS_FX Version 2.1.24 (2007-03-14) [+] New optional "countdown to hour" label below browsers. Can be customized in layout.ini and skin.ini just like the ordinary clock ("[HourCountdown]"). [-] Automation not working properly with BASS_FX [-] Wrong sound card assignment with BASS_FX Version 2.1.23 (2007-03-12) [-] Automation starts multiple players at the same time Version 2.1.22 (2007-03-12) [+] DJ-CD-player-like stuttering while cueing with mouse wheel [-] BASS.DLL: Force Multichannel ignored [-] PFL Dialog: drawing issues when setting cue markers [+] skin.ini: Player: New setting "BorderColor" [+] New command: EXTRAPFL SAVE MMD [-] Playlist item XML: Corrected typo in "SkipInAutomation" option. You will have to set it again on all items, or use a text editor to replace the mistyped word. [-] Automation: "Did not find a player" error message when all players have Start Next markers set. [-] Start Next sometimes ignored. [*] Automation: "Fade out any other player" does also affect detached sources (those items which had to be unloaded from a player but still play in the background). [-] Option "Global progress bar ignores cartwall" ignored (always on). [+] Tempo/pitch support now also for BASS software mixing and ASIO. [-] Speaker settings ignored when tempo/pitch support active. [-] Active cart players stopped and closed when loading a different set [-] Backtiming not updated when player starts Version 2.1.21 (2007-03-03) [-] Playlist: Ramp countdown not updated [*] Config: Cue Thresholds now on the Miscellaneous page [+] Shoutcast stream playback now also possible with BASS software mixing and ASIO [-] Playlist: Expanding comments starts Extra PFL (thanks to Stefan) [+] Global progress bar: Update interval configurable [+] Global progress bar: New option "ignore cartwall" [+] Start Next markers introduce (will start the next player in automation mode without fading the current item) [+] New playlist item option "Fade out any other player in automation mode" [*] Changed the way the output devices are stored in mAirList.ini. You will have to set up all devices again. [+] Player: New GUI option: "Show ramp when idle" [+] Player: New option "Use in automation mode". Can be used to force the automation to use certain players only. [+] Player: New option "Move item to history when closing player" [-] Player: Click start affects hidden buttons (thanks to Thomas) [*] Internal changes to the Mixdown function. Might be slightly slower than before, but fading should be more accurate. [+] Experimental support for tempo and pitch control via BASS_FX.DLL. Must be activated in the player sound card configuration. [+] Config: New global option: Import ~ in filename as Start Next Version 2.1.20 (2007-02-25) [*] Several optimizations addressing CPU load issues [-] User Defined Properties not loaded from MMD/playlists [-] Extra PFL does not go into End Mon when item is playing [-] Access Violation on searching OTF database [+] Automation recognizes and jumps to "fixed time" items [+] Fixed time can be made "soft" [+] IPlaybackControl: New method AutomationJumpSoft(iItem: IPlaylistItem) Version 2.1.19 (2007-02-21) [+] You can assign a specific output device to each single cart player [-] Still bugs in the playlist options config ... [-] Drag & Drop from Explorer into cart player does not work when no playlists configured [-] Playlist icons do not load from MMD/playlists Version 2.1.18 (2007-02-21) [+] Playlist history working again. Note the two options "Auto clean-up history" and "Only clean up history at the top of the playlist". The "number of items to keep" setting will only be effective if auto clean-up is activated. [+] Scripting: New methods IPlaylist.GetHistoryCount (determines number of items at the top of the list with HistoryFlag set) and IPlaybackControl.GetNextIndex (determines index of item to be played next). Useful when inserting new items to be played immediately. [*] "Insert..." events use GetHistoryCount position when inserting items [+] Playlist: New option "Auto move non-playable items to history in assist mode" [*] "Played Items" browser now known as "Recycle Bin" [+] You can specify a central folder where all MMD files are collected [-] Several memory leaks removed [+] Scripting: IPlaylistItem: New function GetPosition(iType: TCuePositionType), replaces GetCueIn, GetRamp, GetOutro, GetFadeOut and GetCueOut. Use it like this: "GetPosition(ptCueIn)" instead of "GetCueIn". (Preparation for the new "start next" markers.) [+] New command: PLAYER x-y CLOSE [+] Playlist: Dummies have an icon now, can be customized as "icon_dummy.png" [-] Config: Playlist: Save Events option mixed up with Clear History [+] Playlist: New option: "Automatically scroll to playing item" [+] Error messages displayed inside the players [*] Reduced CPU load by not drawing the global progress bar so often [-] Config: Playlist options not saved when switching from one playlist to another (finally fixed) [*] Player: EOF warning refers to main playout even if PFL is active [*] Config: Player "Auto load/unload ..."-options: Explicitly stated that these options refer to assist mode (thanks to Gavin) [+] New example notification script: SAS_PFLSwitch.mls (thanks to Michel) [*] Properties dialog shows MP3 duration in h:mm:ss format (thanks to Cad) [+] Playlist: New option "Click on playlist icon toggles Extra PFL [*] File tag is completely ignored if MMD present [-] Comments might be cut off when manually resizing columns [+] Scripting: New function random(iRange: integer): integer [-] Mixdown starts despite pressing Escape in file selection dialogs [+] Item-specific playlist icons, can be set through Properties dialog [+] skin.ini: New setting "ProgressBarIdleColor" for global progress bar [+] Playlist: New control bar option: "AUTO button flashes while playing" [*] German translation file now embedded into mAirList.exe [*] New global option: "Regard Fade Out marker as EOF" [+] skin.ini: Playlist: "OverlayBackgroundColor" (default: transparent) [*] Playlist: Drag & Drop into players disabled during automation. Version 2.1.17 (2007-02-14) [*] Significant internal changes to the player start/stop/load handling. Please report any unexpected behavior to the forum. [+] In case of an application error, an additional error dialog will be shown which contains the "call stack", a useful information for Torben when trying to find the reason for the error. [-] Possible Access Violation on stopping players [*] Slight changes to the PAUSE/NEXT/... display format in the playlist [*] Error Check uses Extra PFL device instead of default audio device when tentatively opening an item. [-] EOF overlay doesn't disappear [-] Config: Playlist options not saved when switching from one playlist to another [-] Player: Current title of container item is not shown after STOP [-] RadioDB: Some playlist items missing in Database browser [+] BASS.DLL: New config option "BASS_SAMPLE_SOFTWARE", might cure clicks [-] Access Violation when loading errorenous items [-] Players fade out in assist mode [+] Config: Player and Cartwall: New option "Auto fade out" Version 2.1.16 (2007-02-12) [-] BASS_StreamCreate error when dragging M3U files into the playlist and Auto Cue/Fade Out enabled [*] Optimization: The internal PFL source is only opened when PFL is started for the first time. This means that a file is no longer opened twice internally if no PFL is needed. [+] BASS.DLL: Network buffer and pre-buffer amount can be set in config. [+] Playlist: "Always show duration" now also applies to non-playable items and non-restricted streams [+] Playlist: New option "Show a minimum of two digits when truncating time" [-] Playlist: Player name not shown in NEXT status [+] Player: New option "Flash during EOF warning", if disabled, only the notification script will be called, or the overlay is shown (see below) [+] Playlist: New option "Show EOF warning countdown overlay" Version 2.1.15 (2007-02-11) [-] layout.ini: Toolbar settings ignored [-] Config: Player: Progress bar options not saved correctly Version 2.1.14 (2007-02-11) [+] Player: Progress bar can be disabled in the config [+] Player: New option "auto release pause". If enabled, the player will receive a STOP command when paused and any other player is playing or started at the same time. The player will also be unloaded in case "auto unload on STOP" is enabled. Can be useful with the PAUSE/STOP actions. [+] Playlist: skin.ini: "ShowHeader=off" to disable table header [+] New skin.ini settings: [MainWindow]->Background: Filename of optional background image (BMP/JPG/PNG). Does only work if layout.ini is enabled as well. [MainWindow]->Color: main window background color [+] New config option: Cartwall display options: default display mode [-] Playlist: Comments cut off in simple display mode when artist set [*] Config: Internally rearranged all on/off option handling in mAirList.ini. In the config dialog, the options are now distributed among several check box lists. Some config options might be lost when upgrading from an older version. There are also some new options: - Ramp display can be disabled for any progress bar. - Playlist toolbar ("control bar") can be hidden. - Cartwall toolbar can be hidden. - Auto PFL off now configurable per player, no longer globally. - Playlist "ShowHeader" and "ShowButtons" settings moved from skin.ini to main config. - Playlist time and ramp can be configure to show 1/10s - etc. Version 2.1.13 (2007-02-06) [+] Optional, global progress bar, displayed between playlists and cartwall. Can be switched on in the main config on the Miscellaneous page. It is assigned to the player which was started most recently. If using layout.ini, use the [ProgressBar] section to set position and size. If using skin.ini, use the [ProgressBar] section to set colors ("ProgressBarRemainColor", ...). [+] Playlist shows large ramp countdown as overlay. Can be disabled in the config. Font can be configured with the "OverlayFont" setting in skin.ini. [-] Cartwall: Player not reset when Cue Out set Version 2.1.12 (2007-02-04) [-] Config: Manually typed joystick actions discarded when going back to the joystick config page. [-] Playlist: Fade Out and Cue Out ignored for remaining time display [-] Event list not loaded from desktop files/templates [-] Playlist: COMMENTS commands not working [*] PLAYLIST x EXTRAPFL renamed to PLAYLIST x EXTRAPFL ON [+] new commands: PLAYLIST x EXTRAPFL OFF PLAYLIST x EXTRAPFL ON/OFF Version 2.1.11 (2007-02-03) [+] New "playlist file" playlist item class. Works like a container, but only contains a reference to an external .m3u or .mlp file. Will be used by default when loading .m3u files referencing external playlists. Will also be used by default when dragging .m3u or .mlp files into the playlist. Hold Shift to create a container instead, or Ctrl to expand the playlist and insert its contents into the main playlist. [+] Containers, Streams and Silence can be exported to .m3u. [+] Playlist shows remaining time and ramp for playing items [-] Playlist item comments not displayed correctly. Version 2.1.10 (2007-02-01) [+] Playlist icons introduced. This version contains icons from the LPGL'ed "Nuvola" icon set by David Vignoni (www.icon-king.com), which might be replaced by a dedicated mAirList icon set later. At the moment, there is one icon per playlist item type (file, stream, container, ...). The icons can be replaced by custom PNG images. Details will be posted to the forum/Wiki. The included images are 64x64 pixels and will be resized automatically to fit the height of the playlist rows. You can also use the "IconSize=..." setting in skin.ini to specify a fixed size. And yes, Cad, you can disable the icons in the config ;) [*] Playlist: Comments do not have a node of their own any longer, but are now displayed in the main item node again as in mAirList 2.0. You can however expand and collapse the comments individually. [+] Playlist: New options: Escape triggers AUTOMATION BREAK/STOP [+] skin.ini: Cartwall: New parameter "Spacing" (default: 2) [-] Automation: Short audio burst on stopping tracks Version 2.1.9 (2007-01-30) [+] Cart player stack support (experimental). Right click a cart player to edit its stack, and drag items from the browsers into it. If the player is empty, the first item from the stack will be loaded into it automatically. This also happens when a cart player is stopped or closed by the CLOSE command or button. mAirList will display the number of items in the stack in the status line of the player. [*] Cartwall XML format changed in order to support stacks. Pre-2.1.8 cartsets and desktop files can be loaded, but not vice versa. [+] New command: AUTOMATION x BREAK, will break automation playback after current item. [+] Streams and silence can be loaded thru M3U files: #mAirList STREAM [] http://url:port #mAirList SILENCE <duration> <title> Set stream duration to "-" for unlimited playback. [*] RUNSCRIPT accepts relative filenames [-] Error message on loading M3U playlists with missing items with Auto Cue/Fade etc. enabled. [-] eldoDB: Access Violation on loading playlist [-] "PFL ..." commands not working [-] BASS.DLL: BASS_STREAM_PRESCAN ignored unless using File Management [-] BASS.DLL: File Management ignored for software mixing output [-] mAirListTag: File Management and BASS_STREAM_PRESCAN ignored [-] PFL dialog: PLAY/PAUSE switching doesn't work for BASS software mixing [-] Scripts: CurrentPlaylist/CurrentPlaybackControl cause Range Check Error when invoked from the Event Scheduler [-] Item Properties form: "Exclude from backtiming" not saved [-] Invalid Pointer Operation in automation mode with single player Version 2.1.8 (2007-01-26) [*] Updated BASS.DLL to 2.3.0.2. mAirList is now shipping the "mp3-free" version of BASS.DLL, which relies on the MP3 decoder provided by Microsoft. [+] EOF Warning setting for Extra PFL and mAirListTag [+] Auto Cue In, Auto Fade Out, Auto Cue Out functionality. Set desired thresholds on the PFL config page. Then go to the Misc. page and activate automatic detection of the cue positions. You can also hold Shift and click SET in the PFL dialog to auto-set a position. (Respective mAirListScript functions not yet working.) [*] Config: Separate page for (Extra) PFL with a few additional options [-] RadioDB2: "Format invalid" on loading playlists [-] Mixdown does not cross fade properly [-] Player: FlashEOF color not reset when seeking in PFL mode Version 2.1.7 (2007-01-22) [+] Playlist popup menu, "Append" and "Insert": selecting multiple files possible [+] Database Search browser: Sorting [+] Database Search browser: Leave search field empty and hit return to display a list of all songs [+] Automation: Previous items will fade out all the way to the end even if player is needed for next item. [+] Scripting: Added some functions: CreatePlaylistItemFromFile BuildAudioSource IPlaybackControl.PlayItemDetached [*] Playlist: Comment nodes use skin.ini color and font settings [-] radioDB2: Database search broken [*] 3rd party library updates: ZeosLib 6.60, JCL 1.98, JVCL 3.30 Version 2.1.6 (2007-01-19) [+] Playlist item comments functional again, as expandable child nodes. [+] Playlist: skin.ini: New setting "MainColum", this is the colum where the comment +/- buttons will appear. Specify "ShowButtons=off" to disable +/- buttons. [+] Playlist: skin.ini: New setting "AutoSizeColum". This column is automatically resized to fit the total width of the playlist. Defaults to the Title colum. Set to -1 to disable. Was previously set to -1 automatically on using ColWidths, must now be specified explicitly. [+] Playlist: Spacebar AUTOMATION NEXT works again [+] BASS.DLL plugins will be loaded automatically when placed into the "plugins\bass" folder. mAirList will also detect the file extensions supported by the activated plugins and show these file types in the browser. There's no need to specify the extensions manually in the config any more. A list of loaded plugins and supported file types is shown in the About box. [*] Scripting: HTTPGet supports authentication (http://user:password@host/...) [*] Internal changes to the eldoDB and radioDB2 interfaces. Please check thoroughly. [*] Playlist: SelectedFontColor only used when focused (font of selected items turns black on losing focus; standard list view behavior). [*] Player start/stop buttons: Internally switched from BMP to PNG. [-] Scripting: "Could not call proc" on using SASComPort [-] Toolbar captions missing unless using skin.ini [-] Playlist: "Toolbar position: top" doesn't work Version 2.1.5 - 14 Januar 2007 [-] Shoutcast streams ignore speaker settings on Creative Audigy cards. [*] skin.ini: Fixed semantics of ColumnOrder. From now on, specify a list of colum indexes (0 = icon, 1 = time, 2 = title, 3 = artist, 4 = duration, 5 = ramp, 6 = end), and the columns will be arranged in the same order. Example: "ColumnOrder=0,1,4,2,3,5,6" moves the duration column between time and title. [+] Playlist: skin.ini: New setting "SelectedFontColor" (fixed font color of selected cells, default white) [+] Playlist: skin.ini: New setting "HideColumns". Specify a comma-separated list of column indexes to be hidden. [+] Playlist: Title not clipped in simple view mode if artist is empty. [-] Playlist: Fixed display of progressbar in non-extended view mode with rearranged columns. [*] Better error handling of notification scripts [-] BASS.DLL: Force multichannel option ignored by main players and cartwall Version 2.1.4 (2007-01-14) [*] Improved handling of Shoutcast streams [+] Event Scheduler: Ability to manually run an event [-] Fixed a typo in the .mle XML. "playlistinsert" instead of "playlistinseret". If using these types of events, please check and replace in your .mle files manually, or the events will be lost. [+] New event types: Play stream, insert stream [*] Mixdown dialog: Cancel button functional [-] Access Violation when moving tracks [+] Prepared the new, still empty Icon column (#0). Note that you need to specify an additional number in the ColWidths list when using skin.ini. [+] Playlist: skin.ini: New setting "ColumnOrder" to rearrange columns. Speficy a list of new positions (0-5), in the same way as with ColWidths, for example "ColumnOrder=2,3,0,1,5,4" Note that the progress bar is currently not drawn correctly in non-extended mode when changing the order of the title and artist columns. [+] Playlist: skin.ini: New option "UsePlayerColors=off", useful in connection with per-state row colors [-] skin.ini: Toolbar customization working again [*] Extra PFL/Properties: Changes to the cue markers will only be committed when clicking one of the Save buttons. You can click Cancel to cancel all changes. [+] Container content displayed in the Properties dialog, with limited editing. You can rearrange and delete tracks, also also insert new items by drag & drop. However, any players in which the container is currently loaded must be reloaded in order to reflect the changes. This does also apply to the Extra PFL player embedded in the Properties dialog. [+] Ability to globally disable certain features in the config. Version 2.1.3 (2007-01-08) [-] Browser ignores layout.ini Version 2.1.2 (2007-01-08) [-] Cartplayer accidently repeats item [-] Strange Access Violations at program shutdown remove (hopefully) [+] Playlist: New option: Auto-truncate time [*] Config: "Quick folders" item is now a child node of "Browser" [-] Playlist: Empty space allocated for progress bar even if disabled [-] "Interface not supported" on CARTWALL commands Version 2.1.1 (2007-01-07) [-] Browsers not loaded from mld/mlt file [-] Browser ignores layout.ini and skin.ini [*] skin.ini Browser toolbar settings moved from [BrowserToolbar] to [Browser] [-] Database items not disabled in browser Insert menu when no databases configured. [-] Access Violation on "Insert database playlist browser" [-] Playlist ignores "ExtendedViewMode=off" in mAirList.ini [-] Ramp and End Type not displayed in playlist [-] Playlist: skin.ini: ColWidths ignored [+] Playlist: skin.ini: GridLines=off to hide grid lines [*] Event Scheduler: Events sorted ascending by default [-] Range Check Error when using Shoutcast streams in automation Version 2.1.0 (2007-01-07) This is the initial release of the new development branch mAirList 2.1. Please read the release notes in the Wiki for important information before upgrading: http://wiki.mairlist.com/index.php/Changes_in_mAirList_2.1 Also, remember that this is a development version, probably full of bugs, and should not be use for production.