Crossfading with SelectX using a named control

Hello everyone!
this is my first post in the forum, and i’m a total noob with superCollider, so apologize in advance for my dumbness… my audio programming background comes from Max/MSP and Processing, and although I’m very excited with my first project in SC, I’m struggling with something i can’t solve… let’s see if anyone can point me in the right direction.

What i want to do is crossfade an array of signals using a named Control. The value of this named control comes from an OSC stream i’m already able to receive. For some reason, this synthdef will throw a long error on evaulation, specifying “Message ‘*’ not understood” at the end.

(
SynthDef.new(\oscil, {
	arg out;
	var p,vib,finalP,x,waves,pulsew,finalSig=[0,0,0,0,0,0,0,0];
	p=\pitch.kr(36!8);
	pulsew=\pw.kr(0!8);
	vib=SinOsc.ar(\vibF.kr(0!8),0,\vibA.kr(0!8),0);
	finalP=p+vib;

	waves=[
		VarSaw.ar(finalP.midicps,0,pulsew)/2,
		Pulse.ar(finalP.midicps,pulsew,0)/2,
		SinOsc.ar(finalP.midicps,0)/2,
		WhiteNoise.ar({1}!8,0)/2
	];

	finalSig=SelectX(\type.kr(0!8)*waves.size,waves);
	//finalSig=VarSaw.ar(finalP.midicps,0,pulsew)/2;
	finalSig=finalSig*\levels.kr(1!8);
	Out.ar(out, finalSig);
}).add;
)

Uncommenting the commented finalSig equality is enough to achieve a successful evaluation, therefore it looks like the error comes from the previous line.

I also tried to work with a switch statement instead of SelectX, but i always end up with the same error. I’m sure it is because i’m missing something fundamental on the way SC works, but i’ve been searching for hours with no luck…

Thank you very much,
and sorry for bothering with elemental sh*t!

ooops! i missed the .ar at SelectX… just added and boom! it works!