[PD-dev] understanding canvas_objtext() in g_text.c
Hans-Christoph Steiner
hans at at.or.at
Fri Apr 17 18:28:01 CEST 2009
On Apr 17, 2009, at 11:25 AM, Miller Puckette wrote:
> On Fri, Apr 17, 2009 at 11:21:46AM -0400, Hans-Christoph Steiner
> wrote:
>>
>> On Apr 17, 2009, at 6:49 AM, IOhannes m zmoelnig wrote:
>>
>>> Hans-Christoph Steiner wrote:
>>>>
>>>> I am trying to track down the path of loading a new object.
>>>> Basically,
>>>> where does a class name get tested to see if a .pd_linux needs to
>>>> be
>>>> loaded or not? For example, if I type [drip], where does it look
>>>> to see
>>>> whether it needs to load drip.pd_linux?
>>>>
>>>> Right now, I am staring at the top of canvas_objtext() and not
>>>> quite
>>>> getting it.
>>>>
>>>
>>> hmm, do you want to know when exactly Pd decides whether it already
>>> has
>>> the "drip" objectclass registered or whether it needs t invoke the
>>> loader-mechanism?
>>>
>>> an objectclass (or rather: it's name) is basically a method for the
>>> "pd_objectmaker". if it has no method registered for "drip", then it
>>> will fallback to it's anything-method (new_anything), which will
>>> call
>>> the registered loaders and finally tries to open the "drip" as an
>>> abstraction.
>>>
>>> mfgasr
>>> IOhannes
>>
>> Ok, that makes sense now. So where does this registration with
>> pd_objectmaker happen? That's what I am looking for, but couldn't
>> find.
>>
>> .hc
>>
> in class_new() -- which is called when the extern is loaded.
>
> cheers
> M
Of course, I'd never bridged that gap in my brain before... one last
plea for help: I am trying to figure out a way to look up the
newmethod when I only have a char *classname. I think binbuf_eval()
just executes the newmethod based on the char *classname, but I want
to get the pointer to the newmethod.
.hc
----------------------------------------------------------------------------
The arc of history bends towards justice. - Dr. Martin Luther
King, Jr.
More information about the Pd-dev
mailing list