C++ SDK Getting Started Guide

On 28/08/2015 at 11:31, xxxxxxxx wrote:

User Information:
Cinema 4D Version:   17 
Language(s) :     C++  ;


I've finally run into enough walls with the Python API that I've decided to bite the bullet and learn C++ and the C++ API.

What are the best resources for getting started with the C++ API? Are there any current tutorials / videos?

I'd like to document my learning process, and I was thinking that the GitHub cinema4d_cpp_sdk Wiki would be a good place to do so. However, I started on this project not too long back only to discover my work relegated to the "legacy_sdk": https://github.com/PluginCafe/legacy_cpp-cinema4dsdk/wiki

Is the SDK -> Legacy SDK transition going to happen every version? I'd rather not have to rebuild wiki on each new repo. Any suggestions on the best place to write/host such a thing to ensure the most users see it?


On 28/08/2015 at 15:28, xxxxxxxx wrote:

Okay, just saw the sticky above which answers my first question.

As to the second part, I'm just going to host my own GitHub repo for now. I'll post a link once I start to have something of interest.

On 28/08/2015 at 15:51, xxxxxxxx wrote:

The last Legacy SDK transition was at between R12 and R13, so it has been a few years.  I am too hoping that this does not become a version to version thing as it is truly time-consuming and not worth the effort if it were on a more frequent basis.

On 31/08/2015 at 09:41, xxxxxxxx wrote:

Not sure there a few things confused in here.
I think, Donovan talked about the legacy_cpp-cinema4dsdk repo in GitHub. That one is just a collection of stuff previously hosted in our GitHub repo. We don't plan to maintain the stuff in there. When the new team started, the old stuff got pushed there and the new cinema4d_cpp_sdk got set up.

That being said, we are not planning to move stuff from cinema4d_cpp_sdk to legacy_cpp-cinema4dsdk with every version. Instead we will update cinema4d_cpp_sdk to work with the latest released SDK.

For the legacy SDK transitions Robert talked about:
I think, another major change was from R14 to R15. I have said it elsewhere already, in my opinion our developers do quite a good job, keeping the APIs compatible. On the other hand the SDKs represent a living product and thus have to follow, what's happening under the hood. Yes, this may get cumbersome for existing plugin code (although my personal experience was, that it is only a few minutes of search and replace for the R14->R15 transition for example) on the other hand your plugins have high chances to still work without any recompilation. So you only need to transition to the latest SDK, if you need any of the new features, or need to recompile your plugin for other reasons.

I mean, our job here, would definitely get easier, if the SDKs were kept constant in the future, but then again, I'm not sure, you'd like the standstill in C4D either.