Contents

1 definitions and prerequisites
 1.1 classes, instances, objects
 1.2 internals, externals und libraries
2 my first external: helloworld
 2.1 the interface to Pd
 2.2 a class and its data space
 2.3 method space
 2.4 generation of a new class
 2.5 constructor: instantiation of an object
 2.6 the code: helloworld
3 a simple external: counter
 3.1 object-variables
 3.2 object-arguments
 3.3 constructor
 3.4 the counter method
 3.5 the code: counter
4 a complex external: counter
 4.1 extended data space
 4.2 extension of the class
 4.3 construction of in- and outlets
 4.4 extended method space
 4.5 the code: counter
5 a signal-external: pan~
 5.1 variables of a signal class
 5.2 signal-classes
 5.3 construction of signal-inlets and -outlets
 5.4 DSP-methods
 5.5 perform-routine
 5.6 destructor
 5.7 the code: pan~
A Pd’s message-system
 A.1 atoms
 A.2 selectors
B Pd-types
C important functions in “m_pd.h”
 C.1 functions: atoms
  C.1.1 SETFLOAT
  C.1.2 SETSYMBOL
  C.1.3 SETPOINTER
  C.1.4 atom_getfloat
  C.1.5 atom_getfloatarg
  C.1.6 atom_getint
  C.1.7 atom_getsymbol
  C.1.8 atom_gensym
  C.1.9 atom_string
  C.1.10 gensym
 C.2 functions: classes
  C.2.1 class_new
  C.2.2 class_addmethod
  C.2.3 class_addbang
  C.2.4 class_addfloat
  C.2.5 class_addsymbol
  C.2.6 class_addpointer
  C.2.7 class_addlist
  C.2.8 class_addanything
  C.2.9 class_addcreator
  C.2.10 class_sethelpsymbol
  C.2.11 pd_new
 C.3 functions: inlets and outlets
  C.3.1 inlet_new
  C.3.2 floatinlet_new
  C.3.3 symbolinlet_new
  C.3.4 pointerinlet_new
  C.3.5 outlet_new
  C.3.6 outlet_bang
  C.3.7 outlet_float
  C.3.8 outlet_symbol
  C.3.9 outlet_pointer
  C.3.10 outlet_list
  C.3.11 outlet_anything
 C.4 functions: DSP
  C.4.1 CLASS_MAINSIGNALIN
  C.4.2 dsp_add
  C.4.3 sys_getsr
 C.5 functions: memory
  C.5.1 getbytes
  C.5.2 copybytes
  C.5.3 freebytes
 C.6 functions: output
  C.6.1 post
  C.6.2 error