Custom DAC-3 mapper for VirtualDJ v3.2 and above by J.P.Boggis 23/11/2005.

(Version 1.2, 14/06/2006)



Features:

  *  Improved jogwheel behaviour and LCD information display.

  *  Automatic scratch hold and pause (Ideal for spinbacks via DAC-3
     jogwheels.)

  *  Direct access goto/set cue, loops and samples via [1]-[10] buttons.

  *  Direct FX access and ability to adjust FX parameters using the jogwheel.

  *  Automatic video crossfading (Ideal for external mixer users.)

  *  Ability to choose/trigger video FX and choose video transition (Both of
     these can also be randomised for variety.)

  *  User customisable parameters directly via the DAC-3.



Changes since v1.0:

  *  [FOLDER]+[<<]/[>>] can now be used to expand/collapse folders.

  *  [CP]+[FOLDER] toggles between search box and last selected folder.

  *  [MATCH] now matches pitch and beats (Temporary beatlock.)

  *  Timecode active is now correctly initialised for both decks.


Changes since v1.1:

  *  Real time elapsed/remaining is now accurate for all pitch ranges.
     
  *  Small rounding errors in pitch % display on DAC-3 LCD corrected.


Coming soon:

  *  v2.0 with custom button mapping interface.  Re-map the DAC-3 to suit
     your preferences using the powerful and easy to use mapper GUI form.



Usage:

  To install the custom DAC-3 mapper, simply double-click on the dac3mapper
  executable file.  This will install dac3mapper.dll into your VirtualDJ
  program files folder (Usually C:\Program Files\VirtualDJ)

  If the executable file is not present and you have a dac3mapper DLL file
  instead, you will need to copy this into your VirtualDJ program files
  folder yourself.

  The mapper will be automatically used at start-up by VirtualDJ v3.2 and
  above (It will not work in earlier versions, which do not have any DAC-3
  support (Except MIDI.))

  As VirtualDJ loads, you should see 809915 (Boggis :) in the time display
  digits of both displays and the DLL version number in the small BPM/Pitch
  % digits.  If you do not see this, please check that you have copied the
  DLL to the correct folder and you are running VirtualDJ v3.2 or above.

  NOTE:  The mapper may not work with trial or home versions of VirtualDJ.

         It will also not work correctly with cracked versions - Please
         buy the original from http://www.virtualdj.com/purchase

         The mapper has been developed and tested using VirtualDJ v3.2, v3.3
         and v3.4

         If you are not running Windows XP service pack 2, you may experience
         a crash at shutdown (Usually after VDJ has saved the database.)  This
         is a known problem with unloading the DAC-3 DLL which should be fixed
         in VDJ 4.0  This problem does not cause a crash under WinXP sp2.

         To uninstall the mapper, simply delete dac3mapper.dll from your
         VirtualDJ program files folder (Usually C:\Program Files\VirtualDJ)   



