C++ wrapper for extern development

Guenter Geiger geiger at epy.co.at
Fri Nov 3 21:10:19 CET 2000

Gem is really targeted for doing graphics, so it is only partly 
useable as a base class for pd external objects (look at

The C++ wrapping of Gem does not really (IMO) take away the complexity
of creating externals. 

This said, it may be a good starting point to investigate how it can
be done.

I haven't really analyzed the design thouroughly, the drawbacks of 
GEM's wrapping are:

- uses #define instead of templates ( this makes it easier portable to
  some extend). 
  altough the defines reduce the amount of typeing needed for each
  external, they do not really clarify what is happening.
- adding of messages becomes more complex than in plain C.

despite that, having a C++ wrapper would be great, though I think
creating a decent API is not that simple.
Do you have any concrete suggestions ?


Karl MacMillan writes:
 > Have you looked at Gem?
 > Karl
 > On Tue, 1 Aug 2000, Larry Troxler wrote:
 > > Just wondering, has anyone thought about writing some C++ classes that
 > > wrap the existing PD code that is used to create classes?
 > > 
 > > I'm not suggesting modifying the existing PD core, but rather, having
 > > some classes that encapsulate it, in order to make it easier to code new
 > > externs, and to make it more understandable what is going on.
 > > 
 > > Larry
 > > 
 > -- 
 > _____________________________________________________
 > | Karl W. MacMillan                                 |
 > | Computer Music Department                         |
 > | Peabody Institute of the Johns Hopkins University |
 > | karlmac at peabody.jhu.edu                           |
 > | www.peabody.jhu.edu/~karlmac                      |
 > -----------------------------------------------------

More information about the Pd-list mailing list