Question about Gen vs classic patching

Julien Bayle's icon

Hi,

I'd just like to figure out more detail about the differences under the hood between gen~ & the other part of a patch using classic objects.

I mean, the classic objects are like ... compiled when they are exported as collectives or applications right?

I understood that as a new level of elements & compilation for efficiency purpose:
externals are fully compiled --- gen (compiled during edition) --- pure patch (compiled only when collectives & applications

am I right?

doing a lot of workshops (not for advanced people often) I'd like to explain that part a bit.

Wesley Smith's icon

The best way to think about Gen patchers is that the Gen patcher itself represents the internals of what you call a "classic object". Instead of it being pre-compiled, you can open up the compiled object and change its structure on the fly.

Also, I'm not sure I would use the term "compile" in the sense that something is interpreted for the collective and app building process. There is not transformation on the included patches that takes place. They're simply grouped together in the collective or app bundle.

mzed's icon

I was about to reply, but Wes beat me. Here's what I wrote (but it's redundant):

The term "compile" is used to refer to a translation, usually from code that humans would work on to something that is smaller, faster, and works on your computer.

Classic objects are written in C (the source code) and compiled at the Cycling '74 factory. The results are distributed with Max. When you make a standalone, a subset of compiled objects are included with it. A collective refers back to the objects in your max install (which is why it doesn't stand alone).

In the case of Gen, you are writing the source code with Gen objects. That code is compiled dynamically, when you ask Max to use it.

Julien Bayle's icon

yep about compilation with a sense more like "aggregation"
about gen, it sounds like if it was a real compilation (indeed it is written like that in the doc)

Julien Bayle's icon

thank to both of you :)

gen was my point
I already built some external using the sdk (and I love that)

and I'm just waiting for the feature which gives us the ability to grab the source code generated with... gen~
It will appear but when ?!

Wesley Smith's icon

Yes, Gen is real compilation just like using Xcode or Visual Studio. As for code export, lots of people have asked. It's something very much on our minds, but for the immediate now, we're concentrating on how it works within Max. Thanks for your patience on this!

Julien Bayle's icon

I'll be more than patient :)
I'm busy for a couple of month with iOS/Objective C + music live performances

thanks again for your answers