Houdini: Animation Editor with just animated channels

Hey!

Everyone who is coming from a Maya/Softimage background is wondering why the Houdini ChannelList has this strange scoping behavior. It loads by default all parameters with auto-add into the ChannelList.

To get only the animated ones there is an option:

I have prepared a script, if you want to stay with the default behavior (Add Parameters With Auto-Add to Channel List flag), but want the option to load the Animation Editor with just the animated parms.

First select the Nodes with the animation you want to edit. Then run the script. You’ll notice the script scopes/unscopes the channels, and leave you with a clean animation editor.

The script was a nice finger exercise 🙂

 

  
import hou

if hou.selectedItems():
    oSel = hou.selectedItems()
    for oObj in oSel:
        for parm in oObj.parms():
            if parm.isTimeDependent():
                parm.setScope(1)
            else:
                parm.setScope(0)
                try:
                    if str(parm.expression()) == "linear()":
                        parm.setScope(1)
                    if str(parm.expression()) == "bezier()":
                        parm.setScope(1)
                    if str(parm.expression()) == "constant()":
                        parm.setScope(1)
                except:
                    parm.setScope(0)
else:
    print "nothing selected"

animationEditor = hou.ui.curDesktop().createFloatingPanel(hou.paneTabType.ChannelEditor)
animationEditor.setName("Animation Editor - Selection")