------------------------------------------------------------------------------
  DAD "readme" file                 DAD.txt                        Jul.16.2008
------------------------------------------------------------------------------
  This is information regarding the latest release of the ENCO Systems DAD software.
  Note: These notes are intentionally vague.  They are simply a list of changes made to DAD.
  Specific, detailed information on any of these items should be acquired from ENCO Tech Support at +1 (248) 827-4440 (Tech Support can not be reached via the 800 line).

  See "SPECIAL NOTES" at the end of this file for important messages from ENCO

-----------------------------------------------------------------------------
                       DAD 8.1b (Jul.??.2008)
-----------------------------------------------------------------------------
  New/Changed DCLs:
  1) SET PAGE  
     Example: SET PAGE MINAR1 4    (sets Mini-Array to Page 4)

  2) Modify Cut Range 
     No longer refreshes the Library with a PLEASE WAIT after each cut processed.   Waits the the range is completed and does one refresh.
     
  3) REFRESH 
     Refreshes the specified array buttons from the User Setup (in case they're changed elsewhere)
     Example: REFRESH ARRAY
              REFRESH MINAR1
              REFRESH MINAR2

  New/Changed CFI settings:
    [System]
    Background_bitmap = "c:\dad\files\bitmaps\your.bmp"
      Default if not specified is an ENCO DAD logo
      Changes the default bitmap used for the DAD desktop 
      To disable the bitmap:   Background_Bitmap = OFF
      Area provided in the desktop is 200x200.   Other size bitmaps will be stretched/shrinked to fit.

    [Tracker]
    Record_VO_Location_Outro = TRUE | FALSE
    Default is TRUE - Voice Tracks get stored in the same location as the Outro
    When set to FALSE - Voice Tracks get stored in the location the Tracker Recorder (REC5) is set to

    [Defaults]
    REWRITE_AUDIO_ACTIVATES_AGENT = TRUE | FALSE
    Default is TRUE - Rewrite Audio will trigger the startup of the iNews Agent (for CNN)
    When FALSE - no special actions
    
    [Library]
    RIGHT_CLICK_SEND_TO_AGENT = TRUE | FALSE
    Default is FALSE - no special actions
    When TRUE - Allows startup of the iNews Agent (for CNN)

  Added a REFRESH icon to Array/Minar1/Minar2 Title bars to refresh just that array using currently loaded User Setup (useful when the user setup is being updated elsewhere)

  Added Auto Edit mode to Record Machines setup.
    When enabled - pressing Stop to finish a recording will open the Editor using the cut just recorded. 
  
  When drag-n-dropping a cut into the Library and overwriting an existing cut, there are now two overwrite choices: 
    ReplaceData/ReplaceAudio  -   uses DADparse.ini data or CartChunk data from the source cut to replace data (title, etc.)
    LeaveDate/ReplaceAudio - leave data (title, etc.) alone
  
  AutoEdit and AutoUnload for Recordings disabled if the Recorder has Normalizing enabled
  
  AutoRecord in Record Machines disabled if the Recorder is in User Input mode

  Library->Add/Modify window now supports Japanese Characters using Windows XP

  The DAD Desktop now uses c:\dad\files\bitmaps\DADBACK.bmp in a centered area.  Users can change this bmp to anything they wish (station logo's, etc.). 

  Group Range Lowest setting in REC Machine is now based on the Currently Selected Group - used to use Setup->MiscDefaults->DefaultGroup
  
  When copying/moving cuts from one library to another (Multi-Lib), all the Target cut files are now deleted first (*.wav, *.txt, *.slt, *.edl, etc.).  
  
  Corrected a problem with RightClick->EditScript in AirPlay
  
  Added TIME TO PLAY info for Array and P_Play buttons to the debug file (F10)
  
  Tracker now handles Voice Overs that are initialized but not actually recorded (empty VO's). 
  
  Tracker now properly plays Production Element based Voice Tracks that have a non-0:00 Head
  
  Initial loading and positioning of playlist at DAD startup (based on .RES file) corrected to allow for new Incremental Loading technique
  
  Playlist cuts at the end of a normal playlist now play correctly - were getting skipped.
  
  AudioCVT now supports these command line options
    AudioCVT outro.wav/E15.0/L15.0 outro.mp3  (to get 15 seconds of the end of the outro.wav audio file into outro.mp3)
    AudioCVT intro.wav/S0.0/L15.0 intro.mp3   (to get 15 seconds of the beginning of the intro.wav audio file into intro.mp3)
  
  DAD and CutServer changed to use ipWorks IP Socket communications.   
  
  CutServer now uses c:\dad\progs\Rebuild.exe when doing Rebuilds
  CutServer now has a "RE-INIT" button to load CutServer.ini settings without having to restart CutServer

  WatchDog updated to support the 7.4.0 Sentinel Key driver

-----------------------------------------------------------------------------
                       DAD 8.1a.165 (Jun.14.2008)
-----------------------------------------------------------------------------
  Added Library->RightClick->GotoURL  - opens a browser to the address specified in the URL field

  Added "caption" info to MiniArray buttons with Cut,Title,Length for blind operations using WindowsEyes. 
    Also changed the Tab Order of MiniArray buttons for same reason.

  Added Talk Time counter display to the Playback "pop-up"

  Added Auto Rec mode to Record Machines setup. 
    When enabled - pressing Next Recording will select a cut number, accept it, start REC and PLAY buttons to start recording as fast as possible. 
    
  Added Auto Unload mode to Record Machines setup.
    When enabled - pressing Stop to finish a recording will UNLOAD the cut making it harder to overwrite the cut just recorded. 

  Added support for the Digigram PCX HR-442 and 822HR audio cards in Digital Mode
  
  New/changed CFI options:
	[Library]
	Double_Click = MODIFY | EDIT | URL    (default is MODIFY)
	  Modify setting will cause a double click to open Library->Modify
	  Edit setting will cause a double click to open the Editor
	  URL setting will cause a browser to be opened to the address specified in the URL field

    [Playback X]
    Play_Counter_Size = Normal | Large
      default is Normal
      when set to Large - decimal seconds are removed and the Font size is increased 
      Counter displays are now BLACK 
    Swap_Counters = true | false
      default is false
      when set to true - Play Slot CountDown timer is swapped with Play Button CountUp timer
      
    [Array]
    Panel_Load_Delay = n      (n in milliseconds)
      default is 0
      when non-zero - DAD will stagger the reading of the 30 Array pages by this delay setting in between in each page.  This delay can help with slower PC's that are badly effected by Load User Setup while playing audio
      
    DRAGandDROP = 0 or 1 or 2 or DISABLED
      Default is 0 - for Default DragAndDrop Mode via RightClick on an Array Button set to Off
      1 - sets the default to MOVE
      2 - sets the default to COPY
      DISABLED - grays out the option and makes it inaccessible
    
    DRAGandDROP_WARN = true | false  (default is false)
      When false (default) DRAGandDROP works as it does now.  No message if user moves or copies onto a populated Array Button
      When true - user will get a message confirming the desire to replace the contents of a populated Array button
      
    [LIBRARY]
    Local_Display = FALSE    (default is true)
       Corrected - was preventing Quick Search from working properly
  
    [PLAYBACK]
    MINIMUM_SEGUE_LENGTH = milliseconds
    Default is 0.   Any Segue Length less than 250ms will be set to this length. 
    Allows user to control what DAD does if a Segue is too small (< 250ms). 
    Default has been 0 for (ever).  Now user can specify some other default segue length. 

    INCREMENTAL_LOAD_DELAY=500           (milliseconds)
    INCREMENTAL_LOAD_INCREMENT=300       (number of playlist events)
    INCREMENTAL_LOAD_MANUAL_LOAD=TRUE    (default is FALSE)
       Together, these three settings tell DAD to CHAIN or LOAD a Playlist - in sections  - allowing DAD to start using the playlist right away while the rest of the playlist is still loading. 
       CHAIN will use the delay/increment settings. 
       LOAD will only use the delay/increment settings if Manual_Load is TRUE
       Setting Increment to 0 will cause the entire playlist to Chain/Load at once (the old way)
    
    [SYSTEM]
    Flush_after_database_write = TRUE or FALSE
    Defaults to TRUE

    [RECORD]
    GROUP = EXISTING | SELECTED  
    Defaults to EXISTING.  When loading an existing cut into a RECORDER, the GROUP doesn't change
    When set to SELECTED - when loading an existing cut into a RECORDER, the GROUP changes to that currently selected in the Library
      
  New/changed DCL's:
     LIVELIST PBKx MASTER      
     LIVELIST PBKx APPRENTICE
     LIVELIST PBKx OBSERVER  
     LIVELIST PBKx RELEASE    
       Places the specified machine (includes AirPlay and MLOG) into the specified LiveList mode 
      
  When Editing MP2 audio files, DAD no longer has trouble deciding what kind of energy encoding is being used and is now "audio card independant" is determining which visualization technique to use
  
  Changed how DAD re-evaluates BRANCH Events after doing a playlist CHAIN. Previously, the Window of Opportunity for Branch events could have prevented a new Branch from firing if it was very close to the time at which the CHAIN occurred. 
  
  Corrected a problem with Stretch-n-Shrink (playtime adjusting) for ASI cards - was forcing Pitch Change - no longer does. 
  
  Clicking on MLOG from within ConfigPBK when MLOG is not enabled no longer causes problems.
  
  MPEG bit rates no longer show as double their real value
  
  When hiliting the Library->Search QuickSearch field - the entire field gets hilited making it easier to clear it for a new entry.
  
  Array and 4Play arrow buttons are now rectangular buttons making it easier for touch screen users to touch them.
  
  Rebuild now strips out "control" characters that could be misinterpretted as EOF, etc. 
  Rebuild now properly handles OLD BADCUTS_x_x.dbf database files that contain corrupted cuts it (rebuild) finds.  Older BADCUTS databases wouldn't have the proper new CUTS fields. 
  
  Copy to clipboard in Library when using this setting
  [LIBRARY]
  COPY_BUFFER_FORMAT=WIREREADY 
    now works correctly again
  
  Head Quick Start in automation machines now shows the TITLE in the popup window and it "remembers" the most recent position used 

  Corrected a problem with the ENDTALK column display in a Playback machine.  Was displaying the wrong field and was using 4 decimal places
  
  The UNLOAD button on a REC machine now properly hilites if there's a cut loaded. 
  
  Library->Reports->Exception reports now ignores playlist based Voice Over files
  
  Library->Modify on a Playlist Cut now allows the PLAYLIST button to open up the referenced Playlist. 
  
  Resetting the HEAD in the Editor while Playing will once again have DAD restart the playing from the new head
  
  Corrected a problem with Segueing into Chaining into a playlist 
  
  Setup->User is now Setup->SaveUser
  
  Setup->Groups->Edit->Filter field is no longer full of spaces - making it much easier to update the field
  
  Library->Purge now uses a new delete/purge index to tremendously speed up PURGE
  
  Changed the LOAD CUT RECx 'string' DCL to create a new cut using the current RECx "next cut" settings - and filling the AltCut field with "string"
  
  LiveList no longer floods LiveListServer with PacerBar messages when using AirPlay in MasterMode (was fine for PBK).  CutServer.ini should use 20ms for the EVent Processing Rate (old default of 300ms is too slow for LiveList) 
  
  AirPlay in READONLY mode now prevents dragging cuts from the playlist into the Trash Bin
  
  AirPlay no longer allows user to LOAD a "NOT FOUND" cut from the Playlist
  
  AirPlay REFRESH no longer resets to the top of the playlist
  
  Drag-n-Drop from playlist to AirPlay Play slots now properly supports cuts with VO's in them
  
  QUAD slots were looking for the START DCL cmd file in the Data drive - corrected to look in the Audio drive.  STOP DCL was working correctly. 
  
  Corrected the spelling of the "buffers pending" message in the DAD debug file
  
  PBKstate.ini Group filtering now works on Prev and Next events
  
  Group Range Lowest mode in Recording now properly uses CutRangeDefs.ini for generating a cut number

  When in DADpad mode using DADPAD_MODE = SPLIT which uses two miniarrays on the DADpad, DAD now displays the proper number of rows (5 instead of 6) in the mini-arrays. 

  AutoFill will no longer try to fill a playlist with 24 hours worth of material if it starts AFTER it's target time.  Used to attempt to fill to the same time "tomorrow".

  Library based Segue lengths are now calculated based on the earlier of the TAIL or the SEGUE-END points.  

  Changed how playlist Refresh works in Playback machines.  Some earlier improvements we made to Refresh in AirPlay didn't make it into Playback machines.

  Revamped the new interface to Smart Chaining within Playlist Modify.   This interface, originally created for StreamLine, now works for non-StreamLine users as expected. New documentation regarding Smart Chain added to online help.   

  Updated CD RIPPER to support new SATA CD-ROM and DVD-ROM drives in AHCI mode.
  
  FAILOVER now properly working - ASPLAY location was not being updated correctly preventing the FAILOVER from working
  
  Corrected a caching problem in 4Play that would cause DAD to get stuck in a loop trying to cache the 2nd cut in the playlist loaded - degrading PC performance and causing unnecessary network i/o (when running on a network)

  When a Soft Branch transitions out of a cut that has a VO attached to the end of it, the VO no longer plays. 

  When adjusting the Head of a VO in Tracker (using yellow handle), the VO now plays at the proper time.  Used to play at the start of audio - not where the Head was set. 

  Record Machines can now be paused (Rec Machine Pause button - or PAUSE RECx DCL) even if being controlled by a Timed Record List

  Corrected problems with displaying Japanese characters in Library->Add/Modify and Record Machine fields

  Improved Library "auto" refreshing within the ENPS environment (encolibview.ocx)
  
  CutServer Client library refreshes will only result in the Library Screen itself being redrawn (blinking) if the Cutserver update affects something currently displayed in the Library.  The Library refreshes are still being done - but the blinking will be dramatically reduced. 
  
  CutServer changed to support the new Delete/Purge index
  
  CutServer creates a local file "cs_hb.txt" every 10 seconds.  Useful for C/S sanity check.
  
  Changed how Library display behaves after doing a Search regarding how it handles displaying "new activity".   Used to be the possiblity of showing duplicate cut numbers. 
  
  Changed the way DAD deals with socket connections to CutServer. Upon a disconnect - DAD will retry to establish a connection before assuming the worst and reverting to Library mode.  The reconnect occurs with a random delay in case other DAD's are trying to reconnect at the same time.
  
  Rebuild was changed in 8.0a to strip out non-printable characters from the cuts database during a Unique Rebuild. This was an attempt to clean out corrupted data (like premature End Of File characters, etc.).  Rebuild now only strips out the EOF character (CTL-Z). 
  Rebuild 8.0b changed to support the new index for Delete/Purge
  
  Internal Note: 
	  Disabled an obsolete function that was checking for an old Error Code (-310) of the Code4 object
	  correction for potential problem dropping a cut into an AirPlay array when Full Array not enabled
	  added additional "showwindow" when DAD background is resized to be sure P_Play window is redrawn
	  added more events to Verbose Debug files regarding Loading and Saving User Setups
	  
-----------------------------------------------------------------------------
                       DAD 8.0a.95 (Apr.04.2008)
-----------------------------------------------------------------------------
  New support for LiveList added to DAD and CutServer.
    1) To automatically turn specific playlists into LiveLists:
      create %datadir%\dad\files\LiveList.ini like this:
        [wildcards]
        ????08AM=
        Gene*=
        *Nick=
        Da??*=

    2) Install and Run CutServer on the Server where playlists exist
        set these in CutServer.ini
        [Database]
        Location=drive where cuts.dbf is located
        Aux Location=drive where cuts.dbf is located

    3) Set these in %location%.CFI
        [Options]
        CutServer_IP_ADDRESS= address of machine running CutServer
        CutServer_IP_PORT = 8500 (default port CutServer listens on)
        CutServer_STANDALONE = FALSE 

    Any change to a LiveList now is seen by any machine that has that LiveList loaded - no refreshing required!

    LiveList also supports Master/Apprentice/Observer modes.  A single Master running a LiveList can now be controlled from any machine running as an Apprentice.   A single Master LiveList can be seen by any machine running as an Observer.

  New option for saving Group Filters in a User Setup.  This support was previously limited to Workstation based filters.  Setup->MiscDefaults now has a switch to enable this to be User Setup based.
  
  Added RightClick->Audition to all Array buttons.   Also added the Audition play event to Array Channel Assignments to allow these events to be set to Program/Audition and control which audio device to use. 
  
  New CFI settings:
    [SYSTEM]
    Shutdown_Execute_Program = progname.exe
    Shutdown_Execute_Program_Working_Directory = fullpathname
      Allows for spawning any program at DAD exit.  Handy for forced logoff of windows, etc.

    [EDITOR]
    AUTO_ZOOM = TRUE | FALSE      (default is false)
      When true - the Editor will open using a zoom level that will display the entire audio file (if possible)

    [LIBRARY]
    Local_Display = TRUE | FALSE    (default is true)
      setting this to FALSE will disable the copying of the library to the local machine for Refreshes - meaning DAD does everything using the Network based library
 
    [PLAYBACK]
    Log_History = TRUE | FALSE  (default is false)
      Turns off new History logging database. 

    [ASPLAY]
    Log_AltCut = TRUE | FALSE   (default is false)
      when true logs AltCut instead of Cutnumber
    LOCATION = drive:    (defaults to %datadir% - like F:)
      writes Asplay log to specified drive  (under \dad\asplay)
      ex:  LOCATION = C:      
      
    [DEFAULTS]
    Load_Command_Cuts = TRUE | FALSE  (defaults to false)
      when true will load command cuts into memory when a playlist containing them loads (reduces I/O for heavy command cut processing)
      
     
  Enhanced support for SeaLevel SeaI/O GPIO devices to include Serial and USB units. Added support for addressing individual Ethernet units by IP address. Also added support for additional daisy-chained units: 

    [EXTERNAL_DEVICES]
      REMOTE=SEALEVEL  xxx.xxx.xxx.xxx (for Ethernet devices)
    or
      REMOTE=SEALEVEL COMx (for serial or USB devices)

  New/Updated DCLs: 
     1) LOAD LIBRARY  
        loads the specified library location and name (as if pressing the View/Select Library button)
        ex:  LOAD LIBRARY F CUTS
     2) LOAD RECORD LIBRARY RECx  
        tells the specified REC machine what library location and name to use
        ex:  LOAD RECORD LIBRARY REC2 F CUTS
     3) DELETE EDL [ ] CUTID []
     3) DELETE EDL [ ] CUTID []
         libloc/libname optional
         resetCues optional and is TRUE if set to T, TRUE or RESET
         examples:   Delete EDL 12345
                     Delete EDL 12345 true
                     Delete EDL 12345 reset
                     Delete EDL [D] Archive 12345 true
                     Delete EDL [f] Cuts 12345
     4) SET [CUE] changed to allow for setting a specific time for that cue
        Supports special parameter "END" to set the cue to the END of the audio file
         examples:   SET FADEIN 0.0
                     SET STARTTALK 4.4
                     SET ENDTALK END
                     SET TER END
     5) LOG SKIPPED
        sends all the AirPlay->Skipped data to %datadir%\dad\logs\skipped.txt for external use
        
     6) UNDO AirPlay | PBKx | PLmod
        Same as RightClick->Undo for undoing the most recent change made to a playlist within the specified machine
        
     7) DELETE CUT dcl's now all support append [libloc] and [libname] to support Multi-Library based deletes
          Delete Cut 
          Delete Cut Expired
          Delete Cut Range
          Delete Cut Using
        example:  Delete Cut 12345 [f] cuts
        example USING file format:   F CUTS 00001-00022
                                     D Elton 12300-12300
                                     
     8) INSTATRIM and INSTATRIM RANGE dcl's now support LIBLOC and LIBNAME for MultiLibrary use
        example:   INSTATRIM 12345 -35 [f] Cuts
        example:   INSTATRIM RANGE 10001 10004 -35 [d] Elton
        Also corrected a problem with Instatrim Range that could prevent certains large ranges from processing properly. 

     9) SELECT MACHINE now supports the LIBRARY module
        example:  SELECT MACHINE LIBRARY
        
    10) SET MIXER CONTROL  ''
		Provides the ability to set individual control lines of any Wave Mixer visible to the DAD Mixer configuration utility. This command is similar to the Setup/Configure Audio/Audio Board Definitions, “Initialize at Startup” functionality but the DCL can be issued at anytime making it useful for dynamically changing input selections, presetting levels, etc. 
		MixerID starts at 0 and is based on the number of mixers and order presented in Windows. 
		The control assignment statement is the string created by the DAD mixer to set a control as desired. 
		Example: 
			set mixer control 0 ‘initialize_boolean_0_7_1=0b77’
			
    11) SET MIXER LEVEL DCL now supports the ramp time option. 
        Syntax:
		SET MIXER LEVEL 'source' 'dest'  []
		Example to fade Line In 1 onto Line Out 4 from it’s current level to 0dB in 1 second:
			SET MIXER LEVEL 'Line In 1' 'Line Out 4' 0 1000
                         
  Added a PLAY button within the CD RIPPER to allow the user to audition a hilited track directly from the audio CD.
  
  Added indicators to Playbacks, MLOG, AirPlay to show the status of Branching for that machine.  Branch symbol indicates ENABLED.  Crossed out Branch indicates DISABLED.  RightClicking the Branch symbol will togget it's state.
    
  Added two new data fields to the Library:
      SongID (10 chars)
      AlbumID (10 chars)  
      
  Added a new field to playlist databases
      OrderID (5 chars)    (int for SQL tables)
      Contains the natural order record number currently needed for WebPlist (browser based playlist modify)
      
  New feature for Sampling within the DAD Editor.  Set the [EDITOR] SEGUE_SAMPLE_CUT = SAME | cut#
    When you press SCREEN PLAY in the EDITOR (while in Segue Mode with the Segue Markers in view) - DAD will let you hear what that Segue would sound like.   Can segue right into the same cut you're editing by using the SAME setting - or preset a Cut# of your choice to always use for this sampling. 
    When specifying a cut - Use SEGUE_SAMPLE_LIBLOC and SEGUE_SAMPLE_LIBNAME to identify what library to use.
    Channel Assignments updated to let you control what device to use for this segue sample.


  New feature in the DAD Editor.   Hold the CONTROL key down while Rubberbanding (drawing a rectangle) and DAD will auto Zoom to display the section of audio marked

  New History database created and maintained by DAD (unless disabled with [Playback] Log_History=False).  Writes minimal entries for cuts played - for new History popup coming soon.

  Added READONLY mode to playback machines.  A READONLY machine can play/stop/pause a playlist or LiveList - but can no alterations to the list can be made.
    
  Added Column Controller to the REPOSITION PLAYLIST popup in MasterLog
  
  MasterLog->MakeUp button now properly repositions to the first skipped cut within the loaded playlist
  
  When MasterLog is not enabled on an EZ Module based machine - SETUP->MasterLog no longer exits DAD

  Improved the TimedRecord->CutPreRoll feature to actually start the recorder - but not start capturing till the RECLIST start time.  This makes TimedRecord starts more accurate. 
       
  Corrected a timing situation with DirectSound buffers.  In some cased DAD could skip over the filling of a buffer making it result in audio skipping backwards then forward as it played thru the "stale" buffer.  DAD now retries this buffer filling and logs problems to the debug file (if active). 
  
  Corrected some MP3 recording issues:
    Separated MPEG and MP3 recording formats
    MP3 recordings can now be edited
    MP3 recording now support instatrim
    
  Corrected a problem with the playback PACER BAR when using a DirectSound audio device and switching between AUTO and MANUAL modes
    
  Corrected a problem with the new Group Range Lowest (CutRangeDefs) recording option when using a Library Group to control the cut numbers a record machine will generate
    
  Corrected a problem with Library Reports of Selected Entries not listing anything
  
  Changed Library->Reports->Exception reports to ignore Playlist based Voice Track files

  Library->Reports->Exception drive list is no longer dependant on MLIB defaults
  
  Corrected a problem with Library->Modify->Format->UpdateRecord for MPEG cuts.  Was improperly setting the format to MP3 not MPEG. 
  
  Library->Add and Library->Modify screen made larger (800x600) allowing the longer fields to be more accessible
  
  Library->Delete now properly updates the QuickSearch database KILLDATE field (if "KILLDATE" is part of SCONTROL.DAT)
  
  If the LIBRARY window was displayed before DAD is minimized, it is now displayed when DAD is restored. 
  
  Added the ability for a User Setup to turn off the ALL group when viewing the Library.   In SETUP->MiscDefaults there's a checkbox to turn off "ALL"
  
  Added the ability to set a default Library Group to select when a User Setup is loaded.   See Setup->UserDefaults to control this.
    
  Corrected a problem with Playback State not properly creating XML streams for [GROUPS] specified in the PBKstate.ini file.   Was creating an XML for all groups - now properly creates for only the groups specified.   Related to this, DELAY events (which have no group) were being passed and are no longer.   If XML for DELAY events is desired, add "DADdelay=" to the [GROUPS] section.
    New section for PBKSTATE.ini will add  tag to Playback State XML output containing the variables specified
       [Environment Variables]
       Var1=
       Name=
  
  Corrected the SEND PLAYBACK STATE PBKx dcl.   Was not properly acting as a Playback State "trigger" - does now.
    
  Changed where the RE-PLIST DCL runs from.  Used to use %datadir%\dad\progs\re-plist.exe (like f:), now uses %appdir%\dad\progs\re-plise.exe (like c:)
  
  Corrected the Title in Playlist Reports so the playlist name properly displays when the [v1] variable is used witin the .rpg report writer file.
  
  Corrected a problem with the ALL HOURS checkbox in Adding/Inserting a Branch Event into a playlist.   The status of this checkbox was not being saved on initial creation and would only work after editing the branch entry in the playlist.
  
  Using a single ALL HOURS branch in a playlist now works.  Used to require other branch events to be there. 
  
  DAD now traps Shift-Escape so it no longer behaves as an exit.
  
  Corrected an issue with Quad Decks pacer bars "bleeding thru" to other quad decks of different pages which also changed the behavior of the LOAD/PACERBAR button of decks which may or may not be playing.
  
  Corrected an issue with Quad Decks not being able to handle a DCL that contained DPL
   
  Improved the CFI Setting: [PLAYBACK #] AUTO_POSITION to handle Change/Return.  Specifically when pressing RETURN - the Auto Position hilite bar is maintained properly. 
  
  When moving an EDITOR head/tail pointer while playing, DAD used to restart the play from the new pointer position.  This restart was inadvertently turned off and is now back on.

  When pressing the SpaceBar in the EDITOR to play/pause - the zoom level is no longer effected
  
  Changed the Touch Keyboard popup (double click on any data entry field) to allow for normal keyboard input
  
  Library->Reports->Asplay & Asplay2 reports and Copy are now supported in SQL mode
  
  Library->FullSearch window pull down lists now contains the KillDate field
  
  DAD now behaves properly after adding an expired/inactive cut into the playlist (with Start/Kill data switches active in Setup->MiscDefaults)
  
  Corrected an issue that could sometimes result in DAD just stopping because audio devices weren't available when DAD needed them to be.   The logged message was "Autocheck pending RESET!".   More info is now logged and DAD tries to move on.
  
  AirPlay could get into a mode where cuts could not be loaded and nothing could be played.  This occurred during a failure or error trying to CHAIN.  This condition has been improved to better handle the Chain failure/error and auto-correct itself.
	
  Corrected a problem in AirPlay (in Grayout mode) that would cause played cuts to change color to the NeXT TO PLAY color (instead of gray) after dragging cuts into the currently playing hour of a playlist.
  
  Corrected a problem in AirPlay (Drop Default Insert mode) when dragging a cut from the Library into a play slot - the last slot was bumping out but not into the skipped list.
  
  Corrected a problem in AirPlay not properly handling the loadig and clearing of NOT FOUND events from the playlist.
  
  When refreshing the playlist in AirPlay - the hilite bar indicating what's playing now (if playing) is now maintained.  Refresh used to clear it making it difficult to see what's playing within the list.   Other colors (skipped, completed) are maintained now as well.

  Added a RightClick on the AirPlay->SKIPPED List - sends all the skipped column data to %datadir%\dad\logs\skipped.txt for external use.  New DCL:  LOG SKIPPED does the same thing.

  Change the auto-refreshing of the Library when running as a CutServer client and some other client makes a Library change.
  
  Changed the CMDS.txt (DCL online help file) to properly describe the MODIFY CUT[/i] and MODIFY CUT[/i] RANGE DCLs.  The [/i] option processes the Modify request "instantly" rather than placing the request at the bottom of the DCL queue.   Also corrected the order of the ENABLE AGPO and ENABLE BRANCHING examples. 
  
  Improved some the cosmetic problems with graphics (pacer bar overuns, parts of buttons missing, button label colors, button consistancy, etc.)
  
  CREATE ROTATE (in main Playlist popup and RightClick on Playlist bar) now properly creates a Rotate cut from the selected playlist (was inadvertently disabled).

  Play a rotate cut that's full of inactive/expired cuts from within another rotate cut no longer stops automation.  DAD will play nothing, but follow the transition instructions. 
  
  The Library caching techniques added in 5.2d had an adverse effect on CutServer clients.   This has been corrected in DAD and CutServer (1.5f or later)
  
  Corrected an issue with an unexpected exit when using Tracker involving the playing of the Outro cut and the recorded VO
  
  Intro cut in Playback machines now properly follows the Level set within Tracker

  Command Cut Editor -> Raw Edit mode now allows up to 256 characters per line
  
  FAST-FORWARD and REWIND functions of the CUE machine now behave properly.  Was playing only normal speed with ASI cards. 
  
  Changed the PBK Pause button so it doesn't lose it's blue color and after counting down the Talk Time - it's label reverts back to PAUSE
    
  Enabling Array Stack Play and actually creating a "stack" of cuts now prevents LOOP ON from being used for anything in that stack
 
  Array Button Right Click options now grayed out when they are not available.
  
  User can now drag-n-drop cuts onto idle Array buttons - even while some other Array button is playing.
  
  When an Array Button is in Loop Mode - the letter "L" is appended to the cut number displayed in that button.
  
  Corrected a problem with LibView in Array so that the field selected for searching is the field actually used for searching
  
  Array Lib View now supports the DADpad device - number of buttons displayed now match DADpad buttons
  
  Corrected a problem with using Set Cues on Array buttons that could have resulted in some Array buttons disappearing
  
  When ARRAY is in PRESET assignment mode (setup->MiscDefaults), the setting for OneShot/Multiple is now used to control the PRESET button.
  
  Chaining to a large playlist (1000+ events) now Autoplays properly
  
  Top-Left button text no longer changes in response to GPI On/Off DCLs - unless set to GPI mode.
  
  DAD now supports MPEG on an ASI card that supports MPEG when the MPEG codec is not enabled in the key.

  The ripper now properly generates waveforms when ripping to MPEG
  
  Playlist Scan reports now properly find "inactive" cuts based on DOW settings
  
  Smart Chain for playlists is now accessible from within DAD Playlist Modify.   When adding or inserting a Chain event - within the list of playlistss are "Smart Chain" codes for the various types of Smart Chains available. 
  
  Smart Chains now properly uses three characters when using DOW  (MON, TUE, WED, etc.)
  
  Corrected an issue with the Record machine settings not allowing an MP3 selection to be changed
  
  Hook mode for Playback machines now changes the LENGTH displays for the cuts in the playlist and play slot to Hook Lengths. 
  
  Segue Editor now moves from cut to cut within an AirPlay playlist when using the Next function (just as it has always done in playback machines)
  
  DAD now turns on the padding bit for MPEG 44.1 recording when using a ASI 6520 audio card.  Without this bit set, DirectX machines could not edit the audio recorded (no waveform).
  
  ASCII Import of a DAD playlist now supports LibLoc (columns 133-134) and LibName (135-142) fields
  
  DAD now properly regenerates GUID's in the Library when using the command line:   DAD -guidfill
  
  FadeIn duration must now be at least 200ms.  
  
  Deleting an element from a playlist in AirPlay or any Playback is now logged in the debug log
  
  Corrected an issue with AGPO introduced in 5.2d (for Visiblu support) that prevented some AGPO's from not processing correctly

  Send Text x filename - now properly transmits the specified file

  Setup->CFI&ReadMe is no longer "modal" - you can control DAD windows that are open "behind" it. 

  Issue a DAD Command (Library->Command or DCL button) - Input Command string length has been expanded to support the maximum length DCL. 

  RE-Plist (8.0a) is now a 32bit console app.  It now has a method for checking to see if anyone else is doing a re-plist before engaging in updating the plist database.  It will now wait till any open re-plists are done before letting DAD startup.
  
  AudioCVT (8.0a) now has an AudioCVT.ini file to keep track of default settings.  This will allow multiple AudiocVT's on one machine to have different defaults (like one for DAD, one for Gateway)
  
  Rebuild (8.0a) now places date/time stamps on entries to the c:\dad\logs\*.RBL log files.  Also has a better procedure for handling the REopening of the newly created database that could have been an issue on marginal systems.

  CutServer properly purges deleted cuts.  Requires CutServer 8.0a or later
  
  CutServer now sends DCL's to DAD clients
  
  Initial support for Digigram visiblu Networked Audio System.
  
  Added native support for all Digigram "HR" and "e" cards: PCX22HR, PCX22e, PCX881HR, PCX881e, PCX882HR, PCX882e, PCX924HR, PCX924e, PCX1221HR, PCX1221e, PCX1222HR and PCX1222e. To utilize the full power of these cards, DAD 8.0a communicates through the Digigram HR Runtime driver. To enable this mechanism, the DAD CFI file must have ALLOW_DIGIGRAM=TRUE and DIRECT_SOUND=FALSE. 
  
  Corrected AudioCVT (now 8.0a) to properly handle converting "multiple" Dolby audio files.  Was only processing the first Dolby cut properly.  The rest were empty. 
  
  Changed security key access to support new 7.4.0 Safenet driver (AudioCVT 8.0a too).  ENCO recommends removing the existing Safenet/Sentinel driver with Add/Remove Programs, reboot, then install the proper 7.4.0 driver using c:\dad\drivers\Rainbow\7.4.0\setup.exe.   Also added registry setting for Sentinel driver to place it in the proper mode automatically.

  Updated CD/DVD rom driver (for ripping) to support new SATA CD/DVD drives

  Installers now combined into one setupENCO-xxxx.exe.  Includes: DAD, GateWay, DropBox, all utilities.
      
  Internal changes to:
    - strdup to allow for Sentinel bahaviour with malloc/free
    - library caching methods to reduce memory consumption
    - search processing problem that resulted from older temp search files from improperly being used
    - make updating of dadStations.ini a background thread
    - turn of DADstations.ini using [General] Monitor Logins = FALSE (in dadstations.ini)
    - very verbose audio debuggins using /DEBUGAUDIOPLAYBACK on DAD command line
    - no longer log DELAY stops
    - how branch events at 0:00 GMT get processed.  In some conditions that exact branch could be missed.
     
-----------------------------------------------------------------------------
                       DAD 5.2d.265 (Sep.22.2007)
-----------------------------------------------------------------------------
  Corrected a problem with support of PCI based GPI/O cards introduced in 5.2c
  
  Corrected a problem with AirPlay Chaining using an autoLoad and Segue transitions

  Enhanced the DCL added in 5.2c SET TRANSITION AIRPLAYx  to support the currently playing slot.
    Syntax: SET TRANSITION AIRPLAY    (note no slot number specified)

  Added 5 recently added fields to the CopyFields utility in \dad\progs
  
-----------------------------------------------------------------------------
                       DAD 5.2c.257 (Sep.14.2007)
-----------------------------------------------------------------------------
  Revamped how DAD interacts with a network based Library to minimize network I/O.   A local copy of the CUTS.dbf is created in C:\TEMP.   All displays of the library are now done using this local copy.   All writes to the database are made to both the local and the network copy of CUTS.dbf.   If a user wants to be sure to have the latest Library - use the Library->Refresh button.  Cuts hilited in the Library are no longer effected by the addition or removal of cuts before or after the hilite so you can be sure what you hilite is what you'll operate on.  Implemented a new caching technique to further minimize file i/o for activities like "mouse over" in library lists.

  Added new kind of Autofill for Playlists - called FILLCUT.  Allows the user to mark cuts as being usable as a "fillcut" by entering a category letter into the FILLCUT field for as many cuts as desired.  Then when specifying a FILLCUT start/end pair for autofilling within a playlist, cuts of the longest length found with a match of the category letter are used for filling wherever the "FILLCUT HERE" element is used (between the start/end pair).  This allows the user to control where the filling is done (AUTOFILL fills at the end of the existing elements).   The FILLCUT fields gets modified as cuts are used for filling to help DAD pick the least used cut first. 

  Added MPEG Layer 3 as a valid choice for Record Machine format settings.  May require an audio card or Software Codec capable of MP3 encoding.

  Added four new data fields to the Library (cuts database)
    ACTOR (60 characters)
    ACTRESS (60 characters)
    DIRECTOR (60 characters)
    LYRICIST (60 characters)

  Added the 4 new fields above plus Album and Genre to the Column controller list for Playlists

  Added new style of generating cut numbers.   Based on the CutRangeDefs.ini file - this mode allows cut number generation to be controlled by what Library GROUP the user has selected.
    Related to this a choice of Generate NO cut number has been added.  This forces the user to enter a number.

  Added support for COM ports above COM4 (thru 26) for the Broadcast Tools BTSRC32 serially controlled audio switcher

  AirPlay changes/corrections:
    1) corrected a problem that would result in multiple cuts in a playlist getting marked as loaded into the same Play Slot
    2) corrected an elusive CHAIN problem that could have resulted AirPlay just stopping
    3) corrected problems introduced in early 5.2c that resulted in very erratic overall behavior
    4) after toggling from Auto to Manual - user can now Right Click to Unload a slot
    5) toggling transition within the play slots in conjunction with toggling Auto/Manual now works properly
    6) you can now drag a cut from the library into a slot (replace) and then drag a cut into that same slot from the playlist.  AirPlay would only recognize the Library dragged cut.
    7) corrected a problem the prevented the playing cut from being hilited (in RED) in the Playlist
    8) AUDITION button (when used to audition a cut from the Library tab) now uses AirPlay AUTO Audition channel assignments
    9) Added RightClick->Editor and RightClick->Modify  and RightClick->View Library
       to the Library Tab elements
   10) SMART REFRESH (rightClick on a playlist element or the playlist bar) now supported in AirPlay
   11) corrected an error in Slot/hilite color changes.  Note that a USER SETUP save is required if changes are to be remembered from session to session
   12) dragging a playlist element to a lower position in the playlist will properly AutoCalc Time fields (if auto_calc = true, etc.) and will properly deal with the ondeck elements
   13) adjusting the horizontal or vertical window separators will now redraw AirPlay properly
   14) dragging a playlist element into the currently playing hour no longer clears the playing now hilite
   15) inserting a cut with RightClick->Insert or Move/Put now properly updates the TIME field in the playlist (when using auto_calc)
   16) dragging a playlist element to the first position after a Time Marker now properly updates the TIME field in the playlist (when using auto_calc)
   17) inserting a cut into the 23:00 hour (11pm) when that hour has over 60 minutes of material now properly updates the TIME field in the playlist (when using auto_calc) so that times over 23:59:59 can be displayed
   18) Changed the text of RightClick->Save Playlist to "Save Playlist As"
   19) deleting an entry from the playlist now properly updates the TIME fiels in the playlist (when using auto_calc)
   20) dragging a playlist element across a Time Marker now properly updates the TIME field on both sides of the Time Marker (when using auto_calc)
   21) when using the Slot Load Arrow to load an Expired Cut - DAD will no longer allow the load
   22) when deleting a playlist element just before a Time Marker - played cuts that were greyed out stay grey (were taking on the color of the currently playing cut
   23) corrected a problem when Chaining from anything but the bottom slot - was loading the next playlist - but playing from the slot below where the Chain processed from.
   24) corrected a problem with switching to Manual Mode and stopping a slot that started playing in Auto Mode
   25) corrected an issue that could occur if a finishing slot is trying to reload itself from the playlist while other slots are doing a SEGUE.  DAD was historically not allowing loads to occur during (or very close to) a Segue transition.  That restriction has been eased. 

  Added a display of the number of records in the current Library list at the bottom of the REFRESH button

  Added support for SLATE markers in Quad Players, Array and P_PLAY buttons.

  New CFI setting:
		[System]
		Check_for_DCL_Msg = true | false   (default is false)
     When set to TRUE - every 30 seconds, DAD will scan \dad\files\ for a file named %location%.DCL.  If it finds one - it will consume the file and process any DCL commands found within it.

  New DCL:  SET TRANSITION AIRPLAYx y    (x=slot#  y=transition(A,L,S,N)
     changes the transition on the specified AirPlay to the specified transition
     ex:  Set Transition AirPlay1 S

  Added to the DCL:  PLAY MINARx p r c (p=page r=row c=column). 
    Page can now be set to 0  (play minar1 0 r c) to tell DAD to play the button specified by r and c on the currently selected page. 
    

  CFI setting:  [Tracker] Waveform = OFF | False
     once again prevents the waveform from drawing (for slow machines) and has been changed to properly work on different audio cards
     
  Addressed an issue with playlists and Tracker production elements that would result in the prod element not playing. 

  Corrected a problem with REBUILD when running with no MLIB (multilibrary) files.   Rebuild would not properly create the daily backup library files
    Also changed rebuild to add new indexes for FILLCUT.

  The new field RECORDTIME is now fill at Record Start time rather than at Record Stop time.

  Added Cut Pre-Roll to preload the Record Machine early to allow for more accurate timed recordings.  This can be set on an individual record event basis or can be set globally in the CFI using [Defaults] RECORD_LIST_CUT_PREROLL=.   Ex:  RECORD_LIST_CUT_PREROLL=2000 will set the Cut Pre-Roll to 2.0 seconds (2000 milliseconds) on each record event added to a RecList.   Note that existing RecLists will need to be re-created.   This setting is NOT retroactive to existing RecLists or record events.  Also made some improvements to make Timed Records stop more accurately.

  Increased the Type Ahead string length when sorted by Title (or other Alpha fields).  Was limited to 4 characters and using more than 4 would ignore the entire string.

  Changed playlist type ahead entry to prevent non-existant cuts from being added/inserted into a playlist.  Example:  type 12345  and the cut 12345 gets added to the playlist (only if it exists).

  Corrected a cosmetic problem in displaying a DELAY event in a Playback Pacer bar.  Only the countdown timer was updating - not the pacer bar.

  Widened the Mixer Name list in Setup->ConfigAudio->AudioBoardDefinitions to make longer names easier to read
    Also added two checkboxes "WAVE"and "WDM/DX" to allow narrowing the list down to those kinds of devices.
    Also changed the way the Windows Mixer Names are read to allow for similarly named devices to be distinguishable.  For example - using two Innes Auricon boards is now supported.

  Corrected a problem with processing GPO's for Mixer defined audio boards

  Corrected the use of START DCL when played from an ARRAY so that it properly looks for the audio based on LOCATION.  DAD was improperly looking in the %datadir% (i.e. F:) so START DCL would not work.

  Corrected a problem with DoubleClick on a cut in mini-Playlist Modifier (PLMOD) to add it to a Playlist

  Corrected the ADD ALL button in full screen Playlist Modify (wasn't working when a group was selected)

  Corrected the ability to mark cuts for deletion in a Library Search results screen

  Group Tabs between Library and Playlist Modify screens now sync properly

  DAD now "remembers" the last Library size and position used in the User Setup (User need to Save the User Setup)

  Using the EDIT button from within Library->Modify and then doing a SAVE (in the Editor) will now update the head/tail point data within the open Modify screen that may have been changed in the Editor.

  Corrected the DCL:  DELETE CUT xxxxx  (was improperly returning a -1)

  Focus no longer jumps to a transitioning Playback machine

  These CFI settings now officially ignored:
     [Playlist]
     Refresh_Pattern_Matching
     Scan_And_Inject_Path
     Scan_And_Inject_Period
     Scan_And_Inject_Type

  Command cut files can now contain up to 1999 characters (spaces included)

  Improved Library refreshing within the ENPS environment so wrong cut numbers aren't selected when hiliting

  Corrected CutServer (now 1.5d) relating to a problem with it refusing new connections.  Now supports 128 connections (was 64)

  Added RecListGen utility to c:\dad\progs (and to ftp://ftp.enco.com/pub/win32).  This is a handy application to help create cuts and a DAD RecordList (RecList) suitable for loggin daily (24 1hour cuts) or weekly (168 1hour cuts).   For Monthly logging - create multiple weekly RecLists and reuse.

  Added RangeMove utility to c:\dad\progs (and to ftp://ftp.enco.com/pub/utilities).  This is a handy application to help renumber a range of cuts.

  Corrected an internal problem with the "auto_check pending" mechanism used by playback machines (and mlog/airplay).  It was occaisionally getting into a state that would simply stop automation and could prevent branch events from triggering as well.  DAD now detects and handles this state even more automatically.  A debug entry has also been added to log this auto detection event.

  Initial integration of the DADminAgent.  A service called DADminService is installed and set to Automatic startup.  It spawns a small application call DADminAgent (that shows up in the System Tray).   Both can be ignored for now.  They can be closed and even removed - but they will be reinstalled and started each time setupDAD is used. We recommend you just leave them alone for now.  They will become more useful in the future. 
  
-----------------------------------------------------------------------------
                       DAD 5.2b.175 (Jun.24.2007)
-----------------------------------------------------------------------------
  Added support for SeaLevel GPI/GPO devices (pci, usb, ethernet).
    After installing the device using SeaLevel procedures - use:
      [EXTERNAL_DEVICES]
      Remote=SeaLevel
    DAD will autodetect all ports created by as many SeaLevel devices you install.

  New DCL:
	  ALERT STACK ON|OFF   (default is OFF)
	Allows Alerts to be stacked up on top of each other (default is to replace any existing Alerts)

  Added more "Operator Event" entries to the debug log (when in Verbose mode only) (button presses, etc.) to help track operator activity when investigating abnormal DAD behavior.

  Pressing EDIT in Library->Modify when looking at a Command Cut (DCL) will open up the Command Cut Editor for that cut.

  Corrected an error in handling branch events set to 17:00:00.  Was an issue with Intelligent Next.

  DAD now allows the CC:CC:CC format (current time) as a valid branch time.  There was a valid time check added that prevented "cc" from looking valid.

  A problem with repeated loading of a playlists into any automation machine has been corrected.

  Corrected a problem with running a Library->Reports->Playlist report after doing a Search or changing the Library Group.

  The "default" checkbox for Default Library in Multiple Library maintenance is now remembered and used.

  Double clicking a cut within the Mini-Playlist Modifier no longer causes problems.

  Issue DCL Command window title changed to: "Issue a DAD Command (DCL)”
    Pressing "ENTER" in this window executes.   Pressing "ESCAPE" exits.

  Command Cut Editor window title change to: "COMMAND CUT (DCL) EDITOR"
    Pressing "ENTER" in this window saves.  Pressing "ESCAPE" cancels.

  The "Load List" button Timed Record changed to "LIST" and the title of this window changed to: "Record List"

  With AirPlay in Manual mode and Query Auto Drop enabled, INSERTING a cut into a slot above a playing slot, now prevents the user from doing it (just like Auto mode does).

  The PLAYED field in the playlist display of AirPlay will no longer show a predictive letter on comment lines.  Comment lines do not get loaded or played - so the PLAYED field of a comment should never have anything on it.

  Slot Prediction in AirPlay (letters in the PLAYED field) can now be disabled with this CFI setting:
    [AirPlay]
    Slot_Prediction = false

  DAD once again allows the user to drag cuts from AirPlays playlist to the Skipped Tab.

  Adjusting Head and/or Tail in CUES settings for Array buttons now properly saves both markers.  DAD used to require that both be set within CUES.

  Added 120,180,240 and 300 second support for Autofill playlists.  In CFI:
    Example: AutoFill120 = playlistname

  When using Type Ahead ahead in any Library List - user can now use ENTER, HOME, END, LEFTCLICK, or RIGHTCLICK to clear the type ahead buffer (to start over for example)

  XMLIngest (c:\dad\progs\XMLIngest), now handles multiple ingests and Smart Refreshes DAD's properly after doing multiple ingests.

-----------------------------------------------------------------------------
                       DAD 5.2a.159 (Jun.8.2007)
-----------------------------------------------------------------------------
  Added "Source PreRoll Time" to Timed Record Parameters.  This allows the ISx (switcher) commands to be sent X.X seconds ahead of the start of recording to give slow devices a chance to communicate properly.  Default is 0.0

  Added RightClick->HeadQuickSet to the Playlist Bar of Playback Machines to allow the quick setting of a Head point for the cut in the Play Slot (while not yet playing).  Similar to CUES machine but much more simple and only for HEAD point.   Displays time remaining as well to help back time a cut.   Available on QUAD slots as well.

  Added "drivelist" to inter-library move/copy for controlling LibLoc
    (where the audio files will get moved/copied)

  Added the ability to renumber cuts when moving/copying from library to library

  Added support for the Broadcast Tools SRC16 audio switcher.  Requires these settings:
     [SERIAL]
     COMx_INFO=38400 N 8 1    (x = com port #)

     [EXTERNAL_DEVICES]
     REMOTE=SRC16 x           (x = com port #)
     GPO_GPI=16 16 32
     GPI_REVERSE_SENSE=TRUE

  Finalized support for the new SET CHANNEL dcl:
    SET CHANNEL  [Px][Sx][Ox][Ax]
    Allows for redefining (setting) the Channel Assignments for its Playback, Segue, Over, and Audition events to any valid channel (x).
    You must specify the , but only the [events] you want to change need be specified.  This provides more complete channel control than the Set Device dcl.

  Revamped pacer bar displays (play progress bar) to better match the buttons they reside in

  New CFI:
      [ASPLAY]
      Include_Multilibrary_Fields = FALSE
    default is FALSE - write Asplay files without LibLoc and LibName fields so legacy systems can read them without alteration

  StartDCL and StopDCL introduced in 5.1a now support non-Playback style machines (Quad, Array)

  Updated Playlist Popups to match the new style buttons introduced in 5.1a

  Editor->Save->Save (cues) now properly generates StreamLine cut Update message (length changes now get into PowerGold correctly)

  Editor->H/T List now properly plays head/tail entries in the list

  Enhanced Playback State (PBS) to support filtering by triggers, groups and minimum length.  \dad\files\PBKState.ini now supports these:
      [Config]
      Min Length = x.x   (seconds)

      [Groups]
      Songs=
      Music=
      ; etc. etc.

      [Triggers]
      PLAY=
      ;STOP=
      ;NEXT=
      ;LOAD=
      ;UNLOAD=
      ;ADD=
      ;DELETE=
      ;INSERT=

    These settings allow the user to minimize how much Playback State (XML) data is created and sent.   The defaults (send everything) can overload easily.   ENCO HIGHLY recommends using these filters! This controls both the creation of the XML file and streaming of the XML data.

    Also corrected PBS to support AirPlay in MANUAL mode

    Also added the ability to specify a PBKState.ini file for each DAD workstation.  Using CFI setting:
        [PLAYBACK]
        State_INI_File =  c:\dad\WXYZ.ini
      If not specified - DAD defaults to %datadir%\dad\files\PBKState.ini
      If no PBKState.ini file is found - PLAYBACK STATE will not work!

    Also corrected a PBS triggering problem if multiple DCL's were issued at the same time.  Example:   PLAY PBK1:AUTO PBK1 would properly start PBK1 playing, but would not trigger the PLAY PBS. OK now.

  Setup Screen rearranged to remove some of the Legacy buttons. Save/Run, Save/Stay, and Accept/Run turned into one RUN DAD button.   Save is now embedded into the current User Setup button.

  AirPlay corrections:
    1) FULLAUTO now reverts to Normal if user intervenes with Auto/Manual or changes transitions
    2) When Semi-Independant slots are used - LIVE mode is forced on
    3) When playing a Semi-Independant slot - Auto/Man is now set to LIVE
    4) Loading a Semi-Independant slot (with the Load Arrow) no longer forces the playlist position to be CHANGED.  User can now RETURN as expected
    5) Corrected the Config checkboxes for enabling/disabling the DCL buttons
    6) MANUAL mode now supports Playback State (XML)
    7) AutoDrop is now automatically enabled when choosing DropDefault mode
    8) Query Auto Drop and Drop Default can not be selected at the same time
    9) When using the CUES machine in AirPlay - the Selected Cut is used
   10) When using Semi-Independant slot now automatically sets Live Mode
   11) Corrected a problem with emptying then trying to reuse USER TABS
   12) Corrected a problem that resulted from drag-n-drop into a UserTab in the Library Panel
   13) Groups selecting (tabs or list) corrected in SQL mode
   14) Corrected a problem in processing Hard Branches - in some cases it was simply ignoring the Branch

  Using Full Screen Playlist Modify (Library->Playlist) is now supported even if no Playback Machines EZ Modules are enabled.

  Corrected a problem with CutServer clients not getting the right cut if some other client was adding records to the Library

  Improved text field editing (Home, End, Ctl-C/X/V, Shift Arrows, etc.)

  Time in scrollable lists now display as h:mm:ss.x or mm:ss.x instead of decimal seconds

  Added calculated Segue Length Display to Playlist lists (SegueLen minus SegueStart) displayed as mm:ss

  Added fields to Library for RecordTime

  Added EDIT button to Library->Modify

  Added MODIFY button to the EDITOR

  When a cut that has URL/BILLBOARD data is Auditioned - that data is sent to the Script machine

  Improvements to Phonetica interface.  Only runs as client to PhoneticaSvr now.  Support for simultaneous searches from multiple workstations

  Corrected a problem with Editing right after doing a recording that could result in instability

  Corrected the setting of the mode of the EDIT button within the ENPS DAD Library interface to utilize the settings for the Library->Edit button in the CFI

  Corrected a problem with the REFRESH button in the ENPS DAD Library interface to properly handle resizing ENPS windows

  Changes made to support SQL again (new database close routines, new sorting, multilibraries, reclist support, Chaining, etc.)

  Added the ability to execute an SQL command.   While displaying the main Library - use the ALT-S keystroke to open the SQL Command window.  This will be enhanced in the future to allow for more complex commands and external SQL scripts.

  Corrected a problem in the XMLIngest utility that would result in the inability to function after ingesting XML files for about a week

  Corrected a problem when issuing the PLAY Array/Minar DCL - when the target array page was different from a currently displayed page was resulting in the blinking and countdown of the wrong button on the wrong page

  Add/Edit Branch Events windows now checks for valid times

  Playbacks 5 thru 16 now support the CUES machine

  Corrected a problem with:   Clear_Active_Data_On_Record=True DAD was clearing out the Active Time and Kill Time but not the StartDate or Kill Date - OK now

  Corrected the buttons on Timed Record to have increasing the time pointing to the right

  Corrected a problem with playing Voice Overs created in Tracker.  In some cases the VO was not playable or displayable.

  Corrected a problem with the Library->Reports->Exception report that would fail to report some stranded audio files

  Reformatted the Library->Reports->Exception report to properly handle the increased length of the Title field

  Corrected a problem with saving Cart Chunk data for PCM24 audio files

  AddCart utility (in c:\dad\progs) now supports PCM24 audio files

  Corrected a display problem in the CUES Machine.  The SET HEAD and SET TAIL timers were not properly showing the time set by the user

  Corrected a problem with Type Ahead (jump to) in Library Pop-ups when sorted by Title

  Added minimize buttons to the Library Popup screens

  Corrected a problem with the Cancel playlist saving (Refreshing after making playlist changes).   Was forcing the refresh and not allowing the user to save the changes.

  Corrected a problem with REFRESH  that could result in doubled up playlists...

  Corrected a problem with Type Ahead (jump to) in playlist modify when sorted by Title that was interpretting the Title typed as a cut number and improperly trying to add that to the playlist

  Corrected a cosmentic problem in MasterLog that resulted in the START button improperly changing to a stop mode shape during a Superplay

  Corrected a positioning problem in Masterlog that would result in the playlist position getting changed when trying to open Tracker on one of the slots (with CHG/RET not indicating or asking for a change)

  Removed the method that allowed for clicking on a title bar button for a window NOT in focus.  Was having a side effect of popping up windows on their own (like help, column controller, etc).

  Corrected a problem with Consume Cuts mode for Playback machines. When a cut is stopped manually, the cut was deleted from the playlist but improperly left in the play slot.   Manual stops no longer consume.

  Using Control-Enter and Shift-Enter keystrokes are now trapped and mapped to Alt-X (DAD Exit).   Proper prompting for Exit now provided.

  Changed REBUILD (\dad\progs\rebuild.exe) to add new library fields (like RECORDTIME) in such a way that older versions of DAD will still run properly

  Preliminary Internal "reindex" support added for:
     All, Cuts, Groups, Plist, Search, CutSec
     Examples: ReIndex ALL,   ReIndex Cuts
     MLIB examples: ReIndex Cuts F Rock, ReIndex CutSec F Rock
     This could elimintate the need for Unique Rebuilds

