Skip to content

Instantly share code, notes, and snippets.

@fferri
Created July 25, 2023 09:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fferri/05562f04fe7fb283956f8ec263dee677 to your computer and use it in GitHub Desktop.
Save fferri/05562f04fe7fb283956f8ec263dee677 to your computer and use it in GitHub Desktop.
Pure-data development on macOS

Pure-data development on macOS

A few tips for pd development on macOS:

Enable get-task-allow for debugging in lldb

Pd.app is not enabled for debugging, thus the app needs to be re-signed with the get-task-allow entitlement enabled:

  1. obtain the current entitlements with:
codesign --display --xml --entitlements pd.entitlements /Applications/Pd-0.54-0.app
  1. enable get-task-allow by either adding:
<key>com.apple.security.get-task-allow</key><true/>

or change the key with the same name to true if it already exists. 3. re-sign the app:

codesign -s - --deep --force --options=runtime --entitlements pd.entitlements /Applications/Pd-0.54-0.app

Disable pd-watchdog when debugging

When the pd process is stopped, pd-watchdog spams the console with "watchdog: signaling pd...", making it impossible to use the debugger.

To disable pd-watchdog run without realtime priority (pd option -nrt).

To pass options to pd core, use -pdarg <opt>, e.g. in lldb:

lldb /Applications/Pd-0.54-0.app/Contents/MacOS/Pd -- -pdarg -nrt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment