On 31/05/2016 at 10:57, xxxxxxxx wrote:
I have a litle problem with Video Posts, I feel kinda dumb about this topic, because it seems so simple and I still can't get it to work.
If have this code here:
doc = c4d.documents.GetActiveDocument() rd = doc.GetActiveRenderData() if rd.GetFirstVideoPost() != c4d.BaseList2D(1001008) : #This is the Color Correction VP rd.InsertVideoPost(c4d.BaseList2D(1001008))
What I am trying to do, is when the user enters a special View in my plugin I want to load the CC VP into the render settings, but what I don't want is, that the VP gets imported more than once.
I don't really know why, but the VP gets imported every time.
I hope someone can help me with this :)
On 01/06/2016 at 02:19, xxxxxxxx wrote:
You are only comparing the first VideoPost, which will fail, when there's already another VP added. Instead you will need a loop to check all VPs.
You shouldn't compare the objects. That's bound to fail an d I'm pretty sure, that's your actual problem. With your comparison:
if rd.GetFirstVideoPost() != c4d.BaseList2D(1001008) :
you are comparing the VideoPost object to a freshly created one.
Instead you should check the type of the VP.
Something like this:
vp = rd.GetFirstVideoPost() while vp is not None: if vp.CheckType(1001008) : break vp = vp.GetNext() if vp is None: rd.InsertVideoPost(c4d.BaseList2D(1001008))
On 01/06/2016 at 08:08, xxxxxxxx wrote:
thank you for your reply.
I wasn't aware of the vp objects, and that it would fail.
Now I know how to compare the video post properly :)
Also thank you for your example code!