Skip to main content

PureData documentation tools

Project description

# PDDOC
PureData documentation generator


This is a generator that creates *-help.pd files from single **pddoc**-formatted files and another .pd file from XML that contains objects, short descriptions and links to help files.

---

Requires: pycairo



_ | _
--- | ---
**pd_doc2pd** | Converts pddoc file to PureData help patch
**pd_doc2html** | Converts pddoc file to HTML file
**pd_makelibrary** | Creates XML file for set of pddoc files
**pd_lib2pd** | Converts XML file to PureData patch with objects links to help files
**pd_cat2pd** | Converts XML file with category info to separate patch with object links


---
## 1. XML file

```xml
<library xmlns:xi="http://www.w3.org/2001/XInclude" name="--your-library-name--" version="1.0">
<category name="--category--">
<entry descr="Object description" name="the_object" ref_view="object">
<xi:include href="the_object.pddoc" parse="xml"/>
</entry>
</category>
<meta>
<version> % </version>
<authors>
<author> % </author>
</authors>
</meta>
</library>
```
### library
- **name** (required)

### category
- **name** (required)

### entry
- **name** (required)
- **ref_view** (required):
- object
- link (for UI objects)

XML file for category:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<category-info version="1.0">
description
</category-info>
```

---
## 2. pddoc file

```xml
<?xml version="1.0" encoding="utf-8"?>
<pddoc version="1.0">
<object name="the_object">
<title>the_object</title>
<meta>
<authors>
<author> % </author>
</authors>
<description>% </description>
<license> % </license>
<library> % </library>
<category> % </category>
<keywords> % </keywords>
<since> % </since>
</meta>
<info>
<par> Paragraph text </par>
</info>
<arguments>
<argument name="ARG_NAME" type="symbol">argument name</argument>
</arguments>
<properties>
<property name="@property_name" type="symbol">property name</property>
</properties>
<inlets>
<inlet>
<xinfo on="bang">detailed description</xinfo>
</inlet>
</inlets>
<outlets>
<outlet>description</outlet>
</outlets>
<example>
<pdascii>
<![CDATA[

[message_box(
|
[object_box]

]]>
</pdascii>
</example>
</object>
</pddoc>
```
### header:
- `<pddoc>`
- **version** (required)
- `<object>`
- **name** (required)
- `<title>`
- `<meta>`
- `<authors>`
- `<description>`
- `<license>`
- `<library>`
- `<category>`
- `<keywords>`
- `<since>`

### info
```xml
<info>
<par> Paragraph text </par>
</info>
```
### arguments
- **name** (required)
- **type** (required):
- int
- float
- symbol
- atom - int, float or symbol
- list - list of atoms

### properties

```xml
<properties>
<property name="PROP" type="TYPE">description</property>
</properties>
```

- **name** (required)
- **type** (required):
- int
- float
- symbol
- atom - int, float or symbol
- list - list of atoms
- alias - alias for other property
- flag - property that is **True** when specified, otherwise **False**
- **readonly**
- **units** - value unit from list:
- herz
- kiloherz
- decibell (db)
- millisecond (msec)
- second (sec)
- bpm
- percent
- sample
- semitone
- cent
- radian
- degree
- **minvalue** - minimum allowed value
- **maxvalue** - maximum allowed value
- **default** - default value, if not specified
- **enum** - space separated list of allowed values
```xml
<property enum="A B C"/>
```

### inlets
```xml
<inlets dynamic="true">
<inlet type="TYPE" number="XXX">
<xinfo on="symbol"></xinfo>
</inlet>
</inlets>
```

- **dynamic** *(optional)* - if True, external has dynamic number of inlets, otherwise fixed.
- **type** *(optional)* - inlet type:
- control
- audio
- **number** *(optional)* - manually specified inlet number: number, or "n", or "n+1", or "n-1", or "..."
- **on** *(optional)* - describe reaction on input data type. Data types:
- atom
- int
- float
- list
- symbol
- pointer
- any
- data - for additional data types
- data:set
- data:dict
- data:mlist
- data:string
- data:fifo

### outlets
```xml
<outlets>
<outlet>
description
</outlet>
</outlets>
```

### example
```
<example>
<pdascii>
<![CDATA[

[message_box(
|
[object_box]

]]>
</pdascii>
</example>
```

- [*value*( - message box
- [*value*] - object box
- [T] - toggle
- [B] - bang
- [obj1] X [obj2] - cross connection
- [obj1 #a] - object with id:a
- [X a->b] - connect object #a to object with id:b
- [X a:1->b:0] - connect second outlet of object #a to first inlet of object #b







Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pddoc-0.5.4.tar.gz (78.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pddoc-0.5.4-py3-none-any.whl (152.1 kB view details)

Uploaded Python 3

File details

Details for the file pddoc-0.5.4.tar.gz.

File metadata

  • Download URL: pddoc-0.5.4.tar.gz
  • Upload date:
  • Size: 78.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0

File hashes

Hashes for pddoc-0.5.4.tar.gz
Algorithm Hash digest
SHA256 d76494b0533c2c5d15ae911b561431221421cc89f22a970e4521dcdfda94c170
MD5 3af534258cff07e75d530958c8af34d0
BLAKE2b-256 aea3d320b17d12d3233febd1ee0982099065fc2ed2d671890573fcc9a597160c

See more details on using hashes here.

File details

Details for the file pddoc-0.5.4-py3-none-any.whl.

File metadata

  • Download URL: pddoc-0.5.4-py3-none-any.whl
  • Upload date:
  • Size: 152.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0

File hashes

Hashes for pddoc-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8a269d608f2bad21d145a7814c30924418fe0c0c8d76ef3644e73511ae210346
MD5 80d54edd9cfb580316d7a14d931bd2de
BLAKE2b-256 8684a7d3d8506c38f2d1a778c59e617449e595cae341f4cddeae373d725f139e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page