-
Notifications
You must be signed in to change notification settings - Fork 0
lad/PyPd.Archive
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
PyPD is a set of python classes and utilities for parsing and manipulating Pure Data patch files (http://puredata.info/). Pure Data (aka Pd) is a real-time graphical programming environment for audio, video, and graphical processing. The original intent of this project is to fill the gap in managing dependencies between Pd patch files. Pd patches may contain references to other patch files ("abstractions" in Pd terminology) and these in turn may references further patch files. However, Pd lacks any way of viewing or managing these dependencies. The main goal of this project is to make it easier to view and manage these dependencies. Pd is supported in "vanilla" and "extended" forms. Without any tools it is difficult to know if a patch is compatible with pd-vanilla or requires pd-extended. It's easy to inadvertently refer to a local patch file and cause the patch to fail in other installations. In addition to managing dependencies, having parsed the patch files, a number of useful utilities may be written to manipulate objects within patch files. Version 0.2 Alpha 26/10/11 - Finished 0.2 - Finished pdlist depend functionality 13/10/11 - Moved object id generation from SimpleTree to PdPatch as this needs to understand Pd objects, and SimpleTree has no other need to do that. Makes more sense to do this in PdPatch anyway. 12/10/11 - Removed PdPatchFilter and reworked select() - select() now takes the keyword arguments that would have been given to PdPatchFilter and matches on all values without the need for a PdPatchFilter object. - More complex matching can be done by using the filter builtin, and providing a callable in the normal way. The callable is invoked with the node, object id and level in the tree, and can match in whatever way is required. 11/10/11 - Work in progress, almost complete - Rewrote a more suitable tree implementation - All traveral in PdTree now - Moved most of pdlist functionality in pd.py - Added PdPatch and PdObject classes - Object-ids are now implicit, and only available when traversing the tree - Added PdPatchFilter to allow one or more objects to be selected based on their attributes. Version 0.1 Alpha - Parsing of Pd files is relatively complete. All element and object types are supported as of pd-vanilla-0.43 and pd 0.42.5-extended, except "declare" and "import". - Support needs to be added for declare, but there is a work around by simply adding the declared directory to the search path. - Support needs to be added for import. This would require a way of opening and examining a .dll/.so (ala unix nm). Maybe a simple alternative is to include the objects for the common libraries (like Gem), and allow others to add definitions easily for their own libraries. - Support needs to be added to help in adding/removing objects and renumbering object ids. - Should also add some helpers for managing connections between objects. - The first utility pdlist.py now provides the ability to list all dependencies in a given patch file. This can be used when releasing a patch to the community as it can be difficult to know exactly what dependencies are needed to run the patch.
About
Python utilities for parsing Pure Data patch files
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published