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 in the XML configuration file. - Supported locales can now be specified in the new section 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 - firmware version check, configurable through - 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.