- merge v0.01 --> Añadido fileselector - Añadidas fuentes de Gem y Pure Data - pix2jpg incluído en Gem. Archivos de construcción de Gem modificados. - Añadido fichero ompiling.txt con instrucciones de compilación
113 lines
3.6 KiB
Text
113 lines
3.6 KiB
Text
Pd release 0.23 and onward include objects for managing lists of data. The
|
|
objects allow you to describe data structures and how they are viewed
|
|
("template objects") and to traverse lists ("traversal objects.")
|
|
|
|
The rest of this file gives a highly condensed summary of what's there; the
|
|
patches, starting with "1.scalars.pd", act as a tutorial.
|
|
|
|
1. TEMPLATE OBJECTS.
|
|
|
|
templates describe data structures. You can add an item to a data structure
|
|
using "field" or ask for a shape to be drawn using a "display command."
|
|
|
|
1.1. "template" -- data structure.
|
|
|
|
usage, "template <field1> <field2> ..."
|
|
|
|
where the fields are either "float <name>", "symbol <name>", "list <name>"
|
|
(don't try that yet); or "array <name> <template-for-elements>.
|
|
|
|
1.2. DISPLAY COMMANDS.
|
|
|
|
|
|
These are objects which ask Pd to draw a shape corresponding to some fields
|
|
of the datum.
|
|
|
|
1.2.1. POLYGONS and CURVES.
|
|
|
|
polygons: polygon <outline-color> <line-width> <x, y> ...
|
|
filled polygons: fpolygon <fill-color> <outline-color> <line-width> <x, y> ...
|
|
curves: curve <outline-color> <line-width> <x, y> ...
|
|
filled curves: fcurve <fill-color> <outline-color> <line-width> <x, y> ...
|
|
|
|
Each argument can either be a number or a symbol. If a symbol, it's the
|
|
name of a field (which must be a "float) which specifies the vaiue.
|
|
So for instance in the "1.scalar.pd" example, in the template "template1",
|
|
the object "fpolygon 244 q 5 0 0 20 z 40 0" draws a filled polygon whose
|
|
interior color is 244 (red 2, green 4, blue 4) but whose outline color
|
|
depends on the value of the field "q". Its coordinates describe a triangle
|
|
whose altitude is given by "z."
|
|
|
|
1.2.2 PLOT.
|
|
|
|
The "plot" objects plots an array field as shown in 5_array.pd.
|
|
|
|
2. TRAVERSAL.
|
|
|
|
In this release of Pd, you can only traverse lists all of whose elements
|
|
belong to the same template; this restriction will be relaxed in a future
|
|
release. You "traverse" a list either to build it, to get its elements,
|
|
or to change their values.
|
|
|
|
2.1. POINTER.
|
|
|
|
The "pointer" object can be used to refer to an element of a list. Its
|
|
methods are:
|
|
|
|
2.1.1. traverse <symbol>.
|
|
|
|
Point to the "head" of a list. The symbol should match the name of a Pd
|
|
window holding the list. The pointer is output, but you can't set or get the
|
|
fields of the "head" pointer; you can only get the "next" element or "append"
|
|
to the list.
|
|
|
|
2.1.2. next. Goes to the next element of the list. Either the pointer
|
|
is output on the left side, or else a "bang" at right tells you that no
|
|
more objects are forthcoming.
|
|
|
|
2.1.3. bang.
|
|
outputs the current pointer.
|
|
|
|
2.2. APPEND. Adds an element of the specified template to the list. You
|
|
specify what fields you want to supply and the last inlet takes a pointer to
|
|
the element you want to "append" after.
|
|
|
|
2.3. GET.
|
|
|
|
get <template> <field...>
|
|
|
|
send it a pointer to an object belonging to the <template> and it outputs
|
|
the (floating-point) fields.
|
|
|
|
2.4. SET.
|
|
|
|
set <template> <field...>
|
|
|
|
send it a pointer (at the rightmost inlet) and values for the specified
|
|
fields, and their values are changed accordingly.
|
|
|
|
2.5. GETSIZE.
|
|
|
|
getsize <template> <array-field>
|
|
|
|
outputs the size of the named field, which must be an array, when it receives
|
|
a pointer to the owner as input.
|
|
|
|
2.6. SETSIZE.
|
|
|
|
setsize <template> <array-field>
|
|
|
|
Send it a pointer to the owner (right inlet) and then the desired size
|
|
(left inlet) and the array is resized. If a template contains an array,
|
|
each scalar belonging to the template can have its own size for the array.
|
|
|
|
2.7. ELEMENT.
|
|
|
|
element <template> <array-field>
|
|
|
|
Pass it an index and a pointer and it outputs a pointer to an element of the
|
|
array.
|
|
|
|
|
|
|
|
|