llStartAnimationList(list anim_list, float ease_in, integer priority);
llStopAnimatinoList(list anim_list, float ease_out, integer priority);
The above functions would allow detailed control over joints using bvh... and shouldn't be all that hard to add since its a hack of existing features.
----------------------------------------
The next... a bit trickier.
string llJointAnimation(joint name, integer frame_rate, float ease_in, float ease_out, list rotations, list positions);
It creates a string identifier that can be started and stopped like a regular anim file.
The offsets variable would only be meaningful for hip, foot and hand joints (yes I
even want IK! (no IK when set to [])
By the way, the ability to control hand IK would be the major reason to add to the feature.
Since it's identified as a string, is any way to rescue the memory from the stack .... ?... heap ... ? ... I don't know the words for this.