• Importing pythonapi from ctypes freezes C4D

    Cinema 4D SDK s24 macos python
    7
    0 Votes
    7 Posts
    1k Views
    ferdinandF
    Hey @lasselauch, We are not able to reproduce this crash on an Intel, M1, or M3 MacBook with 2024.4.0. Please provide and submit a crash report when this is still a problem for you. I would also recommend reinstalling Cinema 4D to rule out that your installation was damaged. Cheers, Ferdinand
  • 0 Votes
    5 Posts
    1k Views
    i_mazlovI
    Hi @mikeudin , To me it sounds pretty much like this issue here: issue with inserting fieldlayers in r2024, particularly after I couldn't reproduce this issue with the internally available next version of cinema. Cheers, Ilia
  • 0 Votes
    5 Posts
    1k Views
    M
    Hi sorry for not answering this topic earlier, I finally found some time to investigate and sadly there is nothing you can do in your side, this memory leak is coming from the Illustrator Importer and can be big, since all the points and tangents of the file are leaking. A fix will be available in the next update. Thanks for the report ! Cheers, Maxime.
  • Manipulate timeline from plugin

    Cinema 4D SDK macos c++ 2024
    2
    0 Votes
    2 Posts
    517 Views
    ferdinandF
    Hello @veenamandhan, Welcome to the Maxon developers forum and its community, it is great to have you with us! Getting Started Before creating your next postings, we would recommend making yourself accustomed with our forum and support procedures. You did not do anything wrong, we point all new users to these rules. Forum Overview: Provides a broad overview of the fundamental structure and rules of this forum, such as the purpose of the different sub-forums or the fact that we will ban users who engage in hate speech or harassment. Support Procedures: Provides a more in detail overview of how we provide technical support for APIs here. This topic will tell you how to ask good questions and limits of our technical support. Forum Features: Provides an overview of the technical features of this forum, such as Markdown markup or file uploads. It is strongly recommended to read the first two topics carefully, especially the section Support Procedures: Asking Questions. About your First Question First of all, you first posting is a violation of our "one subject per topic" rule. When you have questions about multiple subjects, you must open multiple postings. For details on this subject, please see Support Procedures: Asking Questions. We usually cut newcomers some slack in this regard as they cannot know our rules in advance and one usually also has more questions than there are atoms in the universe when starting out with a new API. But we must ask you to conform to this rule in future postings. Regarding your questions: It depends a bit on what you would expect from an "audio input field", but generally, yes. We have the FilenameCusstomGui and the SoundEffectorCustomGui. The former is for letting the user select arbitrary files, the latter is a specialized GUI for sound files (but also hooks into tracks). In the end this also depends a bit on what plugin type you want to use, because not all plugins use the same GUI paradigms. [image: 1718883285369-352630af-9dba-4e39-ac71-5f40da6d26ab-image.png]. Yes, that is possible. You are however bound by the threading restrictions here as inserting tracks (your "audio") means modifying the scene graph. Which in turn means that you cannot do this in any of the major payload methods of scene element plugins like ObjectData::GetVirtualObjects, or TagData::Execute as they all run off-main thread. You can do this with all plugin types but for scene elements (everything derived from NodeData) you must usually be a bit more careful, as a lot of methods are there being called in parallel. That is a very ambiguous question. I am not really sure what you mean with "custom boxes like asset boxes", but in general you can implement any kind of custom GUI you want in C++. It again depends a bit on the plugin type you use. For dialogs, custom GUIs are realized by GeUserArea, for descriptions, i.e., stuff in the Attribute Manager, you will have to implement a CustomGuiData (and possibly a custom data type). The GUI paradigms manual is here also entry point for this subject. In general I would recommend opening a thread for each of these subjects, as this thread will become otherwise very convoluted and hard to read and understand for both you and future readers. Before you do that, I would however recommend that you start a thread asking for help which plugin type to choose, while briefly explaining what you want to do. Cheers, Ferdinand
  • Change icon of python script in UI palette

    Moved General Talk python macos
    5
    1
    0 Votes
    5 Posts
    1k Views
    ferdinandF
    Hey @InterfaceGuy, you did nothing wrong here, that was an understandable mistake and we do not mind moving topics from time to time. But at the same time we still have to uphold our rules. Cheers, Ferdinand
  • Post build event settings on windows and mac

    Cinema 4D SDK c++ windows macos
    3
    0 Votes
    3 Posts
    680 Views
    B
    Thank you, @ferdinand
  • 0 Votes
    3 Posts
    983 Views
    mikeudinM
    @ferdinand Thank very much! i'll check what can i do.
  • Error compiling S24 plugin

    Moved General Talk s24 windows macos c++
    4
    0 Votes
    4 Posts
    1k Views
    ferdinandF
    Hey @Cankar001, thank you for reaching out to us. It is great to hear that you found your solution! But I have troubles understanding all details of the rest of your question. However: PluginStart ist just an alias for the plugin message C4DPL_INIT. A Cinema 4D instance has various stages in its startup and teardown sequence, as expressed by the plugin messages C4DPL_MESSAGES (see also: Plugin Messages). Through out the startup and teardown of Cinema 4D not all systems are available, as binaries/modules are loaded and unloaded and the systems associated with them are being pulled up and torn down. In the end it depends a bit on what you tried to do concretely, but generally speaking, it could very well be that something is not yet "up" when C4DPL_INIT is emitted. But in general, most modules, registries, etc. should be accessible at this point (plugins are loaded after the core and unloaded before the core). To get here a more precise answer, I would recommend opening a new topic with concrete code. Cheers, Ferdinand
  • Error compiling R25 framework on MacOS

    Cinema 4D SDK r25 macos
    3
    0 Votes
    3 Posts
    627 Views
    B
    Thank you, @ferdinand. I modified sourceprocessor.py for now, and it works.
  • Download Cinema 4D 2023.2.0 link doesn't work

    Cinema 4D SDK 2023 macos
    4
    0 Votes
    4 Posts
    738 Views
    ferdinandF
    Hey @BruceC, you are not expected to. In fact you cannot delete any topic as a user here once it is older than 60 minutes (no replies or not). Postings, a reply in a topic, can be deleted without restrictions. But deleting is not really deleting in NodeBB anyway, true deletion, NodeBB calls its purging, is not available for users at all. Long story short: We do not want users to delete topics as they tend to delete valuable information for others with that, even when they consider the topic failed or obsolete. Cheers, Ferdinand
  • MacOS : Matplotlib in C4D

    Cinema 4D SDK python macos 2024
    7
    0 Votes
    7 Posts
    879 Views
    M
    Hi I'm not a big expert of PyQt5, but I think you need to set the attribute Qt.AA_DontCreateNativeWidgetSiblings Attribute. Cheers, Maxime.
  • pass Variable from After Effects to C4D

    Cinema 4D SDK python macos 2024
    7
    0 Votes
    7 Posts
    1k Views
    M
    Hi with Cinema4D you can pass an absolute path to a python script, and it will be executed. You do not need any other argument just "Cinema 4D.exe" {ABSOLUTE_PATH_TO_PYTHON_FILES.py}. Note that this only work with Cinema 4D and not commandline ore c4dpy. Cheers, Maxime.
  • 0 Votes
    8 Posts
    1k Views
    C
    @ferdinand Thank you very much! I got the min and max distances also working with your input! I used the code example from the docs to traverse through the DeformCache and it worked instantly
  • Sampling Redshift Materials

    Cinema 4D SDK 2024 c++ macos
    3
    0 Votes
    3 Posts
    741 Views
    D
    Hi Ilia, At this point this seems a bit over my head, but it seems to be what I need, thanks! Dan
  • 0 Votes
    5 Posts
    813 Views
    ferdinandF
    No need to be sorry
  • Crash from processing too many xrefs.

    Cinema 4D SDK r25 python macos
    6
    0 Votes
    6 Posts
    1k Views
    ferdinandF
    Hey @Visualride-0, you seem to run into some form of memory leak. That you open that many files in a row on one Cinema 4D instance is of course not really intended. This could either be a l smaller leak in our API that simply manifests more or only at all when you load that many files. Generally, you could separate out the file iteration into an external script, a shell script or a vanilla Python script if you want, and then simply run c4dpy with your script per file or for batches of 10 or 100 files. Starting and shutting down c4dpy 8000 times in a row will of course take its toll in time, so one would be incentivized to bundle up more files to bring down that number of starts and shutdowns. I had a look at your code, and apart from your redundant document insertion, I do not see much wrong with it, as it is basically just the loop on fileList. Cinema 4D should have caught your mistake there and prevented you from opening the same file twice, but I have not tested it. for f in filesList: # This line will load #f into a BaseDocument, insert it into the opened files, and make it the # active document. Unlike for BaseDocument.LoadDocument, the following lines are therefore # redundant. c4d.documents.LoadFile(f) # doc = c4d.documents.GetActiveDocument() # c4d.documents.InsertBaseDocument(doc) # c4d.documents.SetActiveDocument(doc) c4d.documents.SaveDocument(c4d.documents.GetActiveDocument(), f, c4d.SAVEDOCUMENTFLAGS_0, c4d.FORMAT_C4DEXPORT) # This does what it should do, close the active document, and create a new one. But to be # ultra safe, you could also call c4d.documents.CloseAllDocuments(). c4d.documents.KillDocument(doc) What escapes mea bit too, is the purpose of what we are doing here, since we just overwrite files with itself. But I guess this is minimized code, so it is only meant to demonstrate the problem. For my own understanding, the files in fileList are all *.c4d files, right? Fixing your code as shown above will likely not fix the problem, it seems more likely to me that there is a memory leak somewhere. For an intermediate solution, you will probably have to do what I proposed above, split this into batches of Cinema 4D or c4dpy instances to flush your memory by shutting down Cinema 4D. But we would like to have a look at the problem. Could you provide a sample of the documents, something between 10 or 100 files, so that we can test it with your data? You can send me a cloud storage link via a PM on the forum or via a mail to sdk_support(at)maxon(dot)net. Mail attachments will not work here due to the 50MB limitation. We strive for Cinema 4D being memory leak free, and if there is a severe leak we are not aware of, we should fix it. But this might take time. Cheers, Ferdinand
  • Project management for C4D SDK projects

    Moved General Talk c++ 2024 macos windows
    4
    3 Votes
    4 Posts
    1k Views
    H
    Thank you very much, Maxime! I'll check out the various points and open a dedicated thread if I have anything further to ask or say about these topics.
  • 0 Votes
    4 Posts
    975 Views
    G
    The API does appear to have movie saving features. https://developers.maxon.net/docs/py/2023_2/modules/c4d.bitmaps/MovieSaver/index.html
  • Hot4D for C4D 2024 not working, Xcode error

    Cinema 4D SDK 2024 macos
    3
    0 Votes
    3 Posts
    2k Views
    J
    Hello @josephnvelasquez49, Welcome to the Plugin Café forum and the Cinema 4D development community, it is great to have you with us! Getting Started Before creating your next postings, we would recommend making yourself accustomed with our Forum and Support Guidelines, as they line out details about the Maxon SDK Group support procedures. Of special importance are: Support Procedures: Scope of Support: Lines out the things we will do and what we will not do. Support Procedures: Confidential Data: Most questions should be accompanied by code but code cannot always be shared publicly. This section explains how to share code confidentially with Maxon. Forum Structure and Features: Lines out how the forum works. Structure of a Question: Lines out how to ask a good technical question. It is not mandatory to follow this exactly, but you should follow the idea of keeping things short and mentioning your primary question in a clear manner. About your First Question Thanks a lot for posting, we are looking into this and let you know as soon as possible. Cheers Jana