
TUSBAudio - Thesycon USB Audio 2.0 Class Driver for Windows

Revision History


-----------------------------------------------------
V2.29.0 (February 13, 2015)
-----------------------------------------------------
* New: multiple MIDI cables supported

* Chg: MIDI ports now checks the embedded port for names if external has no name

* Fix: reset statistics throws an exception (Spy)

* New: driver API changed (added TUSBAUDIO_GetChannelInfo, TUSBAUDIO_GetVolumeMuteInfo, 
  TUSBAUDIO_GetVolume, TUSBAUDIO_SetVolume, TUSBAUDIO_GetMute, TUSBAUDIO_SetMute)


-----------------------------------------------------
V2.27.0 (January 13, 2015)
-----------------------------------------------------
* New: SDK supports Visual Studio 2013

* Chg: updated WTL to version WTL90_4140_Final to compile with Visual Studio 2013

* Chg: some SDK improvements:
  - design guide in reference manual
  - tusbaudiocplapp and tusbaudiodfuapp do not make use of precompiled headers
  - simplifies integration of libwn_min and TUsbAudioApiDll class into new applications

* New: 64-bit API DLL included in driver installer,
  driver API now available to 64-bit applications or services


-----------------------------------------------------
V2.26.0 (December 10, 2014)
-----------------------------------------------------
* Fix: control panel crash if device returned invalid volume range

* Fix: control panel shows invalid ASIO buffer size warning in DSD mode,
  TUSBAUDIO_GetMinimumASIOBufferSize returned invalid min size for DSD sample rates.

* New: ASIO buffer size selection applies to DSD mode as well.

* New: Automatic ASIO buffer size selection via control panel.
  Automatic mode is the driver's default.

* New: ASIO buffer size 16K and 32K added in control panel.

* Chg: ASIO DLL reports supported DSD sample rates in PCM mode now

* Chg: audio class interrupt message handling improved

* Chg: Refactored TUsbAudioApiDll class to support DLL loading
  by GUID, makes reusing of TUsbAudioApiDll class easier.

* New: Basic support for USB 3.0 mode implemented,
  still experimental, not fully tested.


-----------------------------------------------------
V2.25.1 (November 04, 2014)
-----------------------------------------------------
* Fix: Volume change notifications do not work after
  USB Streaming Mode has been switched via control panel.

-----------------------------------------------------
V2.25.0 (October 28, 2014)
-----------------------------------------------------
* Fix: If the device supports 32 bit PCM then Windows
  format list contains 24 bit formats twice. The 32 bit format 
  is supported on Windows 8 now but not supported on Windows 7.

* Chg: KS filter internal name includes AS (stream format) ID now.
  This prevents Windows from showing unsupported formats after
  stream format is switched via control panel.


-----------------------------------------------------
V2.24.0 (October 09, 2014)
-----------------------------------------------------
* New: DFU wizard application: 
  - An optional language selection dialog can now be 
    displayed to allow the user to define the used GUI
    language. The language selection dialog is controlled
    by the new section <LanguageSelectionDialog> in the XML
    configuration file.
  - Supported locales can now be specified in the new section
    <SupportedLocales> in the XML configuration file.
  - The Group "Firmware" and all contained controls can be
    hidden by means of the new flag "DisplayFirmwareFile"
    in the XML configuration file.
  - Aborting the firmware upgrade can be prevented by
    means of the new flag "AllowToAbortUpgrade" in the XML
    configuration file.
     
* Chg: On Windows 7 and newer OS: Driver Setup does not require
       that device is connected during install

* Chg: Changed the group icon shown on Device Manager 
       from network (-5) to USB (-20).
	   
* Chg: control panel, spy tool and firmware upgrade application 
       now working with Windows High-DPI settings

* Chg: Spy utility: max channel count per sound device increased to 32
	   
* Fix: control panel application: volume/mute updates optimized

* Fix: control panel application: volume resolution was ignored

* Fix: audio distortions in ASIO playback if sound is played
       on a second device instance.


-----------------------------------------------------
V2.23.0 (May 16, 2014)
-----------------------------------------------------

* Chg: The iAP interface is suppressed in the ST driver package
  _and_ in the EVAL driver package.

* Fix: ASIO streaming stops unexpectedly if control panel
  defers closing a handle of an already removed device.

* Fix: On device add/remove ASIO Reset was unnecessarily issued to all 
  ASIO host instances including those attached to another device instance.

* Chg: Stream startup optimized to reduce startup latency.
  Startup delay is reduced from ~100ms to ~20ms.


-----------------------------------------------------
V2.22.3 (May 07, 2014)
-----------------------------------------------------
* Fix: Control panel app: 
  - close handle on device remove, even if the app is hidden

