Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    AutoKey() function broken in R11?

    SDK Help
    0
    30
    16.2k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Helper
      last edited by

      THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

      On 03/11/2008 at 05:12, xxxxxxxx wrote:

      Howdy,

      > Quote: Originally posted by Matthias Bober on 03 November 2008
      >
      > * * *
      >
      > Sorry, I can not confirm the scale problem, this is working fine here using your description example. Maybe there is something wrong in your code creating the cloned container?
      >
      >
      > * * *

      This is the thing that is puzzling me because the code is the same for creating the position and rotation cloned containers. I'll have to investigate elsewhere. :o(

      > Quote: Originally posted by Matthias Bober on 03 November 2008
      >
      > * * *
      >
      > As for the undo handling, you call UNDO_NEW after allocating and inserting. You call UNDO_CHANGE before you do any change.
      >
      >
      > * * *

      Right. That's what I got from the SDK Documentation, I just wanted to confirm if my assumption that adding a key to a track was considered a "change" to the track. Is my assumption correct?

      Adios,
      Cactus Dan

      1 Reply Last reply Reply Quote 0
      • H
        Helper
        last edited by

        THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

        On 03/11/2008 at 05:29, xxxxxxxx wrote:

        You should use UNDO_NEW on the things you insert. So if you inserting keys you should use the pointer to the key in AddUndo().

        cheers,
        Matthias

        1 Reply Last reply Reply Quote 0
        • H
          Helper
          last edited by

          THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

          On 03/11/2008 at 05:54, xxxxxxxx wrote:

          Howdy,

          OK, so are you saying that this is wrong:

          > \> doc->AddUndo(UNDO_CHANGE,trackX); \> CKey \*keyX = trackX->GetCurve()->AddKey(time); if (!keyX) return FALSE; \> keyX->SetValue(trackX->GetCurve(),value.x); \>

          ... and it should be like this?:

          > \> CKey \*keyX = trackX->GetCurve()->AddKey(time); if (!keyX) return FALSE; \> keyX->SetValue(trackX->GetCurve(),value.x); \> doc->AddUndo(UNDO_NEW, keyX); \>

          The confusing part for me is that it's adding a new key, but the function name to add the key doesn't have the word "Insert" in it. So my assumption was since it wasn't an "Insert" or an "Alloc" function, then use the first example with UNDO_CHANGE.

          Sorry, but sometimes my obsessive compulsiveness surfaces and causes these little problems of comprehension. :oD

          Adios,
          Cactus Dan

          1 Reply Last reply Reply Quote 0
          • H
            Helper
            last edited by

            THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

            On 03/11/2008 at 06:03, xxxxxxxx wrote:

            As soon as you are creating an object and insert it into something you have to use this object with AddUndo() and UNDO_NEW. I agree it can be a bit confusing sometimes. But if you think about it the AddKey() function is doing exactly this, allocating and inserting keys 🙂

            So yes this would be the correct one:

            > \> Key \*keyX = trackX->GetCurve()->AddKey(time); if (!keyX) return FALSE; \> doc->AddUndo(UNDO_NEW, keyX); \> keyX->SetValue(trackX->GetCurve(),value.x); \>

            cheers,
            Matthias

            1 Reply Last reply Reply Quote 0
            • H
              Helper
              last edited by

              THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

              On 03/11/2008 at 06:05, xxxxxxxx wrote:

              Howdy,

              OK, thanks. ;o)

              Adios,
              Cactus Dan

              1 Reply Last reply Reply Quote 0
              • H
                Helper
                last edited by

                THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                On 03/11/2008 at 07:14, xxxxxxxx wrote:

                Howdy,

                Well, upon further investigation I found the scale problem elsewhere in my code.

                Yee-Ha! Now my tag has it's own AutoKey() function working perfectly in R9.6, R10 and R11! 🐵

                Thanks, Matthias, for all your help and patience.

                Adios,
                Cactus Dan

                1 Reply Last reply Reply Quote 0
                • H
                  Helper
                  last edited by

                  THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                  On 10/03/2009 at 09:51, xxxxxxxx wrote:

                  Hi Dan,

                  For your information, it turned out that AutoKey works for Tbaselist4D types only. Tags are of Tbaselist2d type. This should be fixed in a future update of Cinema.

                  cheers,
                  Matthias

                  1 Reply Last reply Reply Quote 0
                  • H
                    Helper
                    last edited by

                    THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                    On 10/03/2009 at 10:06, xxxxxxxx wrote:

                    Howdy,

                    Thanks.

                    Adios,
                    Cactus Dan

                    1 Reply Last reply Reply Quote 0
                    • H
                      Helper
                      last edited by

                      THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                      On 12/10/2009 at 03:33, xxxxxxxx wrote:

                      FYI, this is fixed in CINEMA 4D R11.5.

                      cheers,
                      Matthias

                      1 Reply Last reply Reply Quote 0
                      • H
                        Helper
                        last edited by

                        THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                        On 12/10/2009 at 07:13, xxxxxxxx wrote:

                        Howdy,

                        Thanks Matthias. ;o)

                        Adios,
                        Cactus Dan

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post