[PD-dev] strings

Mathieu Bouchard matju at artengine.ca
Sun Dec 17 01:40:15 CET 2006


On Sat, 16 Dec 2006, Martin Peach wrote:

> ...so a string atom would have a_type = A_STRING and a_w = a_w.w_string, 
> which points to a t_string containing the length and a pointer to the 
> string.

> If pd is otherwise able to handle atom types it doesn't know about (?),

It's not. There are no provisions for adding any extra atom types. There's 
no table for registering atom types. Out of 12 assigned numbers for atom 
types, 5 aren't actually atom types, 4 are radioactive types 
(SEMI,COMMA,DOLLAR,DOLLSYM), the remaining three have reserved selectors 
and hardcoded entries in t_class. What's the right way to add a fourth one 
like that?

> all the string manipulation objects could be built as externals.

What if strings could be automatically cast to symbols for externals that 
would rather have symbols, and vice-versa?

> It looks too easy to me...

It's because you've only thought about the easy part of the problem. How 
do you know when a string becomes unused? When do you deallocate the 
memory? What does this mean for the API used by externals? (including the 
things that are assumed but not written in m_pd.h)

  _ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju
| Freelance Digital Arts Engineer, Montréal QC Canada


More information about the Pd-dev mailing list