Creating Patches in PureData
Begin by downloading Pure Data Vanilla.
Most objects in PD Vanilla are supported by the compiler, or substitutions are available here. Don’t be afraid to communicate with the people at Heavy (the PD compiler) about missing objects you’d like to see and use.
Here is an example patch which you might find to be a useful template.
You can also send to the button - this will toggle the LED (to help give feedback), and send a one or a zero from the Push output (if you have the OWL Modular).
The easiest way to get Pure Data (PD) patches running on your OWL is to directly upload the PD patch. Once you've made your patch, login to the OWL website], and navigate to "Patches". Click "add new patch" (this might be at the bottom of the page depending on how many patches you've made). You need to give your patch a name and a description, and whether it is "published" - that is, accessible to other OWL users. To directly upload your PD patch, scroll down to Source Files, and click Choose Files... to bring up a dialogue for selecting your patch. After you've selected your PD patch, you should see a window like this:
For published patches, you can get info like CPU cycles and memory when you have your OWL plugged in, in either the Midi tab in the Patch Library or the OwlControl application. Filling in information such as the "Parameters" is useful for testing the patch in the browser and so other users know what the dials do. If you are using several abstractions in your patch, make sure the main patch is the first upload, and the abstractions are uploaded afterwards.
Once you click "save", the PD patch should appear in your browser!
Uploading via Github
Another way to get Pure Data (PD) patches onto your OWL is to upload them as text files to Github, an online code repository. Register with Github and create a repository with an empty README.md file in it (don’t be intimidated by Github - you don’t need knowledge of its extensive capabilities to use it with your OWL). There is enough documentation about getting started with Github, and we won't add to it here.
Now, back to PD. Once you have created and saved your PD patch, right click and open it in a text editor (for example TextEdit on Mac). In Github, select “New File” in your repository. Copy and paste the text from your text editor to Github. In the box at the top with “name your file” written in it do just that- name your file, remembering to put “.pd” at the end: for instance, “drums.pd”. Scroll down to the bottom of the page and click “commit new file” to save your pd patch on Github. When you navigate to the patch, you should see a page that looks like this:
To get your patch from Github to the OWL, navigate to your repository in Github, click on the patch, and copy the URL. Navigate to the “Patches" section of [https:\\hoxtonowl.com the OWL website] and under “My patches” select “add a new patch”. Scroll down to Source Files, and copy the URL into it. It should look something like this:
For published patches, you can get info like CPU cycles and memory when you have your OWL plugged in, in either the Midi tab in the Patch Library or the OwlControl application. Filling in information such as the "Parameters" is useful for testing the patch in the browser and so other users know what the dials do.
If you are using several abstractions in your patch, make sure the main patch is the first link, and the abstractions are added afterwards.
Now click "save", and you should see your Pure Data patch in the browser!
Uploading Your Patch to the OWL
Once you've uploaded your patch, click "compile patch" to compile it, ready to upload to the OWL. If it fails to compile, look at the troubleshooting tips below.
If you go to the midi tab, you can directly upload the patch to an OWL if it is plugged in. Alternatively, you can download the SysEx file, open OwlControl, and go to Tools>Load patch from file, select the SysEx file and run this on the OWL.
If your patch doesn't work, there a few steps for trouble shooting.
- Make sure you've used PD-Vanilla objects supported by the Heavy compiler. Here is a list of supported objects, and here is a list of substitutes.
- Make sure you have labelled the receives for the button and dials correctly in your patch. Dials are called [r Channel-A], [r Channel-B] and so on, the the push button is called [r Channel-Push].
- In addition to the error logs on the OWL website, check the error logs by uploading the patch at Heavy.
- remember that the dials give continual output between 0 and 1.
- remember to test whether your patch runs in PD-Vanilla, testing using sliders (with the correct range) and debug with the print object. Once you've uploaded your patch you can use the print to display messages in OwlControl or in the midi tab of the patch page.