Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

pyata

a Library that allows you to use Pure Data inside Python!

Authored by Jerônimo Barbosa (@jeraman)

Recovered by Jan Van Bruggen (@JanCVanB) from https://code.google.com/archive/p/pyata

Demo on Youtube:

Pyata Demo (using Pure Data inside Python)

Description

Pyata (Pyatã, from Tupi or yet, Py.thon + Pure D.ata) is a simple cross-plataform open-source Python module that allows people to use Pure Data (aka, Pd) just like an API. In other words, it is an abstraction to Pd, that can be used for doing a lot of things that Pd can do, but without manipulate the Pd interface in a direct way.

It was developed using a technique known as "dynamic patching", which is based on dynamic creation of Pd objects realized through sockets, achieved through FUDI protocol. This means, for example, that we can create a [osc~ 440] object sending to Pd a specific message through sockets.

So what basically the library does is to receive the commands given by users, transforming them into the equivalent message. These messages are sent to Pd, that processes them like they were a patch running inside Pd (a virtual patch), generating results. After that, these results are reloaded again into the Python program, that allows it to be always updated according the “virtual patch”.

Before starting, please, read the tutorial!

Functionalities

This version includes:

  • Boxes creation, edition and remotion (object, number, comments, symbols and messages)
  • Get from Pd the state of any box (number of inlet/outlets, the ID of each box on Patch, values of numbers and symbols)
  • Connection management (connect and disconnect boxes)
  • Basic operations (copy, paste, duplicate, cut, save)

Recovery steps

All credit to Dominik Dorn (@domdorn) and his Google Code recovery instructions (thanks! :)

# Download the svn dump'ed repo
$ wget https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/<PROJECTNAME>/repo.svndump.gz

# Unzip
$ gunzip repo.svndump.gz

# Create the repo
$ svnadmin create /tmp/testgc

# Restore it
$ svnadmin load /tmp/testgc/ < repo.svndump

# Launch a local svn daemon
$ svnserve --foreground -d

# In another terminal, clone your repo now using git svn
# (optionally create a authors file for correctly mapping to git usernames)
$ git svn --stdlayout -A authors.txt clone svn://localhost/tmp/testgc/

# Go into the cloned repo
$ cd testgc/

# Add the upstream github repo
$ git remote add origin https://github.com/<USERNAME>/<PROJECTNAME>.git

# Push it
$ git push --set-upstream origin master

I did not need any of the following steps to recover pyata.

# Till now, we only have the trunk / master branch.
# Get atlassians svn-migration-scripts.jar from https://bitbucket.org/atlassian/svn-migration-scripts/downloads
$ wget https://bitbucket.org/atlassian/svn-migration-scripts/downloads/svn-migration-scripts.jar

# Run the scripts and expect the suggested actions
$ java -Dfile.encoding=utf-8 -jar svn-migration-scripts.jar clean-git

# If you like what you see (usually you do..), perform the actions
$ java -Dfile.encoding=utf-8 -jar svn-migration-scripts.jar clean-git --force

# After this i had a branch structure like this:
$ git branch -a
* master
  remotes/origin/0.2_nate
  remotes/origin/0.4_gblaszczyk
  remotes/origin/jsf-1.2-spring-2
  remotes/origin/jsf-1.2-spring-3
  remotes/origin/jsf-2.0-spring-2
  remotes/origin/jsf-2.0-spring-3
  remotes/origin/master
  remotes/origin/site
  remotes/origin/site@17
  remotes/origin/tags/0.1
  remotes/origin/tags/0.3_jsf-1.2-spring-2
  remotes/origin/tags/0.3_jsf-1.2-spring-3
  remotes/origin/tags/0.3_jsf-2.0_spring-2
  remotes/origin/tags/0.3_jsf-2.0_spring-3
  remotes/origin/tags/0.5
  remotes/origin/trunk

# Checkout each branch (except tags and trunk) and push it
$ for i in `git branch -r | grep -v 'tags\|trunk' `; do git checkout ${i/origin\// }; git push;  done

# Push the branches
$ git push --all origin

# Checkout each tag and create a tag with the same name
$ for i in `git branch -r | grep 'tags'`; do git checkout $i; git tag ${i/origin\/tags\// }; done

# Push the tags
$ git push --tags origin

About

🐍 🎵 a Library that allows you to use Pure Data inside Python! (recovered from Google Code, including the wiki)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published