-----------------------------------------------------------------------------
                       DAD 5.1f.66 (Mar.7.2007)
-----------------------------------------------------------------------------
  Added UDP support to SEND TEXT x FILENAME.   Note that UDP has a maximum transmission size of 4095 bytes.  If Filename is larger than 4059, the Send Text Filename will not send

  Added support in CD RIPPER for CD's with the same DISCID.  These ID's were supposed to be unique (in the world), but are not any more.   If the track info doesn't match - you can now select the CD from a list of CD's that have the same DISCID.

  Changed the ENPS Library View (ENCOLibView.ocx) to properly support:
    a) Cuts added by CutServer
    b) New REFRESH button in that interface
    c) The use of Group Filtering to limit the number of Group Tabs a user sees

  Corrected the "COPY ASPLAY" dcl.  Was causing DAD to shut down

  Correctly restoring the state of the new TOPLEFT Button control at DAD startup.  Was added in 5.1e via SETUP->MiscDefaults

  Dragging cuts in the Library into a Group Tab now generates proper StreamLine messages for ALL cuts dragged.  Was doing just one message for the first cut

  Cut/Paste button in the Editor text changed to fit within the Button

  Setup->ReadMe->ENCO now points to \dad\help\contact.htm (ENCO contact info)

  Corrected a problem with turning off DEBUG/VERBOSE mode checkboxes in F10.  Was causing DAD to shut down

  Corrected a problem with Editing an MPEG cut in zoom scales less than 5sec

  Corrected a problem with AutoRecalc of cuts in a playlist immediately following a TIME MARKER.   The TIME MARKER is now properly used as the "base" of time for everything following it.

  Corrected two problems with AirPlay and Branching and Next to Play
    1) After a Branch occured it was not reloading the slots properly
    2) Load Order (event marked as loaded, etc.) was wrong

  Setup screen now has "X" to close (was "-" minimize)

  Setup copyright box now has a link to http://www.enco.com

