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

    XPresso tag

    SDK Help
    0
    31
    14.7k
    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 01/07/2008 at 04:21, xxxxxxxx wrote:

      Hallo Matthias,

      Yes here is some code:

      > \> \> if (port) \> { \>      GePrint(port->GetName(n)); // works fine \>      // find the type of value of the ani key to set when recording \>      // GePrint("ValueType: " + LongToString(port->GetValueType())); //works, real,bool etc \>      // so now i know the value type of the key \>      // here i need to find out what kind of key/track i need to set (scale,on/off, pos,rot, etc. \>      .. \>      .. \>      .. \> \>     // check if it is connected \>    if (port->IsIncomingConnected())                     \>       { \>         // do the things needed when the port is connected \>         GePrint("Port Connected"); \>       } \> } \> \>

      I construct a desclevel like this(pretty standard) :
      (1)
      DescID desID = DescID(DescLevel(index,Vtype,0),DescLevel(Vpart,Vtype,0)));
      Then i do the FindTrack, track creation and insertion if needed, and the the key, via the curve.

      But i need to add (and create) all kinds of keys (and tracks) for the objects(On, Position, scale, etc).
      So i need dynamically (from code) what this input is.

      I need to determine 'index', 'Vtype', 'Vpart'. in the DescLevel construction part(1)

      Oh yes, this code resides outside the node class.

      Thanks for doing this.

      Jan

      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 01/07/2008 at 06:52, xxxxxxxx wrote:

        By the way, I did not solve the problem in my first (top) post too.

        jan

        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 02/07/2008 at 04:00, xxxxxxxx wrote:

          As answer for your first post. You set a wrong value in SetPriorityValue(). Here some working code:

          > \> GeData d; \> if (xpt->GetParameter(DescLevel(EXPRESSION_PRIORITY),d,0)) \> { \>      PriorityData \*pd = (PriorityData\* )d.GetCustomDataType(CUSTOMGUI_PRIORITY_DATA); \>      if (pd) pd->SetPriorityValue(PRIORITYVALUE_MODE,GeData(CYCLE_ANIMATION)); \>           xpt->SetParameter(DescLevel(EXPRESSION_PRIORITY),d,0); \>      xpt->Message(MSG_CHANGE); \>      EventAdd(); \> } \>

          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 02/07/2008 at 04:22, xxxxxxxx wrote:

            Aahh, thank you very much Matthias. it works...
            Regards,
            Jan

            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/07/2008 at 03:58, xxxxxxxx wrote:

              To get the type of the port you could use the GvGetPortGeData() function from the "Graph view data format" chapter of the SDK docu. It returns a GeData from which it is easy to retrieve the type. For the description you have to use the MainID and SubID. Check the top of the GvPort chapter in the docu.

              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/07/2008 at 10:19, xxxxxxxx wrote:

                Thanks Matthias,

                But where do i get a 'run' outside the node class?

                Jan

                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/07/2008 at 11:35, xxxxxxxx wrote:

                  Use the GetRun() of the GvNodeMaster.

                  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 04/07/2008 at 05:25, xxxxxxxx wrote:

                    Yes, that's it. I think it works. My code crashes for now, but that has something to do with my loop and pointers. I will to look into it.

                    So the answer was in the docs all the time.
                    My problem is not with the docs, but most of the time one has no clue where to look.

                    By the way, can one find out if an object has a gvNode representation(if it is dropped in a XGroup by the user)?

                    Anyway, many, many thanks Matthias.

                    Jan

                    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 07/07/2008 at 03:13, xxxxxxxx wrote:

                      Hi,

                      No luck.
                      The crash is caused because the GvNodeMaster->GetRun() returns NULL, as Robert mentioned in: https://developers.maxon.net/forum/topic/2895

                      What to do now ??

                      Jan

                      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 07/07/2008 at 03:17, xxxxxxxx wrote:

                        And in 2002 Mikael Sterner said:

                        https://developers.maxon.net/forum/topic/812

                        jan

                        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 09/07/2008 at 08:40, xxxxxxxx wrote:

                          Matthias ? Please i'm really stuck

                          Jan

                          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 14/07/2008 at 04:04, xxxxxxxx wrote:

                            Sorry, I have no idea. I asked the developers for help. I let you know when I know more about it.

                            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 15/07/2008 at 02:13, xxxxxxxx wrote:

                              Ok, thanks Matthias,

                              I trust we'll get an answer.
                              Please don't forget my Q of juli 4.

                              Regards,
                              Jan

                              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 22/07/2008 at 06:48, xxxxxxxx wrote:

                                Hey Matthias how are things going? 😐
                                I'm working on it also. Do you or someone else know why this resulting DescID depth is zero? Look:

                                (we allready have a Node(node) and a Port (port).

                                  
                                long portid = port->GetMainID();  
                                  
                                GvOperatorData *od = n->GetOperatorData();  
                                if (!od) break;  
                                  
                                DescID descid = od->GetDescID(node, GV_PORT_INPUT, portid);  
                                  
                                GePrint("DescID depth: " + LongToString(descid.GetDepth()));  
                                =====================================  
                                  
                                Regards,  
                                Jan
                                
                                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 22/07/2008 at 06:54, xxxxxxxx wrote:

                                  The previous post should do the trick, because I can use the descid to: FindTrack(descid), and to: CTrack::Alloc(ob, decid).

                                  Or do I see this wrong?

                                  Regards,
                                  Jan

                                  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 22/07/2008 at 16:01, xxxxxxxx wrote:

                                    Djee, I only need to know dynamically a port's animated parameter, like:

                                    ID_BASEOBJECT_POSITION or
                                    CAMERA_FOCUS.

                                    That can be done can't it ??
                                    I just need to create a track and a key programaticaly.
                                    When i started this, I thougt it was peanuts.

                                    jan

                                    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 25/07/2008 at 03:00, xxxxxxxx wrote:

                                      Matthias, still no sign of the developers?

                                      Ok, in the meanwhile, I have setup an elaborate system of recognizing a port by it's name string!

                                      1. I get the port's name from the GvPortDescription

                                      2. construct the description id from a list of known port names and get the animated parameter id (like "Position . X")

                                      3.Then I can create a track and set a key.

                                      Well, it's a long list and there are a lot of if's and 'switch's but it works for now.

                                      There are big disadvantages: it is slow, only the english language can be used and it's practically impossible to support all posible animatable parameters. (and it is unelegant)

                                      regards,
                                      Jan

                                      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 25/07/2008 at 05:16, xxxxxxxx wrote:

                                        I still have no answer for you but I am fiddling around with it too.

                                        Btw. depending from where you call GetOperatorData() it is not allowed to call the virtual functions. See the docu note:

                                        Note: You can only use the virtual functions of this object if you are in the same module that registered the node!

                                        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 25/07/2008 at 06:37, xxxxxxxx wrote:

                                          Yes, I am aware of your alert.

                                          But I'm not sure. At the moment I use the GvNode->GetPortDescription in my (dialog) plugin. Would that cause a problem ?

                                          Awaiting a word from you, I stopped experimenting with GetOperatorData(), because the DescID was not valid anyway.

                                          By the way, I need to set keys for C4D BaseObjects or derivates, so not created by my plug.

                                          Jan

                                          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 25/07/2008 at 07:12, xxxxxxxx wrote:

                                            Quote: _But I'm not sure. At the moment I use the GvNode- >GetPortDescription in my (dialog) plugin. Would that cause a problem ?
                                            >
                                            > * * *
                                            _


                                            This is ok to do.

                                            > Quote: _By the way, I need to set keys for C4D BaseObjects or derivates, so not created by my plug.
                                            >
                                            > * * *
                                            _


                                            So if I understand this right you want to check Xpresso Object nodes for their ports and then create tracks depending on the ports?

                                            cheers,
                                            Matthias

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