B rock pointed out that you can write automation and send out as midi.then loop. it back and you can use it like a controller automate many parameters.
Took me a while to find
that underrated feature thread. You need a virtual MIDI cable, and it can be a bit of work to get a library started. But once you do, it's
addicting. Now I can drag & drop just about any shape & rate. And yet, I'm still finding variations on that theme. So I call up the "MIDI LFO Groove Clip" template, and zip off a few more custom controllers to fit the task at hand.
Even that process is basically a workaround (not a dirty word in my book) for what Sharke is suggesting here. Not everyone would want to (or should necessarily have to) go to those lengths for "universal" modulations.
Just to show you how long I've wanted this type of feature in a native sense, here's
a 7-year old post on a MIDI LFO feature request. I actually spoke at length about this on the phone with Jesse Jost [ex-Cakewalk & Line6] the year prior.
{Hey, Andrew ... you were on the line, too, were you not?} Think about it: The per-track arpeggiator - simplistic terms - is an algorithmic lookup table with 128 possible values (notes). "Up" is a ramp waveform. "Down" is a sawtooth. "Up & Down" - inclusive & exclusive - are triangle waveform variations. "As Played" is a programmable waveform. "Random" is ... you get the idea. Now apply it to CC / pitchbend / aftertouch messages, rather than note values.
Toss in some CW programming wizardry, tab it alongside the arpeggiator, and you've got per-track MIDI LFOs. Of course, it wouldn't hurt to to put in a mini-PRV window somewhere for custom waveforms, or consult RGC for some loadable waveform interpolations. This would also be a good place to add a "Tracking Generator". Modify the incoming MIDI messages with a "waveform" shape that processes the MIDI input range, then conforms it to that drawn shape for MIDI output (assignable to anything).
One-shots, repeat X times, and infinite cycles (latch) are essentially counters, and could be a shared feature with the arpeggiator. Computers are fairly adept at counting. One-shots are basically envelopes. LFOs with thinned (quantized) data are per-track sequencers. There are a LOT of ways to go with this. Sure, there are a few MIDI FX that have similar concepts & features by now, but what fun is that (when you can have them pre-loaded & programmable per-track)???