-----------------------------------------------------------------------------
                       DAD 5.1e.422 (Feb.26.2007)
-----------------------------------------------------------------------------
  Added icons to machine title bars to allow easy access to:
    a) Channel Assignements (use musical note icon)
    b) Machine Configuration (use diamond shaped icon)
    Notes:
       the "C" icon is for the Column Controller added in 5.1d
       the "?" icon is for online help for that machine
       the "-" or "x" icon is to minimize or close a window
    Improved access to these icons so double clicking no longer necessary

  Added Mouse Over "tool tips" to the small and large Machine Pickers to help new users get accustomed to DAD Machine names

  New CFI settings:
    a) [Playback]
       Branch_Defeat_Delay = x    (x in seconds)
       waits X seconds after any branch before doing another branch
    b) [Serial]
       COMn_INFO = 9600 N 8 1
       IO_n = X            (X = com port #)
       Heartbeat Port = X         (X = com port #)
       Heartbeat String = blah blah
       Heartbeat Period = Y       (Y in milliseconds)
       Every Y milliseconds DAD will send the String out Com Port X (as defined by IO_n and COMn_INFO)
    c) BACKGROUND_WAV_PROCESSING = TRUE (the default)
       When using a non-NP (digigram), non-DirectSound audio card (most likely using a WAV driver only), on older non-hyper threaded machines.
       This should be set to FALSE.
    d) [EDITOR]
       SIZE = Small, Medium or Large
       Allows for three different size EDITOR screens users can use based on screen resolution
    e) [SYSTEM]
       User_Setup_Recalls_Array_Pages = true | false (default is true)
       Controls what pages Arrays are set to when recalling a user setup.  By Default the pages that were displayed when the user setup was saved are displayed.
    f) [RECORD]
       Clear_ActiveKill_Data_On_Record = true | false (default = false)
       When true - recording over an existing cut will clear the Active and Kill Date/Time fields

  TopLeft Button of DAD's top row of buttons is now User Setup based.
    Control for this can be found in Setup->MiscDefaults->TopLeftButton
    Default is now main Online HELP Index.  Choices are:
        Online Help
        Security
        Recall User Setup
        Issue a DCL (command)
        GPI On|Off (what was there for years)

  AirPlay Changes:
    1) Added Group Tabs to the Library Panel making it even easier to select a Group

    2) Added a larger space between the AUTO and INDEPENDANT slots

    3) New Mode:   FULLAUTO
       Places the specified machine into Absolute Automated mode - ignores all autoLoad and Normal transitions (making them Segues).
       Handy for emergencies. Accessed with RightClick on the Airplay->Playlist bar as well as this DCL:  FULLAUTO AIRPLAY on|off
       When active - the word FULLAUTO displays in the Title Bar and autoLoad events turn from RED to PURPLE in the pacer bar.

    4) RETURN AIRPLAY dcl now working properly

    5) Audition Buttons now displays what it's playing when used

    6) Clock now uses a normal font (was old stlye 7 segment LED)
       Added Day and Date to the bottom of the Clock

    7) Config now allows either Mini-Array 1 or 2 to be "attached" to
      AirPlay and displayed in any available space below the lowest Play slot.
      Very useful when only uses a few slots in AirPlay.  More "attachable" machines coming...

    8) Script paneL supports sending text using the special port "98".
      Note: normal Script Machine is port "99".

    9) Revamped support for Hard Branch Events.   They now properly
      support superplaying as Playback Machines do.
      Example: Hard Branch uses SuperPlay time settings to fade out currently
      playing event while segueing into the event following the Branch.

    10) Corrected CHAIN events.  They were not properly loading the
      chained to playlist.  Especially when playing from other than Slot 1.

    11) New Channel Assignment numbers within the Play Buttons now properly
      display when using Unique Channel Assignments

    12) Added NEXT PLAY to RightClick on a Play Slot allowing the user to
      control what the next to play slot will be when using the PLAY AIRPLAY
      DCL (which will play the flashing slot).  This NEXT PLAY function
      will "flash" the selected slot.

    13) Corrected a problem that resulted in the next slot to play to move
      from slot to slot after using an independant slot

    14) Corrected a problem with Auto/Manual modes getting confused and
      operating backwards

    15) Corrected a problem with the Cut and Transition column widths not
      get saved properly

    16) Timers (clock and over/under display) now use transparent background
      making these displays easier to read

    17) VO box (under the transition box) in Auto Slots only displays if
      there is a VO attached to the cut in that slot

    18) Elements in the ASPLAY tab can now be Auditioned and dragged

    19) Added FilmTitle to the displayable Playlist fields

    20) Corrected a problem with how Situational Colors were updating
      relative to the actual "situation" with Auto Slots.  Also now preventing
      Situational Colors and Group Colors choices from being selected at the
      same time.  One or the other, but not both - or both off.

    21) Corrected a problem with how Soft Branches load cuts into the next to
      play slots.   Wasn't replacing - but the playlist was getting properly
      positioned

    22) Corrected a problem when switching betwen Auto and Manual modes when
      a cut was already playing and reloading an upcoming slot and then
      returning back to Auto mode.

    23) Added support for the MANUAL AIRPLAY and AUTO AIRPLAY DCLs

    24) Corrected a problem with the NO REPLAY option that could result
      in skipping one playlist entry

    25) Corrected a problem with the ON PLAYLIST END option that could result
      in being able to load with drag-n-drop (shouldn't be able to) when reaching
      the end of a playlist

  New SETUP->MiscDefaults Switch:   DAY PARTING
    Default is "ON" - DAD uses Start/Kill Times as it always has -
      independantly from Start/Kill Dates.  Times simply indicate what
      hours of any day a cut can play.
    When "OFF" - DAD links the Start Time to the Start Date and the
      Kill Time to the Kill Date to create a date/time to start and
      another date/time to kill a cut

  New utility "XML Ingest" - lives in c:\dad\progs\XMLIngest - removes
    the SCAN_AND_INJECT process from within DAD so it can run on any
    PC on the network without straining any DAD.  Used for automatically
    scanning a folder for an ENPS or RCS formatted XML file and creating
    a DAD playlist from it.  Also supports SMART REFRESH to tell any DAD
    using that playlist (if it already existed) to refresh.

  Shift-F7 now displays the users actively running on the current
    DAD database

  Finalized SMART REFRESH support:
    a) %datadir%\dad\files\REFRESH.ini contains list of workstation names
       you wish to be "smart refresh" recipients
       Example (equal signs required):
		 [Hostnames]
		 FMOnAir=
		 AMonAir=
		 Prod1=
		 Prod2=
       It is HIGHLY recommended that you create a HOSTS file so these names
       will be easily resolvable to IP Addresses.
         for WinXP:  c:\windows\system32\drivers\etc\hosts
         for Win2K:  c:\winnt\system32\drivers\etc\hosts
    b) Use [Defaults] Refresh_File_Type = 0 in the CFI to specify IP addresses
       in the Refresh.ini file instead of Workstation names
    c) Added RightClick->SMART REFRESH to playlist bar and playlist events
    d) Doing a Smart Refresh first saves the current playlist then sends
       refresh message to all address in the refresh.ini file.  If a
       receiving workstation has that playlist in use - it will get
       refreshed (AND ANY CHANGES MADE BY THAT WORKSTATION WILL BE LOST!).
    e) Use this chargeable feature with caution!  It was designed for one
       user to make and save changes and automatically refresh other users
       of that playlist.
    f) Playlist_XML_Ingesters automatically send SMART REFRESH messages
       when an XML creates or updates a playlist

  Multi-Library changes:
    a) Record Machine now uses the MLIB database Drive
       settings to look on drives for CUTS directories.
       If it exists - it will be shown in the CUT Location pull down.
       (in Record Settings).  Example:  The NICK library is set for ALL
       drives in the MLIB database. It will look an ALL drives for CUTS
       and display those letters in the CUT Location field.
    b) LibLoc field in Cut Security now follows the drives set via the
       MLIB database
    c) ReWrite Audio Location Field now follows the drives set via the
       MLIB database

  Internal change to Playlist databases.  Now supports "Smart Chain"
    Chain Field:   YMMDDxxx    Rotate Field:  +1
    Chain Field:   YYMMDDxx    Rotate Field:  +1
    Chain Field:   MMDDxxxx    Rotate Field:  +1
    Chain Field:   DOW         Rotate Field:  +1

    Replaces the date wildcards with today - uses the value in the Rotate
    field to calculate the new playlist to Chain to (tomorrow)

    Example: if today is Nov 14, 2006 - the Chain wildcard YMMDDxyz
    would expand to:   61114xyz       Using Rotate Field: +1
    The Smart Chain playlist would be 61115xyz
    This is currently only available via StreamLine or manually changing
    the playlist databases.  It will eventually be supported within DAD's GUI

  Added NORMALIZE to Record Machines (including Trackers Recorder)

  Record Machines now stop recording if the audio files reaches WAV header
    limits based on format/samplerate/mode.   Limit is generally 2GB which is
    appx 4hours for PCM16/44.1/Stereo.

  LOOP Field for Cuts - T or F (T now loops the cut using Head/Tail - used to
    use HookStart/HookEnd)

  The GPO commands:
    ANY_PGM_START, ANY_PGM_STOP, PGM_START, PGM_STOP now support PBK5 thru PBK16

  Changed the APPEND RECLIST DCL as follows:
    a) New Parameter   /DAYSxxxx
       i.e. APPEND RECLIST /CUT12345 /DAYS135
       adds cut 12345 to the current reclist and activates it for Days 1,3,5
       where Day 1 = Sunday
    b) Default if /DAYS is not specified is all days are activated
       Old default was no days activiated - making the DCL fairly useless

  "PLAY QUAD1" from within QUAD1 is now trapped and ignored

  Full Array size and position now "remembered" after minimizing and/or
    restarting DAD

  Array "Page" selection up/down buttons made larger to make it easier for
    touch screen users to press them

  Playlists now support RightClick->Copy/Cut of all hilited events for
    copy/paste elsewhere in playlists

  Changed Full Screen Search mode to make "Exact Match/Sounds Like"
    choice more obvious

  DoubleClicks on list lines are now configurable on a per machine basis

  RightClick on the DAD desktop to pick a machine now shows it's "state":
          Idle/Empty     Idle/Loaded     Playing

  DAD now handles changing groups without waiting for the PLEASE WAIT to
    close.  Used to leave the user with an empty Library.

  Title Bars of Playback and Quad Machines now indicate "HOOKMODE" when
    that machine is set to Play Hooks (set hookplay PBKx on)

  Lengths of cuts loaded into a machine in Hook Mode now displays the
    hook length instead of the Cut Length

  Modifying/saving cuts after having done a search is now properly saving
    the data modified

  Widened the Record and Kill Date fields in the Record Machines to handle
    the new larger font

  TAMS now properly supports editing recorded TAMS cuts again

  Opening up the Setup->TAMS list no longer takes forever...

  Mini Playlist Modify window is now resizeable

  When dragging a cut in Full Playlist Modify from the Library side (left)
    to the Playlist Side (right) would not display the tenths of seconds
    in the Length field - corrected

  When Closing Full Playlist Modify with the "X" on it's title bar, the
    LOCK file used with LOADED_WARNING = true is now properly deleted.

  Corrected a problem with Fading out using Direct Sound devices.  Wasn't
    fading all the way out.

  Corrected a problem with CUE machines not playing backwards when using
    Direct Sound devices.   Counters weren't displaying correctly either.

  Corrected a problem with Editing and Rewriting 6 channel (surround) cuts.
    Incorrect channel info was being placed in the Library (00 instead of 6)

  PAUSE button graphic "||" on Playback machines no longer disappears after
    using it.

  Corrected problems with editing MPEG Layer 2 32000 audio files.
    Lengths were doubled and waveform graphic wasn't displaying correctly.

  Corrected a problem with displaying the very end of a cut in the Editor
    if it had an EDL (Cuts/Pastes).  Couldn't get all the way to the end.

  Corrected a problem with cuts added via CD Ripping disappearing from the
    library

  Changed the CD Ripper as follows:
    1) Modify After Rip settings now defaults to OFF
    2) Checking RIP ALL TO SINGLE CUT now selects ALL cuts
       specify a cut # on the first track (and UPDATE)
       ALL tracks will then be ripped to that cut #
       There is no support for ripping "multiple selected" cuts to a single
       track. It's RIP ALL to Single Cut.

  Library->Modify->Cut (for Copy Cut) - now utilizes the new longer length
    text fields (was truncating the 60char fields to 24).

  ENPS Library interface changes/corrections:
    1) now has the Search/Edit/Modify buttons again.  This supports cut
       number type ahead as well.
    2) now properly supports drag-n-dropping cuts into an untitled script
       (first one used to not get added to the rundown based playlist)
       Requires using the new ENCOMOSList.exe in c:\dad\progs\ENPS Support
    3) now supports being a CutServer Client (assuming the host DAD that's
       running is a CutServer Client
    4) follows group tabs settings as per Setup->MiscDefaults

  PLAYLIST_SCAN_AND_INJECT_PATH changed to wait 3 minutes at DAD startup
    before processing any existing XML files (was causing startup problems
    processed before DAD was "ready")

  Corrected Trackers Auto-Save function so the voice tracks won't move

  Issuing the DCL:  PLAY PBKx no longer returns a -3 code if that machine
    is already playing.

  The PLAY and PLAY ALL buttons in the Cut/Paste List in the Editor - now
    countdown as most other play buttons within DAD

  New installations of DAD now get the Factory Default settings as per the
    new Column Controller

  Fixed the MAX parameter on the RECORD RECx dcl.  Uses a value in seconds.
    Example:  RECORD REC1 MAX 10
    This starts record REC1 and will stop automatically after 10 seconds

  Library->Purge now indicates how many cuts will be purged from the library

  Corrected a problem with the Library display that would result in a
    hilited cut changing just before clicking - especially after changing
    sort order or group change

  The F10 debug screen has a new checkbox to enable the more extensive debug
    file. This checkbox gets "remembered" between restarts.   There is also
    a View Debug File that opens the current debug file
    c:\dad\logs\%location%.dbf with Notepad.

  New Debug entries added:
        Edit, Purge, InUse, Searches, Reports

  New Verbose Debug mode added.  Enabled in the F10 debug screen
    adds more details about Play and Fades to the debug file

  Debug entries for playlist saving now only display when the result is
    non-zero.  This will reduce the "good errors" entries in the log

  Debug entries for WAV based "underruns" are now referred to as
    Zero Buffers Pending.   These weren't really underruns as they are
    with Digigram based audio.

  Changed the way DAD handles changing from Auto to Manual or Manual to Auto
    modes.  Used to cause inconsistant fades, premature audio endings, etc.

  Corrected a problem with Voice Tracks introduced in 5.1d where voice over
    files were named with only even numbers (.002  .004, etc.)

  Corrected the MODIFY CUT nnnnn STARTTIME 'xxx.x' DCL.  Was invalid - now OK

  Cuts marked for DELETE now show up in Playlists and Buttons as "DELETED"
    (regardless of Start/Kill Date control switches)

  Modified handling of play start/duration and fade start/duration to improve
    audio driver control during changes between auto and manual mode. Currently
    only implemented for “old style” (non-tracker) segues.

  Added the Trash Can to the DAD desktop now accessible in NON-EXPERT mode

  The POSITION field in the PBK deck under the Cut Number and Length now
    shows up to POS: 999 (was only 99)

  Corrected a problem with recording MONO cuts via Timed Record (left only).

  Corrected a problem with bad data getting written to the FileCheck field.
    Changed method to writing Character data into the FileCheck field instead
    of integer data.  Fill_FileCheck utility in c:\dad\progs changed as well.

  Changed how DAD handles a SUPERPLAY when requested at the end of an
    autoLoad event but just before the next cut loads.  Used to ignore the
    Superplay request because DAD wasn't done "ending" the playing event.

  You can now RightClick on the DAD Desktop where the words display:
    "Right Click or double click on background for machine selection"

  Corrected problem with STOPDCL embedded into cuts.   Wasn't executing
    the DCL (cmd) when Segueing

  Corrected a problem with Script Machines displaying HTML files

  Corrected a problem with Recording a Voice Track (with Tracker) out of a
    Rotate Cut

  Asplay now properly logs Rotate Cuts when played from a Quad deck.  The
    actual cut that played is logged - not the Rotate Cut.

  Rotate Cuts now support non-numbered "E" type DCL events

  Added LibLoc and LibName to Asplay database output to support
    playing from Multiple Libraries.  Also increased the size of the Title
    field to 60 characters to match the increase in size in the CUTS.dbf

  LibSend.ini (for Send To Gateway Location support) now supports up to 24
    locations.  Max used to be 12.

  When [Playback] Time_Marker_Stops_Auto_Calc = true and
    [Playback] Auto_Calc = true
    DAD will now recalc scheduled times in a playlist using greater than
    60 minutes per hour (like a PowerGold Clock does).  This will make it
    much easier to overprogram playlist hours.   i.e. 02:68 - not 03:08

  Date Fields now have better validation filters to prevent invalid dates

  Corrected a problem when DAD tries to Chain to a playlist that doesn't
    exist.   Would get DAD into a unplayable state.

  Hex support in Send Text now supports using a small "h".  Used to require
    upper case "H".   I.E. both [h23] and [H23] will now work.

  The STOP PBKx DCL will now properly stop a playing TIMED EVENT

  Added a check box in the Audio Board Definitions screen to allow for enabling
    the padding bit if an audio card (such as ASI6514) requires it.  Some cards
    require this padding bit when recording MPEG at 44.1K

  To make it easier to access popular ENCO utilities, setupDAD-xxx.exe now
    adds to and maintains the following folders in c:\dad\progs
      XMLIngest
      Repeaters (IPRepeater and XMLRepeater)
      Wheatstone (Console and Router)
      SAS (Console and Router)
      Logitek
      DepotMonitor
      ENCORE
      SoundExchange
      CutServer
      UniversalTranslator
    For information on any of these utilities - contact ENCO

  Changed CutServer (1.5b) to ignore backslashes set on the Drive Location
    in CutServer.ini

  Changed CutServer (1.5b) to properly handle DAD's not running in CutServer
    Client mode.

  Corrected DAD to properly reload RES file data when changing from Library
    to CutServer Client mode

  Corrected AudioCVT (now 6.8) to properly handle converting Dolby audio
    files via command line (typically from batch files)

