set "Visible in Editor" keyframe

On 06/09/2017 at 02:46, xxxxxxxx wrote:

User Information:
Cinema 4D Version:    
Language(s) :

I have a tag plugin and I want to set the objects "Visible in Editor" using keyframes.

Here my code.
A keyframe is set on frame 0, but the value for "Visible in Editor" is not correct (always On).
What am I doing wrong?

if (track) {
   // Add track to op
   // Get track curve
   CCurve* curve = track->GetCurve();
   if (curve!=nullptr) {
      CKey* key = curve->AddKey(BaseTime(0.0));
      key->SetValue(curve, 1);		//set to Off


On 06/09/2017 at 02:52, xxxxxxxx wrote:

I already notice some "bugs" (key was not created) putting key at BaseTime(0.0). So this may be related.

I end up by creating a key then move his time at BaseTime(0.0)

On 06/09/2017 at 03:05, xxxxxxxx wrote:

Actually the keyframe is set, but the Visible in Editor value is not set correctly.
Perhaps it is because Long - Float issue.
Visible in Editor is an integer, but SetValue() expects a Float?

I did a test creating the keyframe at 1.0, but the result is the same (a value of 0 (On) is inserted in the key).


On 07/09/2017 at 01:26, xxxxxxxx wrote:


to set the value of animation tracks that do not store Float values you can use SetGeData(). See the CKey Manual.

best wishes,

On 07/09/2017 at 01:28, xxxxxxxx wrote:

Yes, that did the trick.

Thanks, Pim