-----------------------------------------------------
V2.22.2 (April 25, 2014)
-----------------------------------------------------
* New: DFU wizard app: 
  - transferred bytes are now shown in the status view

-----------------------------------------------------
V2.22.1 (April 24, 2014)
-----------------------------------------------------
* Fix: DFU wizard app: 
  - progress bar now shows the correct state

-----------------------------------------------------
V2.22.0 (April 17, 2014)
-----------------------------------------------------

* New: subdevices can also be suppressed via registry parameter
  "Block_CLASS_%02X_SUBCLASS_%02X_PROT_%02X" in inf_parameters.inc

* Chg: The iAP interface is suppressed in the ST driver package

* New: Control panel app: 
  - configuration allows to hide the info page
  - device selection on the Status page is disabled if only one device is present
  - error message is displayed if the configuration cannot be opened

* New: DFU wizard app: 
  - configuration file allows to specific models and firmware files in <SupportedDevices>
  - firmware version check, configurable through <CheckFirmwareVersion>
  - error message is displayed if the configuration cannot be opened
  - error message is displayed if the configuration file version is not compatible

* Fix: DFU wizard app: 
  - 'ready' status not displayed before the firmware was specified


-----------------------------------------------------
V2.21.0 (April 08, 2014)
-----------------------------------------------------

* New: New API functions to support vendor requests:
  TUSBAUDIO_ClassVendorRequestOut(), TUSBAUDIO_ClassVendorRequestIn().

* New: TUSBAUDIO_StartDfuDownload() API function enhanced by flags
  TUSBAUDIO_FLAG_NO_REBOOT and TUSBAUDIO_FLAG_ENUM_AFTER_REBOOT

* Chg: By default, firmware update procedure does not wait for app
  firmware to come up. This can be forced via TUSBAUDIO_FLAG_ENUM_AFTER_REBOOT.
  If TUSBAUDIO_FLAG_ENUM_AFTER_REBOOT is set and the device does not reboot
  within 2 mins then the update procedure fails with timeout error.

* Fix: Control panel app: focus was caught after PnP events
  when minimized to Systray

* Chg: DFU GUI utility: status output revised,
  improved support for resizeable dialog,
  another firmware upgrade now requires to restart the application,
  ESC key doesn't close the application

* Fix: Audio Control descriptor parsing for MIDI was not 
  working for all UAC 1.0 devices

* Chg: subdevice creation is more generic now: a subdevice will be created 
  for any IAD or interface that is not claimed by Audio, MIDI, DFU.

* New: subdevices can be suppressed for individual interfaces  
  via "Block_IFC_%02X" registry parameter in inf_parameters.inc

* Chg: Stream formats (alternate settings) parsing is more flexible now.
  PCM and RAW/DSD formats can be placed in any order.

* New: DSP plugin must be enabled via EnablePlugin registry parameter
  in model-specific subkey.

* Chg: Eval driver has restriction in MIDI TX and RX data path now.


-----------------------------------------------------
V2.20.0 (February 24, 2014)
-----------------------------------------------------

* Fix: BSOD if a Windows sound device has more than 20 channels

* Chg: Up to 64 channels per Windows sound device supported now.

* Chg: No channel mapping if more than 8 channels of a sound device are opened.

* Chg: Default algorithm builds one single sound device with all channels
  (was limited to 8 channels before)


-----------------------------------------------------
V2.19.0 (February 06, 2014)
-----------------------------------------------------

* New: New control panel application, improved UI, fully customizable

* New: New control panel also included in ST driver,
  but with reduced functionality

* Fix: SPDIF renderer devices now supports hardware volume controls

* Fix: KS GetBuffer called at very high rate (@ sample rate) 
  if there is a "no buffer" condition

* Fix: Firmware version in DFU GUI utility not shown as BCD

* Chg: Custom icon will be patched in DFU utility and control panel .exe.
  External .ico file causes problems because of Windows shell icon caching.

* Chg: If a device does not implement the Validity control in 
  its clock source then assume that the clock is always valid.

* Chg: Avoid debug trace message in case bus driver completes
  isoch buffer untouched


-----------------------------------------------------
V2.18.0 (January 14, 2014)
-----------------------------------------------------

* New: Windows 8.1 supported.

* New: Manifests include Windows 8.1 OS. 
       Signatures and .cat files include Windows 8.1 OS tag.

* New: Driver install packages are self-extracting .exe now 
      (created with 7-zip) instead .zip files. This is to avoid
      warning messages about untrusted files in Windows 8.1.
      For more info, see also user manual section 6.2.


-----------------------------------------------------
V2.17.0 (December 20, 2013)
-----------------------------------------------------

Internal preview release, not for redistribution!

* Chg: audio class 1.0 feedback endpoint at high speed now supported

