/usr/share/puredata/doc/1.manual/x4.htm is in puredata-doc 0.46.7-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<TITLE>Pd Documentation 4</TITLE>
<meta http-equiv="Content-Type" content="text/html">
<link rel="stylesheet" type="text/css" href="pdmanual.css" media="screen">
</HEAD>
<BODY>
<H2>Pd Documentation chapter 4: writing Pd objects in C</H2>
<P>
<A href="index.htm#s4"> back to table of contents </A>
<BR><BR>
</P>
<P>You can write your own objects that you and others can use in their Pd
applications. You can write them in C or (if you're smart and brave) in C++ or
FORTRAN.
<P> HOW EXTERNS ARE LOADED
<P> Whenever you type the name of an object
(into an "object" text box) that Pd doesn't yet know about, Pd looks for a
relocatable object file, named, for instance, "profile.pd_irix5". Pd looks
first in the directory containing the patch, then in directories in its
"path." Pd will then add whatever object is defined there to its "class list,"
which is the set of all Pd classes you can use. If all this works, Pd then
attempts again to create the object you asked for, this time perhaps
successfully. There is no difference between an object defined this way and an
object built into Pd.
<P> Once you load a new object into Pd, it's there for the duration of your Pd
session. If you load another Pd document which supplies a different version of
some Pd object, the object won't be updated. IF you're working on a new object
and decide to change it, you have to exit and re-enter Pd to get the change to
take.
<P> In the "externs" subdirectory of the documentation you
can find simple examples of "externs" with their source code and test patches;
there are many other on the web (see <a href="x1.htm#s2">section 1.2 </A>).
<P> Iohannes Zmoelnig has written an excellent guide to writing externs at
<A href="http://pdstatic.iem.at/externals-HOWTO/">
http://pdstatic.iem.at/externals-HOWTO/</A> .
</BODY>
</HTML>
|