I am controlling Supercollider remotely and have connected 9 buttons to digital pins, and 3 potentiometers to analog in pins. I was having strange errors and reduced down to:

{ SinOsc.ar(AnalogIn.ar(0).exprange(300,1000), 0, DigitalIn.ar([0,1,2,3,4,5,8,9,11])).sum * 1/9 }.play;

This works fine. I made this function to try my button wirings and all buttons work properly, and pot 1 too.

But this:
{ SinOsc.ar(AnalogIn.ar(0).exprange(300,1000), 0, DigitalIn.ar(0))}.play;

doesn't work. don't play any sound and don't show any error on IDE's console. I can see the Node in the Node tree.

I tried replacing digital pins one by one and only pin 4 works:

{ SinOsc.ar(AnalogIn.ar(0).exprange(300,1000), 0, DigitalIn.ar(4))}.play;

No idea how sc handles arrays, but do they work if you put them in square brackets? E.g.: digitalIn.ar([0]) ?

I tried that and only DigitalIn.ar([4]) works. I also tried storing the array in a global variable
~buttons = DigitalIn.ar([0,1,2,3,4,5,8,9,11])
and then { SinOsc.ar(AnalogIn.ar(0).exprange(300,1000), 0, ~buttons[0]) }.play; also didn't work

I wired the button backwards, pin 0 was my last button in a row and mistaken the pin numbers, all work fine now. sorry for wasting your time and thank you for trying to help me.