* Chg: generic child device builder now handles interfaces with 
       bInterfaceClass=0xFF, but skips interfaces with no endpoints

* Fix: Stream format switching not working for DSD formats

* New: Statistics enhanced: sound device volume/mute + feature units


-----------------------------------------------------
V2.16.0 (November 26, 2013)
-----------------------------------------------------

* Fix: 32 bit PCM through WASAPI was not working

* New: DSD sample rate 22.6 MHz (DSD512) is supported if device supports 705600 Hz


-----------------------------------------------------
V2.15.0 (October 21, 2013)
-----------------------------------------------------

* Fix: KS mute control only (no volume control) did not work.

* Chg: re-enabled the Generic child PDO feature in Lite version

* Chg: supported sample rate list in DSD mode = supported list in PCM mode

* New: DSD sample rate 11.3 MHz (DSD256) is supported if device supports 352800 Hz

* Chg: Driver package .sys files are not signed any longer. 

* Chg: DriverPackageBuilder now requires code signing certificate.
       Pre-signed .sys files are not supported any longer as these
			 do not work under Windows 8.


-----------------------------------------------------
V2.14.0 (September 24, 2013)
-----------------------------------------------------

* New: Firmware update wizard GUI improved

* New: setup.ini supports LaunchAfterInst feature

* Chg: Final step of DFU procedure modified:
       procedure waits until the new firmware comes up but ignores error


-----------------------------------------------------
V2.13.0 (September 02, 2013)
-----------------------------------------------------

* Fix: send correct DSD idle pattern when streaming starts

* New: ASIO DSD mode supported, tested with Foobar

* New: Lite version is restricted to XMOS VID


-----------------------------------------------------
V2.12.0 (August 23, 2013)
-----------------------------------------------------

* New: ASIO DSD mode supported (beta, not yet fully tested)


-----------------------------------------------------
V2.11.0 (August 20, 2013)
-----------------------------------------------------
* Internal engineering release.

* New: DSD support (beta)

* New: Driver sets friendly name shown in device manager
       to product string reported by the device
       if ShowFriendlyDeviceName features is enabled via .inf

* Fix: Memory leaks in NonPaged pool (minor issue)


-----------------------------------------------------
V2.10.0 (June 14, 2013)
-----------------------------------------------------

* Chg: Final step of DFU procedure modified:
       Now procedure does not wait until the new firmware comes up.

* Fix: Workaround in driver installer for Vista specific problem:
       required MS root cert will not be installed automatically.

* New: API DLL registration added,
       enables an application to locate the DLL.

* New: Driver .inf setting EnableAsioKsSharing added,
       enable/disable ASIO+WDM playback mix

* Fix: custom.ini cannot be loaded if path contains 
       UNICODE characters


-----------------------------------------------------
V2.0.0 (April 26, 2013)
-----------------------------------------------------

* New: Lite driver variant introduced

* New: new USB buffer setting: UsbStreamingMode_Reliable = 12 ms
       default setting in Lite driver

* Chg: TUsbAudioDeviceProperties contains a valid serialNumberString
       only if the device reports a USB serial number.

* New: new API function TUSBAUDIO_GetDeviceInstanceIdString

* Chg: merged in current library code 


-----------------------------------------------------
V1.67.0 (April 4, 2013)
-----------------------------------------------------

* Fix: Invalid feedback values can cause BSOD.
       Driver now ignores invalid values. 
       Error statistics added.

* Fix: Problem with optional volume characteristics correction
       and audio class requests through API.

* Fix: incorrect AddAndClipInt32bSamples in integer plugin


-----------------------------------------------------
V1.66.0 (March 22, 2013)
-----------------------------------------------------

* New: optional volume value cache in driver implemented

* New: optional volume characteristics correction


-----------------------------------------------------
V1.65.0 (February 6, 2013)
-----------------------------------------------------

* New: Multichannel record through WDM is supported now.

* Chg: MIDI OUT pipe sends 2 and 3 byte events now
       as defined by the MIDI spec.
       Single Byte event (0xF) is not used anymore.

* Chg: multichannel playback profile in XMOS_EVAL_KITS_PRO


-----------------------------------------------------
V1.64.0 (December 17, 2012)
-----------------------------------------------------
* Internal engineering release.


-----------------------------------------------------
V1.63.0 (December 3, 2012)
-----------------------------------------------------

* New: Support for Latency Control added. Device latency
  is now added to latency reported through ASIO.

* Chg: MIDI OUT pipe throughput increased

* Chg: enabled compiler optimizations for debug build

* Chg: merged in current library code 

* Chg: improved error handling in case device fails 
  a set sample rate request.

* New: Statistics enhanced to allow a more detailed
  analysis of processing runtime


-----------------------------------------------------
V1.61.0 (September 10, 2012)
-----------------------------------------------------

