Personal tools
You are here: Home development PdGuiRewrite

The pd-gui-rewrite effort has been entirely folded into Miller's pure-data.git and is included in the 0.43 release. This page is here for historical interest. You can find out more about one big feature of this effort in the GUI Plugins section of the docs.

The bulk of the work was done originally in the pd-devel/0.41.4 branch (now defunct), Miller then merged in the core work into trunk. Hans then merged pd-devel/0.41.4 in with Miller's trunk to complete things for an 0.43 release in the pd-gui-rewrite/0.43 branch. Now its all folded into Miller's master branch on pure-data.git

Examples and Screenshots

To keep track of the new possibilities, there is a wiki page for examples and screenshots of things that you can do with the new GUI.

Test Builds

There are now some rough test builds to download and try: PdGuiRewriteTestBuilds

Building and Running It

To run it, you currently need automake >= 1.9, autoconf >= 2.59, and libtool >= 1.5. These are included on any GNU/Linux and Mac OS X as well. On Windows, you can build it using Cygwin. Download and run the setup.exe, and install these packages: automake, autoconf, gcc-core, gcc-g++, gettext, gettext-devel, libtool, make, rsync, subversion, and tcltk.

svn co pd-gui-rewrite
cd pd-gui-rewrite
./ && ./configure && make
cd src 

Getting Involved

There is lots of work left to do, and you can contribute in many different ways. We always need testers, try using this Pd version in your normal work, and report any and all bugs, problems, feature ideas, etc. The simplest way is to contribute code is to create a translation for Pd. You can also look thru the Tcl source for things marked TODO and take a stab and doing them. If you want to improve the GUI, make the new Pd window for example, an announce your interest to pd-dev to make sure there are no duplications of efforts.


Thanks to the contributors for adding code and translations to this branch (in alphabetical order): András Murányi, Bryan Jurish, Chun Lee, Cyrille Henry, dmotd, Federico Ferri, geoker, Hans-Christoph Steiner, IOhannes? m. zmölnig, João Miguel País, lorenzosu, Max Neupert, Miller Puckette



  • window frame measurement on Windows and GNU/Linux

  • tooltips for Pd window DSP, Tcl entry, etc.

  • translate Pd to your language: HowToTranslatePd

  • make a full featured find/search of the Pd window text

  • make Redo work in the Pd window text

  • improve Audio prefs panel

  • improve MIDI prefs panel

  • improve startup/lib prefs panel


  • full UTF-8 support

  • fix #/$ escaping in the gatom/iemgui/array dialogs

  • fix {} escaping so that they are valid characters in Pd

  • (Windows) opening via file associations doesn't open another instance of Pd (dde)

  • (Windows) get autotools builds working with ASIO

New Features

  • Cut/Copy/Paste works inside of obj/msg/text elements on all platforms

  • Cut/Copy/Paste/Undo works inside of the Pd window text

  • almost completely localizable using standard gettext .po, just needs translations (HowToTranslatePd)

  • startup plugins for extending Pd's GUI without changing the code (see Plugins API)

  • font panel has up/down arrow key bindings

  • font panel controls Pd window font size

  • Find panel can do basic finds in Pd window

  • Find panel will search any window, just click on the one to search

  • Find panel acts more platform-native

  • Open Recent/recent files on the File menu (where depends on platform)

  • if pd-gui is launched first, then check if another Pd is running and hand off files to open

  • Tcl entry box in Pd window for running little scriptlets

  • added history with arrow keys to the Find, Message, and Tcl entry boxes

  • fixed canvas window scrollbar logic - ScrollBarLogic

  • (Mac OS X) can now run Pd with wish/X11

  • (Windows) added proper icons using [wm iconbitmap]?

  • updated to a recent portaudio v19

  • smooth Tab navigation of the Pd window

  • (GNU/Linux and Windows) Next/Previous Window with Ctrl-PgUp?/Ctrl-PgDown?

  • hitting Save/Save As/Print in places where they don't work makes a alert sound

  • Help Browser now built from libraries installed anywhere in the path

  • Help Browser has some key bindings

  • <<EditMode?>>, <<Loading>> and <<Loaded>> virtual events for plugins to use

  • when Pd takes a while to load a patch, it shows a busy mouse cursor

  • updated VU meter display logic in Pd Window

  • can bind to standalone letters, like O making an |osc~| box

  • global arrays ::loaded, ::editmode, and ::editingtext for checking state of patch

  • the 'editmode' message now has rational 0/1 behavior (0=off, 1=on)

  • Window menu that shows all windows in a tree structure

  • (GNU/Linux) opening via file associations doesn't open another instance

Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser