Ipo Edit
Version 2.6

Now Works with Blender 2.14!
Major Re-Write since Version 2.5!
Most usage restrictions Removed
Save and Re-Use Entire Character Actions!
Assemble and edit complete character actions quickly.
Anything from a single keyframe to the entire curve.
Delete Entire Unwanted Actions, in One Edit
Save Complex Groups to a File for Quick Access
Easily Change the Time Over an Action Occurs!
Changes New to Version 2.6
New Feature: The Child Keyframer
Allows you to set an IPO block for a Child object, which is currently being moved by a Parent heirchy. Once your sequence is recorded, you then update the new IPO, and break the object off it's Parent. The object will then move under the influence of it's own IPO.
Other Improvements
The scratchpad IPO 'Temp' is no longer needed. Forget it.
There is now no limitation to the number of Keyframes you can use, or the number of IPO blocks which may be placed in the drawing
ANY combination of curves, or keyframe times may now be used. Earlier versions required you to have the same curve names in both the source and destination blocks. Each curve required the same number of keyframes, occuring at the same times. This new version will copy over any matching curves between the source and destination, and will copy any source keys which fall between the 'From' and 'Thru' times.
Download Ipo Edit v2.6 (script only)
Download Ipo Edit v2.6 (zipped .blend demo)
Go to the tutorial page, which uses the .blend demo

"R" Refresh Menu
At the left of the drop down menus, you will notice a small button labelled 'R'. This is for the selective refresh of that menu, according to the range set by the sliders (20) or (21). Drop down menus may not have more than 100 values at one time.
1. New Group Name
Click on this bar to enter a name, for a new group which you will save in the Group file.
2. Load File Groups
Select the desired Source and Destination character groups for use from Group file. Selecting a group in this menu will automatically enter it into the Group List (4.). Normally, you would want to be sure the Group List was empty first.
3. Write
Write the currently assembled group to the Group file, with the name you entered in (1.).
4. Group List
Press this menu, to view the current group (Source/Destination associations). Delete a member in this Group, by first selecting the desired member here. More Information
5. Add
Add the Source/Destination association, which has been set by Source IPO (10.), and Destination IPO (7.), to the current group. More Information
6. Delete
Delete the group member selected in the Group List (4.). Repeat clicking this button will continue the deleting, until the entire current group is deleted.
7. Destination Ipo
Select the desired Destination Ipo block from this list.
8. At
Select the Destination keyframe time, from this list.
9. At time (slider)
Select the Destination keyframe time, to a value which does not yet exist.
10. Source IPO
Select the desired Source Ipo block from this list.
11. From
The first keyframe time to copy over to the destination.
12. Thru
The final keyframe time to copy over to the destination.
13. INSERT
Performs the copy operation
14. DELETE KEYS
DELETES ALL keyframes in the range From/Thru, of the Source IPO Block in Single Mode. DELETES ALL keyframes in the range From/Thru for ALL Source IPO blocks in the current group, if Group Mode is selected. CANNOT BE UNDONE!
15. Scale (slider)
Sets the Scale factor, which will adjust the Source segment, before pasting to the Destination. This slider will allow you to resize the segment anywhere between 1/10 and 2 times it's starting length.
16. Scale Next
This button, when pushed in, will activate the Scale feature.
17. Exit
Exits the IPO Editor
18. Refresh
Update all keyframe and IPO menus. This feature is usually not needed
19. Mode (Single/Group)
This toggle button selects between Single Source/Destination edits, which are set in (10) and (7), and Group Edits, which will act on all members of the current Group (those members listed in (4)).
20. IPO Start At (Menu Range)
Drop down menus may not contain more than 100 values at a time. If your drawing contains more than 99 IPO blocks, and you wish to select an IPO which is beyond the first 99, move this slider into the range where you may find your desired IPO, and then press the "R" button, beside the menu you are trying to select. Then re-inspect your menu to find the desired IPO.
21. Keyframe Start At (Menu Range)
Use this slider for the same purpose as you would for (20), but for Keyframe values in the 'From', 'Thru', and 'At' menus.
22. Child Keyframer (Select IPO)
Use this Menu to select the name of the new IPO curve, you create to generate keyframes for a Child object. Set (20) and refresh if needed.
23. Record Key (Child Keyframer)
Set a new IPO for a Child object. Select the IPO with (22). Advance the frame time to the desired point, and press this 'Record Key' to record the Child object's position at this time. Continue advancing and recording keyframes, as desired. When finished, press 'Update IPO' (24) to actually write the keyframes to the IPO. If you make an error, press (25), and then start over. Finally, Un-parent the Child object (or funny things will happen).
24. Update IPO (Child Keyframer)
Sets the recorded keyframes of a selected Child to it's new IPO curve. See (23)
25. Start Over (Child Keyframer)
This erases any recorded keyframes you have recorded, BEFORE using the 'Update IPO' button.
The Rules
Works with Blender 1.8 AND Blender 2.14
Will not work properly with Blender 2.x versions before 2.14
This Script is for creating movie style linear animations, and was not designed for creating games.
To use IPO Edit in your own Blender file, open a text window, press the 'dash' button, and load the ipo_edit2_6.py file. Start the script by moving the mouse into the text window, and press 'Alt p'.
List, Add/Delete Group Members
A Group member is a Source>Destination pair. Create them by choosing the correct IPOs with the Source and Destination menus, and then press the 'Add' button. You will see a green confirmation message appear, naming the pair.
To review the pairs in you Group, press the Group menu bar(4.).
To Delete a group member, (or an accidental duplicate), select the unwanted Group member, and press the 'Delete' button (6.)
Destination IPO Block
Buttons: Block Name, AT(insert point), Insert (paste into destination) = Press when ready
For Group mode, the Ipo Name selected here needs to represent the same type, key positions and length, as the other destination IPOs of the group. The 'At' position you select here will be the same key position and time for all the destination IPOs.
The 'At' Slider
If positioned, will override the 'At' menu, and will allow you to place the paste anywhere in time, up to 100 frames beyond the last keyframe in the destination curve.
Source IPO Block
Buttons: Block Name, From (beginning copy point), Through (last point to copy)
For Group mode, the Ipo name selected here needs to represent the same type, key positions and length, as the other source IPOs in the group. The 'From' and 'Thru' menus represent the range to copy for all source IPOs in your Group.
Exit, Refresh (updates times and keyframe menus), Mode
Use 'Refresh' to make sure all the 'At', 'From', and 'Thru' menus are updated. Usually, the script does this automatically, but there might be some exceptions.
The 'Mode' button allows you to choose between Single IPO edits and Group IPO edits.. Press this button to activate a Group edit. Pressing the 'INSERT' (13.) button will now perform a copy/paste for all the Group members defined.
Just So You Know...
An append, adds the copy to the end of the destination curve. The first key of the copy is welded into the last key in the destination curve, and the result is the average value between the two.
An insert, is any paste which is placed at the beginning, or anywhere within the destination curve. The first key of the copy replaces the destination key 'At' , and the last key of the copy is welded, and averaged into the destination key, which had been selected by the menu 'At' position.
Get used to using neutral entry and exit points along the curves you copy and paste! In other words, the object position and rotation of the destination keyframe, you are inserting at, should be the same as the first keyframe of the paste segment.