diff --git a/module_usb_audio/audio.xc b/module_usb_audio/audio.xc index 5c550503..0ecb47f1 100755 --- a/module_usb_audio/audio.xc +++ b/module_usb_audio/audio.xc @@ -19,9 +19,13 @@ #ifdef SPDIF #include "SpdifTransmit.h" #endif +#ifdef ADAT_TX +#include "adat_tx.h" +#endif #include "commands.h" #include "xc_ptr.h" +#include "print.h" static unsigned samplesOut[NUM_USB_CHAN_OUT]; @@ -76,6 +80,10 @@ extern port p_mclk_in; extern buffered out port:32 p_spdif_tx; #endif +#ifdef ADAT_TX +extern buffered out port:32 p_adat_tx; +#endif + extern clock clk_audio_mclk; extern clock clk_audio_bclk; extern clock clk_mst_spd; @@ -153,6 +161,59 @@ static inline void doI2SClocks(unsigned divide) } #endif +unsigned adatCounter = 0; +unsigned adatSamples[8]; + +#pragma unsafe arrays +static inline void TransferAdatTxSamples(chanend c_adat_out, const unsigned samplesFromHost[], int smux, int handshake) +{ + + /* Do some re-arranging for SMUX.. */ + unsafe + { + unsigned * unsafe samplesFromHostAdat = &samplesFromHost[ADAT_TX_INDEX]; + + /* Note, when smux == 1 this loop just does a straight 1:1 copy */ + //if(smux != 1) + { + int adatSampleIndex = adatCounter; + for(int i = 0; i < (8/smux); i++) + { + adatSamples[adatSampleIndex] = samplesFromHostAdat[i]; + adatSampleIndex += smux; + } + } + } + + adatCounter++; + + if(adatCounter == smux) + { + +#ifdef ADAT_TX_USE_SHARED_BUFF + unsafe + { + /* Wait for ADAT core to be done with buffer */ + /* Note, we are "running ahead" of the ADAT core */ + inuint(c_adat_out); + + /* Send buffer pointer over to ADAT core */ + volatile unsigned * unsafe samplePtr = &adatSamples; + outuint(c_adat_out, (unsigned) samplePtr); + } +#else +#pragma loop unroll + for (int i = 0; i < 8; i++) + { + outuint(c_adat_out, samplesFromHost[ADAT_TX_INDEX + i]); + } +#endif + adatCounter = 0; + } + +} + + #pragma unsafe arrays static inline unsigned DoSampleTransfer(chanend c_out, int readBuffNo, unsigned underflowWord) { @@ -378,12 +439,18 @@ static inline void InitPorts(unsigned divide) /* I2S delivery thread */ #pragma unsafe arrays -unsigned static deliver(chanend c_out, chanend ?c_spd_out, unsigned divide, unsigned curSamFreq, -#if(defined(SPDIF_RX) || defined(ADAT_RX)) -chanend c_dig_rx, +unsigned static deliver(chanend c_out, chanend ?c_spd_out, +#ifdef ADAT_TX + chanend c_adat_out, + unsigned adatSmuxMode, #endif -chanend ?c_adc) + unsigned divide, unsigned curSamFreq, +#if(defined(SPDIF_RX) || defined(ADAT_RX)) + chanend c_dig_rx, +#endif + chanend ?c_adc) { + #if (I2S_CHANS_ADC != 0) || defined(SPDIF) unsigned sample; #endif @@ -413,6 +480,8 @@ chanend ?c_adc) unsigned frameCount = 0; + adatCounter = 0; + #if(DSD_CHANS_DAC != 0) if(dsdMode == DSD_MODE_DOP) { @@ -424,15 +493,19 @@ chanend ?c_adc) } #endif -#if 1 unsigned command = DoSampleTransfer(c_out, readBuffNo, underflowWord); - +#ifdef ADAT_TX + unsafe{ + //TransferAdatTxSamples(c_adat_out, samplesOut, adatSmuxMode, 0); + volatile unsigned * unsafe samplePtr = &samplesOut[ADAT_TX_INDEX]; + outuint(c_adat_out, (unsigned) samplePtr); + } +#endif if(command) { return command; } -#endif - + InitPorts(divide); /* TODO In master mode, the i/o loop assumes L/RCLK = 32bit clocks. We should check this every interation @@ -577,6 +650,9 @@ chanend ?c_adc) /* Clock out the LR Clock, the DAC data and Clock in the next sample into ADC */ doI2SClocks(divide); #endif + + + #if (I2S_CHANS_ADC != 0) /* Input previous L sample into L in buffer */ @@ -599,6 +675,10 @@ chanend ?c_adc) samplesIn_0[((frameCount-1)&(I2S_CHANS_PER_FRAME-1))+i] = bitrev(sample); // channels 1, 3, 5.. on each line. } #endif + +#ifdef ADAT_TX + TransferAdatTxSamples(c_adat_out, samplesOut, adatSmuxMode, 1); +#endif if(frameCount == 0) { @@ -661,7 +741,7 @@ chanend ?c_adc) #ifndef CODEC_MASTER doI2SClocks(divide); #endif - + #if (I2S_CHANS_ADC != 0) index = 0; /* Channels 0, 2, 4.. on each line */ @@ -824,6 +904,12 @@ chanend ?c_config, chanend ?c) #ifdef SPDIF chan c_spdif_out; #endif +#ifdef ADAT_TX + chan c_adat_out; + unsigned adatSmuxMode = 0; + unsigned adatMultiple = 0; +#endif + unsigned curSamFreq = DEFAULT_FREQ; unsigned curSamRes_DAC = STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS; /* Default to something reasonable */ unsigned curSamRes_ADC = STREAM_FORMAT_INPUT_1_RESOLUTION_BITS; /* Default to something reasonable - note, currently this never changes*/ @@ -878,11 +964,21 @@ chanend ?c_config, chanend ?c) EnableBufferedPort(p_dsd_dac[i], 32); } #endif - +#ifdef ADAT_TX + /* Share SPDIF clk blk */ + configure_clock_src(clk_mst_spd, p_mclk_in); + configure_out_port_no_ready(p_adat_tx, clk_mst_spd, 0); + set_clock_fall_delay(clk_mst_spd, 7); +#ifndef SPDIF + start_clock(clk_mst_spd); +#endif +#endif + /* Configure ADAT/SPDIF tx ports */ #ifdef SPDIF SpdifTransmitPortConfig(p_spdif_tx, clk_mst_spd, p_mclk_in); #endif + /* Perform required CODEC/ADC/DAC initialisation */ AudioHwInit(c_config); @@ -892,10 +988,20 @@ chanend ?c_config, chanend ?c) if ((MCLK_441 % curSamFreq) == 0) { mClk = MCLK_441; +#ifdef ADAT_TX + /* Calculate ADAT SMUX mode (1, 2, 4) */ + adatSmuxMode = curSamFreq / 44100; + adatMultiple = mClk / 44100; +#endif } else if ((MCLK_48 % curSamFreq) == 0) { mClk = MCLK_48; +#ifdef ADAT_TX + /* Calculate ADAT SMUX mode (1, 2, 4) */ + adatSmuxMode = curSamFreq / 48000; + adatMultiple = mClk / 48000; +#endif } /* Calculate master clock to bit clock (or DSD clock) divide for current sample freq @@ -1011,8 +1117,6 @@ chanend ?c_config, chanend ?c) } firstRun = 0; - - par { @@ -1023,6 +1127,12 @@ chanend ?c_config, chanend ?c) } #endif +#ifdef ADAT_TX + { + set_thread_fast_mode_on(); + adat_tx_port(c_adat_out, p_adat_tx); + } +#endif { #ifdef SPDIF /* Communicate master clock and sample freq to S/PDIF thread */ @@ -1030,11 +1140,28 @@ chanend ?c_config, chanend ?c) outuint(c_spdif_out, mClk); #endif +#ifdef ADAT_TX + // Configure ADAT parameters ... + // + // adat_oversampling = 256 for MCLK = 12M288 or 11M2896 + // = 512 for MCLK = 24M576 or 22M5792 + // = 1024 for MCLK = 49M152 or 45M1584 + // + // adatSmuxMode = 1 for FS = 44K1 or 48K0 + // = 2 for FS = 88K2 or 96K0 + // = 4 for FS = 176K4 or 192K0 + outuint(c_adat_out, adatMultiple); + outuint(c_adat_out, adatSmuxMode); +#endif command = deliver(c_mix_out, #ifdef SPDIF c_spdif_out, #else null, +#endif +#ifdef ADAT_TX + c_adat_out, + adatSmuxMode, #endif divide, curSamFreq, #if defined (ADAT_RX) || defined (SPDIF_RX) @@ -1074,10 +1201,17 @@ chanend ?c_config, chanend ?c) } } } - #ifdef SPDIF /* Notify S/PDIF thread of impending new freq... */ outct(c_spdif_out, XS1_CT_END); +#endif +#ifdef ADAT_TX +#ifdef ADAT_TX_USE_SHARED_BUFF + /* Take out-standing handshake from ADAT core */ + inuint(c_adat_out); +#endif + /* Notify ADAT Tx thread of impending new freq... */ + outct(c_adat_out, XS1_CT_END); #endif } } diff --git a/module_usb_audio/devicedefines.h b/module_usb_audio/devicedefines.h index 4d40c5fe..39d247ef 100644 --- a/module_usb_audio/devicedefines.h +++ b/module_usb_audio/devicedefines.h @@ -231,13 +231,38 @@ #undef SPDIF #endif +#ifdef SPDIF +#define SPDIF_TX 1 +#endif + /** * @brief Defines which output channels (stereo) should be output on S/PDIF. Note, Output channels indexed from 0. * * Default: 0 (i.e. channels 0 & 1) * */ #ifndef SPDIF_TX_INDEX -#define SPDIF_TX_INDEX (0) +#define SPDIF_TX_INDEX (0) +#endif + +/** + * @brief Enables ADAT Tx. Default: 0 (Disabled) + */ +#ifndef ADAT_TX +#define ADAT_TX (0) +#endif + +/* Tidy up old SPDIF usage */ +#if defined(ADAT_TX) && (ADAT_TX == 0) +#undef ADAT_TX +#endif + +/** + * @brief Defines which output channels (8) should be output on ADAT. Note, Output channels indexed from 0. + * + * Default: 0 (i.e. channels [0:7]) + * */ +#ifndef ADAT_TX_INDEX +#define ADAT_TX_INDEX (0) #endif /** diff --git a/module_usb_audio/endpoint0/chanstringgen.py b/module_usb_audio/endpoint0/chanstringgen.py new file mode 100644 index 00000000..2053c3c4 --- /dev/null +++ b/module_usb_audio/endpoint0/chanstringgen.py @@ -0,0 +1,56 @@ + + +def genstrings(outputChanCount, chanString, portString, structureString, adc_dac): + + for i in range(1,outputChanCount): + + print "#if (NUM_USB_CHAN_{c} > {i}-1) \n\ + .{s}ChanStr_{i} = \"\"\n\ + #if ({i} < I2S_CHANS_{adcdac}+1) \n\ + \"Analogue {i}\" \n\ + #endif \n\ + #if (({i} < SPDIF_{p}_INDEX+2+1) && ({i} > SPDIF_{p}_INDEX)) && defined(SPDIF_{p}) \n\ + #if ({i} < I2S_CHANS_{adcdac}+1) \n\ + \"/\" \n\ + #endif \n\ + #if({i} - SPDIF_TX_INDEX == 1) \n\ + \"SPDIF 1\"\n\ + #elif({i} - SPDIF_TX_INDEX == 2) \n\ + \"SPDIF 2\"\n\ + #endif\n\ + #endif\n\ + #if (({i} < ADAT_{p}_INDEX+8+1) && ({i} > ADAT_{p}_INDEX)) && defined(ADAT_{p}) \n\ + #if (({i} < SPDIF_{p}_INDEX+2+1) && ({i} > SPDIF_{p}_INDEX)) && defined(SPDIF_{p}) || ({i} < I2S_CHANS_{adcdac}+1) \n\ + \"/\" \n\ + #endif \n\ + #if({i} - ADAT_TX_INDEX == 1) \n\ + \"ADAT 1\"\n\ + #elif({i} - ADAT_TX_INDEX == 2) \n\ + \"ADAT 2\"\n\ + #elif({i} - ADAT_TX_INDEX == 3) \n\ + \"ADAT 3\"\n\ + #elif({i} - ADAT_TX_INDEX == 4) \n\ + \"ADAT 4\"\n\ + #elif({i} - ADAT_TX_INDEX == 5) \n\ + \"ADAT 5\"\n\ + #elif({i} - ADAT_TX_INDEX == 6) \n\ + \"ADAT 6\"\n\ + #elif({i} - ADAT_TX_INDEX == 7) \n\ + \"ADAT 7\"\n\ + #elif({i} - ADAT_TX_INDEX == 8) \n\ + \"ADAT 8\"\n\ + #endif\n \ + #endif\n\ + , \n#endif \n".format(i=i, c=chanString, p=portString, s=structureString, adcdac=adc_dac); + return; + +print "/* AUTOGENERATED using chanstringgen.py */ \n" +print "/* Not very nice looking but the standard preprocessor is not very powerful\n and we save some memory over doing this all at runtime */" + +print "/* Output Strings */\n\n" + +genstrings(32, "OUT", "TX", "output", "DAC"); + +print "/* Input Strings */\n\n" + +genstrings(32, "IN", "RX", "input", "ADC"); diff --git a/module_usb_audio/endpoint0/chanstrings.h b/module_usb_audio/endpoint0/chanstrings.h new file mode 100644 index 00000000..1c2e35d6 --- /dev/null +++ b/module_usb_audio/endpoint0/chanstrings.h @@ -0,0 +1,2490 @@ +/* AUTOGENERATED using stringtable.py */ + +/* Not very nice looking but the standard preprocessor is not very powerful + and we save some memory over doing this all at runtime */ +/* Output Strings */ + + +#if (NUM_USB_CHAN_OUT > 1-1) + .outputChanStr_1 = "" + #if (1 < I2S_CHANS_DAC+1) + "Analogue 1" + #endif + #if ((1 < SPDIF_TX_INDEX+2+1) && (1 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (1 < I2S_CHANS_DAC+1) + "/" + #endif + #if(1 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(1 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((1 < ADAT_TX_INDEX+8+1) && (1 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((1 < SPDIF_TX_INDEX+2+1) && (1 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (1 < I2S_CHANS_DAC+1) + "/" + #endif + #if(1 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(1 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(1 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(1 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(1 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(1 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(1 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(1 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 2-1) + .outputChanStr_2 = "" + #if (2 < I2S_CHANS_DAC+1) + "Analogue 2" + #endif + #if ((2 < SPDIF_TX_INDEX+2+1) && (2 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (2 < I2S_CHANS_DAC+1) + "/" + #endif + #if(2 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(2 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((2 < ADAT_TX_INDEX+8+1) && (2 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((2 < SPDIF_TX_INDEX+2+1) && (2 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (2 < I2S_CHANS_DAC+1) + "/" + #endif + #if(2 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(2 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(2 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(2 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(2 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(2 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(2 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(2 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 3-1) + .outputChanStr_3 = "" + #if (3 < I2S_CHANS_DAC+1) + "Analogue 3" + #endif + #if ((3 < SPDIF_TX_INDEX+2+1) && (3 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (3 < I2S_CHANS_DAC+1) + "/" + #endif + #if(3 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(3 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((3 < ADAT_TX_INDEX+8+1) && (3 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((3 < SPDIF_TX_INDEX+2+1) && (3 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (3 < I2S_CHANS_DAC+1) + "/" + #endif + #if(3 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(3 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(3 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(3 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(3 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(3 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(3 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(3 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 4-1) + .outputChanStr_4 = "" + #if (4 < I2S_CHANS_DAC+1) + "Analogue 4" + #endif + #if ((4 < SPDIF_TX_INDEX+2+1) && (4 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (4 < I2S_CHANS_DAC+1) + "/" + #endif + #if(4 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(4 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((4 < ADAT_TX_INDEX+8+1) && (4 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((4 < SPDIF_TX_INDEX+2+1) && (4 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (4 < I2S_CHANS_DAC+1) + "/" + #endif + #if(4 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(4 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(4 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(4 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(4 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(4 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(4 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(4 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 5-1) + .outputChanStr_5 = "" + #if (5 < I2S_CHANS_DAC+1) + "Analogue 5" + #endif + #if ((5 < SPDIF_TX_INDEX+2+1) && (5 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (5 < I2S_CHANS_DAC+1) + "/" + #endif + #if(5 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(5 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((5 < ADAT_TX_INDEX+8+1) && (5 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((5 < SPDIF_TX_INDEX+2+1) && (5 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (5 < I2S_CHANS_DAC+1) + "/" + #endif + #if(5 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(5 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(5 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(5 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(5 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(5 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(5 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(5 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 6-1) + .outputChanStr_6 = "" + #if (6 < I2S_CHANS_DAC+1) + "Analogue 6" + #endif + #if ((6 < SPDIF_TX_INDEX+2+1) && (6 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (6 < I2S_CHANS_DAC+1) + "/" + #endif + #if(6 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(6 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((6 < ADAT_TX_INDEX+8+1) && (6 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((6 < SPDIF_TX_INDEX+2+1) && (6 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (6 < I2S_CHANS_DAC+1) + "/" + #endif + #if(6 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(6 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(6 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(6 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(6 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(6 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(6 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(6 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 7-1) + .outputChanStr_7 = "" + #if (7 < I2S_CHANS_DAC+1) + "Analogue 7" + #endif + #if ((7 < SPDIF_TX_INDEX+2+1) && (7 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (7 < I2S_CHANS_DAC+1) + "/" + #endif + #if(7 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(7 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((7 < ADAT_TX_INDEX+8+1) && (7 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((7 < SPDIF_TX_INDEX+2+1) && (7 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (7 < I2S_CHANS_DAC+1) + "/" + #endif + #if(7 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(7 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(7 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(7 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(7 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(7 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(7 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(7 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 8-1) + .outputChanStr_8 = "" + #if (8 < I2S_CHANS_DAC+1) + "Analogue 8" + #endif + #if ((8 < SPDIF_TX_INDEX+2+1) && (8 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (8 < I2S_CHANS_DAC+1) + "/" + #endif + #if(8 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(8 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((8 < ADAT_TX_INDEX+8+1) && (8 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((8 < SPDIF_TX_INDEX+2+1) && (8 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (8 < I2S_CHANS_DAC+1) + "/" + #endif + #if(8 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(8 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(8 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(8 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(8 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(8 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(8 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(8 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 9-1) + .outputChanStr_9 = "" + #if (9 < I2S_CHANS_DAC+1) + "Analogue 9" + #endif + #if ((9 < SPDIF_TX_INDEX+2+1) && (9 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (9 < I2S_CHANS_DAC+1) + "/" + #endif + #if(9 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(9 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((9 < ADAT_TX_INDEX+8+1) && (9 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((9 < SPDIF_TX_INDEX+2+1) && (9 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (9 < I2S_CHANS_DAC+1) + "/" + #endif + #if(9 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(9 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(9 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(9 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(9 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(9 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(9 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(9 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 10-1) + .outputChanStr_10 = "" + #if (10 < I2S_CHANS_DAC+1) + "Analogue 10" + #endif + #if ((10 < SPDIF_TX_INDEX+2+1) && (10 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (10 < I2S_CHANS_DAC+1) + "/" + #endif + #if(10 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(10 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((10 < ADAT_TX_INDEX+8+1) && (10 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((10 < SPDIF_TX_INDEX+2+1) && (10 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (10 < I2S_CHANS_DAC+1) + "/" + #endif + #if(10 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(10 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(10 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(10 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(10 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(10 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(10 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(10 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 11-1) + .outputChanStr_11 = "" + #if (11 < I2S_CHANS_DAC+1) + "Analogue 11" + #endif + #if ((11 < SPDIF_TX_INDEX+2+1) && (11 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (11 < I2S_CHANS_DAC+1) + "/" + #endif + #if(11 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(11 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((11 < ADAT_TX_INDEX+8+1) && (11 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((11 < SPDIF_TX_INDEX+2+1) && (11 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (11 < I2S_CHANS_DAC+1) + "/" + #endif + #if(11 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(11 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(11 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(11 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(11 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(11 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(11 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(11 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 12-1) + .outputChanStr_12 = "" + #if (12 < I2S_CHANS_DAC+1) + "Analogue 12" + #endif + #if ((12 < SPDIF_TX_INDEX+2+1) && (12 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (12 < I2S_CHANS_DAC+1) + "/" + #endif + #if(12 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(12 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((12 < ADAT_TX_INDEX+8+1) && (12 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((12 < SPDIF_TX_INDEX+2+1) && (12 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (12 < I2S_CHANS_DAC+1) + "/" + #endif + #if(12 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(12 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(12 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(12 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(12 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(12 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(12 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(12 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 13-1) + .outputChanStr_13 = "" + #if (13 < I2S_CHANS_DAC+1) + "Analogue 13" + #endif + #if ((13 < SPDIF_TX_INDEX+2+1) && (13 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (13 < I2S_CHANS_DAC+1) + "/" + #endif + #if(13 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(13 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((13 < ADAT_TX_INDEX+8+1) && (13 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((13 < SPDIF_TX_INDEX+2+1) && (13 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (13 < I2S_CHANS_DAC+1) + "/" + #endif + #if(13 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(13 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(13 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(13 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(13 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(13 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(13 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(13 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 14-1) + .outputChanStr_14 = "" + #if (14 < I2S_CHANS_DAC+1) + "Analogue 14" + #endif + #if ((14 < SPDIF_TX_INDEX+2+1) && (14 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (14 < I2S_CHANS_DAC+1) + "/" + #endif + #if(14 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(14 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((14 < ADAT_TX_INDEX+8+1) && (14 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((14 < SPDIF_TX_INDEX+2+1) && (14 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (14 < I2S_CHANS_DAC+1) + "/" + #endif + #if(14 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(14 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(14 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(14 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(14 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(14 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(14 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(14 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 15-1) + .outputChanStr_15 = "" + #if (15 < I2S_CHANS_DAC+1) + "Analogue 15" + #endif + #if ((15 < SPDIF_TX_INDEX+2+1) && (15 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (15 < I2S_CHANS_DAC+1) + "/" + #endif + #if(15 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(15 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((15 < ADAT_TX_INDEX+8+1) && (15 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((15 < SPDIF_TX_INDEX+2+1) && (15 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (15 < I2S_CHANS_DAC+1) + "/" + #endif + #if(15 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(15 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(15 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(15 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(15 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(15 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(15 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(15 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 16-1) + .outputChanStr_16 = "" + #if (16 < I2S_CHANS_DAC+1) + "Analogue 16" + #endif + #if ((16 < SPDIF_TX_INDEX+2+1) && (16 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (16 < I2S_CHANS_DAC+1) + "/" + #endif + #if(16 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(16 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((16 < ADAT_TX_INDEX+8+1) && (16 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((16 < SPDIF_TX_INDEX+2+1) && (16 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (16 < I2S_CHANS_DAC+1) + "/" + #endif + #if(16 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(16 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(16 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(16 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(16 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(16 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(16 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(16 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 17-1) + .outputChanStr_17 = "" + #if (17 < I2S_CHANS_DAC+1) + "Analogue 17" + #endif + #if ((17 < SPDIF_TX_INDEX+2+1) && (17 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (17 < I2S_CHANS_DAC+1) + "/" + #endif + #if(17 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(17 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((17 < ADAT_TX_INDEX+8+1) && (17 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((17 < SPDIF_TX_INDEX+2+1) && (17 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (17 < I2S_CHANS_DAC+1) + "/" + #endif + #if(17 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(17 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(17 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(17 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(17 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(17 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(17 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(17 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 18-1) + .outputChanStr_18 = "" + #if (18 < I2S_CHANS_DAC+1) + "Analogue 18" + #endif + #if ((18 < SPDIF_TX_INDEX+2+1) && (18 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (18 < I2S_CHANS_DAC+1) + "/" + #endif + #if(18 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(18 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((18 < ADAT_TX_INDEX+8+1) && (18 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((18 < SPDIF_TX_INDEX+2+1) && (18 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (18 < I2S_CHANS_DAC+1) + "/" + #endif + #if(18 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(18 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(18 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(18 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(18 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(18 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(18 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(18 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 19-1) + .outputChanStr_19 = "" + #if (19 < I2S_CHANS_DAC+1) + "Analogue 19" + #endif + #if ((19 < SPDIF_TX_INDEX+2+1) && (19 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (19 < I2S_CHANS_DAC+1) + "/" + #endif + #if(19 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(19 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((19 < ADAT_TX_INDEX+8+1) && (19 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((19 < SPDIF_TX_INDEX+2+1) && (19 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (19 < I2S_CHANS_DAC+1) + "/" + #endif + #if(19 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(19 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(19 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(19 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(19 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(19 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(19 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(19 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 20-1) + .outputChanStr_20 = "" + #if (20 < I2S_CHANS_DAC+1) + "Analogue 20" + #endif + #if ((20 < SPDIF_TX_INDEX+2+1) && (20 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (20 < I2S_CHANS_DAC+1) + "/" + #endif + #if(20 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(20 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((20 < ADAT_TX_INDEX+8+1) && (20 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((20 < SPDIF_TX_INDEX+2+1) && (20 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (20 < I2S_CHANS_DAC+1) + "/" + #endif + #if(20 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(20 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(20 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(20 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(20 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(20 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(20 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(20 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 21-1) + .outputChanStr_21 = "" + #if (21 < I2S_CHANS_DAC+1) + "Analogue 21" + #endif + #if ((21 < SPDIF_TX_INDEX+2+1) && (21 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (21 < I2S_CHANS_DAC+1) + "/" + #endif + #if(21 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(21 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((21 < ADAT_TX_INDEX+8+1) && (21 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((21 < SPDIF_TX_INDEX+2+1) && (21 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (21 < I2S_CHANS_DAC+1) + "/" + #endif + #if(21 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(21 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(21 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(21 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(21 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(21 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(21 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(21 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 22-1) + .outputChanStr_22 = "" + #if (22 < I2S_CHANS_DAC+1) + "Analogue 22" + #endif + #if ((22 < SPDIF_TX_INDEX+2+1) && (22 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (22 < I2S_CHANS_DAC+1) + "/" + #endif + #if(22 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(22 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((22 < ADAT_TX_INDEX+8+1) && (22 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((22 < SPDIF_TX_INDEX+2+1) && (22 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (22 < I2S_CHANS_DAC+1) + "/" + #endif + #if(22 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(22 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(22 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(22 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(22 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(22 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(22 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(22 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 23-1) + .outputChanStr_23 = "" + #if (23 < I2S_CHANS_DAC+1) + "Analogue 23" + #endif + #if ((23 < SPDIF_TX_INDEX+2+1) && (23 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (23 < I2S_CHANS_DAC+1) + "/" + #endif + #if(23 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(23 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((23 < ADAT_TX_INDEX+8+1) && (23 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((23 < SPDIF_TX_INDEX+2+1) && (23 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (23 < I2S_CHANS_DAC+1) + "/" + #endif + #if(23 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(23 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(23 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(23 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(23 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(23 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(23 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(23 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 24-1) + .outputChanStr_24 = "" + #if (24 < I2S_CHANS_DAC+1) + "Analogue 24" + #endif + #if ((24 < SPDIF_TX_INDEX+2+1) && (24 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (24 < I2S_CHANS_DAC+1) + "/" + #endif + #if(24 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(24 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((24 < ADAT_TX_INDEX+8+1) && (24 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((24 < SPDIF_TX_INDEX+2+1) && (24 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (24 < I2S_CHANS_DAC+1) + "/" + #endif + #if(24 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(24 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(24 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(24 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(24 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(24 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(24 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(24 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 25-1) + .outputChanStr_25 = "" + #if (25 < I2S_CHANS_DAC+1) + "Analogue 25" + #endif + #if ((25 < SPDIF_TX_INDEX+2+1) && (25 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (25 < I2S_CHANS_DAC+1) + "/" + #endif + #if(25 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(25 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((25 < ADAT_TX_INDEX+8+1) && (25 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((25 < SPDIF_TX_INDEX+2+1) && (25 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (25 < I2S_CHANS_DAC+1) + "/" + #endif + #if(25 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(25 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(25 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(25 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(25 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(25 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(25 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(25 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 26-1) + .outputChanStr_26 = "" + #if (26 < I2S_CHANS_DAC+1) + "Analogue 26" + #endif + #if ((26 < SPDIF_TX_INDEX+2+1) && (26 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (26 < I2S_CHANS_DAC+1) + "/" + #endif + #if(26 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(26 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((26 < ADAT_TX_INDEX+8+1) && (26 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((26 < SPDIF_TX_INDEX+2+1) && (26 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (26 < I2S_CHANS_DAC+1) + "/" + #endif + #if(26 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(26 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(26 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(26 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(26 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(26 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(26 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(26 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 27-1) + .outputChanStr_27 = "" + #if (27 < I2S_CHANS_DAC+1) + "Analogue 27" + #endif + #if ((27 < SPDIF_TX_INDEX+2+1) && (27 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (27 < I2S_CHANS_DAC+1) + "/" + #endif + #if(27 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(27 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((27 < ADAT_TX_INDEX+8+1) && (27 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((27 < SPDIF_TX_INDEX+2+1) && (27 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (27 < I2S_CHANS_DAC+1) + "/" + #endif + #if(27 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(27 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(27 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(27 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(27 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(27 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(27 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(27 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 28-1) + .outputChanStr_28 = "" + #if (28 < I2S_CHANS_DAC+1) + "Analogue 28" + #endif + #if ((28 < SPDIF_TX_INDEX+2+1) && (28 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (28 < I2S_CHANS_DAC+1) + "/" + #endif + #if(28 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(28 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((28 < ADAT_TX_INDEX+8+1) && (28 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((28 < SPDIF_TX_INDEX+2+1) && (28 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (28 < I2S_CHANS_DAC+1) + "/" + #endif + #if(28 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(28 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(28 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(28 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(28 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(28 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(28 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(28 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 29-1) + .outputChanStr_29 = "" + #if (29 < I2S_CHANS_DAC+1) + "Analogue 29" + #endif + #if ((29 < SPDIF_TX_INDEX+2+1) && (29 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (29 < I2S_CHANS_DAC+1) + "/" + #endif + #if(29 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(29 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((29 < ADAT_TX_INDEX+8+1) && (29 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((29 < SPDIF_TX_INDEX+2+1) && (29 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (29 < I2S_CHANS_DAC+1) + "/" + #endif + #if(29 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(29 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(29 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(29 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(29 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(29 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(29 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(29 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 30-1) + .outputChanStr_30 = "" + #if (30 < I2S_CHANS_DAC+1) + "Analogue 30" + #endif + #if ((30 < SPDIF_TX_INDEX+2+1) && (30 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (30 < I2S_CHANS_DAC+1) + "/" + #endif + #if(30 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(30 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((30 < ADAT_TX_INDEX+8+1) && (30 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((30 < SPDIF_TX_INDEX+2+1) && (30 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (30 < I2S_CHANS_DAC+1) + "/" + #endif + #if(30 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(30 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(30 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(30 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(30 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(30 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(30 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(30 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_OUT > 31-1) + .outputChanStr_31 = "" + #if (31 < I2S_CHANS_DAC+1) + "Analogue 31" + #endif + #if ((31 < SPDIF_TX_INDEX+2+1) && (31 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) + #if (31 < I2S_CHANS_DAC+1) + "/" + #endif + #if(31 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(31 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((31 < ADAT_TX_INDEX+8+1) && (31 > ADAT_TX_INDEX)) && defined(ADAT_TX) + #if ((31 < SPDIF_TX_INDEX+2+1) && (31 > SPDIF_TX_INDEX)) && defined(SPDIF_TX) || (31 < I2S_CHANS_DAC+1) + "/" + #endif + #if(31 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(31 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(31 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(31 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(31 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(31 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(31 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(31 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +/* Input Strings */ + + +#if (NUM_USB_CHAN_IN > 1-1) + .inputChanStr_1 = "" + #if (1 < I2S_CHANS_ADC+1) + "Analogue 1" + #endif + #if ((1 < SPDIF_RX_INDEX+2+1) && (1 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (1 < I2S_CHANS_ADC+1) + "/" + #endif + #if(1 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(1 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((1 < ADAT_RX_INDEX+8+1) && (1 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((1 < SPDIF_RX_INDEX+2+1) && (1 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (1 < I2S_CHANS_ADC+1) + "/" + #endif + #if(1 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(1 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(1 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(1 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(1 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(1 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(1 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(1 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 2-1) + .inputChanStr_2 = "" + #if (2 < I2S_CHANS_ADC+1) + "Analogue 2" + #endif + #if ((2 < SPDIF_RX_INDEX+2+1) && (2 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (2 < I2S_CHANS_ADC+1) + "/" + #endif + #if(2 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(2 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((2 < ADAT_RX_INDEX+8+1) && (2 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((2 < SPDIF_RX_INDEX+2+1) && (2 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (2 < I2S_CHANS_ADC+1) + "/" + #endif + #if(2 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(2 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(2 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(2 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(2 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(2 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(2 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(2 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 3-1) + .inputChanStr_3 = "" + #if (3 < I2S_CHANS_ADC+1) + "Analogue 3" + #endif + #if ((3 < SPDIF_RX_INDEX+2+1) && (3 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (3 < I2S_CHANS_ADC+1) + "/" + #endif + #if(3 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(3 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((3 < ADAT_RX_INDEX+8+1) && (3 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((3 < SPDIF_RX_INDEX+2+1) && (3 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (3 < I2S_CHANS_ADC+1) + "/" + #endif + #if(3 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(3 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(3 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(3 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(3 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(3 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(3 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(3 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 4-1) + .inputChanStr_4 = "" + #if (4 < I2S_CHANS_ADC+1) + "Analogue 4" + #endif + #if ((4 < SPDIF_RX_INDEX+2+1) && (4 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (4 < I2S_CHANS_ADC+1) + "/" + #endif + #if(4 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(4 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((4 < ADAT_RX_INDEX+8+1) && (4 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((4 < SPDIF_RX_INDEX+2+1) && (4 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (4 < I2S_CHANS_ADC+1) + "/" + #endif + #if(4 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(4 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(4 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(4 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(4 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(4 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(4 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(4 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 5-1) + .inputChanStr_5 = "" + #if (5 < I2S_CHANS_ADC+1) + "Analogue 5" + #endif + #if ((5 < SPDIF_RX_INDEX+2+1) && (5 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (5 < I2S_CHANS_ADC+1) + "/" + #endif + #if(5 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(5 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((5 < ADAT_RX_INDEX+8+1) && (5 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((5 < SPDIF_RX_INDEX+2+1) && (5 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (5 < I2S_CHANS_ADC+1) + "/" + #endif + #if(5 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(5 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(5 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(5 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(5 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(5 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(5 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(5 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 6-1) + .inputChanStr_6 = "" + #if (6 < I2S_CHANS_ADC+1) + "Analogue 6" + #endif + #if ((6 < SPDIF_RX_INDEX+2+1) && (6 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (6 < I2S_CHANS_ADC+1) + "/" + #endif + #if(6 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(6 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((6 < ADAT_RX_INDEX+8+1) && (6 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((6 < SPDIF_RX_INDEX+2+1) && (6 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (6 < I2S_CHANS_ADC+1) + "/" + #endif + #if(6 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(6 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(6 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(6 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(6 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(6 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(6 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(6 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 7-1) + .inputChanStr_7 = "" + #if (7 < I2S_CHANS_ADC+1) + "Analogue 7" + #endif + #if ((7 < SPDIF_RX_INDEX+2+1) && (7 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (7 < I2S_CHANS_ADC+1) + "/" + #endif + #if(7 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(7 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((7 < ADAT_RX_INDEX+8+1) && (7 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((7 < SPDIF_RX_INDEX+2+1) && (7 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (7 < I2S_CHANS_ADC+1) + "/" + #endif + #if(7 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(7 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(7 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(7 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(7 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(7 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(7 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(7 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 8-1) + .inputChanStr_8 = "" + #if (8 < I2S_CHANS_ADC+1) + "Analogue 8" + #endif + #if ((8 < SPDIF_RX_INDEX+2+1) && (8 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (8 < I2S_CHANS_ADC+1) + "/" + #endif + #if(8 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(8 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((8 < ADAT_RX_INDEX+8+1) && (8 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((8 < SPDIF_RX_INDEX+2+1) && (8 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (8 < I2S_CHANS_ADC+1) + "/" + #endif + #if(8 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(8 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(8 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(8 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(8 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(8 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(8 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(8 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 9-1) + .inputChanStr_9 = "" + #if (9 < I2S_CHANS_ADC+1) + "Analogue 9" + #endif + #if ((9 < SPDIF_RX_INDEX+2+1) && (9 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (9 < I2S_CHANS_ADC+1) + "/" + #endif + #if(9 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(9 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((9 < ADAT_RX_INDEX+8+1) && (9 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((9 < SPDIF_RX_INDEX+2+1) && (9 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (9 < I2S_CHANS_ADC+1) + "/" + #endif + #if(9 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(9 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(9 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(9 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(9 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(9 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(9 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(9 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 10-1) + .inputChanStr_10 = "" + #if (10 < I2S_CHANS_ADC+1) + "Analogue 10" + #endif + #if ((10 < SPDIF_RX_INDEX+2+1) && (10 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (10 < I2S_CHANS_ADC+1) + "/" + #endif + #if(10 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(10 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((10 < ADAT_RX_INDEX+8+1) && (10 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((10 < SPDIF_RX_INDEX+2+1) && (10 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (10 < I2S_CHANS_ADC+1) + "/" + #endif + #if(10 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(10 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(10 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(10 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(10 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(10 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(10 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(10 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 11-1) + .inputChanStr_11 = "" + #if (11 < I2S_CHANS_ADC+1) + "Analogue 11" + #endif + #if ((11 < SPDIF_RX_INDEX+2+1) && (11 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (11 < I2S_CHANS_ADC+1) + "/" + #endif + #if(11 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(11 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((11 < ADAT_RX_INDEX+8+1) && (11 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((11 < SPDIF_RX_INDEX+2+1) && (11 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (11 < I2S_CHANS_ADC+1) + "/" + #endif + #if(11 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(11 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(11 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(11 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(11 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(11 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(11 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(11 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 12-1) + .inputChanStr_12 = "" + #if (12 < I2S_CHANS_ADC+1) + "Analogue 12" + #endif + #if ((12 < SPDIF_RX_INDEX+2+1) && (12 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (12 < I2S_CHANS_ADC+1) + "/" + #endif + #if(12 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(12 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((12 < ADAT_RX_INDEX+8+1) && (12 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((12 < SPDIF_RX_INDEX+2+1) && (12 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (12 < I2S_CHANS_ADC+1) + "/" + #endif + #if(12 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(12 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(12 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(12 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(12 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(12 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(12 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(12 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 13-1) + .inputChanStr_13 = "" + #if (13 < I2S_CHANS_ADC+1) + "Analogue 13" + #endif + #if ((13 < SPDIF_RX_INDEX+2+1) && (13 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (13 < I2S_CHANS_ADC+1) + "/" + #endif + #if(13 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(13 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((13 < ADAT_RX_INDEX+8+1) && (13 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((13 < SPDIF_RX_INDEX+2+1) && (13 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (13 < I2S_CHANS_ADC+1) + "/" + #endif + #if(13 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(13 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(13 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(13 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(13 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(13 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(13 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(13 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 14-1) + .inputChanStr_14 = "" + #if (14 < I2S_CHANS_ADC+1) + "Analogue 14" + #endif + #if ((14 < SPDIF_RX_INDEX+2+1) && (14 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (14 < I2S_CHANS_ADC+1) + "/" + #endif + #if(14 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(14 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((14 < ADAT_RX_INDEX+8+1) && (14 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((14 < SPDIF_RX_INDEX+2+1) && (14 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (14 < I2S_CHANS_ADC+1) + "/" + #endif + #if(14 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(14 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(14 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(14 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(14 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(14 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(14 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(14 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 15-1) + .inputChanStr_15 = "" + #if (15 < I2S_CHANS_ADC+1) + "Analogue 15" + #endif + #if ((15 < SPDIF_RX_INDEX+2+1) && (15 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (15 < I2S_CHANS_ADC+1) + "/" + #endif + #if(15 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(15 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((15 < ADAT_RX_INDEX+8+1) && (15 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((15 < SPDIF_RX_INDEX+2+1) && (15 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (15 < I2S_CHANS_ADC+1) + "/" + #endif + #if(15 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(15 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(15 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(15 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(15 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(15 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(15 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(15 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 16-1) + .inputChanStr_16 = "" + #if (16 < I2S_CHANS_ADC+1) + "Analogue 16" + #endif + #if ((16 < SPDIF_RX_INDEX+2+1) && (16 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (16 < I2S_CHANS_ADC+1) + "/" + #endif + #if(16 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(16 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((16 < ADAT_RX_INDEX+8+1) && (16 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((16 < SPDIF_RX_INDEX+2+1) && (16 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (16 < I2S_CHANS_ADC+1) + "/" + #endif + #if(16 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(16 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(16 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(16 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(16 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(16 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(16 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(16 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 17-1) + .inputChanStr_17 = "" + #if (17 < I2S_CHANS_ADC+1) + "Analogue 17" + #endif + #if ((17 < SPDIF_RX_INDEX+2+1) && (17 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (17 < I2S_CHANS_ADC+1) + "/" + #endif + #if(17 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(17 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((17 < ADAT_RX_INDEX+8+1) && (17 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((17 < SPDIF_RX_INDEX+2+1) && (17 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (17 < I2S_CHANS_ADC+1) + "/" + #endif + #if(17 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(17 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(17 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(17 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(17 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(17 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(17 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(17 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 18-1) + .inputChanStr_18 = "" + #if (18 < I2S_CHANS_ADC+1) + "Analogue 18" + #endif + #if ((18 < SPDIF_RX_INDEX+2+1) && (18 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (18 < I2S_CHANS_ADC+1) + "/" + #endif + #if(18 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(18 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((18 < ADAT_RX_INDEX+8+1) && (18 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((18 < SPDIF_RX_INDEX+2+1) && (18 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (18 < I2S_CHANS_ADC+1) + "/" + #endif + #if(18 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(18 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(18 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(18 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(18 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(18 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(18 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(18 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 19-1) + .inputChanStr_19 = "" + #if (19 < I2S_CHANS_ADC+1) + "Analogue 19" + #endif + #if ((19 < SPDIF_RX_INDEX+2+1) && (19 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (19 < I2S_CHANS_ADC+1) + "/" + #endif + #if(19 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(19 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((19 < ADAT_RX_INDEX+8+1) && (19 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((19 < SPDIF_RX_INDEX+2+1) && (19 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (19 < I2S_CHANS_ADC+1) + "/" + #endif + #if(19 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(19 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(19 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(19 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(19 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(19 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(19 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(19 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 20-1) + .inputChanStr_20 = "" + #if (20 < I2S_CHANS_ADC+1) + "Analogue 20" + #endif + #if ((20 < SPDIF_RX_INDEX+2+1) && (20 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (20 < I2S_CHANS_ADC+1) + "/" + #endif + #if(20 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(20 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((20 < ADAT_RX_INDEX+8+1) && (20 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((20 < SPDIF_RX_INDEX+2+1) && (20 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (20 < I2S_CHANS_ADC+1) + "/" + #endif + #if(20 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(20 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(20 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(20 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(20 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(20 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(20 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(20 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 21-1) + .inputChanStr_21 = "" + #if (21 < I2S_CHANS_ADC+1) + "Analogue 21" + #endif + #if ((21 < SPDIF_RX_INDEX+2+1) && (21 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (21 < I2S_CHANS_ADC+1) + "/" + #endif + #if(21 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(21 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((21 < ADAT_RX_INDEX+8+1) && (21 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((21 < SPDIF_RX_INDEX+2+1) && (21 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (21 < I2S_CHANS_ADC+1) + "/" + #endif + #if(21 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(21 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(21 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(21 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(21 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(21 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(21 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(21 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 22-1) + .inputChanStr_22 = "" + #if (22 < I2S_CHANS_ADC+1) + "Analogue 22" + #endif + #if ((22 < SPDIF_RX_INDEX+2+1) && (22 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (22 < I2S_CHANS_ADC+1) + "/" + #endif + #if(22 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(22 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((22 < ADAT_RX_INDEX+8+1) && (22 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((22 < SPDIF_RX_INDEX+2+1) && (22 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (22 < I2S_CHANS_ADC+1) + "/" + #endif + #if(22 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(22 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(22 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(22 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(22 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(22 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(22 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(22 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 23-1) + .inputChanStr_23 = "" + #if (23 < I2S_CHANS_ADC+1) + "Analogue 23" + #endif + #if ((23 < SPDIF_RX_INDEX+2+1) && (23 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (23 < I2S_CHANS_ADC+1) + "/" + #endif + #if(23 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(23 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((23 < ADAT_RX_INDEX+8+1) && (23 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((23 < SPDIF_RX_INDEX+2+1) && (23 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (23 < I2S_CHANS_ADC+1) + "/" + #endif + #if(23 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(23 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(23 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(23 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(23 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(23 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(23 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(23 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 24-1) + .inputChanStr_24 = "" + #if (24 < I2S_CHANS_ADC+1) + "Analogue 24" + #endif + #if ((24 < SPDIF_RX_INDEX+2+1) && (24 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (24 < I2S_CHANS_ADC+1) + "/" + #endif + #if(24 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(24 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((24 < ADAT_RX_INDEX+8+1) && (24 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((24 < SPDIF_RX_INDEX+2+1) && (24 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (24 < I2S_CHANS_ADC+1) + "/" + #endif + #if(24 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(24 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(24 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(24 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(24 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(24 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(24 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(24 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 25-1) + .inputChanStr_25 = "" + #if (25 < I2S_CHANS_ADC+1) + "Analogue 25" + #endif + #if ((25 < SPDIF_RX_INDEX+2+1) && (25 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (25 < I2S_CHANS_ADC+1) + "/" + #endif + #if(25 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(25 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((25 < ADAT_RX_INDEX+8+1) && (25 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((25 < SPDIF_RX_INDEX+2+1) && (25 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (25 < I2S_CHANS_ADC+1) + "/" + #endif + #if(25 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(25 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(25 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(25 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(25 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(25 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(25 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(25 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 26-1) + .inputChanStr_26 = "" + #if (26 < I2S_CHANS_ADC+1) + "Analogue 26" + #endif + #if ((26 < SPDIF_RX_INDEX+2+1) && (26 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (26 < I2S_CHANS_ADC+1) + "/" + #endif + #if(26 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(26 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((26 < ADAT_RX_INDEX+8+1) && (26 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((26 < SPDIF_RX_INDEX+2+1) && (26 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (26 < I2S_CHANS_ADC+1) + "/" + #endif + #if(26 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(26 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(26 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(26 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(26 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(26 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(26 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(26 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 27-1) + .inputChanStr_27 = "" + #if (27 < I2S_CHANS_ADC+1) + "Analogue 27" + #endif + #if ((27 < SPDIF_RX_INDEX+2+1) && (27 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (27 < I2S_CHANS_ADC+1) + "/" + #endif + #if(27 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(27 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((27 < ADAT_RX_INDEX+8+1) && (27 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((27 < SPDIF_RX_INDEX+2+1) && (27 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (27 < I2S_CHANS_ADC+1) + "/" + #endif + #if(27 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(27 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(27 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(27 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(27 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(27 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(27 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(27 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 28-1) + .inputChanStr_28 = "" + #if (28 < I2S_CHANS_ADC+1) + "Analogue 28" + #endif + #if ((28 < SPDIF_RX_INDEX+2+1) && (28 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (28 < I2S_CHANS_ADC+1) + "/" + #endif + #if(28 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(28 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((28 < ADAT_RX_INDEX+8+1) && (28 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((28 < SPDIF_RX_INDEX+2+1) && (28 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (28 < I2S_CHANS_ADC+1) + "/" + #endif + #if(28 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(28 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(28 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(28 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(28 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(28 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(28 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(28 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 29-1) + .inputChanStr_29 = "" + #if (29 < I2S_CHANS_ADC+1) + "Analogue 29" + #endif + #if ((29 < SPDIF_RX_INDEX+2+1) && (29 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (29 < I2S_CHANS_ADC+1) + "/" + #endif + #if(29 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(29 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((29 < ADAT_RX_INDEX+8+1) && (29 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((29 < SPDIF_RX_INDEX+2+1) && (29 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (29 < I2S_CHANS_ADC+1) + "/" + #endif + #if(29 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(29 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(29 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(29 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(29 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(29 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(29 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(29 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 30-1) + .inputChanStr_30 = "" + #if (30 < I2S_CHANS_ADC+1) + "Analogue 30" + #endif + #if ((30 < SPDIF_RX_INDEX+2+1) && (30 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (30 < I2S_CHANS_ADC+1) + "/" + #endif + #if(30 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(30 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((30 < ADAT_RX_INDEX+8+1) && (30 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((30 < SPDIF_RX_INDEX+2+1) && (30 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (30 < I2S_CHANS_ADC+1) + "/" + #endif + #if(30 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(30 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(30 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(30 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(30 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(30 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(30 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(30 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + +#if (NUM_USB_CHAN_IN > 31-1) + .inputChanStr_31 = "" + #if (31 < I2S_CHANS_ADC+1) + "Analogue 31" + #endif + #if ((31 < SPDIF_RX_INDEX+2+1) && (31 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) + #if (31 < I2S_CHANS_ADC+1) + "/" + #endif + #if(31 - SPDIF_TX_INDEX == 1) + "SPDIF 1" + #elif(31 - SPDIF_TX_INDEX == 2) + "SPDIF 2" + #endif + #endif + #if ((31 < ADAT_RX_INDEX+8+1) && (31 > ADAT_RX_INDEX)) && defined(ADAT_RX) + #if ((31 < SPDIF_RX_INDEX+2+1) && (31 > SPDIF_RX_INDEX)) && defined(SPDIF_RX) || (31 < I2S_CHANS_ADC+1) + "/" + #endif + #if(31 - ADAT_TX_INDEX == 1) + "ADAT 1" + #elif(31 - ADAT_TX_INDEX == 2) + "ADAT 2" + #elif(31 - ADAT_TX_INDEX == 3) + "ADAT 3" + #elif(31 - ADAT_TX_INDEX == 4) + "ADAT 4" + #elif(31 - ADAT_TX_INDEX == 5) + "ADAT 5" + #elif(31 - ADAT_TX_INDEX == 6) + "ADAT 6" + #elif(31 - ADAT_TX_INDEX == 7) + "ADAT 7" + #elif(31 - ADAT_TX_INDEX == 8) + "ADAT 8" + #endif + #endif + , +#endif + diff --git a/module_usb_audio/endpoint0/descriptors.h b/module_usb_audio/endpoint0/descriptors.h index 8f1a9fc3..f8202d52 100644 --- a/module_usb_audio/endpoint0/descriptors.h +++ b/module_usb_audio/endpoint0/descriptors.h @@ -325,1146 +325,11 @@ StringDescTable_t g_strTable = .midiOutStr = APPEND_VENDOR_STR(MIDI Out), .midiInStr = APPEND_VENDOR_STR(MIDI In), #endif -#if (NUM_USB_CHAN_OUT > 0) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 0) - #if defined(SPDIF) && (SPDIF_TX_INDEX < I2S_CHANS_DAC) - /* I2S/SPDIF overlap */ - .outputChanStr_1 = "Analogue 1/SPDIF 1", - #else - .outputChanStr_1 = "S/PDIF 1", - #endif -#else - .outputChanStr_1 = "Analogue 1", -#endif -#endif -#if (NUM_USB_CHAN_OUT > 1) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 1) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_2 = "Analogue 2/SPDIF 1", - #else - .outputChanStr_2 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 0) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_2 = "Analogue 2/SPDIF 2", - #else - .outputChanStr_2 = "S/PDIF 2", - #endif -#else - .outputChanStr_2 = "Analogue 2", -#endif -#endif -#if (NUM_USB_CHAN_OUT > 2) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 2) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_3 = "Analogue 3/SPDIF 1", - #else - .outputChanStr_3 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 1) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_3 = "Analogue 3/SPDIF 2", - #else - .outputChanStr_3 = "S/PDIF 2", - #endif -#else - .outputChanStr_3 = "Analogue 3", - #endif -#endif -#if (NUM_USB_CHAN_OUT > 3) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 3) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_4 = "Analogue 4/SPDIF 1", - #else - .outputChanStr_4 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 2) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_4 = "Analogue 4/SPDIF 2", - #else - .outputChanStr_4 = "S/PDIF 2", - #endif -#else - .outputChanStr_4 = "Analogue 4", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 4) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 4) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_5 = "Analogue 5/SPDIF 1", - #else - .outputChanStr_5 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 3) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_5 = "Analogue 5/SPDIF 2", - #else - .outputChanStr_5 = "S/PDIF 2", - #endif -#else - .outputChanStr_5 = "Analogue 5", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 5) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 5) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_6 = "Analogue 6/SPDIF 1", - #else - .outputChanStr_6 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 4) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_6 = "Analogue 6/SPDIF 2", - #else - .outputChanStr_6 = "S/PDIF 2", - #endif -#else - .outputChanStr_6 = "Analogue 6", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 6) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 6) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_7 = "Analogue 7/SPDIF 1", - #else - .outputChanStr_7 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 5) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_7 = "Analogue 7/SPDIF 2", - #else - .outputChanStr_7 = "S/PDIF 2", - #endif -#else - .outputChanStr_7 = "Analogue 7", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 7) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 7) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_8 = "Analogue 8/SPDIF 1", - #else - .outputChanStr_8 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 6) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_8 = "Analogue 8/SPDIF 2", - #else - .outputChanStr_8 = "S/PDIF 2", - #endif -#else - .outputChanStr_8 = "Analogue 8", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 8) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 8) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_9 = "Analogue 9/SPDIF 1", - #else - .outputChanStr_9 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 7) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_9 = "Analogue 9/SPDIF 2", - #else - .outputChanStr_9 = "S/PDIF 2", - #endif -#else - .outputChanStr_9 = "Analogue 9", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 9) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 9) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_10 = "Analogue 10/SPDIF 1", - #else - .outputChanStr_10 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 8) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_10 = "Analogue 10/SPDIF 2", - #else - .outputChanStr_10 = "S/PDIF 2", - #endif -#else - .outputChanStr_10 = "Analogue 10", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 10) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 10) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_11 = "Analogue 11/SPDIF 1", - #else - .outputChanStr_11 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 9) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_11 = "Analogue 11/SPDIF 2", - #else - .outputChanStr_11 = "S/PDIF 2", - #endif -#else - .outputChanStr_11 = "Analogue 11", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 11) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 11) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_12 = "Analogue 12/SPDIF 1", - #else - .outputChanStr_12 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 10) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_12 = "Analogue 12/SPDIF 2", - #else - .outputChanStr_12 = "S/PDIF 2", - #endif -#else - .outputChanStr_12 = "Analogue 12", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 12) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 12) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_13 = "Analogue 13/SPDIF 1", - #else - .outputChanStr_13 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 11) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_13 = "Analogue 13/SPDIF 2", - #else - .outputChanStr_13 = "S/PDIF 2", - #endif -#else - .outputChanStr_13 = "Analogue 13", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 13) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 13) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_14 = "Analogue 14/SPDIF 1", - #else - .outputChanStr_14 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 12) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_14 = "Analogue 14/SPDIF 2", - #else - .outputChanStr_14 = "S/PDIF 2", - #endif -#else - .outputChanStr_14 = "Analogue 14", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 14) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 14) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_15 = "Analogue 15/SPDIF 1", - #else - .outputChanStr_15 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 13) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_15 = "Analogue 15/SPDIF 2", - #else - .outputChanStr_15 = "S/PDIF 2", - #endif -#else - .outputChanStr_15 = "Analogue 15", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 15) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 15) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_16 = "Analogue 16/SPDIF 1", - #else - .outputChanStr_16 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 14) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_16 = "Analogue 16/SPDIF 2", - #else - .outputChanStr_16 = "S/PDIF 2", - #endif -#else - .outputChanStr_16 = "Analogue 16", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 16) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 16) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_17 = "Analogue 17/SPDIF 1", - #else - .outputChanStr_17 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 15) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_17 = "Analogue 17/SPDIF 2", - #else - .outputChanStr_17 = "S/PDIF 2", - #endif -#else - .outputChanStr_17 = "Analogue 17", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 17) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 17) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_18 = "Analogue 18/SPDIF 1", - #else - .outputChanStr_18 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 16) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_18 = "Analogue 18/SPDIF 2", - #else - .outputChanStr_18 = "S/PDIF 2", - #endif -#else - .outputChanStr_18 = "Analogue 18", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 18) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 18) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_19 = "Analogue 19/SPDIF 1", - #else - .outputChanStr_19 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 17) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_19 = "Analogue 19/SPDIF 2", - #else - .outputChanStr_19 = "S/PDIF 2", - #endif -#else - .outputChanStr_19 = "Analogue 19", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 19) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 19) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_20 = "Analogue 20/SPDIF 1", - #else - .outputChanStr_20 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 18) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_20 = "Analogue 20/SPDIF 2", - #else - .outputChanStr_20 = "S/PDIF 2", - #endif -#else - .outputChanStr_20 = "Analogue 20", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 20) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 20) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_21 = "Analogue 21/SPDIF 1", - #else - .outputChanStr_21 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 19) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_21 = "Analogue 21/SPDIF 2", - #else - .outputChanStr_21 = "S/PDIF 2", - #endif -#else - .outputChanStr_21 = "Analogue 21", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 21) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 21) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_22 = "Analogue 22/SPDIF 1", - #else - .outputChanStr_22 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 20) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_22 = "Analogue 22/SPDIF 2", - #else - .outputChanStr_22 = "S/PDIF 2", - #endif -#else - .outputChanStr_22 = "Analogue 22", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 22) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 22) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_23 = "Analogue 23/SPDIF 1", - #else - .outputChanStr_23 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 21) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_23 = "Analogue 23/SPDIF 2", - #else - .outputChanStr_23 = "S/PDIF 2", - #endif -#else - .outputChanStr_23 = "Analogue 23", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 23) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 23) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_24 = "Analogue 24/SPDIF 1", - #else - .outputChanStr_24 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 22) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_24 = "Analogue 24/SPDIF 2", - #else - .outputChanStr_24 = "S/PDIF 2", - #endif -#else - .outputChanStr_24 = "Analogue 24", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 24) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 24) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_25 = "Analogue 25/SPDIF 1", - #else - .outputChanStr_25 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 23) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_25 = "Analogue 25/SPDIF 2", - #else - .outputChanStr_25 = "S/PDIF 2", - #endif -#else - .outputChanStr_25 = "Analogue 25", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 25) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 25) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_26 = "Analogue 26/SPDIF 1", - #else - .outputChanStr_26 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 24) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_26 = "Analogue 26/SPDIF 2", - #else - .outputChanStr_26 = "S/PDIF 2", - #endif -#else - .outputChanStr_26 = "Analogue 26", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 26) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 26) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_27 = "Analogue 27/SPDIF 1", - #else - .outputChanStr_27 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 25) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_27 = "Analogue 27/SPDIF 2", - #else - .outputChanStr_27 = "S/PDIF 2", - #endif -#else - .outputChanStr_27 = "Analogue 27", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 27) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 28) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_28 = "Analogue 28/SPDIF 1", - #else - .outputChanStr_28 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 27) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_28 = "Analogue 28/SPDIF 2", - #else - .outputChanStr_28 = "S/PDIF 2", - #endif -#else - .outputChanStr_28 = "Analogue 28", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 28) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 29) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_29 = "Analogue 29/SPDIF 1", - #else - .outputChanStr_29 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 28) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_29 = "Analogue 29/SPDIF 2", - #else - .outputChanStr_29 = "S/PDIF 2", - #endif -#else - .outputChanStr_29 = "Analogue 29", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 29) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 30) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_30 = "Analogue 30/SPDIF 1", - #else - .outputChanStr_30 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 29) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_30 = "Analogue 30/SPDIF 2", - #else - .outputChanStr_30 = "S/PDIF 2", - #endif -#else - .outputChanStr_30 = "Analogue 30", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 30) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 31) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_31 = "Analogue 31/SPDIF 1", - #else - .outputChanStr_31 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 30) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_31 = "Analogue 31/SPDIF 2", - #else - .outputChanStr_31 = "S/PDIF 2", - #endif -#else - .outputChanStr_31 = "Analogue 31", -#endif -#endif - -#if (NUM_USB_CHAN_OUT > 31) -#if defined(SPDIF) && (SPDIF_TX_INDEX == 32) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_32 = "Analogue 32/SPDIF 1", - #else - .outputChanStr_32 = "S/PDIF 1", - #endif -#elif defined(SPDIF) && (SPDIF_TX_INDEX == 32) - #if(SPDIF_TX_INDEX < I2S_CHANS_DAC) - .outputChanStr_32 = "Analogue 32/SPDIF 2", - #else - .outputChanStr_32 = "S/PDIF 2", - #endif -#else - .outputChanStr_32 = "Analogue 32", -#endif -#endif + #include "chanstrings.h" #if (NUM_USB_CHAN_OUT > 32) -#error NUM_USB_CHAN > 32 -#endif - -/*** INPUT CHANNEL STRINGS ***/ - -#if (NUM_USB_CHAN_IN > 0) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 0) - #if defined(SPDIF_RX) && (SPDIF_RX_INDEX < I2S_CHANS_ADC) - /* I2S/SPDIF overlap */ - .inputChanStr_1 = "Analogue 1/SPDIF 1", - #else - .inputChanStr_1 = "S/PDIF 1", - #endif -#else - .inputChanStr_1 = "Analogue 1", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 1) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 1) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_2 = "Analogue 2/SPDIF 1", - #else - .inputChanStr_2 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 0) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_2 = "Analogue 2/SPDIF 2", - #else - .inputChanStr_2 = "S/PDIF 2", - #endif -#else - .inputChanStr_2 = "Analogue 2", -#endif -#endif -#if (NUM_USB_CHAN_IN > 2) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 2) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_3 = "Analogue 3/SPDIF 1", - #else - .inputChanStr_3 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 1) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_3 = "Analogue 3/SPDIF 2", - #else - .inputChanStr_3 = "S/PDIF 2", - #endif -#else - .inputChanStr_3 = "Analogue 3", - #endif -#endif -#if (NUM_USB_CHAN_IN > 3) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 3) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_4 = "Analogue 4/SPDIF 1", - #else - .inputChanStr_4 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 2) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_4 = "Analogue 4/SPDIF 2", - #else - .inputChanStr_4 = "S/PDIF 2", - #endif -#else - .inputChanStr_4 = "Analogue 4", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 4) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 4) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_5 = "Analogue 5/SPDIF 1", - #else - .inputChanStr_5 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 3) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_5 = "Analogue 5/SPDIF 2", - #else - .inputChanStr_5 = "S/PDIF 2", - #endif -#else - .inputChanStr_5 = "Analogue 5", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 5) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 5) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_6 = "Analogue 6/SPDIF 1", - #else - .inputChanStr_6 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 4) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_6 = "Analogue 6/SPDIF 2", - #else - .inputChanStr_6 = "S/PDIF 2", - #endif -#else - .inputChanStr_6 = "Analogue 6", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 6) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 6) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_7 = "Analogue 7/SPDIF 1", - #else - .inputChanStr_7 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 5) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_7 = "Analogue 7/SPDIF 2", - #else - .inputChanStr_7 = "S/PDIF 2", - #endif -#else - .inputChanStr_7 = "Analogue 7", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 7) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 7) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_8 = "Analogue 8/SPDIF 1", - #else - .inputChanStr_8 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 6) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_8 = "Analogue 8/SPDIF 2", - #else - .inputChanStr_8 = "S/PDIF 2", - #endif -#else - .inputChanStr_8 = "Analogue 8", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 8) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 8) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_9 = "Analogue 9/SPDIF 1", - #else - .inputChanStr_9 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 7) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_9 = "Analogue 9/SPDIF 2", - #else - .inputChanStr_9 = "S/PDIF 2", - #endif -#else - .inputChanStr_9 = "Analogue 9", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 9) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 9) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_10 = "Analogue 10/SPDIF 1", - #else - .inputChanStr_10 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 8) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_10 = "Analogue 10/SPDIF 2", - #else - .inputChanStr_10 = "S/PDIF 2", - #endif -#else - .inputChanStr_10 = "Analogue 10", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 10) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 10) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_11 = "Analogue 11/SPDIF 1", - #else - .inputChanStr_11 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 9) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_11 = "Analogue 11/SPDIF 2", - #else - .inputChanStr_11 = "S/PDIF 2", - #endif -#else - .inputChanStr_11 = "Analogue 11", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 11) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 11) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_12 = "Analogue 12/SPDIF 1", - #else - .inputChanStr_12 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 10) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_12 = "Analogue 12/SPDIF 2", - #else - .inputChanStr_12 = "S/PDIF 2", - #endif -#else - .inputChanStr_12 = "Analogue 12", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 12) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 12) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_13 = "Analogue 13/SPDIF 1", - #else - .inputChanStr_13 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 11) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_13 = "Analogue 13/SPDIF 2", - #else - .inputChanStr_13 = "S/PDIF 2", - #endif -#else - .inputChanStr_13 = "Analogue 13", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 13) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 13) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_14 = "Analogue 14/SPDIF 1", - #else - .inputChanStr_14 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 12) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_14 = "Analogue 14/SPDIF 2", - #else - .inputChanStr_14 = "S/PDIF 2", - #endif -#else - .inputChanStr_14 = "Analogue 14", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 14) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 14) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_15 = "Analogue 15/SPDIF 1", - #else - .inputChanStr_15 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 13) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_15 = "Analogue 15/SPDIF 2", - #else - .inputChanStr_15 = "S/PDIF 2", - #endif -#else - .inputChanStr_15 = "Analogue 15", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 15) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 15) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_16 = "Analogue 16/SPDIF 1", - #else - .inputChanStr_16 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 14) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_16 = "Analogue 16/SPDIF 2", - #else - .inputChanStr_16 = "S/PDIF 2", - #endif -#else - .inputChanStr_16 = "Analogue 16", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 16) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 16) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_17 = "Analogue 17/SPDIF 1", - #else - .inputChanStr_17 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 15) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_17 = "Analogue 17/SPDIF 2", - #else - .inputChanStr_17 = "S/PDIF 2", - #endif -#else - .inputChanStr_17 = "Analogue 17", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 17) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 17) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_18 = "Analogue 18/SPDIF 1", - #else - .inputChanStr_18 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 16) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_18 = "Analogue 18/SPDIF 2", - #else - .inputChanStr_18 = "S/PDIF 2", - #endif -#else - .inputChanStr_18 = "Analogue 18", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 18) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 18) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_19 = "Analogue 19/SPDIF 1", - #else - .inputChanStr_19 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 17) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_19 = "Analogue 19/SPDIF 2", - #else - .inputChanStr_19 = "S/PDIF 2", - #endif -#else - .inputChanStr_19 = "Analogue 19", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 19) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 19) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_20 = "Analogue 20/SPDIF 1", - #else - .inputChanStr_20 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 18) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_20 = "Analogue 20/SPDIF 2", - #else - .inputChanStr_20 = "S/PDIF 2", - #endif -#else - .inputChanStr_20 = "Analogue 20", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 20) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 20) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_21 = "Analogue 21/SPDIF 1", - #else - .inputChanStr_21 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 19) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_21 = "Analogue 21/SPDIF 2", - #else - .inputChanStr_21 = "S/PDIF 2", - #endif -#else - .inputChanStr_21 = "Analogue 21", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 21) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 21) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_22 = "Analogue 22/SPDIF 1", - #else - .inputChanStr_22 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 20) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_22 = "Analogue 22/SPDIF 2", - #else - .inputChanStr_22 = "S/PDIF 2", - #endif -#else - .inputChanStr_22 = "Analogue 22", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 22) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 22) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_23 = "Analogue 23/SPDIF 1", - #else - .inputChanStr_23 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 21) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_23 = "Analogue 23/SPDIF 2", - #else - .inputChanStr_23 = "S/PDIF 2", - #endif -#else - .inputChanStr_23 = "Analogue 23", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 23) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 23) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_24 = "Analogue 24/SPDIF 1", - #else - .inputChanStr_24 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 22) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_24 = "Analogue 24/SPDIF 2", - #else - .inputChanStr_24 = "S/PDIF 2", - #endif -#else - .inputChanStr_24 = "Analogue 24", -#endif -#endif -#if (NUM_USB_CHAN_IN > 24) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 24) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_25 = "Analogue 25/SPDIF 1", - #else - .inputChanStr_25 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 23) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_25 = "Analogue 25/SPDIF 2", - #else - .inputChanStr_25 = "S/PDIF 2", - #endif -#else - .inputChanStr_25 = "Analogue 25", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 25) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 25) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_26 = "Analogue 26/SPDIF 1", - #else - .inputChanStr_26 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 24) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_26 = "Analogue 26/SPDIF 2", - #else - .inputChanStr_26 = "S/PDIF 2", - #endif -#else - .inputChanStr_26 = "Analogue 26", -#endif -#endif -#if (NUM_USB_CHAN_IN > 26) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 26) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_27 = "Analogue 27/SPDIF 1", - #else - .inputChanStr_27 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 25) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_27 = "Analogue 27/SPDIF 2", - #else - .inputChanStr_27 = "S/PDIF 2", - #endif -#else - .inputChanStr_27 = "Analogue 27", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 27) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 27) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_28 = "Analogue 28/SPDIF 1", - #else - .inputChanStr_28 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 26) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_28 = "Analogue 28/SPDIF 2", - #else - .inputChanStr_28 = "S/PDIF 2", - #endif -#else - .inputChanStr_28 = "Analogue 28", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 28) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 28) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_29 = "Analogue 29/SPDIF 1", - #else - .inputChanStr_29 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 27) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_29 = "Analogue 29/SPDIF 2", - #else - .inputChanStr_29 = "S/PDIF 2", - #endif -#else - .inputChanStr_29 = "Analogue 29", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 29) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 29) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_30 = "Analogue 30/SPDIF 1", - #else - .inputChanStr_30 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 28) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_30 = "Analogue 30/SPDIF 2", - #else - .inputChanStr_30 = "S/PDIF 2", - #endif -#else - .inputChanStr_30 = "Analogue 30", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 30) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 30) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_31 = "Analogue 31/SPDIF 1", - #else - .inputChanStr_31 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 29) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_31 = "Analogue 31/SPDIF 2", - #else - .inputChanStr_31 = "S/PDIF 2", - #endif -#else - .inputChanStr_31 = "Analogue 31", -#endif -#endif - -#if (NUM_USB_CHAN_IN > 31) -#if defined(SPDIF_RX) && (SPDIF_RX_INDEX == 31) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_32 = "Analogue 32/SPDIF 1", - #else - .inputChanStr_32 = "S/PDIF 1", - #endif -#elif defined(SPDIF_RX) && (SPDIF_RX_INDEX == 30) - #if(SPDIF_RX_INDEX < I2S_CHANS_ADC) - .inputChanStr_32 = "Analogue 32/SPDIF 2", - #else - .inputChanStr_32 = "S/PDIF 2", - #endif -#else - .inputChanStr_32 = "Analogue 32", -#endif +#error NUM_USB_CHAN_OUT > 32 #endif #if (NUM_USB_CHAN_IN > 32) diff --git a/module_usb_audio/main.xc b/module_usb_audio/main.xc index de6eb150..646406e5 100755 --- a/module_usb_audio/main.xc +++ b/module_usb_audio/main.xc @@ -119,6 +119,10 @@ on tile[XUD_TILE] : in port p_for_mclk_count = PORT_MCLK_COUNT; on tile[AUDIO_IO_TILE] : buffered out port:32 p_spdif_tx = PORT_SPDIF_OUT; #endif +#ifdef ADAT_TX +on stdcore[AUDIO_IO_TILE] : buffered out port:32 p_adat_tx = PORT_ADAT_OUT; +#endif + #ifdef ADAT_RX on stdcore[XUD_TILE] : buffered in port:32 p_adat_rx = PORT_ADAT_IN; #endif @@ -147,9 +151,7 @@ on tile[AUDIO_IO_TILE] : buffered in port:1 p_midi_rx = PORT_MIDI_IN; on tile[AUDIO_IO_TILE] : clock clk_midi = CLKBLK_MIDI; #endif -#ifdef SPDIF on tile[AUDIO_IO_TILE] : clock clk_mst_spd = CLKBLK_SPDIF_TX; -#endif #ifdef SPDIF_RX on tile[XUD_TILE] : clock clk_spd_rx = CLKBLK_SPDIF_RX;