* Chg: SignTools v1.5.0 is now used to create .cat files for
  Windows 8 and Windows Server 2012
  See signing subdirectory!

* New: PIDs 0x0006 and 0x0008 used for SU1 chip 
  added to XMOS_EVAL_KITS package

* Fix: KS driver operates in event-driven mode now.
  Timer-driven mode caused issues in Win8 if playback 
  runs for several hours.


-----------------------------------------------------
V1.60.1 (August 29, 2012)
-----------------------------------------------------

* Chg: SignTools v1.4.0 is now used to create .cat files for
  Windows 8 and Windows Server 2012

-----------------------------------------------------
V1.60.0 (August 17, 2012)
-----------------------------------------------------

* Fix: Installer does not display license.txt file under 
  specific conditions.

* Fix: Incorrect parameter check in child device SELECT_INTERFACE
  handling.

* Chg: Driver expects an empty Audio Class Control interface 
  prior to the MIDI streaming interface.


-----------------------------------------------------
V1.59.0 (July 24, 2012)
-----------------------------------------------------

* New: Manifest of all applications (setup, control panel etc.) 
       adapted to support Windows 8.  

* Fix: Installer: If the setup is running in GUI mode the user is now informed if he
       tries to install in a folder for which he has not the required 
       privileges. Installation is not started in this case.

* Fix: Installer error handling fixed for the case that the user disconnects the 
       device during installation.

* Chg: Child device is created for Audio/DFU interface, too, if this
       interface is not claimed by the driver


-----------------------------------------------------
V1.58.0 (June 18, 2012)
-----------------------------------------------------

* New: XMOS_L1_HIFI configuration added to customization kit.

* New: Master volume and mute control of Feature Unit
  routed to Windows controls, if no single channel controls are available.

* New: Driver is able to select ASIO buffer size automatically 
  (useful if no control panel is implemented). Manual selection is the default.

* New: Streaming hold on interval can be configured via registry,
  hold on behavior can be turned off.

* Fix: Driver checks for availability of SSE2 instruction set
  and fails to load if unavailable.


-----------------------------------------------------
V1.57.0 (May 22, 2012)
-----------------------------------------------------

* Fix: Thread synchronization problem in DFU firmware downloader

* New: Installer supports Windows 8. 
  Driver works on Windows 8 consumer preview version 32 bit and 64 bit

* New: MIDI port names configurable via .inf file

* New: Spy statistics enhanced: plugin Process runtime

* Chg: Registry parameters AllowMidiInPortSharing, AllowMidiOutPortSharing removed, 
  new setting under port-specific subkey: AllowMidiPortSharing


-----------------------------------------------------
V1.56.0 (April 13, 2012)
-----------------------------------------------------

* Chg: Set USB Streaming Mode, Set Stream Format, Set Clock Source now possible
  while an ASIO client or Windows client is active.

* Chg: customization scripts: number of supported VID/PID increased from 5 to 16

* Chg: customization scripts: If vendor certificate is not available then a driver package
  without signature will be created, sys files will be signed with Thesycon certificate.

* Chg: Documentation of customization scripts improved.

* Fix: problem in Volume/Mute notification handler

* Chg: stall SetSampleRate now ignored if device only supports one sample rate

* Chg: Sound devices will be created in reverse order to make the 
  first one the default device under Win7

* New: ASIO DLL supports private extensions kThesyconAsioGetThreadPrio, kThesyconAsioSetThreadPrio,
  see thesycon_asio_ext.h


-----------------------------------------------------
V1.55.0 (February 17, 2012)
-----------------------------------------------------

* New: Graphic in setup wizard can be customized.

* New: Support for silent uninstall in setup wizard improved.

* Fix: potential deadlock in PnP path when device is removed,
  caused by work item callbacks in steaming engine


-----------------------------------------------------
V1.54.0 (January 12, 2012)
-----------------------------------------------------

* Fix: driver v1.53 does not load for class 1.0 devices

* Fix: driver does not accept feedback endpoint for
  class 1.0 devices because of missing usage type in
  bmAttributes
  
* Fix: error in feedback data processing for class 1.0
  OUT-only devices causes BSOD

* Fix: error in float-to-int conversion results in 
  corrupted samples

* Chg: feedback statistics improved (more readable now) 
  
* Chg: Documentation update


-----------------------------------------------------
V1.53.0 (December 22, 2011)
-----------------------------------------------------

* Chg: Handling of sample format (class 1.0 and 2.0) 
  changed internally

* Chg: Separate source packages, internal libraries branched


-----------------------------------------------------
V1.52.0 (December 19, 2011)
-----------------------------------------------------

* Chg: Driver loads in case of invalid USB Audio Class
  descriptor but does not expose audio devices, this
  allows firmware update in this case
  

