Union of two synthdef

Hi everyone, I was wondering if it was possible to obtain a single synthdef from these two, which affect different delay parameters. From the first I would be interested in maintaining the ping pong delay effect obtained with LocalOut, while from the second I am very interested in the decayT parameter, which is not present in the first. is there a way to have a single synthdef for both? THANK YOU SO MUCH!!!

(
// -----------------------------> Synth input

SynthDef.new(\mic, {arg inBus=0,outBus=0,amp=0;
	                var sig;
	                    sig = SoundIn.ar(inBus) * amp.lag(0.02);
	                    sig = LeakDC.ar(sig);
	                Out.ar(outBus,sig)
             }).add;

// -------------------> Synth router

SynthDef(\router, {arg inBus=0, outBus=0, fadeT = 1;
		           var sig, init, gate;
		               sig    = In.ar(inBus,1);
		               init   = Impulse.kr(0);
		               outBus = K2A.ar(outBus);
			           gate   = HPZ1.ar(outBus).abs > 0;

	               Out.ar(outBus,
			              sig * EnvGen.ar(Env([0,0,1], [0,fadeT],\cub),gate+init));
			       Out.ar(DelayN.ar(outBus, fadeT, fadeT),
			              sig * EnvGen.ar(Env([0,1,0], [0,fadeT],\cub),gate));
	       }).add;
)
// -----------------------------> Bus e Gruppi

(
~micBus.free;
~delBus.free;

~micBus = Bus.audio(s,1); // Bus Microfono
~delBus = Bus.audio(s,1); // Bus Delay

~micGrp = Group.new;            // Gruppo sources
~fxGrp  = Group.after(~micGrp); // Gruppo elaborazioni

a = Synth(\mic,    [\inBus,0,       \outBus,~micBus,\amp,1],       ~micGrp); // Sig in
b = Synth(\router, [\inBus,~micBus, \outBus,~delBus, \fadeT, 0.5], ~micGrp, \addToTail);
)

// First Synthdef

(
SynthDef(\del_2, {arg inBus=0, outBus=0, maxdel=2, del=0.5, fbk=0.0,
	                  amp=0, gate=0, fade=0.2, done=2;
	              var in, local, sig, dly, env;
	                  in    = In.ar(inBus);
	                  local = LocalIn.ar(2) + [in, 0];     // Ingresso interno dual mono (per feedback)
	                  dly   = DelayL.ar(local, maxdel, del,1 );
		              dly   = LeakDC.ar(dly);
	                  env   = Linen.kr(gate,fade,1,fade,done);
		          LocalOut.ar(dly.reverse * fbk); // reverse = ping pong effect
	              Out.ar(outBus, local * env * amp);
                  }).add;
)


c = Synth(\del_2,[\inBus,~delBus,\outBus,0, \amp,1,\fade,0.5, \del, 0.8, \fbk,0.2, \gate,1],~fxGrp);    // Delay

c.set(\del,0.3);
c.set(\fbk,0.6);
c.set(\fbk,0.9);
c.set(\fbk,0.1);
c.set(\fbk,0);
c.set(\gate,0);


// Second Synthdef

(
SynthDef(\del_3, {arg inBus=0, outBus=0, maxdel=10, del=0.5, decayT=1, mix=0,
	                  amp=0, gate=0, fade=0.2, pan=0, done=2;
	              var in, sig, dly, pann, env;
	                  in    = In.ar(inBus);
	                  dly   = CombL.ar(in, maxdel, del, decayT);
	                  env   = Linen.kr(gate,fade,1,fade,done);
	                  sig   = LeakDC.ar(dly);    // Per fbk lunghi
		              sig   = XFade2.ar(dly, in, mix) * env * amp;
	                  pann  = Pan2.ar(sig, pan);
	             Out.ar(outBus, pann);
                 }).add;
)

c = Synth(\del_3,[\inBus,~delBus,\outBus,0,\amp,1,\fade,0.5, \decayT,2, \gate,1],~fxGrp);    // Delay

c.set(\decayT,7.6);
c.set(\del,0.5,\mix, -1);  // solo dly
c.set(\del,0.5,\mix, 0.5);
c.set(\decayT,10);
c.set(\decayT,0);
c.set(\gate,0);