-----------------------------------------------------------------------------
                       DAD 5.1d.283 (Oct.10.06)
-----------------------------------------------------------------------------
  Added "Column Controller" icon ("C" on the title bars of screens with lists)
    This controller allows for much easier setup of columns.
    Factory Defaults are just a few narrow columns of data.
    Note - when adjusting field widths within the new control - press
    the column header after adjusting the width of that header...
    In windows with two lists - touch anywhere in the list you wish to change,
    then press the "C" to open the column control for that list

  Added "Time Remaining" option to Configure AirPlay.  When enabled
    this "backtimer" will display the over/under times for the currently
    playing hour.  Will display the total time of other hours within a
    playlist.   Depends on the use of hourly Time Markers within the playlist.

  Added FilmTitle and Composer fields to the line display choices in
    Configure MasterLog

  Added the ability to drag-n-drop from the Record Machine Cut Number field
    to an Array button, playlist position, p_play, etc.

  Added two report choices to Library->Reports:  Playlist2 and Asplay2
    These use PLIST2.RPG and ASPLAY2.RPG allowing for two kinds of each
    reports.  The RPG's provided show the use of 'filtering' to report
    just commercials (as an example)

  Added support for Measurement Computing's Universal Library for GPI/GPO
    boards and USB devices.
    Follow the normal installation procedures for the card/device and use
    INSTACAL (on Measurement Computings Install CD) to setup the card/device
       Use this setting in the DAD.CFI
           [External_Devices]
           Remote=Universal
    Note the GPO_GPI setting is then ignored.   DAD gets the I/O info
    from Instacal.   c:\dad\drivers\gpi\DADPIO not used in this mode.
    This also supports multiple devices - regardless of device type.

  WAV buffer servicing is now a background process.  Should dramatically
    improve the effects of foreground activity (GUI, file opens, start, stop
    events, etc.) when using WAV based audio devices.

  Revamped Multi-Library support.  Added messaging to allow other ENCO apps
    to support Multi-Libraries (CutServer, Gateway, DropBox and AudioCVT).

  Separated Quick and SlowFull Search input fields because Quick Search can not
    search within specific fields - always searches within all Quick search fields

  Improved QUICK SEARCH to allow for "phrase" searching.  Used to be an
    search of individual words using OR logic.

  Modified Quick Search Rebuilding to properly support Multilple Libraries.
    Be sure to use the new QUICK SEARCH checkbox in Setup->Libraries to activate
    Quick Search for any and all libraries you wish Quick Search to work in.

  Rebuild now does a rebuild of the Quick Search database/index if Unique
    Access is achieved

  Rebuild now creates LOGS of this form: MMDDYY.RBL in \dad\logs
    New Command line option allows controlling the name:
    Output=MMDDYY   or MMDDYYYY  or YYYYMMDD  which all create RBL log files
    in \dad\logs

  Rebuild now backs up the MLIB (multi-library) files

  When DAD creates a CFI for a new %location% that never had a CFI, rather than
    using ENCO coded defaults, DAD now copies the DAD.CFI (from %datadir%\dad\files)
    to %datadir%\dad\files\%location%.CFI.   This will allow users to control what
    defaults get set in the new CFI.

  New CFI options:
    [Playlist]
    Rotate_Validation = True or False    (default is FALSE)
    When True - DAD will validate all ROTATE cuts.  Could really slow down
    playlist loading when using lots of ROTATE cuts.

    [Library]
    ALTCUT_LENGTH = x
    Where X is the EXACT length that the ALTCUT field must be when modified
    by Library/Add, Library/Modify (or any RightClick->Modify), Record Machine
    Data.  If less than or greater than X, an error message is displayed.
    ALTCUT_LENGTH = 0 (the default) is no control at all.

    [Defaults]
    Duration_Display_Style = 24MODULO or 99HOURS or 99MINUTES
      defaults is 99HOURS.   Effects how Recalculating scheduled times get
      done.
      99HOURS - allows times like 23:60, 24:12, 25:03
      99MINUTES - won't allow hours larger than 23:
      24MODULO - rolls the clock from 23: to 00: instead of to 24:

    [Playback]
    Time_Marker_Stops_Auto_Calc = True or False
      False is the default.  Time Markers have no effect on recalculating
      scheduled times in a playlist.   When set to TRUE - Time Markers will
      act like Branch Events to stop the calculations - allowing times to
      "restart" whenever a Time Marker occurs.

  New DCL's:
    RETRIEVE [ ]  
    Allows a user to retrieve any field of data for a specified cut.  Useful
    for automation controllers of DAD.
    Examples:
        Retrieve D CUTS 12345 TITLE
        Retrieve 12345 ARTIST

  When Picking any Machine now - the placement will be the last place it was
    closed - rather than where the Picker icons are

  Added more information to the Debug file at DAD Startup.

  Changed AirPlay timers to both support these:
    1) Play Time CountDown
    2) Play Time CountUp
    3) Talk Time CountDown
    4) Scheduled Air Time
    5) Actual Calculated Air Time

  AirPlay Play Buttons now show a small number indicating the Channel
    Assigned to that Button

  After pressing any AirPlay PLAY button - the "focus" is removed from that
    button so accidental re-pressing is eliminated (i.e. Space Bar, etc.)

  Record Machine PLAY button now counts down when playing.  Ideal for use
    in playing a recorded element directly to air.

  Improved the CD Ripper to handle CD's that have huge "extra data" that
    gets used to fill the ripped cuts script (.txt) files

  CD Ripper now displays the DISCID from the CD Table Of Contents (TOC)
    Useful for future identification and selection of duplicate CD ID's

  Changes to StreamLine:
    a) Soft Branches coming from Powergold Clocks are now FORWARD ONLY
    b) Debug and F10 screens now display more info on Populating Cuts Table
    c) Now supports using numeric Directive_Commands to control the
       Segue type used in ingesting XML playlists from Powergold.
       The number corresponds to the ICON in setup->Cue&AutomationDefaults
    d) XML's created by DAD (from updating a playlist) use space trimmed
       fields and the directive_commands support the segue type numerics,
       and XML "special characters" are expanded (& = &)
    e) Places DAD in Auto_Calc = TRUE mode for all playlist modifications

  Library listing now displays the GROUP field with the group color as a
    background color to make it easier to identify things

  Corrected the NEXT AIRPLAY DCL to properly load reload the slot being
    dumped

  Corrected a problem with Soft Branch Events in AirPlay that had "Segue"
    or "Autoplay" transitions on them.
    Was making the Soft Branch act as a Hard Branch.

  Corrected a problem in AirPlay when dragging a cut from the Library into an
    empty playlist

  Corrected a reversal of VU meters when using 44.1K audio with the Axia
    IP driver

  Corrected a problem related to using the latest ASI 6000 boards and
    new combo driver

  Corrected a problem with saving the Cut Location value in a Timed
    Record List

  Corrected a problem with Over Editor button labels (SET, UNDO, NEXT, COPY)

  Corrected a problem with losing Playback Machine buttons when stretching
    and shrinking

  Corrected a problem with Active/Kill Times not getting reset when a cut
    is overwritten (re-recorded, etc.)

  Corrected a problem with importing a DAD playlist DBF (was creating 0
    records)

  Corrected a problem with nested Rotate Cuts.  DAD once again supports
    three levels of nesting for Rotate Cuts.

  Minimizing the Array panel with the "_" button on the title bar no
    longer forces the re-opening of Array to page 1 with a reinitializing
    of the button titles.

  Assignments to Arrays using the ASSIGN button now properly save button
    assignments

  Spawning a 3rd party editor from the EDIT button on a RECORD machine now works
    [RECORD1]
    EDIT=C:\Program Files\Adobe\Audition 1.5\Audition.exe %1
    EDIT_DESC=ADOBE

  Corrected MODIFY DATA in an active RECORD MACHINE - was pulling the wrong
    cut data into the text fields.

  Shift-F2 GPI/GPO status popup is now "modal-less" - you can control other
    windows while this popup is displayed.

  Changed the Search Screen to make the "Sounds Like" option more obvious
    when not doing an "Exact Match" search

  The LOG GPI x 'ontext' 'offtext' DCL now saves the 'text' string in both
    the TITLE and COMMENT fields in the ASPLAY databases

  The LOG TEXT 'text' DCL now saves 'text' in both the TITLE and COMMENT fields
    in the ASPLAY databases

  Updated the c:\dad\files\ENCO.DTD xml descriptor table for DAD databases

  Updated the INJECT/EXTRACT XML PLAYLIST dcl's to properly support the
    latest database layouts

  Remapped the machine numbers so pre-5.1 security files will work without
    modification

  SetupDAD-xxx.exe now creates a "SERVER" folder beneath C:\DAD\FILES that
    contains the proper folders/files needed on a DAD Server (i.e. F:\DAD)
    Files for LOCAL and NETWORK modes provided like user setups, CFI files,
    StreamLine.ini, etc.

