PDContainer

Started in: 
2004
Authors: 
Georg Holzmann
License: 
GNU General Public License (GPL)
Programming language: 
C++
Overview: 

::: GOAL OF THE LIBRARY :::

This library was made for algorithmic composition and of course for all other algorithms. I came into troubles with making bigger musical structures in Pure Data with send-receive pairs, arrays, etc. So I tried to make it possible, to have access to some storage in a whole patch.

::: DATASTRUCTURES :::

As storage datastructures, I implemented the C++ STL (Standard Template Library) Containers in PD. Currently following datastructures are available (prefixed with h_): h_map, h_multimap, h_set, h_multiset, h_vector, h_list, h_deque, h_queue, h_priority_queue and h_stack.

::: NAMESPACES :::

For communication I use namespaces. Every Container with the same namespace (and the same container type) has access to the same data. So you can modify and get this data everywhere in the patch. For local namespaces use names with $0.

::: DATATYPES :::

In the containers you can save all of the PD build-in datatypes: lists, floats, symbols and pointers - so it can be also used for PD's graphical datastructures.

::: SAVE/LOAD :::

All the data of all containers can be saved to disk as XML or text files. So you can also manually edit the file with an editor (which is sometimes much faster) and then load it in PD into a container. You can also load data from other containers.
Please use the XML file format if possible, because it's easier to edit in an external editor and the XML parser is much more stable.

For more documentation look through the help patches!