-----------------------------------------------------
V1.51.0 (December 19, 2011)
-----------------------------------------------------

* New: stream processing supports IEEE float format


-----------------------------------------------------
V1.50.0 (October 14, 2011)
-----------------------------------------------------

* New: sound device category and name GUIDs can be 
  configured via .inf file

* Chg: DriverPackageBuilder .cmd scripts reworked
  and .inf file templates enhanced to support 
  sound device profiles and names

* Fix: Default algorithm does not create playback sound
  devices for channel 9 and above. Recording sound devices
  were created instead.


-----------------------------------------------------
V1.49.0 (September 28, 2011)
-----------------------------------------------------

* New: sample rate changes through KS can be disabled
  via registry


-----------------------------------------------------
V1.48.0 (September 20, 2011)
-----------------------------------------------------

* Fix: resource leak on sample rate change may cause
  the driver to stop working

* Fix: DriverPackageBuilder reported TPP.EXE as missing

* Chg: We do not longer round up IN stream buffers to
  1024 bytes, because this does not work on FrescoLogic
  USB 3.0 host controllers.

* Chg: Windows sound devices do no longer support
  bit resolutions that are not supported by the device
  (Windows XP only) 


-----------------------------------------------------
V1.47.0 (August 24, 2011)
-----------------------------------------------------

* Fix: risk of deadlock in KS framework on stream format
  changes (IOCTL_TUSBAUDIO_SELECT_STREAM_FORMAT_xx)
  Note: this is not yet fully fixed but the probability
        is reduced to a minimum


-----------------------------------------------------
V1.46.0 (August 18, 2011)
-----------------------------------------------------

* Fix: device name in Sound and Audio Device Properties
  (Windows XP only) was corrupted for specific
  configurations


-----------------------------------------------------
V1.45.0 (August 11, 2011)
-----------------------------------------------------

* Fix: risk of BSOD on driver load, caused by invalid
  memory access

* Chg: Workaround in the driver for ISO endpoints 
  with bInterval>4 removed. Windows bus driver supports
  bInterval<=4 only. Workaround (descriptor patch) does not
  work with USB 3 controller drivers.


-----------------------------------------------------
V1.44.0 (August 05, 2011)
-----------------------------------------------------

* Fix: DTM Device Path Exerciser causes BSOD

* New: WDM sound device configuration can be defined
  via registry (.inf file) per device model that is
  supported by a driver package

* New: driver supports synchronization type 'Adaptive'
  for ISO OUT endpoint

* New: driver ensures that the data path (USB streaming)
  is stopped before restarting the device in DFU mode


-----------------------------------------------------
V1.43.0 (June 27, 2011)
-----------------------------------------------------

* Fix: Driver does not load if a feedback stream exists
  

-----------------------------------------------------
V1.42.0 (June 20, 2011)
-----------------------------------------------------

* Fix: potential BSOD if AC notification comes in
  while device is removed.

* New: watchdog timer restarts streams if streaming hangs
  for any reason, e.g. USB 3.0 bus driver issues.

* Fix: control panel GUI problems on Windows 7 if text size 
  is set to a value larger than 100%


-----------------------------------------------------
V1.41.0 (June 10, 2011)
-----------------------------------------------------

* Fix: KS Capture path does not work. 
  This bug was introduced in V1.34.0.

* Chg: default ASIO channel names start at index 1
  instead at index 0


-----------------------------------------------------
V1.40.0 (June 5, 2011)
-----------------------------------------------------

* Chg: New buffer settings concept: 
  - streaming buffer size replaced by USB Streaming Mode
  - ASIO buffer size can be set in samples

* Chg: Incompatible API change!
  REMOVED API functions:
    TUSBAUDIO_GetStreamingBufferSizeSet
    TUSBAUDIO_GetStreamingBufferSize
    TUSBAUDIO_SetStreamingBufferSize
    TUSBAUDIO_GetAsioBufferSizeSet
    TUSBAUDIO_GetAsioBufferSize
    TUSBAUDIO_SetAsioBufferSize
  NEW API functions: 
    TUSBAUDIO_GetUsbStreamingMode
    TUSBAUDIO_SetUsbStreamingMode
    TUSBAUDIO_GetASIOBufferSize
    TUSBAUDIO_SetASIOBufferSize
    TUSBAUDIO_GetMinimumASIOBufferSize
  RENAMED:
    enum TUsbAudioStreamingMode --> TUsbAudioDeviceStreamingMode

* Chg: New buffer settings dialog in control panel


-----------------------------------------------------
V1.34.0 (June 1, 2011)
-----------------------------------------------------

* Fix: BSOD because KS driver does not check for zero-length
  buffers submitted by applications in the playback path

* Fix: BSOD because of race in KS driver between 
  SetPower and DeleteFilter

