Modality Toolkit faderfox uc4

I’m trying to figure out how to use the MKtl so that it fits my needs.
I’m not using the faders as much as the encoders and I would like to make more pages available for the encoders.
I thought that I figured out a simple solution. Just change the midichannel for the encoders, but I cant get it to work. Anyone got an idea on how to change that in the desc-file?
Should I remove it from the shared elements and specify channel e.g 15 on knobs and then specify channel 0 on faders and buttons? Then I can just reprogram my device.

i dont know if thats helpful. I have a Faderfox EC4 and have set it up like this using the Modality Toolkit, to be used on NodeProxies, which i prepare by using .prime on a SynthDef and the awesome NodeProxyGui2. Maybe a starting point to setup your UC4.

(
~makeNodeProxy = { |synthDefName, initArgs=#[], excludeParams=#[], ignoreParams=#[], numChannels = 2|

	Environment.make { |self|

		self.know = true;

		~midiController = MKtl(\faderfox, "faderfox_ec4"); // <-- put your controller here

		~synthDef = SynthDescLib.global[synthDefName].def ?? {
			Error("SynthDef '%' not found".format(synthDefName)).throw
		};

		~nodeProxy = NodeProxy.audio(s, numChannels);
		~nodeProxy.prime(~synthDef).set(*initArgs);

		~nodeProxyGui = { |self|
			NodeProxyGui2(self.nodeProxy, show: false)
			.excludeParams_(excludeParams)
			.ignoreParams_(ignoreParams)
		};

		~makeGui = { |self|
			var window;
			window = Window(self.synthDef.name, Rect(10, 720, 440, 320)).front;
			window.layout = VLayout(self.nodeProxyGui);
		};

		~mapMidi = { |self, params=#[]|

			self.unmapMidi;

			params.do{ |key, i|
				var spec = (self.nodeProxy.specs[key] ?? { Spec.specs[key] }).asSpec;
				// should be adjusted if necessary to your controller
				self.midiController.elAt(\GR01, \kn, i).action_{ |el|
					self.nodeProxy.set(key, spec.map(el.value));
				};
			};
		};

		~unmapMidi = { |self|
			self.midiController.resetActions;
		};
	};
};
)

(
SynthDef(\test, {
	var tFreq, trig, env, freq, fmod, sig;
	tFreq = \tFreq.kr(8, spec: ControlSpec(1, 16));
	trig = Impulse.ar(tFreq);
	env = Decay2.ar(trig, \atk.kr(0.01), \dec.kr(0.1));
	freq = \freq.kr(440, spec: ControlSpec(20, 1000));
	fmod = SinOsc.ar(\fmFreq.kr(5, spec: ControlSpec(1, 1000)));
	sig = SinOsc.ar(freq + (freq * fmod * \fmIndex.kr(2, spec: ControlSpec(0, 5))));
	sig = sig * env;
	sig = Pan2.ar(sig, \pan.kr(0, spec: ControlSpec(-1, 1)));
	Out.ar(\out.kr(0), sig);
}).add;
)

x = ~makeNodeProxy.(\test);
x.makeGui;

x.mapMidi([\tFreq, \freq, \fmFreq, \fmIndex]);
x.unmapMidi;

Thanks! Will try it, though it looks like a different workflow and I would love to just fix the Modality toolkit so that it works with all knobs/encoders.