-----------------------------------------------------------------------------
                       DAD 5.1c (Jul.7.06)
-----------------------------------------------------------------------------
  Added support for Branch Events in AirPlay (yay)

  Added Branch, Chain and DCL events to StreamLine injecting of Powergold
    playlists.  Also Playlist injecting is now done by the first DAD in a
    network to gain exclusive control of the XML file from Powergold.

  Added "?" and "X" buttons to the Full Screen Playlist Modify screen for
    online help and window closing

  Changed the "-" (minimize) buttons to "X" (close) on the title bars of
    Library, Setup and Timed Record screens

  LibLoc and LibName processing changed to allow playlists created on
    MultiLibary aware systems to properly run in non-MultiLibrary DADs

  Setup->Libraries->LoadLibrary now correctly process paths to DBF's

  Corrected a problem with cancelling a PLEASE WAIT for Rewrite Audio

  Corrected the button labeling for the MOVE/PUT functions in Mini Playlist
    Modifier

  Extended Type Ahead support in Library displays to handle beyond 14045 cuts

  Changed StreamLine ingesting of PowerGold XML logs to create playlists
    named:  YMMDDxxx - where xxx Station ID set in StreamLine.ini
    example:   60629BLR

    Also changed this process so that only the first DAD in a Network to
    gain exclusive access to the XML file will do the ingesting

  Corrected a problem with VU meters for MPEG files created by AudioCVT for
    systems running DirectX

  Corrected a problem the the NEXT/PREV functions in button security (Sh-F9)

  Full Array size and position now "remembered" in the User Setup

  Changed the Search Screen to make the primary Search Button be "Quick".
    Changed the text of normal SEARCH to "Slow Full Search" to discourage
    users from using it

  The new CUT ID button in the CD Ripper now follows the REC4 settings for
    generating a new cut number

  Added new fields FilmTitle and Composer to 2nd/3rd line choice lists for
    PBKs and AirPlay