* New: customer-specific workaround: swap center and LFE 
  channels in the playback path if enabled in the .inf file
  via EnableSwapCenterLfeWorkaround


-----------------------------------------------------
V1.33.0 (May 27, 2011)
-----------------------------------------------------

* New: ASIO supports 32 bits per sample transparent data path.

* Chg: WDM sound device supports 24 bits per sample only
  if this format is supported by the device.

* Fix: there was a risk of a driver crash (BSOD)
  in case of errors in MIDI initialisation


-----------------------------------------------------
V1.32.0 (May 20, 2011)
-----------------------------------------------------

* Chg: disabled use of 'Valid Alternate Settings Control'
  until it is implemented by firmware

* Chg: if a clock selector has one input pin only the
  driver does not send clock selector requests

* Chg: using Windows Driver Kit version 7.1.0 to build
  the kernel modules (was version 7.0.0 formerly)

* Chg: if no string descriptor is provided for a USB
  terminal the driver tries the string descriptor of the
  AudioControl interface for sound device name before
  using the hard-coded default name

* Chg: for all DFU USB requests the maximum timeout interval
  that is allowed by the USB specification (5 seconds) is used


-----------------------------------------------------
V1.31.0 (April 18, 2011)
-----------------------------------------------------

* New: added support for OUT-only configurations with
  data endpoint synchronization type 'Synchronous',
  no feedback endpoint is required for such configurations


-----------------------------------------------------
V1.30.0 (April 15, 2011)
-----------------------------------------------------

* New: sample rate can be set through private API,
  new function: TUSBAUDIO_SetSampleRate


-----------------------------------------------------
V1.29.0 (March 18, 2011)
-----------------------------------------------------

* Fix: there was a memory leak in API DLL, function
  TUSBAUDIO_ReadDeviceNotification

* Chg: avoid setting sample rate twice on streaming
  startup, this decreases the delay between streaming
  request and streaming active


-----------------------------------------------------
V1.28.0 (March 16, 2011)
-----------------------------------------------------

* Chg: record data path carries NULL samples during 3 seconds
  hold-off period (after client app disappeared)

* Chg: the sample rate of the device is set before the
  streams are activated (for USB Audio Class 2.0 devices)
  and after (for USB Audio Class 1.0 devices) respectively

* New: API extended to control the streaming mode of the
  device (power saving, always on), new functions:
  TUSBAUDIO_GetDeviceStreamingMode
  TUSBAUDIO_SetDeviceStreamingMode


-----------------------------------------------------
V1.27.0 (March 09, 2011)
-----------------------------------------------------

* Fix: there was a risk of a driver crash (BSOD) after
  the PC has returned from standby/hibernate

* Fix: if there is only one stream format (alternate setting)
  per direction the 'Valid Alternate Settings Control'
  request will not be used to further validate the list
  of supported sample rates

* Fix: the driver installer enters a wait state if it detects
  that the system is performing an installation, this improves
  behavior of first time driver installation (when device is
  connected for the first time)


-----------------------------------------------------
V1.26.0 (February 23, 2011)
-----------------------------------------------------

* Chg: driver startup behaviour regarding sampling rate
  revised, initial SET request is removed

* Chg: revised selection of default feature units for
  volume and mute control, a single extension unit is
  allowed in the path now

* Chg: extended sound device creation for input direction,
  the driver creates an 8-channel analogue sound device
  for channel 0..7 and 2-channel digital sound devices
  for remaining channels

* Fix: ASIO work-around for ProTools 9 implemented

* Fix: BSOD in AcTerminal::GetInsertedConnectors()
  (mismatch trace format <-> trace arguments)

* Fix: BSOD in AudioFunctionController::Cleanup
  (NULL pointer in AsTerminalStream destructor)

* Fix: USB Audio Class requests through driver API
  are no longer allowed while the device is not in
  audio mode

* Fix: USB Audio Class 1.0 devices only: the sample rate
  of the ISO endpoints is set after AS>0 was selected

* Fix: USB full-speed mode only: streaming startup
  procedure revised, this fixes occasional errors while
  starting streaming

* Fix: XP only: Initial position of setup wizard is in 
  the upper left corner. This is to avoid that the wizard
  hides the WHQL warning dialog.


-----------------------------------------------------
V1.25.0 (January 05, 2011) - internal release
-----------------------------------------------------

* New: for clock sources of type 'External' the driver
  will query the external rate by issuing a GET CUR
  CS_SAM_FREQ_CONTROL request with CN set to 1

* New: for each stream format (alternate setting) the
  list of supported sample rates is stored separately,
  the driver uses the 'Valid Alternate Settings Control'
  for this


-----------------------------------------------------
V1.24.0 (December 22, 2010)
-----------------------------------------------------

