I did some testing using this code:
s.options.numMultiplexChannels = 8;
s.options.numAnalogInChannels = 8; // can only be 2, 4 or 8
s.options.numAnalogOutChannels = 8;
s.options.numDigitalChannels = 16;
s.options.maxLogins = 4; // set max number of clients
s.options.blockSize = 64;
s.options.numInputBusChannels = 2;
s.options.numOutputBusChannels = 2;
s.waitForBoot{
"Server Booted".postln;
{
MultiplexAnalogIn.ar(0,0).poll;
}.play;
};
I went through all the pins and gor readings on the 7.x pins with the strongest reading on 7.0 (i guess a voltage leak is responsible for the other readings). If I change the code to
MultiplexAnalogIn.ar(7,0).poll;
the strongest reading is on pin 7.3 as labeled on the multiplexer capelet.
If I change it to MultiplexAnalogIn.ar(0,7).poll;
the strongest reading is on pin 7.4.
MultiplexAnalogIn.ar(3,7).poll;
= pin 7.5
MultiplexAnalogIn.ar(3,2).poll;
= pin 7.1
I can't make any sense of it, every setting seems to read only values from pin no 7. 🙂
Let me know if I can help with the development of this, I will need to read around 30 analog inputs into SuperCollider soon and a UGen seems better than sending the values over OSC from a C++ program.