-----------------------------------------------------------------------------
                       DAD 5.1b.168 (Jun.16.06)
-----------------------------------------------------------------------------
  New DCLs:
    INSTATRIM RANGE   []
      Head/Tail trims a range of cuts to the specified dB level

    GATEWAY SCAN RULE #
      This tells DAD to tell Gateway to Scan the specified rule.
      Requires the LibSend.ini described below be used.
      Use the Rule # as listed in the Gateway Scanner Rule listing

  New "Send To Location" feature added to Library.  Allows user to send one
    or more cuts to a Gateway Location by sending a request to a Gateway.
    Transfers and status all handled by Gateway.
    Use %datadir%\dad\files\LibSend.ini to control this new feature.
    A sample LibSend.ini is provided in C:\dad\files.
    User access is via Library->RightClick->SendToLocation->location

  Added these fields to the Library (cuts database):
        FilmTitle  - 60 characters
        Composer   - 60 characters
        SubGroup   - 30 characters

  New Rebuild (c:\dad\progs\rebuild.exe) required for this version to run
    properly.  A Unique Rebuild is required when updating to this version
    from ANY other version of DAD.  Added support for new fields.

  You can now drag a cut into one of the Library Group Tabs - moving it to
    that "group"

  ENPS interface now uses the new Library instead of the Legacy library

  Eliminated the Legacy Library and Playlist displays.  Library button is no
    longer a toggle between Lib2000 and Library.
    CFI setting for [Playback] list_style = 1 and is no longer changeable.

  Changed the legacy "X" to minimize a DAD machine to the windows standard
    "-" on the machine title bars

  Added a "?" to all machine title bars to bring up the online "help"
    screen for that machine or topic

  Added a title bar to the Setup Screen - allow it to be moved
    also has a "?" help button and "-" minimizer

  Added the modernized buttons initially added in 5.1a to the rest of the
    machines and popups in DAD

  Added Array->RightClick->SetFont - so the user can choose any Font
    they wish from the standard Windows Font faces, sizes, attributes

  Changed the new modernized fields to support Unicode (international)

  CD Ripper changes/improvements:
    a) When specifying a Cut Number, a new "Warning" field indicates that a cut
    will be added or overwritten.  If a series of tracks are selected for
    ripping, unused cut numbers will be auto generated using the first cut
    specified.  If this CFI entry is used:
       [RECORD]
       Create_Cut_On_Next_Record = TRUE
    The Cuts will be created in the Library instantly, allocating them
    so other can't get them.  Title is "waiting to be ripped" till completed.
    If the CD is ejected (or DAD exited) before the rips complete, those empty
    entries are removed from the library.

    b) Added a CUTID button to generate an available cut number to use

    c) Added a GROUP button to give the user a list of current groups

    d) When Normalizing to a Network Location.  DAD will rip to the local drive,
      do the normalizing locally, then use EASYCOPY settings to move the
      audio file to the network.  Properly supports MPEG as well.

    e) Added these fields to the interface:
        Album
        FilmTitle
        Composer
        SubGroup

    f) Added "Rip All to Single Cut" option to allow an entire CD to get ripped
      into one cut.  Intertrack spacing is 0 seconds.

    g) Now using new and longer fields.  Was truncated to the old 24 char
       lengths (Title, etc.)

  Changed RightClick on Playback NEXT buttons to allow for changing the
    transition of the Playback Slot cut - playing or not.

  Corrected the defaults on CD RIP installations to assume high speed CD ROM's
    Read Speed: 399
    No Jitter Control

  Minor change to Remaining Time display on PBK's (wasn't fitting well)

  Changed Setup-CFG&Readm changed to Setup->CFI&Readme

  Corrected an AirPlay "swap" cuts problem that would result in a duplication
    of swapped cuts

  Corrected a problem with the AirPlay Change/Return butons not being
    displayable after turning them off and then back on

  Readonly Libraries (part of multi-lib support) no longer allow RightClick
    copy/move of cuts from other libraries

  Corrected a problem with the PLAY button in Library->Modify screen

  Corrected a problem with Send Text that could effect the termination
    character of serial transmissions

  ENCOMOSListener now supports WatchDog

  Corrected APPEND in Record Machines in Mono mode.  Was defaulting to
    LEFT channel only regardless of channel assignment.

  Corrected a problem introduced in 5.1a that prevents the Broadcast Tools
    SRC32 GPI/O device from working properly.

  Warning to users loading existing cuts into REC Machine but not intending
    to re-record it.  If the Record is set to record to drive X and the
    existing cut was from drive Y, the process of loading the cut into that
    recorded MUST result in the cut being deleted (for now anyway).
    Be careful!

  Configuration Settings for PBK5-PBK16 are now properly stored and remembered

  Setup->CFG&ReadMe changed to CFI&ReadMe

  Playlist_Refresh_Pattern_Matching in CFI/CFG is now ignored.
     DAD will use the new GUID based refresh introduced in 5.1a

  Added StreamLine "populate" entries to the Debug log (if enabled)
    and changed StreamLine playlist injection to use Cue & Automation
    default Segue type

  Dramatically improved DirectX support of VU meters for playing and
    recording

  Cue Machines now properly trigger AUD_START and PGM_START GPO events

  Corrected the logic of the "Use All Groups" and "Use Exact Match"
    checkboxes in the new Search Screens (logic was backwards)

  Updates to text in the Agency field in ReWrite Audio now properly saved

  Full Screen Playlist Modify now supports hiliting multiple events in the
    playlist (right) side.   Handy for deleting lots of events at once.

  DAD now properly handles the shutdown of CutServer or the forced
    disconnection of a CutServer client

  Corrected the "MANUAL MLOG" dcl to properly place MasterLog into Manual

  Updated BRICK application to support the new fields

  Zoom-In and Zoom-Out in the Editor now supports these 10 levels
        1, 2, 5, 10, 20, 40, 80, 160, 320, 640 seconds

  Corrected a problem with refreshing a playlist when BackTime display enabled

  Corrected a problem with NEXT_VO_TEXT (CFI setting) - was being ignored

  Internal note: using background thread for check

  Corrected a problem with Threshold Level based recording - was triggering
    all the time regardless of input level