* New: added support for additional USB functions,
  will be exposed as child devices


-----------------------------------------------------
V1.23.0 (December 21, 2010)
-----------------------------------------------------

* Chg: dsp_al.h: DBGPRINT(x) macro redefined as DBGPRINTF(x)

* Chg: for high-speed devices it is allowed to have a polling
interval slower than per microframe

* Fix: the installer will install the driver for a device
although there is a more trusted driver available

* New: added jack sensing support


-----------------------------------------------------
V1.22.0 (December 2, 2010)
-----------------------------------------------------

* Chg: revised USB Audio Class descriptor parsing, now supports
  USB Audio Class 1.0 devices

* Chg: revised streaming layer to allow full-speed streaming
  and to support USB Audio Class 1.0 devices, improved streaming
  at low latencies (at small streaming buffer size)

* Chg: ASIO worker thread priority increased,
  increases stability when smallest ASIO buffer size is used

* Chg: ASIO DLL now reports buffer sizes that are compatible
  with Pro Tools 9.

* Chg: custom.ini now supports absolute or relative path in AsioControlPanel=
  New setting AsioControlPanelArgs= added to specify optional arguments

* Fix: On specific error conditions, ASIO CreateBuffers can return 
  null pointers for ASIO buffers which causes ASIO host to crash

* Fix: No more audio samples were flowing after the ASIO host
  has changed the sample rate (observed with Cubase and Nuendo)

* Chg: added support for volume/mute control via private control API,
  TUSBAUDIO_AudioControlRequestSet can address feature units

* New: added volume/mute change notifications through private control API
  TUSBAUDIO_RegisterDeviceNotification support new category
  TUSBAUDIO_NOTIFY_CATEGORY_VOLUME_CHANGE


-----------------------------------------------------
V1.21.0 (October 15, 2010)
-----------------------------------------------------

* New: added support for floating point arithmetic
  in DSP code


-----------------------------------------------------
V1.20.0 (October 12, 2010)
-----------------------------------------------------

* New: added support for Digital Signal Processing (DSP)
  plugin, plugin is implemented as a kernel mode driver

* Chg: USB streaming layer implementation revised, audio
  latency improved


-----------------------------------------------------
V1.19.0 (October 20, 2010)
-----------------------------------------------------

* Fix: Driver crashes if device does not report a valid 
  sample rate, or initial set sample rate request fails

* Fix: Invalid return value (e.g. zero) from 
  GET CLOCK_SELECTOR_CONTROL caused control panel to crash.

* Fix: BSOD if ASIO host is closed after device was unplugged.

* Chg: API changed: currentIndex parameter removed from:
  TUSBAUDIO_GetSupportedSampleRates
  TUSBAUDIO_GetSupportedClockSources
  TUSBAUDIO_GetSupportedStreamFormats

* Chg: API changed: TUsbAudioClockSource revised

* New: ASIO multi-client support can be disabled
  via registry

* Fix: AsioReset not delivered to second ASIO client 
  on sample rate change


-----------------------------------------------------
V1.18.0 (September 08, 2010)
-----------------------------------------------------
* Fix: Foobar 2000 playback through ASIO hangs 
  when sample rate changes

* New: ASIO control panel supported 
  (through custom.ini)

* Chg: MIDI Cable Number interpretation changed after
  clarification by Apple/Roland, Cable Number is now
  used as a zero-based index into the baAssocJackID
  array of the endpoint descriptor

* New: device volume/mute change notifications are
  reflected in the Windows mixer


-----------------------------------------------------
V1.17.0 (September 1, 2010)
-----------------------------------------------------
* New: control panel supports stream format switching
  (based on alternate settings)

* New: control panel supports firmware upgrade


-----------------------------------------------------
V1.16.0 (August 11, 2010)
-----------------------------------------------------
* New: SDK package available

* Chg: private driver API support direct access 
  to device descriptors and allows to send AudioClass 
  control requests to specific nodes
* Chg: control panel redesigned


-----------------------------------------------------
V1.15.0 (July 27, 2010)
-----------------------------------------------------
* New: WDM audio devices for SPDIF (PCM-only format)
  added
* New: firmware image to be touched by DFU procedure
  can be selected
* New: list of available clock sources is displayed
  in control panel (including clock source status
  information), current clock source can be selected
* New: interrupt endpoint of AudioControl interface
  is polled for messages, control panel processes these
  messages

* Chg: Demo/Eval restrictions relaxed:
  beep starts after 60 mins and is then repeated 
  every 5 mins

* Fix: DFU Console shortcut does not start dfucons.exe
  because of an invalid PATH variable
* Fix: Windows XP WDM audio OUT was locked to 16 bit
  resolution
* Fix: Windows XP WDM multichannel signal was mixed
  to channel 1/2 (stereo)
