The Pd-extended 0.43 release has been brewing an extra long time, about 18 months
now, mostly because there are lots of big improvements, and we wanted to make sure we got it right, so your patches all work, but the improvements all shine. Its no
w solidly beta, so we’re looking for testers. Download a nightly build to try here:
First off, the
pd-gui side of Pd has been re-written from scratch. When you run Pd, you are actually running two programs:
pd is the core engine and
pd-gui is the GUI. Since basically all computers now come with multiple CPU cores, this means that
pd-gui will usually run on a separate CPU core than
pd, so they don’t step on each other’s toes.
pd can entirely take over its own core. If you want to make your patch use more CPU cores, then check out the
[pd~] object introduced in the last release (0.42.5).
pd still handles some of the GUI stuff, but we are working on splitting that out for the 0.44 release. That is a big chunk of work but it will also bring big gains. In particular, it means that it will be possible for people to write their own GUIs for Pd, covering not just the display of the patch, but also the editing, and everything else. You like OpenFrameworks, python, iOS, JUCE, Qt, etc.? Write your own
pd-gui using the toolkit of your choice. That’s the idea at least. That will take a solid chunk of work, so we are looking for people to join that effort.
There are so many ideas for making a better editing experience in Pd, this release makes big strides to address the editing experience. There are new features like Magic Glass, Autotips, Autopatch and Perf Mode, all available on the Edit menu.
- Magic Glass let’s you magically see the messages as they pass through the cords. Just turn it on and hover above a cord, and you’ll see the messages as they go by. You can even look at signal/audio cords.
- Autotips gives you tips about what an object does, what its inlet expects, and what comes out of the outlets.
- Autopatch mode automatically connects objects as you create them.
- Perf Mode, is a mode for performance that makes it harder to accidentally close windows that are part of your performance.
The Pd Window is also majorly overhauled. First of all, its fast. Much much faster than the old one. You can now print thousands of messages per second to the Pd Window and still edit your patch. No more will an accidental dump of info cause the GUI to freeze up (well, ok, maybe if you send 10,000 messages/second but that is a way too many). There are also now 5 levels of printing messages to the Pd Window: fatal, error, normal, debug, all. If you are only interested in fatal errors, switch the Pd Window to 0 – fatal, and you’ll only see the worst problems. You want to see every single message to debug? Switch to 4 – all, and you’ll get the whole firehose.
There is also the new log library, which lets you easily send messages for those different levels. And all messages logged with the objects from the log library are clickable: when you Ctrl-Click or Cmd-click (Mac OS X) on the line in the Pd Window, it’ll pop up the patch where the message came from, and highlight the specific object that printed it. That even works for many messages from other objects as well.
The Pd Window also includes very basic level meters for monitoring the input and output levels. And for those who want to play with the GUI in realtime, you can type Tcl code in the Tcl entry field, and directly modify and probe the running GUI.
One thing that you can do now is customize the GUI using GUI plugins. You can change all sorts of colors, some fonts, and many behaviors. Want to create a new object when you triple-click? Try the tripleclick example plugin Want to make
the patch cords disappear when you leave Edit Mode? Check out the “only show cords in edit mode” example. Those are the simple ones. There is also Tab Completion, a search engine for the docs, a category browser for the right-click menu, a buttonbar for creating objects, and more.
You can find many GUI plugins in the new section of the downloads page as well as documentation for making your own. What kind of GUI plugin will write?