-----------------------------------------------------------------------------
                       DAD 5.1a.103 (Apr.13.06)
-----------------------------------------------------------------------------
  Note:  Updating to 5.1a requires ALL workstations on a DAD network to be
    updated to 5.1a   Mixing of pre-51a workstations is NOT supported.
    A UNIQUE REBUILD is mandatory as well.

  Modernized Buttons on PlayBack, Record and Full Array machines.
    More coming soon...

  New Rebuild (c:\dad\progs\rebuild.exe) required for this version to run
    properly.  A Unique Rebuild is required when updating to this version
    from ANY other version of DAD.  Rebuild now supports the output=filename
    parameter to create an appended log of rebuild activity.
    No spaces allowed in filename.  Corrected a slowness problem in
    non-exclusive mode created in 5.0e
    Messages and algorithms improved to handle multilibrary and fields
    new to 5.1a

  Initial support for "StreamLine" - automagic interface to PowerGold Music
    scheduling and Wicks Virtual Traffic scheduling systems

  New Database fields:
        STARTDCL - A to Z executes A-Z.cmd,  * executes cutnum.cmd
        STOPDCL - A to Z executes A-Z.cmd,  * executes cutnum.cmd
        LOOP - T or F (T loops the cut using HookStart/HookEnd)
        DEFTRANS - A N L S
        DOW - checkboxes for each day of week to allow play
        URL - any valid url - displays in Script Machine (including audition)
        FILECHECK - bitmapped data to tell DAD when to look for SLT/EDL files

  Increased the following DAD fields to 60 characters
    Title, Artist, Album, Outcue, Agency, Usedef, Producer, Billboard

  Search screens changed to add boolean multi-field searches

  Playlist entries now have a GUID field (globally unique identifier) meaning
    each entry in a playlist has a unique "stamp".

  DCL additions/changes:
    1) SET DEFAULT AUTOMATION  [seguetype] [duration]
       examples: set default automation A
                 set default automation S 2
                 set default automation S 5 2.5

    2) PLAYBACK_AUTO_CALC = true | false
      default is false.  when true, adding/inserting elements into a
      playlist will automatically recalculate Scheduled Times

    3) REFRESH PBKx now utilitizes the new GUID field to help position it
      as closely to where it was before the refresh.
      Playlist_Refresh_Pattern_Matching in CFI/CFG must be set to False
      for this new GUID based refresh to work.

    4) BACKUP FILES now properly backs up new style (Asplay_Style = 1)
      asplay files

    5) APPEND CUT   [transition]
      like LOAD CUT dcl, but adds to the bottom of a playlist instead of
      inserting at "next" position as LOAD CUT does.

  Corrected a problem with Rebuild 5.0e that could cause it to be
    very slow when running in non-exclusive mode

  Corrected a problem with old style Asplay logs not purging
    i.e. Asplay_Logging_Style = 0

  Corrected a problem with Digigram based DAD's improperly reading MPEG
    bitrates

  Corrected a problem with Rotate cuts not rotating if one of the audio
    cuts within the rotate was expired or inactive

  If a ROTATE or PLAYLIST cut contains nothing but expired cuts, they will
    themselves display as INVALID ROTATOR

  Changed DAD.CFG defaults:
    VU_Meter_Mode = Stereo
    Editor_Color_DataForeG = Black
    Editor_Color_ZeroVU = Red

  Added support for Time Zones that don't have full hour offsets from GMT
    India for example is +5:30

  Corrected a problem with Data drive failures in Auto Failover mode.
    Also changed Record Machines to properly handle a failed over Audio drive.

  Library->Reports->Asplay listing now has no limit on the number of files
    listed (was 150) and the list is now sorted alphabetically.

  Drag-N-Drop into a playlist now supports these "held keys":
    drag with no keys uses Cue&Automation default transition
    drag with Shift Key - uses a Segue transition
    drag with ctL Key - uses a autoLoad transition
    drag with Alt Key - uses an Autoplay transition

  Drag-N-Drop into the Library now supports "deep" source folders.

  BackTime Display in Playback machines now properly includes the duration
    of the cut in the Play Slot

  Added to CutServer INI (1.3h)
    [Database]
    Aux Location =  | 
    If not specified it defaults to the value specified in Location
    Also, NEXT CUT is determined from the live network database with
    dramatic speed improvements as well.

  CutServer 1.4a now:
    a) supports millisecond for ShutDown Process Delay
    b) reconnects are no longer allowed while shutting down
    c) Events.Dat are no longer processed at startup (actually deleting it
       at close down)
    d) Aux Location now supports drive and path  (i.e. f:\data)
    e) Supports Multiple Libraries

  LOAD CUT QUADx nnnnn - now properly supports the EZ-QUAD module

  Corrected a problem in Tracker that would cut out the playing of the outro
    cut at the fade markers instead of the tail when recording a voice track
    with record monitor OFF.

  Corrected a similar problem in Tracker that would not properly use a
    LEVEL adjustment (cut based) when doing fades

  Send Text Rules now supports the [ALTCUT] field
  Send Text Rules now supports the [LineID] playlist field (when played from
    a playlist)
  Send Text Rules now supports the [Owner] field to send the Playback Machine
    number information

  Send Text Rules now properly support multinational characters (like
    Japanese)

  The default End of Transmission sequence has been /*EOT*/
    Users can now change the default by appending the desired string
    on the X_IO line in the [Send_Text] section of the DAD.CFI file
    ex:   A_IO = 2044 127.0.0.1 ^M

  DAD.CFG files are now DAD.CFI files.   The first time you run 5.1a
    DAD will convert your CFG to a CFI file.
    If the CFG was named DAD.CFG, the resulting INI file will be DAD.CFI
    and the DAD.CFG will no longer be used.   The CFI now has "sections",
    supports comments, and will soon have an external wizard to allow
    easier maintenance and changes following the standard windows INI
    format.  Settings that used to have "quoted" strings are no longer quoted.
    CFG Example:  Send_Text_Rules = A "rule.txt"
    CFI Equivalent:  [Send_Text]
                     Rules = A rule.txt
    Things more consistant. No more 0/1, on/off.  All these are True/False
    Setup->Cfg&Readme->DAD.CFI now greyed out while DAD is saving the CFI

  New DAD.CFI directives:
    1) [RECORD] EDIT_DELAY = 
       allows the user to specify how many seconds to wait after STOPPING
       a recording before the EDIT button can be pushed.

    2) [Defaults]
       LibLoc = drive:    (example:   F:)
       LibName = name     (example:   Cuts)
         allows multi-library users to specify a default startup library

  Added access to the new LOC1, LOC2, LOC3 fields in Setup->Groups->Edit

  Cosemetic change to PBK play slot fields so data from one field
    doesn't bleed into another (especially when using Japanese fonts)

  Changed CUT_LOCATION = NORMAL | ALTCUT to:
          CUT_LOCATION = LIBLOC | GROUPLOC | ALTCUT
      When LIBLOC (the default), DAD plays cuts as always using Cut number,
        Location and EXT.  There is no looking for alternate locations.
      When GROUPLOC, DAD plays cuts as always using Cut number, Location and
         EXT.  If the cut is not found, DAD looks for cut/ext in the
         LOC1, LOC2, LOC3 fields of the group that cut is in.
      When ALTCUT, DAD plays cuts using full path and filename specified
         in the AltCut field. If the cut is not found, DAD looks for the
         file specified in the ALTCUT field but, in the LOC1, LOC2, LOC3
         fields of the group that cut is in.

  Added access to the LineID field of a playlist entry via
    RightClick->MoreInfo.   Press the LineID button to save changes to the
    LineID field

  Added two new transition types to Setup->Cue&AutomationDefaults
    Cold-FadeIn,  FadeOut->Cold.  Both without overlaps.

  The TIME field in playlist modify now updates properly as the scheduled
    time is changed for an entry

  Editor->Rewrite Audio now saves the state of the Generate CutID Method
    so the user doesn't have to reset it each time Rewrite is used

  Added security support to SETUP->LIBRARIES

  Save Playlist no longer allows an empty filename

  Sending PAD data to IBOC exciters (importers) now trims trailing spaces
    from DAD fields before getting sent

  Playback State XML data is now trimmed to remove trailing spaces

  Added "Hooks" to Audition buttons in AirPlay

  AirPlay Multi-View mode is now stored as part of the workstation CFI - used
    to be part of the User Setup

  Corrected Superplay FadeOut-FullIn transition - was doing FadeOut/FadeIn

  Changed the formulas DAD uses for doing Linear and Log fades.  Linear fade
    are now truly linear dB fades and Log fades are truly log dB fades/
    Added [DEFAULTS] Fade_Min_DB setting to allow the minimum level to be set
    default is -60.00

  New DAD command line options:
    DAD -NoDemoTimer  - stops the Time Remaining window from displaying for
                        keys programmed to expire on a specific date
    DAD -clrWinDefs     clears Windows positions and sizes
    DAD -clrColDefs     clears Column order and widths
    note that DAD -clrreg   still clears all DAD registry entries

  Configuration Settings for PBK5-PBK16 are now stored and remembered
    so they don't have to be reset each time DAD starts

  DAD will now remember what Array Page the user was on when the setup was
    saved.  So recalling a setup will return all Arrays to the saved page

  DAD now properly sorts a RECLIST by Start Time - was sorting by End Time
    if there were cuts that cross midnight

  The CD Ripper now properly sets bitrates when using MPEG so that Tracking
    these ripped cuts sets the recorder to the right bitrate

  Text loaded into P_PLAY buttons is now "trimmed" to eliminate trailing space

  Demo Mode popup now describes the demo limitations and allows the user
    to cancel before actually running in demo mode (in case a key was simply
    forgotten to be used)

  Machines displayed in NON-EXPERT mode lowered a few pixels to allow for
    "enhanced" WinXP modes to fit better

  \dad\progs:
    Inject.exe - now deletes the EXT file after successful injection
    Extract.exe - Export files created wherever this utility is run
    TakeMe.exe - allows user to convert a DAD database to and from
                 Pre 5.1a (old) and Post 5.1a (new).
        TakeMe Forwards  d:\dad\files\cuts.dbf d:\dad\files\newcuts.dbf
        TakeMe Backwards d:\dad\files\cuts.dbf d:\dad\files\oldcuts.dbf
    KeyView.exe - properly displays the status of WatchDog for Gateway
       and DropBox settings
    Fill_FileCheck.exe [LibLoc] [LibPath LibName]
       sets the new FileCheck field based on the existance of EDL's and SLT's
       for each cut.   Defaults to CUTS.dbf in the current drive:\dad\files.
       example: Fill_FileCheck      // updates current drive:\dad\files\cuts.dbf
                File_FileCheck D:   // updates d:\dad\files\cuts.dbf
                File_FileCheck F: Archive Data // updates f:\archive\data.dbf
       LibPath and LibName must be specified together and requires LibLoc
       This utility is required for sites using EDL's and/or SLT's

  Added the ability for AudioCVT to Scan and process "message" files allowing
    a user to get audio file conversions done independant of Gateway or DAD.

  Internal changes to security key processing to allow for better
    TIME TO PLAY results

