diff --git a/host_usb_mixer_control/Makefile.Win b/host_usb_mixer_control/Makefile.Win
index 005c1a5d..52f13116 100644
--- a/host_usb_mixer_control/Makefile.Win
+++ b/host_usb_mixer_control/Makefile.Win
@@ -1,4 +1,5 @@
-THESYCON_DIR = C:\Program/ Files\Thesycon\XMOSinternalUsbAudio_v5.50.0_eval_2022-11-17_SDK
+!if [set SDKPath=C:\Program^ Files\XMOS\tusbaudiosdk]
+!endif
all:
msbuild host_usb_mixer_control.vcxproj /property:Configuration=Release /property:Platform=x64
diff --git a/host_usb_mixer_control/README b/host_usb_mixer_control/README
index 7b42c4b5..a73ac326 100644
--- a/host_usb_mixer_control/README
+++ b/host_usb_mixer_control/README
@@ -2,6 +2,16 @@ The XMOS USB Audio Reference Design, by default, contains an 18x8 mixer unit
(note that at sample rates above 96Khz only the first two outputs are
enabled).
+----WINDOWS REQUIREMENTS----
+Building the mixer on Windows requires the tusbaudio SDK from Thesycon. The
+default location for the SDK is C:\Program Files\XMOS\tusbaudiosdk\
+If it can be found on a different path then this can be changed in
+Makefile.Win.
+
+The mixer app on windows makes use of a USB dynamic library, also from Thesycon.
+If required please contact thesycon.de for support.
+----------------------------
+
This unit takes input takes 18 inputs: USB OUT channels 1..10 and
DEVICE IN channels 1..6,9..10 and produces 8 outputs: Mixer Output
1..8
@@ -17,7 +27,7 @@ channels 1..10, DEVICE IN channels 1..10 and Mixer Output 1..8
The channel map units are extension unit with init ids 51 and 52. This unit
lets you implement arbitrary routings including loopbacks.
-The mixer is control on MAC OS X via the command line utility
+The mixer is controlled on macOS via the command line utility
xmos_mixer. Running this application requires having the
libusb-1.0.0.dylib in the dynamic library load path. Sourcing the
setup.sh script will do this. Source code for the application is
diff --git a/host_usb_mixer_control/host_usb_mixer_control.vcxproj b/host_usb_mixer_control/host_usb_mixer_control.vcxproj
index dc15785e..8282d708 100644
--- a/host_usb_mixer_control/host_usb_mixer_control.vcxproj
+++ b/host_usb_mixer_control/host_usb_mixer_control.vcxproj
@@ -24,7 +24,7 @@
{84eacf4f-e405-4909-b440-a04a84a3f8c8}
- C:\Program Files\XMOS\tusbaudiosdk
+ C:\Program Files\XMOS\tusbaudiosdk
10.0
diff --git a/host_usb_mixer_control/usb_mixer.cpp b/host_usb_mixer_control/usb_mixer.cpp
index af14f025..b25ac38d 100644
--- a/host_usb_mixer_control/usb_mixer.cpp
+++ b/host_usb_mixer_control/usb_mixer.cpp
@@ -220,52 +220,6 @@ int usb_mixer_mem_get(unsigned int mixer, unsigned offset, unsigned char *data)
#endif
}
-//############# Never Called ##########
-// static const unsigned char *find_input_term_unit_by_id(const unsigned char *data, int length, int id)
-// {
-// const unsigned char *interface_data = data;
-// while (length)
-// {
-// const unsigned char *interface_len = interface_data;
-// int sub_type = *(interface_len + 2);
-// if (sub_type == USB_INPUT_TERM_TYPE)
-// {
-// int unit_id = *(interface_len + 3);
-// if (unit_id == id)
-// {
-// return interface_len;
-// }
-// }
-// interface_data+=*interface_len;
-// length -= *interface_len;
-// }
-// return NULL;
-// }
-
-
-
-//############# Never Called ##########
-// static const unsigned char *find_connected_feature_unit_by_id(const unsigned char *data, int length, int id) {
-// const unsigned char *interface_data = data;
-// while (length)
-// {
-// const unsigned char *interface_len = interface_data;
-// int sub_type = *(interface_len + 2);
-// if (sub_type == USB_FEATURE_UNIT_TYPE)
-// {
-// //int unit_id = *(interface_len + 3);
-// int src_unit_id = *(interface_len + 4);
-// if (src_unit_id == id)
-// {
-// return interface_len;
-// }
-// }
-// interface_data+=*interface_len;
-// length -= *interface_len;
-// }
-// return NULL;
-// }
-
static const unsigned char *findUnit(const unsigned char *descs, int length, int id)
{
const unsigned char *interface_data = descs;
diff --git a/lib_xua/doc/rst/sw_mixer.rst b/lib_xua/doc/rst/sw_mixer.rst
index f14b28d6..3847748a 100755
--- a/lib_xua/doc/rst/sw_mixer.rst
+++ b/lib_xua/doc/rst/sw_mixer.rst
@@ -220,32 +220,32 @@ At the same time, the original mixer outputs can be muted::
Now audio inputs on analogue 1 and 2 should be heard on outputs 1 and 2 respectively.
-.. As mentioned above, the flexibility of the mixer is such that there will be multiple ways to create
-.. a particular mix. Another option to create the same routing would be to change the mixer sources
-.. such that mixer outputs 1 and 2 come from the analogue inputs 1 and 2.
+As mentioned above, the flexibility of the mixer is such that there will be multiple ways to create
+a particular mix. Another option to create the same routing would be to change the mixer sources
+such that mixer outputs 1 and 2 come from the analogue inputs 1 and 2.
-.. To demonstrate this, firstly undo the changes above (or simply reset the device)::
+To demonstrate this, firstly undo the changes above (or simply reset the device)::
-.. $ ./xmos_mixer --set-value 0 8 -inf
-.. $ ./xmos_mixer --set-value 0 11 -inf
-.. $ ./xmos_mixer --set-value 0 0 0
-.. $ ./xmos_mixer --set-value 0 3 0
-.. $ _
+ $ ./xmos_mixer --set-value 0 8 -inf
+ $ ./xmos_mixer --set-value 0 11 -inf
+ $ ./xmos_mixer --set-value 0 0 0
+ $ ./xmos_mixer --set-value 0 3 0
+ $ _
-.. The mixer should now have the default values. The sources for mixer 0 output 1 and 2 can now be changed
-.. using indices from the Audio Output Channel Map Source List::
+The mixer should now have the default values. The sources for mixer 0 output 1 and 2 can now be changed
+using indices from the Audio Output Channel Map Source List::
-.. $ ./xmos_mixer --set-mixer-source 0 0 4
+ $ ./xmos_mixer --set-mixer-source 0 0 4
-.. Set mixer(0) input 0 to device input 4 (AUD - Analogue 1)
-.. $ ./xmos_mixer --set-mixer-source 0 1 5
+ Set mixer(0) input 0 to device input 4 (AUD - Analogue 1)
+ $ ./xmos_mixer --set-mixer-source 0 1 5
-.. Set mixer(0) input 1 to device input 5 (AUD - Analogue 2)
-.. $ _
+ Set mixer(0) input 1 to device input 5 (AUD - Analogue 2)
+ $ _
-.. If you re-run the following command then the first column now has "AUD - Analogue 1 and 2" rather
-.. than "DAW (Digital Audio Workstation i.e. the host) - Analogue 1 and 2" confirming the new mapping.
-.. Again, by playing audio into analogue inputs 1/2 this can be heard looped through to analogue outputs 1/2::
+If you re-run the following command then the first column now has "AUD - Analogue 1 and 2" rather
+than "DAW (Digital Audio Workstation i.e. the host) - Analogue 1 and 2" confirming the new mapping.
+Again, by playing audio into analogue inputs 1/2 this can be heard looped through to analogue outputs 1/2::
-.. $ ./xmos_mixer --display-mixer-nodes 0
+ $ ./xmos_mixer --display-mixer-nodes 0