Max, jitter objects and their source codes

Jan Glad's icon

Jan Glad

6月 17 2017 | 2:10 午後

Could not seam to find any information on this.. Sorry if im a lazy bastard.

Im trying to learn open frameworks, but somethings which i can use days on debugging and compiling in ofx, i find can be done in no time in jitter..

Well thats the nice thing about a visual coding environment..

But i was wondering if i could warp my head around c++ by looking into the source code of the max objects? As far as i know, they are written in c++ right? and also i remember seeing some of Andrew Benson's more retro patches used somekind of pseudo code which were a in a max object, but looking like it was talking to c++ directly.. Well i was imagining something like a max object is in reality a c++ object warped around a gui and a max environment which converts it into a scripting language?

Oh well, i could easily just dive into the rabbit hole myself..

But i thought i might ask the forum first, if someone had any experience on this, and might could point me at the right direction of where and what to look for. Also how wrong are my understanding of the max environment?

vichug's icon

vichug

6月 18 2017 | 12:03 午前

Hey,

Max is not (yet ?!!8! kidding just not) an open-source software. As such, most of its built-in objects are just distributed as compiled .mxo or .mxe for windows. It is true for most Jitter objects.

HOWEVER, if you go and download the Max SDK from Github : https://github.com/Cycling74/max-sdk you will find that there is a lot of example source code to learn from, that includes some jitter objects.

Then you say :

some of Andrew Benson's more retro patches used somekind of pseudo code which were a in a max object, but looking like it was talking to c++ directly..

well maybe you are talking about jit.gen, jit.pix or jit.gl.pix objects ; whiwh are kind of what you describe : they use a pseudo-c++ language (genexpr) to create functions in Max which are lower-level than what you can do with ordinary max objects. You can export code as c++ from them, but the exproted code is hard to read. But it is very possible that it is what you are talking about.

Hope that helps

Roman Thilenius's icon

Roman Thilenius

6月 18 2017 | 2:51 午後

they are not "c++ objects", they are compiled data (which were made of c++ "text")

so a look inside would tell you nothing about how to make them.

i think if max externals would contain readable code they would already have given us access to the inside. or someone else did. ;)

when you do not want to use a decompiler or disassembler, you should probably look into the development kit.

-110

Roman Thilenius's icon

Roman Thilenius

6月 18 2017 | 2:54 午後

well maybe you are talking about jit.gen, jit.pix or jit.gl.pix objects

or pyrite or coll ^^

Jan Glad's icon

Jan Glad

6月 19 2017 | 7:29 午前

oh i knew i were getting into some trouble thinking about this :)
Oh c++ "text" do you mean some kind of serializing going on inside max that talks to the objects?

Yea okay.. I know the "you made a burger out of a cow, and now you want the cow back" analogy.. I just hoped that max was an exception.

Speaking of which, i'll check out the Max SDK examples..