-----------------------------------------------------------------------------
                       DAD 5.0d.346 (Dec.14.05)
-----------------------------------------------------------------------------
  Auto Mode on all automation machines will now utilize the color GREEN
    instead of YELLOW.   Manual mode will continue to be RED.  Yellow
    is now being used for the new LIVE ASSIST mode.  These colors now
    better match the traffic light concept.  Green-GO, Yellow-TakeCare,
    Red-STOP.

  Revamped Multi-Library interface.  There is now a MLIB database that
    keeps track of all Libraries to be used.  There is now the ability
    to have a READONLY library (DVD based perhaps), libraries that can be
    hidden from VIEW (command cut libraries for example).  A library can
    have a list of valid audio drives specific to that library.  The
    path to the library database can be specified as well.

    - Exception reports are now Multi-Library aware.
    - Record Machine setup is now Multi-Library aware.
    - View Library popup now indicates the current library
    - Rotate Cuts are now Multi-Library aware.
    - Rebuild runs for each database in \dad\files\mlib.dbf
    - Block copies/moves with Library->RightClick->Copy/Move spawns a new
      window to do the copy/move providing progress, etc.

  Added support for PADapult.  Takes XML info from any automation system
    (including DAD), via file or IP - reformats the data based on user
    formatted rules and sends the data via IP or serial to up to 6
    destinations.   Chargeable product.

  DAD.CFG changes:
    1) PLAYLIST_BACKUP = TRUE      (default is FALSE)
      When set to TRUE, when saving over an existing playlist,
      DAD will rename the existing playlist to:
        \dad\files\playlist\backup\PLAYLISTNAME.mmdd-hhmmss-%location%
      This can be used as an audit trail of playlist changes.

    2) CUT_LOCATION = NORMAL | ALTCUT
      When NORMAL (default), DAD plays cuts as always using Cut number,
      Location and EXT.
      When ALTCUT, DAD plays cuts using full path and filename specified
      in the AltCut field.  No EDL, TXT, SLT or editor support in this mode.

    3) CAP = TRUE | FALSE
      Content Adaptive Processing.  Chargeable product.
      Default is False.  When true with CAP enabled in the key
      DAD will use the c:\dad\files\CAP.ini file to send preset info to an
      IP connected Omnia Processor based on what group and machine DAD is
      playing.  Example: Songs can use Preset 1, Commercials preset 4, etc.
      When DAD is Idle, a default preset is sent.  See the example CAP.ini
      provided.

  New fields added to Groups.dbf
    Loc1, Loc2, Loc3  - each 50 characters.   Allows the user to specify
    where to look for audio if a cut in this group can't be found in it's
    normal location. These Loc fields can be drives, paths, or UNC's
    example:  j:     h:\archive     \\admin\vol1\audio
    If nothing specified for the group, the ALL group LOC's are checked.
    Must be used "in order" - i.e. you can't use Loc2 unless you use Loc1
    first.

  Added new functions (metering, compression, pcm24, etc.) to the new
    mixer controls for manually specifying audio board capabilities
    within DAD.

  Added more options to the Audio MIXER controls in
    Setup/ConfigAudio/AudioBoardDefinitions
    (used to be called MixerControlAssignment)
    New options: MultiChannel, Emulate VUs, MPEG, MP3, Dolby, PCM24
    allows the user to tell DAD what their audio card supports.

  New Transition type #6 added.  A form of cross-fade - outgoing event
    fades out and the incoming event fades in - but the incoming event
    doesn't start until the outgoing fade is completed.   The normal
    crossfade has the incoming starting when the outgoing starts fading.

  Preliminary support for using Rotate Cuts as Overs has been added.

  AirPlay items:
   1) With "Query Auto Drop" set to off and "Auto Drop" set to on,
    the default for draggin a cut into an auto slot is now INSERT
    (used to default to REPLACE)
   2) When playing in AUTO mode, the FINGER button turns into a FADEOUT
    button allowing the user to Fadeout and stop an AUTO playing slot.
   3) New "LIVE ASSIST" mode added to Auto Mode.  When playing in AUTO mode,
    if the user presses another slot play button, LIVE ASSIST mode is
    entered (AUTO button turns to LIVE).  Both slots are now playing.
    The user can Fadeout either slot or let whichever slot finishes last
    to continue back into AUTO mode - transitioning into the appropriate
    slot.
    4) Pacer Bar colors changed:
       Auto Mode - Green
       Live Assist Mode - Yellow
       Manual Mode - Red
    5) RightClick->Unload on an Auto Slot button is now greyed out
    6) Corrected SUPERPLAY DCL.  Wasn't allowing a superplayed slot to
       be stopped.
    7) Asplay screen now displays the actual length played - not the
       scheduled length
    8) Added Semi-Independant mode to Indep slots
       Playing a Semi-Indep slot places any Auto Slots into Live Assist mode
       i.e. stopping Automation mode and allowing the user to take over
       (i.e. live assisting things).  Auto Slot turns red.
    9) Predictive indicators added to the playlist display to suggest
       where upcoming cuts in the playlist will end up (slot wise)
   10) Audition button can now be tri-state or dual-state.
       Dual State toggles an audition play/stop
       Tri-State toggles playhead/playtail/stop
   11) No Replay checkbox added to config - flags a cut dragged into a
       Independant slot so that it won't get loaded into an Auto Slot
   12) Focus behavior of AirPlay changed to allow other windows to open
       properly (library for example)
   13) RightClick menu for Insert now grays out items that don't apply

  In Full Screen Playlist Modify, saving a playlist that's currently
    loaded into some automation machine would result in a REFRESH popup.
    This message was getting covered by the Playlist Modify screen.
    It now stays on top and in focus till answered.

  Additional support for "self-referencing" DCL's added.  Example:
    unload pbk1 can now run from within PBK1.

  Corrected a problem with Playback Machines in Change/Return mode when
    inserting an event somewhere below the "next" event.  The playlist
    would incorrectly "jump" up to the next event.  It now stays at the
    insertion point.  The user can use the RETURN button to get back to the
    next event - or wait for DAD to jump there from automation.  This
    corrects a similar issue in AirPlay when rearranging events in the
    playlist.

  Cosmetic changes made to the Playlist SCAN report. Playlist name now
    properly appears in the report title.   The "Invalid Between - " text now
    only displays if a cut in a playlist actually has a invalid start or end
    date.

  There are machines in DAD (playbacks, arrays, p_plays, etc.) that allow
    cuts to come from other DAD libraries (multi-library).   When user
    setups, playlist, etc. get into a DAD from some other system (like from
    a network DAD to a local DAD), these library definitions (LibLoc/LibName)
    usually transfer unaltered and may be invalid for the destination machine.
    DAD will now first attempt to find the cut from the specified LibLoc.
    If it can't find it there (possibly because that location isn't even
    available, DAD will then try to find the cut in the current DEFAULT
    library (C: for example if running locally from C:).

  Rotate Cuts that live in one library that contain cuts that live in
    another library now play correctly.

  Play button counters no longer display wrapped line decimal seconds if
    there's no room (length greater than 1 hour).

  Corrected a problem with playing Rotate Cuts and Rotate Events in AirPlay.

  Corrected a problem with Purging Asplay databases.

  Corrected a problem with dragging cuts from the Library panel of AirPlay
    into a playlist or play slots.  In some circumstances the wrong cut
    could end up being dragged.

  In some configurations, the Recorder Parameters were not allowing the
    sample rate to be changed - this has been corrected.

  Correction made to the new Mini Array Preset feature added in 5.0c:
    The Mini-arry/ASSIGN button label now follows the
    SETUP/MISCDefaults/Preset switch settings (used to require a DAD restart)

  Corrected a VU meter display problem with Digigram cards.  The peak
    indicators were not functioning correctly so clipped audio could be
    improperly recorded into DAD.

  DAD, when running as a CutServer client, was not properly sending
    Windows Messages (that some 3rd party applications listen for).  OK now.

  Debug Log changes:
    1) 3 decimal seconds added to timestamp for finer timing tracking
    2) added special entries for playlist saving process
    3) added special entry for reporting Playback Auto/Man states
    4) Timestamp and Cut Number added to Time to Play and
       Time to Complete Playback entries
    5) added entries for Play, Stop, Next buttons for PBK/AirPlay
    6) added AirPlay slot number details
    7) added Login/Logout entries
    8) added User Setup change entries

  Tracker AutoSave checkbox state is now saved in the .RES file so it is
    remembered from DAD session to session.   Used to clear each time
    DAD was started.  Note that Tracker->AutoSave saves the Tracker changes
    (delays, positions, etc.) only and does NOT save the PLAYLIST itself!

  Corrected an error in processing transitions in MANUAL mode.  Under
    some circumstances after processing a Soft Branch, an automation
    machine could have ignored the MANUAL condition and continue processing
    transitions.

  Added a "retry" in the Playlist Save process.  In some conditions, DAD
    could not save over an existing playlist due to server latency resulting
    in a empty playlist.  Changed the way a buffer was being used in DAD
    to better handle lots of quick saves of the same playlist that also
    sometimes resulted in empty playlists.

  Corrected a problem with Auto Record Threshold levels on Digigram based
    machines.  Wasn't working after you entered the record setup screen.

  Added Speaker Icons in Library and Playlists to support multichannel
    (surround) audio files (black background).
    Also added Magenta icons for PCM24 files.

  Corrected Modify->Format->UpdateRecord to properly change the Mode of a file
    when multi-channels (i.e. Mode=6).  DAD was setting mode to 0.

  Changed Library->Modify->Copy now defaults the destination drive to the
    source drive

  Corrected a problem with Playlist Merging (based on time) that resulted
    in double comments at the start of the merged playlist and dropped events
    at the end.

  Library->RightClick->Move/Copy now warns user if the destination cut
    already exists - and allows for an overwrite

  Corrected an error in the Segue Editor when creating a voice over. In some
   cases a VO that was just created would not play back in a playlist.

  Made additional changes to Playback State to better handle chaining to
    playlists that have comments at the top

  Library->RightClick->Edit now opens the normal DAD editor regardless of
    how Libary_Edit_Desc is configured

  \dad\progs now contains:
    Inject.exe
      syntax: Inject [drive:\path\] [/O] [/L=location] [/C=datadrive]
    Extract.exe
      syntax: Extract  [/C=datadrive] [/V]

    InjectPlaylist.exe
      syntax: InjectPlaylist  
    ExtractPlaylist.exe
      syntax: ExtractPlaylist  

    All export files are created in \dad
    All import files are expected to be in \dad

-----------------------------------------------------------------------------
                       DAD 5.0c.277 (Oct.4.05)
-----------------------------------------------------------------------------
  Changed again how DAD looks at LibLoc and LibName fields in a playlist.
    5.0c.276 incorrectly ignored these fields for any non-P (play) event.
    Now properly usi