LCD displays:

  *  The two large digits to the left show the current cue point.  This
     can be changed using [CP]+[<<]/[>>] or by using any of the direct
     goto/set cue buttons ([1]-[10])

     These digits are also used for displaying other information
     momentarily (Flashing):
     
     *  When triggering a beat loop, the number of beats will be displayed
        (18 = 1/8, 14 = 1/4, 12 = 1/2)
     *  When setting loop in (-1), out (-0) and exiting loop (--)
     *  When triggering a sample, the sample number will be shown.
     *  When triggering FX, FX number will be shown (-number if FX is being
        toggled off.)
     *  When choosing video transition or FX, the number will be shown.

     When in user parameter mode, the large digits show the current
     parameter number being modified (Flashing.)

  *  The other 6 digits (00:00:00) display either the time remaining or
     elapsed in minutes, seconds and frames.  The 10 segment bar above
     is a visual represention of the time remaining/elapsed.

     The display can be toggled between remaining/elapsed by pressing the
     [TIME DISPLAY] button.  [REMAIN] is shown in the display when in
     time remaining mode.
     
     Time remaining/elapsed can be toggled between absolute or real time via
     user parameters.  In real mode, the pitch will be taken into account
     to show accurate time rather than based on song position.

     When playback reaches the last 10 seconds (Real time), the digits and
     bar will flash as a visual warning.  At 4 seconds, they will flash
     rapidly.  The times and speed of these can be changed via user parameters.

  *  The small digits to the upper right (+000.0) display either the BPM
     or pitch adjustment %.  [PITCH] is shown in the display when in
     pitch adjustment mode.

     If the real pitch on the DAC-3 pitch slider does not match the pitch
     value in VirtualDJ (I.e:  [R] smooth pitch reset, [-]/[+] fine adjust,
     moved with mouse, changed with shortcut, etc.), [PITCH] will flash
     in the display as a warning and the value will alternate between
     BPM/pitch % and the adjustment required (In steps, -/+ 001)

     To move the pitch slider to the correct position without an audible
     change, hold down [CP] and move the pitch slider in the required
     direction.  You may not be able to get back to 000 - If so, release
     [CP] and move the slider slightly to change to the correct pitch
     (This shouldn't be noticeable.)

     When moving the jogwheel to adjust parameters, the value will be
     shown flashing.
     
     When changing user parameters, the small digits show the current
     parameter value (Flashing.)



Basic deck controls:

  *  [PLAY]     Starts playback or pauses if already playing.
  
                When the deck is playing, [PLAY] is lit solid.  When paused,
                this will flash to indicate pause mode.  For cue point #1,
                if not at the cue point, [CUE] will also flash as a warning
                that pressing [CUE] will set/change cue point #1.

  *  [CUE]      When paused, sets the selected cue point (1-10), or if
                currently at the cue point, temporarily plays from it
                while held down.

                Hold down [CP] + << or >> to select the current cue point
                (Shown in the large digits to the left of the LCD display.)
                The current cue point will also change when using direct
                goto/set cue buttons (1-10)
  
                When the deck is at the cue point #1, [CUE] is lit solid.
                For cue point #1, if not at the cue point, [CUE] will flash
                as a warning that the cue point will be set/changed.
	       
                Pressing and holding [CUE] (While deck is stopped/paused)
                will play from the current cue point.  When released, the
                deck will return back to the cue point again.

                When the deck is playing, [CUE] will stop playback and return
                back to current cue point.

                If deck is paused and not at the current cue point, pressing
                [CUE] will set/change the cue point.  [CUE] flashes as a
                warning to indicate this.

  *  Jogwheel   While the deck is paused, the jogwheel will scratch cue,
                allowing you to quickly find and set your cue point.

                When playing the jogwheel will fine pitch bend, allowing
                precise fine-tuning of beat matching.

		When moving the jogwheel for cueing, scratching or pitch
		bending, the amount will be shown in the BPM/pitch % digits.


		Scratching:

                Holding down [CP] while playing, the jogwheel will scratch
                ([BREAK] will be shown in the display while the jogwheel is
                moving.)  If [CP] is released before the jogwheel stops
		spinning, the scratch will continue as though [CP] is
		still held (This can be changed via user parameters.)
	       
                Pressing [CP]+[MATCH] will toggle scratchlock ([CONINUE] will
                be shown in the display permanently), so the jogwheel always
                scratches when playing (Without needing to hold [CP].)
                [CONTINUE] will be shown in the display when scratchlock is
                active.

		When scratchlock is active, holding [CP] will allow you to
		do fine pitch bends.

		Via user parameters, you can set an automatic pause after
		a scratch or spinback lasting a given amount of time is
		performed.  This allows greater scratch control or will
		automatically pause the deck for you after performing a
		spinback effect by spinning the jogwheel rapidly.

		By default, the deck will be paused if a spinback lasting
		atleast 1 second is performed.  Scratching backwards and
	 	forwards will not trigger a pause.

		[OUTRO] will be shown in the LCD display when the pause is
		triggered.


		File browsing:

                Holding down [SHIFT] allows you to scroll through the file
                browser using the jogwheel.  [SHIFT]+[FOLDER] will allow
                you to scroll through the folders.

  *  Pitch      Adjusts the pitch of the deck.  Holding down [SHIFT] will
                finely adjust the pitch (NOTE:  This will result in the
                pitch in VirtualDJ not matching the physical pitch on the
                DAC-3, and the display will flash a warning of this (See
                LCD displays section.)
							    
                Holding down [CP] will move the slider without adjusting the
                pitch (Used to silently move the slider to the correct position
                when it does not match the pitch in VirtualDJ (See LCD displays
                section.)

  *  [-]/[+]    Performs a pitch bend while held down.  Holding down [SHIFT]
                will perform a greater pitch bend.  Both can be adjusted via
                user parameters.  The amount of pitch bend will be shown in
		the BPM/pitch % digits.

                [CP]+[-]/[+] will perform fine pitch adjustments (Amount can
                be set via user parameters.)  NOTE:  This will result in the
                pitch in VirtualDJ not matching the physical pitch on the
                DAC-3, and the display will flash a warning of this (See
                LCD displays section.)

  *  [R]        Smoothly resets pitch back to 0% (The speed can be set via
                user parameters.)  Hold down [CP] and move the pitch slider
                back to the centre position after using this.  The pitch
		reset can be stopped before it has reached 0% by pressing
		[R] again or by moving the pitch slider.
	       
                [SHIFT]+[R] toggles timecode active, enabling or disabling
                vinyl/CD control if using timecode vinyl or CD's.  When
                active, the LED will be lit.

                [CP]+[R] toggles timecode bypass (Allowing normal vinyl or
                CD's to be played.)  When active, the LED will flash.

  *  [MT]       Toggles master tempo (Time stretch), allowing playback
                speed to be changed without altering the pitch.

  *  [MATCH]    Matches the pitch to the other deck and if playing,
		synchronises the beats.  The LED flashes on to indicate
		the beat.

		[SHIFT]+[MATCH] will synchronise the beats to the other
                deck only (Playback will be started it stopped/paused.)

                [CP]+[SHIFT]+[MATCH] toggles beatlock.  The LED flashes off
		to indicate the beat.  [AUTO CUE] and [SINGLE] is shown in
		the LCD display.

                [CP]+[MATCH] will toggle scratchlock, so the jogwheel always
                scratches when playing (Without needing to hold [CP].)  When
                scratchlock is active, [CONTINUE] will be shown in the LCD
                display.

  *  [TIME DISPLAY]

                Toggles between display of time remaining and elapsed.
 
                [SHIFT]+[TIME DISPLAY] toggles between display of BPM and
                pitch %.

                [CP]+[TIME DISPLAY] displays the current time in HH:MM:SS.

                [CP]+[SHIFT]+[TIME DISPLAY] displays the current date in
                DD:MM:YY format (This can be set to other formats via user
                parameters.)

  *  [MIX NOW]  Automatically mixes in the next song.	       



Direct FX buttons [FX]/[APPLY]/[AUTO]:

  The [FX], [APPLY] and [AUTO] buttons directly trigger effects #1 - #3
  respectively.  The LED's above each button indicate the status of each
  effect (The behaviour of these can be configured via user parameters.)
  The triggered FX number is also shown in the large status digits.

  Holding [SHIFT]+[FX]/[APPLY]/[AUTO] and moving the jogwheel adjusts the
  value of FX sliders 1-3 by default for the last used effect.

  Holding [SHIFT]+[FX]/[APPLY]/[AUTO]+[FOLDER] switches between the file
  browser and FX panels, allowing you to easly switch to the FX view for
  visually on-screen adjustment of FX sliders.

  The FX slider number being changed is shown in the large status digits
  and the current adjustment is shown in the BPM/pitch % digits.

  You can toggle FX buttons 1-5 for the last used effect by pressing
  [SHIFT]+[FX]/[APPLY]/[AUTO]+[1]-[5].

  Pressing [SHIFT]+[FX]/[APPLY]/[AUTO]+[<<]/[>>] can be used select which
  FX slider will be adjusted by each of the 3 button+jogwheel combinations.
  This allows adjustment of sliders other than the default of 1-3.  Separate
  slider numbers can be set for each of the 3 effects.

  Pressing [SHIFT]+[FX]/[APPLY]/[AUTO]+[DOWN]/[UP] can be used to select the
  current FX (1-3.)  As above, the current FX is automatically changed to the
  appropriate number when an FX is triggered via its appropriate direct access
  button ([FX]/[APPLY]/[AUTO] for FX 1-3.)



Direct cue/loop/sample buttons ([1]-[10]):

  By default, the [1]-[10] buttons can be used to goto/set cues 1-4, trigger
  beat loops of various lengths and samples 1-10.  The behaviour of these
  buttons can be customised via user parameters.


                [1]-[4] goes to cues 1-4.
           [CP]+[1]-[4] sets cues 1-4.

 	       [5]-[10] triggers beat loops of 1, 2, 4, 8,  16 and 32 beats.
          [CP]+[5]-[10] triggers beat loops of 2, 4, 8, 16, 32 and 64 beats.

       [SHIFT]+[1]-[10] triggers samples 1-10.

  [CP]+[SHIFT]+[1]-[10] triggers beat loops of the following lengths:

			1/8, 1/4, 1/2, 1, 2, 4, 8, 16, 32, 64



Direct loop buttons ([IN]/[OUT]/[RELOOP]):

  The loop [IN], [OUT] and [RELOOP] buttons can either be used to set manual
  loops (Mode 1) or beat loops of various lengths (Mode 0.)  The loop mode
  can be changed via user parameters.  By default, mode 1 is used.
 
 
  Mode 1:  Manual loops
  
  *  Press [IN] to set loop start point (LED above button lights.)
	   
  *  Press [OUT] to set the loop end point and activate the loop (LED above
     button lights and [RELOOP] LED lights.)
     
     The loop is now active and [LOOP] will be shown in the LCD display.

     Both [LOOP] in the LCD and the [RELOOP] LED will flash each time the
     song loops.

  *  To exit the loop, press [RELOOP].

     While a loop is active, you can adjust it using the following:

  *  Holding down [CP]+[IN]/[OUT]/[RELOOP] and moving the jogwheel will
     adjust the loop in/out points and move the loop respectively.  The
     -/+ adjustment (Relative) is shown in the the LCD display BPM/pitch
     % digits.

  *  Holding down [SHIFT]+[CP]+[IN]/[OUT]/[RELOOP] and moving the jogwheel
     will make fine adjustments.
 
  *  [CP]+[IN]/[OUT]/[RELOOP]+[<<]/[>>] can also be used to adjust the loop
     by +/- 10.  [sHIFT]+[CP]+[IN]/[OUT]/[RELOOP]+[<<]/[>>] will adjust
     by +/- 1.

  *  [SHIFT]+[IN]/[OUT]/[RELOOP] triggers beat loops of 1, 4 and 16 beats
     respectively.
 

  Mode 0:  Beat loops

          [IN]/[OUT]/[RELOOP] triggers beat loops of 1, 4 and 16 beats.
  [SHIFT]+[IN]/[OUT]/[RELOOP] triggers beat loops of 2, 8 and 32 beats.
     [CP]+[IN]/[OUT]/[RELOOP] triggers beat loops of 1/8, 1/4 and 1/2 beats.


  Modes 0 and 1:  Loop shift  

  *  [<<]/[>>]    For both loop modes, [SHIFT]+[<<]/[>>] shifts the loop
		  left/right by 4 beats and [CP]+[SHIFT]+[<<]/[>>] shifts
		  the loop left/right by 1 beat.


Browser navigation:

  *  Jogwheel     [SHIFT]+jogwheel allows you to browse up/down the file list
		  with the jogwheel.

  *  [<<]/[>>]    Switches focus left/right between folders, files and
                  playlist.
		  
  *  [DOWN]/[UP]  Moves down/up list.  [SHIFT]+[DOWN]/[UP] moves by 10.

                  [FOLDER]+[DOWN]/[UP] moves down/up the folder list
                  (Regardless of current focus.)

                  [SHIFT]+[FOLDER]+[DOWN]/[UP] moves by 10.

                  You can browse up/down the folder list using the jogwheel
                  by holding [SHIFT]+[FOLDER].

  *  [LOAD]       Loads selected file.

  *  [WAITLIST]   Switches focus to playlist.
  
                  [SHIFT]+[WAITLIST] adds selected file to playlist.
  
  *  [FOLDER]     When held down, [UP]/[DOWN] will browse up/down the folder
		  list.

		  Pressing [CP]+[FOLDER] takes you to the database search box.

		  Pressing [CP]+[FOLDER] again will return you to the folder
                  you were last browsing.

		  [FOLDER]+[<<]/[>>] will expand or collapse folders in the
                  folders list.



Auto video crossfading and video features:

  A neat feature of the DAC-3 mapper is the ability to automatically
  (Or instantly) video crossfade without the need for moving the onscreen
  slider with the mouse or using an external MIDI crossfader.

  This is ideal for users of external mixers, where moving both the
  video crossfader and the fader(s) on the mixer simultaneously is
  difficult.

  The crossfade speed can be configured via user parameters.  This can
  either be a number of beats (Default 4) based on the current BPM or
  a specific time in seconds.

  It's also possible to link the auto video crossfader with the audio
  crossfader position.  This can be configured via user parameters.

  NOTE:  Moving the audio or video crossfader onscreen will not update the
         position known by the DAC-3 (There is no way at present to get the
	 onscreen crossfader position from VirtualDJ.)


  *  [PLAY]       [SHIFT]+[PLAY] will start the deck playing and perform an
                  auto video crossfade (Pausing will fade back to the other
		  side.)

		  [CP]+[PLAY] does an instant video crossfade.

		  [CP]+[SHIFT]+[PLAY] does an alternative auto video crossfade
		  at a different speed (Default of 1 beat.)  This can be
                  configured via user parameters.

  *  [CUE]	  When playing, [SHIFT]+[CUE] will automatically video crossfade
		  back to the other side.  When paused, holding down
                  [SHIFT]+[CUE] will play the song and video crossfade while
		  held down, and instant crossfade back again when released.
	 
		  [CP]+[CUE] does an instant video crossfade.
		  [CP]+[SHIFT]+[CUE] does an alternative auto video crossfade.

  *  [LOAD]       [SHIFT]+[LOAD] automatically video crossfades to the
                  appropriate side.
	       
                  [CP]+[LOAD] does an instant video crossfade.
	 	  [CP]+[SHIFT]+[LOAD] does an alternative video crossfade.

		  For automatic crossfades, the fading can be 'bounced'.  By
		  pressing the [SHIFT]+[LOAD] button or [CP]+[SHIFT]+[LOAD]
		  button again, the fading direction will be 'bounced' in the
		  opposite direction.

		  NOTE:  [SHIFT] and/or [CP] on either side of the DAC-3 can
			 be used with this button.

  *  [MIX NOW]    [SHIFT]+[MIX NOW] automatically video crossfades to the
                  centre.
	       
                  [CP]+[MIX NOW] does an instant video crossfade.
		  [CP]+[SHIFT]+[MIX NOW] does an alternative video crossfade.

		  NOTE:  [SHIFT] and/or [CP] on either side of the DAC-3 can
			 be used with this button.

  *  [FX]	  [CP]+[FX] temporarily activates (Or deactivates if active)
		  video FX.

  *  [APPLY]      [CP]+[APPLY] toggles video FX on/off.

  *  [AUTO]	  Holding [CP]+[AUTO] and moving the jogwheel adjusts the video
		  FX parameter value.  The value is shown in the BPM/pitch %
		  digits.

		  [CP]+[AUTO]+[1]-[4] chooses video transitions 1-4.

  *  [DOWN]/[UP]  [CP]+[DOWN]/[UP] changes which video FX will be used
		  (The new value is shown in the large status digits.)

		  If the video FX is set to 0, it will be randomly changed
		  each time video FX is triggered, automatically giving a
		  variety of video effects.

		  [CP]+[SHIFT]+[DOWN]/[UP] selects which video transition will
		  be used (The new value is shown in the large status digits,
		  preceeded with -, e.g:  -2 = Transition #2.)

	          If the video transition is set to 0, it will be randomly
		  changed while the auto video crossfader is all the way
		  left or right, giving a variety of transitions each time
		  you perform an auto video crossfade.

 	 	  NOTE:  The position of the on-screen video crossfader cannot
		         currently be accessed by the mapper and will not
			 disable the random video transitions if you move it.



Adjusting user parameters:

  User parameters allow you to customise many aspects of the DAC-3 mapper
  directly from the DAC-3 in real time without needing to edit configuration
  files.

  Any changes you make to user parameters will be saved, so these do not need
  to be entered each time you use VirtualDJ.  The settings are saved in the
  file dac3_params.cfg in your VirtualDJ program files folder.

  To enter user parameter adjustment mode, press [CP]+[SHIFT]+[MT].
  
  The large digits to the left of the LCD display and the small digits
  to the top-right (BPM/pitch) will flash to indicate that you are in
  user parameter adjustment mode.

  The large digits show the current selected parameter number.  Use the
  [<<] and [>>] buttons to choose the parameter you wish to modify.  Use
  [SHIFT]+[<<]/[>>] to choose -/+ 10 and [CP]+[<<]/[>>] to go to the first
  and last parameter respectively.

  The small BPM/pitch digits show the current value.  Use [SHIFT]+jogwheel
  to change the value or the browser [DOWN]/[UP] buttons.
  
  The browser [DOWN]/[UP] buttons will decrease/increase the value by 1.
  [SHIFT] will change by 10, [CP] will change by 100 and [CP]+[SHIFT] will
  change by 1000.

  To save the change, press [SHIFT]+[FOLDER].  To cancel, press [FOLDER].
     
  You can also revert the parameter back to its default value using
  [CP]+[SHIFT]+[FOLDER] (Press [SHIFT]+[FOLDER] to save.)

  To exit user parameter adjustment mode, press [CP]+[SHIFT]+[MT] again.

  Parameters marked with & are shared between both decks.  Parameters that
  are not shared can be individually configured with different settings on
  either side of the DAC-3.


  The parameters that can be adjusted are:

  *  00  Use default map (0/1, default: 1)  &
  
         If set to 1, any custom mappings set via XML file will be overridden
         and built-in default mappings will be used instead.

  *  01  Cue mode (0/1, default: 1)  &

         Mode of cue button and DAC-3 'cue' action.  If 1, cue_stop will be
         used, otherwise 'stop'.

         [CUE] flashes while this value is being changed.

  *  02  Loop [IN]/[OUT]/[RELOOP] mode (0-2, default: 1)  &

	 If set to 2, the loop [IN]/[OUT]/[RELOOP] buttons set manual loop
	 in/out and reloop (Stutter) respectively.

	 If set to 1, these buttons set loop in, out, exit the loop
	 respectively (No stutter.)

	 If set to 0, the buttons will directly trigger beat loops instead.

	 [LOOP] flashes in the LCD display while this value is being changed.

  *  03  FX #1 LED toggle (0/1/2, default: 0)
     04  FX #2 LED toggle (0/1/2, default: 0)
     05  FX #3 LED toggle (0/1/2, default: 0)

         Changes the behaviour of LED for each direct FX button (FX, Apply,
         Auto) between toggle on/off (1) or temporary (0) (Remains on for
         <Status Time>)

         Set this appropriately depending on the effects you have loaded.
	  
         Set to 1 for effects that are toggled on/off (E.g:  Flanger) and
         0 for effects that stop after a short period of time (E.g:  Break
         and backspin.)  Set to 2 for the LED to be lit only while the
         button is held down.

         [FX], [Apply] or [Auto] LED flashes while these parameters are
         being changed

  *  06  Status time in seconds (0.1 - 9.9, default: 2.0)  &

         The amount of time various status indicators will remain active
         in seconds.  This includes the large status digits, FX LED's,
         time display, etc.)

  *  07  Status time flash interval (0.0 - 9.9, default: 0.5)  &

         Flashing interval for various status indicators when active
         in seconds.  If set to 0, the status indicators will not flash.

         Status digits flash at the appropriate interval as this parameter
         is changed.

  *  08  LED time in seconds (0.1 - 9.9, default: 0.7)  &

         The amount of time button LED's will continue flashing for after
	 the appropriate button has been released.

	 All button LED's flash as this parameter is changed.
		 
  *  09  LED flash interval (0.0 - 9.9, default: 0.2)  &

         Flashing interval for button LED's.  If set to 0, the LED will
	 not flash.

	 All button LED's flash at the appropriate interval as this parameter
	 is changed.

  *  10  Jogwheel cue sensitivity          (-9 - 9, default:  5)  &
     11  Jogwheel scratch senstivity      ( -9 - 9, default:  1)  &
     12  Jogwheel pitch bend sensitivity  ( -9 - 9, default: -2)  &
     13  Jogwheel file browse speed       (-99 - 0, default: -1)  &
     14  Jogwheel user parameters modify  (-99 - 0, default: -1)  &
     15  Jogwheel loop adjust sensitivity ( -9 - 9, default:  4)  &
     16  Jogwheel FX adjust speed         ( -9 - 9, default: -1)  &

         Adjusts the sensitivity of the jogwheel when cueing, scratching,
         pitch bending, file browsing, modifying user parameters and
	 adjusting loops/FX.

         [BRAKE] flashes while these parameters are being changed,
         along with [CUE] (Cue), [CONTINUE] (Scratch), [PITCH] (Pitch bend),
         [OUTRO] (File browse), [AUTO CUE] (Parameters), [LOOP] (Loops) or
	 [FX]+[APPLY]+[AUTO] LED's (FX.)

	 The jogwheel can be disabled in any of the above modes by setting
	 the sensitivity/speed value to 0.

  *  17  Display jogwheel value (0/1, default: 1)  &

	 If set to 1, the +/- jogwheel value when pitch bending and
	 scratching will be shown in the BPM/pitch % digits.

	 [BREAK] and [PITCH] flashes while this parameter is being changed.
	  
  *  18  Scratchlock on by default (0/1, default: 0)  &

         If set to 1, scratchlock will be enabled by default.

         [CONTINUE] flashes while this parameter is being changed.

  *  19  Scratch [CP] hold on by default (0/1, default: 1) &

	 If set to 1, and you scratch with [CP] held, it will continue
         to be held until the jogwheel stops moving, allowing you to
	 release [CP] and continue to scratch.

  *  20  Pause after scratch (-9.9 - 9.9, default: -1.0)  &

	 Sets the time after which the deck will be paused if a scratch or
	 spinback is performed for this amount of time.  Playback can be
	 resumed by pressing [PLAY].

	 If set to a negative value, the deck will only be paused after a
	 spinback (Jogwheel spinning in reverse direction) lasting atleast
	 the given amount of time is performed.  Scratching backwards and
	 forwards will not trigger the pause.

	 If set to a positive value, the deck will be paused after a scratch
	 is performed for atleast the given amount of time.  This allows
	 greater scratch control.

  	 [OUTRO] will be shown in the LCD display when the pause is triggered.
	
	 If set to 0.0, no pausing will occur.

  *  21  Master tempo (Time stretch) on by default (0/1, default: 0)  &

         If set to 1, master tempo (Time stretch) will be enabled by
         default, allowing speed to be changed without altering pitch.

         [MT] LED flashes while this parameter is being changed.
	  
  *  22  Timecode active by default (0/1, default: 0)  &

         If set to 1, timecode will be active by default, allowing
         timecode vinyl or CD's to be used in conjunction with the
         DAC-3 to control VirtualDJ.

         [R] LED flashes while this parameter is being changed.

  *  23  Fine pitch bend sensitivity   (1 - 999, default: 128)  &
     24  Course pitch bend sensitivity (1 - 999, default: 256)  &

         Adjusts the sensitivity of the fine and course pitch bend buttons
         ([-]/[+] and [SHIFT]+[-]/[+].)
	  
         [PITCH] is shown flashing in the display while these parameters
         are being changed.

  *  25  Fine pitch adjust sensitivity (1 - 99, default: 1)  &

         Adjusts the sensitivity of fine pitch adjust ([SHIFT]+pitch slider.)

         [PITCH] is shown flashing in the display while this parameter
         is being changed.

  *  26  Pitch calibration (-9.9 - 9.9, default: 0.0)

         If the DAC-3 pitch sliders do not read 0.0 when at the centre lock
         position, they can be calibrated using this parameter.

         To calibrate, move the pitch slider to the centre lock position,
         then adjust the value until it reads 0.0 and save the setting.

         [PITCH] is shown flashing in the display while this parameter
         is being changed.

	 NOTE:  It may take several presses of [DOWN]/[UP] to increase/
                decrease the value by -/+ 0.1  -  This is due to the finer
		pitch resolution value used internally by VirtualDJ.  You
		may find it easier to adjust using [SHIFT]+jogwheel.

  *  27  Smooth pitch reset speed (0 - 9.9, default:  3)

	 Sets the speed of smooth pitch reset ([R]) in seconds.  The pitch
	 slider is moved by 1 back towards the centre at this time interval.

	 If set to 0, smooth pitch reset will be disabled.

         [PITCH] is shown flashing in the display while this parameter
         is being changed.

  *  28  Pitch warning (0/1, default: 1)  &

	 If set to 1, and the physical DAC-3 pitch slider value does not
	 match that currently in use by VirtualDJ (E.g:  Pitch reset,
	 on-screen pitch slider has been moved), the difference will
	 be flashed in the BPM/pitch % digits, allowing an appropriate
	 adjustment to be made (E.g:  [CP]+pitch)

         [PITCH] is shown flashing in the display while this parameter
         is being changed.
  
  *  29  Play/cue flash interval (0.0 - 9.9, default: 0.5)  &

         Flashing interval for [PLAY] and [CUE] buttons in seconds.  Flashing
         can be disabled by setting this to 0.

         [PLAY] and [CUE] flash at the appropriate interval while this
         parameter is being changed.

  *  30  Show time remaining by default (0/1, default: 1)

         If set to 1, time remaining will be shown in the display by 
         default, otherwise time elapsed will be shown.

         [REMAIN] flashes while this parameter is being changed.

  *  31  Show BPM by default (0/1, default: 1)

         If set to 1, BPM will be shown by default, otherwise pitch %
         will be shown.

         [BEAT] and [PITCH] flash simultaneously while this parameter
         is being changed.

  *  32  Enable beat LED (0 - 4096, default: 2048)  &

         If set to a value greater than 0, the LED of the [MATCH] button will
         act as a basic beat indicator (Based on volume specified.)  If set
         to 0, the indicator will be disabled.

         [MATCH] LED flashes while this parameter is being changed.

  *  33  Real time elapsed/remaining (0/1, default: 0)  &
  
         If set to 1, the time elapsed/remaining will be adjusted taking
         pitch into account, resulting in the real amount of time
         remaining being shown rather than instead of time based on
         current song position.

         [REMAIN] flashes while this parameter is being changed.

  *  34  Time warning #1 time           (0   - 99,  default: 10)   &
     35  Time warning #1 flash interval (0.0 - 9.9, default: 0.3)  &
     36  Time warning #2 time           (0   - 99,  default: 4)    &
     37  Time warning #2 flash interval (0.0 - 9.9, default: 0.1)  &

         These parameters set the time (In real seconds remaining)
         and flash interval of the first and second time remaining
         warnings.  These are a visual warning that the song is
         about to end.

         [REMAIN] flashes in the display when these parameters are
         being changed, and the time display flashes at the appropriate
         interval when the flash interval parameters are being changed.

  *  38  Default Video crossfader position (0  - 4096, default: 2048)  &

         Sets the default video crossfader position at startup.  0 is left,
         2048 is centre and 4096 is right.

  *  39  Auto video crossfade speed             (-99 - 99, default: 4)   &
     40  Alternative auto video crossfade speed (-99 - 99, default: 16)  &

         Sets the auto video crossfading speed.

         A positive value sets the fade time in beats (Based on BPM of the
         song on the deck that the video is being faded to.)

         A negative value sets the fade time in seconds.

	 A value of 0 always performs an instant video crossfade.

  *  41  Link auto video crossfading with audio (0/1, default: 0)  &

         If set to 1, the auto/instant video crossfading will be linked
	 to the audio crossfader, updating its position when auto/instant
	 video crossfades are performed.

	 NOTE:  Moving the audio or video crossfader onscreen will not
	        update the position known by the DAC-3 (There is no
		way at present to get the onscreen crossfader value
		from VirtualDJ.)

  *  42  Default video transition     (0 or 1 - 4, default: 1)  &

         Sets the default video transition.  If set to 0, the video transition
	 will be changed at random intervals when the auto video crossfader is
	 all the way left or right.  This gives a variety of different
	 transitions each time auto video crossfading is used.

 	 NOTE:  The position of the on-screen video crossfader cannot be
		currently be accessed and will not disable the random
		video transitions if you move it.

  *  43  Random video transition time (1 - 999, default: 10)  &
	 
	 Sets the interval (In seconds) between random video transition
         changes.

  *  44  Random video FX by default (0 or 1 - 99, default: 0)  &

	 If set to 0, random video FX will be used, otherwise the starting
	 FX number will be set to that specified.

  *  45  Mode for cue/loop buttons 1-10		  (1-10, default: 0)  &
     46  Cue/loop buttons 1-10 with [SHIFT]	  (1-10, default: 5)  &
     47  Cue/loop buttons 1-10 with [CP]	  (1-10, default: 1)  &
     48  Cue/loop buttons 1-10 with [CP]+[SHIFT]  (1-10, default: 4)  &

	 Sets the operation modes of cue/loop buttons 1-10:

	 0:  Goto cue 1-4, beat loops 1, 2, 4, 8,  16, 32
	 1:  Set cue 1-4,  beat loops 2, 4, 8, 16, 32, 64
	 2:  Goto cue 1-10
         3:  Set cue 1-10
	 4:  Beat loops 1/8, 1/4, 1/2, 1, 2, 4, 8, 16, 32, 64
	 5:  Samples 1-10

  *  49  Date format (0 - 2, default: 0)  &

	 Sets the date display format:

	 0:  DD:MM:YY
	 1:  MM:DD:YY
	 2:  YY:MM:DD



Error messages:

  If an error occurs while loading user parameters and/or custom mappings at
  startup, or saving changed user parameters, one of the following error
  codes will be displayed in the status digits, along with all time
  remaining/elapsed digits and BPM/pitch % digits not currently in
  use displaying '-':

  *  -1   Unable to open file.

  *  -2   Error reading from/writing to file.
