[overview = main doc in archive tom@zwizwa.i**20080130131005] move ./www/index.html ./doc/misc/old-overview.html move ./doc/overview.html ./www/index.html hunk ./doc/misc/old-overview.html 1 - -
Pure Data Packet (PDP) is an extension library for the computer music -program Pure Data (PD), by Miller Puckette and -others. Its goal is to provide a way to use arbitrary data types (data -packets) as messages that can be passed around inside PD, along side the -standard PD numbers and symbol types. In short it puts any data object on -the same level as a float or a symbol. +
PDP is an extension library for +Pure +Data, +aimed at providing video and other media processing fuctionality. +That's still it's main purpose, but as of version 0.13, there is more. +PDP turned into a tool for writing PDP. See the section on +Packet Forth. hunk ./doc/misc/old-overview.html 14 -href="http://fink.sourceforge.net/">Fink. There is no -windows version. +href="http://fink.sourceforge.net/">Fink. + +
PDP's focus is on images and video, but there is no reason it +should stay like that. There is support for matrix processing, +1D and 2D binary cellular automata, opengl rendering (like Gem), +scheme scripting (guile), ascii packets, bit grids, ... + +
For more image processing objects, streaming objects and a collection +of very useful additions to the bare bones PDP functionality, have a look +at Yves Degoyon's PiDiP library. + +
Since version 0.13.x, which is a merger between stable (0.12.x) and +packet forth, PDP has been split up into 3 parts: + +
pdp TA zzz TOD kotnet TOD org .
+
+
+
+Currently, PDP's focus is on images and video, but there is no reason it -should stay like that. There is limited support for matrix processing -included in the main library (like Jitter or Gridflow). There is an -extension library for 1D and 2D binary cellular automata, opengl rendering -(like Gem). Some plans include audio buffers (like Vasp), ascii packets, -text buffers, ... Finally there's a library that enables you to connect a -scheme interpreter (guile) to PD/PDP. For more image processing objects, -have a look at Yves Degoyon's PiDiP library. +
+export CVSROOT=:pserver:anonymous@zwizwa.fartit.com:/usr/local/cvsroot
hunk ./doc/misc/old-overview.html 82
-
+cvs login
+cvs co libtile
+cvs co libpdp
+cvs co pdp
+
To update, simply cd to each of the 3 directories, and type cvs update -d.
hunk ./doc/misc/old-overview.html 84
-If you're used to working with PD, the the documentation and example
-patches should be enough to get you started. Have a look at the README file
-in the distribution to find out how to compile and setup. The file
-doc/reference.txt contains a list of objects. If you have installed PDP
-properly, you can just press the right mouse button on an object and select
-help to get a help patch. If this doesn't work, look in the directory
-doc/objects for a collection of help patches. The directory doc/examples
-contains some more demos. The directory doc/objects contains two
-abstractions that are used to setup the input and output in the help
-patches. You might want to cut and connect some wires to use the
-input/output setup that works for you.
hunk ./doc/misc/old-overview.html 85
-
When extracting from cvs, you need to run the ./bootstrap script to
+create the configure scripts and build and install the packages in the order above.
+In order to compile pdp with libpdp (pf) support, you need to add a
+--enable-pf option when invoking pdp's configure script.
hunk ./doc/misc/old-overview.html 90
-
PDP is about packets and operations on packets. Packets are just chunks
-of dumb data. The interpretation of this data depends on its type name.
-There are several types of packets. The default type for most
-objects is image/YCrCb/320x240. This is a single video
-frame, encoded in the internal 16bit YUV format, measuring 320 by 240
-pixels. Another image type is the grayscale image
-image/grey/320x240. Important notes: All image processing objects that
-combine two or more packets need to be fed with the same packet types, i.e.
-encoding (YCrCb/grey) and dimensions need to be the same. Image dimensions need to be a
-multiple of 8x8.
hunk ./doc/misc/old-overview.html 91
-
The
-bitmap/*/* type is another image representation type
-supporting several encodings. I.e. bitmap/rgb/*,
-bitmap/rgba/*, bitmap/yv12/*, ...
+
+Links
hunk ./doc/misc/old-overview.html 94
-This type cannot be processed directly by most of the image processing
-objects, but it can be used to store in delay lines, or to send over the
-network. It's main use is to support all kinds of input/output devices, and
-opengl textures, without introducing too many conversions, but it can serve
-as a space and bandwidth saver too (especially
-bitmap/yv12/*).
+
One of the interesting
-features in PD is the possibility of connecting everything with everything.
-If you want to generalize this to all kinds of media objects, the complexity
-of managing the different types starts to grow quite fast. Therefore PDP has
-a type conversion system that can take care of most of the conversions
-using the [pdp_convert] object. You can manually convert
-packets to a certain type by specifying a type template as a creation
-argument. I.e. [pdp_convert image/grey/*] will convert
-any packet to a greyscale image. Most of the conversion will become
-automatic later on.
+
An example: You can use the basic PDP library together with the -cellular automata library and the opengl rendering library to use a cellular -automaton as an input to a video processing chain. You can convert the -processed image to a texture that can be applied to a 3d object, which then -can be drawn to the screen, captured as a texture, converted back to an -image, which can then be converted to a sound, processed and converted back -to an image, etc... You get the point. The possibilities are endless. hunk ./doc/misc/old-overview.html 107 -
Over the last couple of years, PDP has given birth to a forked off project called -Packet Forth. -This is a programming laguage based on ideas from Forth and Lisp. It's aim is -loosely to be a kind of 'media Perl'. hunk ./doc/misc/old-overview.html 108 -