no no, i think you explained it well – you want to hard-code 16n compatibility out-the-box, while also allowing a user to be able to map other controllers if they don’t have a 16n, right?
without seeing the larger script (can you link the WIP version?), i’d approach this by generalizing these functions within the parameters so that if a user wants to midi map an alt controller, they can. then, maybe have another parameter that allows a user to specify they want to use default 16n mapping, and do a quick check in the m.event function:
if params:get("16n_enabled") then
if d.type == "cc" then
...
and just send the value to the parameter that would otherwise be midi-mapped: params:set("vol"..i,<value>)