* Fix: accidental BSOD while dynamically unloading 
  WDM sound devices


-----------------------------------------------------
V1.14.x
-----------------------------------------------------
internal releases


-----------------------------------------------------
V1.14.0 (June 30, 2010)
-----------------------------------------------------
* Chg: timeout for AudioClass control USB requests
can be configured per device type
* Chg: DFU interface number is detected dynamically


-----------------------------------------------------
V1.13.x
-----------------------------------------------------
internal releases


-----------------------------------------------------
V1.12.0 (June 14, 2010)
-----------------------------------------------------
internal beta release
* New: MIDI support included, tested with XDK only


-----------------------------------------------------
V1.11.0 (June 03, 2010)
-----------------------------------------------------
* Fix: Windows Vista volume playback and record
devices often started muted (XMOS issue [8380])
* Fix: driver can't play and record at same time
(XMOS issue [8425])


-----------------------------------------------------
V1.10.1 (June 02, 2010)
-----------------------------------------------------
* Fix: distorted sound in out-only configuration
(XMOS issues [8404], [8414])


-----------------------------------------------------
V1.10.0 (May 28, 2010)
-----------------------------------------------------
* Fix: Line in was labeled "Speaker"
* Fix: W7: Sample rate list was incomplete
* Fix: XP: 24 bit format was not working
* Chg: Control Panel displays current sample rate only,
       but does not allow sample rate switching


-----------------------------------------------------
V1.00.0 (May 12, 2010)
-----------------------------------------------------
* New: device sample rate can be set at the
WDM audio interface (Windows Vista and higher only)
* New: device volume and mute can be controlled 
by using the standard Windows controls
* New: added customization support, this allows a
licensee to create a customized driver package
* New: added reference manual which includes a
detailed description of the customization procedure
* Chg: Test Kit is replaced by Customization Kit
* Fix: control panel did not handle device hot-plug
correctly when start in hidden mode


-----------------------------------------------------
V0.50 (April 30, 2010)
-----------------------------------------------------
* New: Device Firmware Upgrade (DFU) support added
* Chg: delivery package consists of two parts
  - Package extractor: unpacks all files to disk,
  optionally starts driver installer
  - Driver Installer: installs drivers and tools,
  creates Start Menu entries, starts control panel


-----------------------------------------------------
V0.40 (April 20, 2010)
-----------------------------------------------------
* New: 64-bit ASIO support added
* New: bit-perfect playback via ASIO interface verified
* New: a free evaluation version of the driver package
is available
* Chg: driver-internal calculation of streaming buffer
size and count revised to avoid lengthy DPCs
* Fix: control panel did not handle device hot-plug
correctly


-----------------------------------------------------
V0.31 (February 23, 2010)
-----------------------------------------------------
* New: control panel displays global driver status
  and error information
* New: control panel reacts to driver activities
  (sampling rate change, ...)
* New: package installer may execute driver setup 
* Fix: driver setup does not install device driver
  on Windows XP
* Fix: revised ASIO sample counting and buffer pointer
  handling


-----------------------------------------------------
V0.30 (February 12, 2010)
-----------------------------------------------------
* New: added full-featured driver installer
* Chg: driver sets MUTE=OFF and VOL=0db for all
  feature units (master channel only) of the device
  while loading


-----------------------------------------------------
V0.24 (January 21, 2010)
-----------------------------------------------------
* New: driver sets MUTE=OFF and VOL=MAX for all
  feature units (master channel only) of the device
  while loading
* New: added support for device hot-plug while ASIO
  interface is active
* Fix: revised sample rate management


-----------------------------------------------------
V0.23 (January 19, 2010) - ASIO beta 1
-----------------------------------------------------
* New: added ASIO support (still beta)
* New: buffer size can be changed via control panel
* Chg: sample rate and buffer size settings are
  persistent now and will be restored on driver load
* Chg: control panel resides in system tray now
* New: added package installer to install
  all files on disk


-----------------------------------------------------
V0.22 (December 22, 2009)
-----------------------------------------------------
* Fix: audio output stops when playback is paused in
  playback application
* Chg: default streaming buffer size increased to
  tolerate DPC latencies


-----------------------------------------------------
V0.21 (December 15, 2009)
-----------------------------------------------------
* New: driver allows to set sample rate via private API
* New: driver uses implicit feedback for synchronization
  if an IN stream is available, device feedback endpoint
  will not receive IN tokens in this mode
* New: control panel added


-----------------------------------------------------
V0.20 (December 04, 2009)
-----------------------------------------------------
* New: driver exposes a Windows sound device for
  SPDIF output
* New: spy tool including extensive statistics added
* New: driver console added


-----------------------------------------------------
V0.10 (November 06, 2009)
-----------------------------------------------------
Initial release.
