The python sctipt as to blend pose of Armature like as Shapekey.
(1)For any Armature
Not only for facial rig like as AutoFacialRig Add-on.
(2)Keys from Pose Library
Pick only keyframe_points in the frame,not influenced other frame keys.
(3)Blending REPLACE and ADD
REPLACE override bone transformations with all bones having Pose Library's keys,ADD add bone transformations on current pose from Pose Library.
(4)Transform only selected bones(Only in POSE mode)
As same as that you can animate just selected bones with L-key + Mouse wheel.
But you need to make key from bone transformations,not from blending volume.
(1)How to catch frame change event?
Now this program run the callback procedure from 3D View redraw and INFO header redraw.
The reason catching from INFO is that 3D View redraw event can not be catched while rendering,so from INFO header's progress bar.
(2)Can not make pose volume key and bone transformation key at each bone
It looks to be possible by using PoseBone.bone.matrix and .head.
But it is possible by matrix and impossible matrix_local when the bone has parent,possible by matrix_local and impossible by matrix when not have parent.
What reason is this!?