I'm Confused about Melange [SOLVED]

On 10/12/2014 at 07:33, xxxxxxxx wrote:

User Information:
Cinema 4D Version:   13 
Platform:   Windows  ;   
Language(s) :     C++  ;


I'm not sure I fully understand what Melange is for.
Can I use it to import C4D stuff into a Windows OS Win32 dialog program?

Can I use it sort of like OpenGL in that way. Where C4D does the rendering and geometry creating stuff?


On 10/12/2014 at 08:09, xxxxxxxx wrote:

You can use it to read C4D data into other applications. Think, you are making a plugin for Blender that
should import .c4d files. Then you need Melange.

On 10/12/2014 at 08:22, xxxxxxxx wrote:

You can also have a look into the PluginCafe blog. There you can browse the documentation online, as well as download a quickstart guide, which should give a nice overview.

On 10/12/2014 at 08:30, xxxxxxxx wrote:

I've looked at the QuickStart guide. But it's still a bit fuzzy to me.

A Win32 dialog is a type of application. Just not a 3D application.
Can we only use Melange to import C4D stuff into other 3D apps. Or can we use it to import C4D stuff into any application?

If I save a scene with "Save Polygons for Melange" enabled. Can I import that scene into a Win32 application's dialog?


On 10/12/2014 at 14:14, xxxxxxxx wrote:

Hi ScottA,

It sounds like you're describing OLE or something similar:
Microsoft Windows Object Linking and Embedding

If so, no, Melange isn't intended to be used in that way, as it won't allow you to connect Cinema 4D itself within a Win32 application's dialog.  For instance, it won't help you display a scene with some minimal hookup code in a Win32 dialog.

Instead, Melange is really an 'equal but opposite' of the Cinema 4D C++ SDK in terms of the file save/load capabilities and rendering to a certain extent.  Whereas Cinema 4D's SDK is used to create programs that run in C4D (and hence directly dependent on it as though it were an operating system), Melange is used within other programs, whether you control the source code, or if they at least offer a SDK that allows you to code file importer / exporter plugins.

A practical example would be if you made a game engine and you want to use C4D to create data for it.  To get data in it, you either have to:

1. Design your own file format and write an exporter for it with C4D's SDK, and an importer for it in your game engine.
2. Use Melange in your game engine to write a C4D file format importer.  There's no coding to be done on the C4D side in terms of file exporting.

Since you'd have to understand Cinema 4D's data structures and programming either way, but then replicate some equivalent of it if you create your own file format, you'll have more work to do with option 1, while getting the same results if you choose option 2.

Same idea if you create a 3D data editor, and want to create C4D files from it.  You could use Melange in your editor to save your data in C4D format, which C4D will read natively, instead of having to write a custom file format importer.  Additionally, if you want your 3D data editor to render using C4D and want to avoid a clunky and long "export to file / load C4D / render / save results / load results back into editor" workflow, you can use Melange's render connection capabilities.

For instance, internally we use Melange to build the bridge to Adobe's After Effects.

I hope that clears up what Melange is for.

Joey Gaspe
SDK Support Engineer

On 10/12/2014 at 14:29, xxxxxxxx wrote:

OK thanks.

C4D is an isolated entity on my computer. And I'm constantly searching for a way to make it communicate with my other apps.
I was hoping that it might help me to connect C4D with my other apps (Wind32, Qt, etc..)
But I guess not.