Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_pd (Read 1067 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_pd

This plugin allows you to play and interact with Pure Data patches (*.pd). Pure Data is a programming environment that focuses on audio and synth production. It generates sound in real-time, which opens up the possibility for interaction and indeterminacy.

The plugin comes with a Win32 Dialog UI element that contains sliders, buttons, and edit text boxes for sending messages. When you load a patch, the plugin looks for a sub-patch called [pd mix] and uses what's in there to associate the buttons and sliders with patch variables. By default, the mixer will refresh on each new track, but this can be changed to a manual-only refresh in preferences. You can also right-click on a patch and click Pd Player -> Load mixer to load the mixer settings of a patch that is not currently playing.

foo_pd also reads and writes metadata to and from patches. The metadata is kept in a sub-patch called [pd meta] or [pd info] in the form of comments.

foo_pd is made with libpd. You'll notice there's a file called libpd.dll. This file is built separately from foo_pd.dll and can be replaced with your own build of libpd. The reason I mention this is because libpd.dll in its current state only includes the externals necessary to play the example patches. If you have a patch/patches you'd like to use with foo_pd but it contains externals that I haven't included, first of all, you can probably get me to add them, but you can always make your own build using MSYS2. Just bear in mind that it might cause the example patches to stop working. You can always see what objects fail to instantiate through console messages, which foo_pd prints to while audio is being processed.

I'll be maintaining foo_pd at https://github.com/myQwil/foo_pd. If you're interested in building patches to work with foo_pd, more detailed instructions on how to do that will eventually get posted there.