Being hit with a sledge hammer is really what it feels like. I'll try to read more about typedefs, maybe I can find something that deals with APIs in general.
I think I've read most of the APIs documentation text except some of the very special parts concerning the video (jitter) part because it's not very important to me.
I compiled some of the example source code that comes with the API and even created one external myself, actually only an extension to an example external that was described in a book that deals with that topic. It wasn't that hard because what I did mostly happened without much use of the API's functions, I wrote signal processing code, pushing audio samples around, which is something I'm more comfortable with. I understand how the externals have to be constructed, which basic methods are needed and what they do.
Maybe I post an example of something I don't understand. I could post many many things but the problem is basically always the same.
There is one example source code of an external called "simpletext" in which a function can be found which opens the built in text editor on double click:
Code:
void simpletext_dblclick(t_simpletext *x)
{
if (x->t_editor)
object_attr_setchar(x->t_editor, gensym("visible"), 1);
else {
x->t_editor = object_new(CLASS_NOBOX, gensym("jed"), x, 0);
object_method(x->t_editor, gensym("settext"), *x->t_text, gensym("utf-8"));
object_attr_setchar(x->t_editor, gensym("scratch"), 1);
object_attr_setsym(x->t_editor, gensym("title"), gensym("simpletext"));
}
}
t_editor is of type t_object* and is defined in the main struct of the class.
Apparently there is a new object created, "object_method" sends a message to the new object and attributes of the object "t_editor" are being set. It's just completely beyond me how one would no which attributes to set or why this particular object_method is needed. I can't find their definition anywhere.
Being inexperienced it's difficult to judge if something is actually referring to a standard defined in the API or just used in this particular project. It feels like I also have problems with the vocabulary which is used in the function documentations which is why I'm really interested in advanced literature.
thank you