mimic "paste copied channels" behavior in python

   4551   5   1
User Avatar
Member
27 posts
Joined: Nov. 2008
Offline
hi,

i'm trying to mimc the behavior of “paste copied channels” operator in python.

So regardless of whether parameter contains value, expression, animation, etc, i want to copy the content to a different parameter.

can someone help with how i might do this please?

thanks,
User Avatar
Member
818 posts
Joined: Sept. 2013
Offline
You have to loop through the keyframes and set it There seems to be an issue with setting the right acceleration (slope) value. It seems like you can workaround it by setting it twice:
p = hou.parm(“/obj/geo1/tx”)
q = hou.parm(“/obj/geo1/ty”)
q.deleteAllKeyframes()
for k in p.keyframes():
q.setKeyframe(k)
for k in p.keyframes():
q.setKeyframe(k)


Note that if the parameter is driven by an expression, you can do the same to copy the expression.

You can also setup channel reference this way:
p = hou.parm(“/obj/geo1/tx”)
q = hou.parm(“/obj/geo1/ty”)
q.set(p)
Edited by - Sept. 4, 2015 15:14:50
Andrew / アンドリュー
User Avatar
Member
27 posts
Joined: Nov. 2008
Offline
good to know, thanks!
User Avatar
Member
4 posts
Joined: July 2009
Offline
I just repost awong's answer for easy copy and pasting the code:

p = hou.parm(/obj/geo1/tx)
q = hou.parm(/obj/geo1/ty)
q.deleteAllKeyframes()
for k in p.keyframes():
    q.setKeyframe(k)
for k in p.keyframes():
    q.setKeyframe(k)
Edited by eoyilmaz - March 18, 2020 10:31:18
User Avatar
Member
10 posts
Joined: Sept. 2019
Offline
Hello,

I have an additional question about copy-pasting ramps:
if I copy-paste a ramp in the editor all key/values get automatically referenced, if I create new key/values in the pasted-in ramp they appear in the target ramp.

But if I do the same thing in python I need to manually loop over every key/value and paste in a reference, if there is a new value in the pasted-in ramp a new reference needs to be created in python.
How does Houdini do this under the hood in the editor? must I also create a callback and then trigger the key/value reference every time a new one is created?
Edited by swSharkBoy_02 - Jan. 13, 2023 03:11:12
User Avatar
Member
5 posts
Joined: July 2016
Offline
Curious about this as well.
  • Quick Links