Hi y'all,

Purr Data 2.13.0 is now available

Downloads:
https://git.purrdata.net/jwilkes/purr-data#downloads

Please report issues here:
https://git.purrdata.net/jwilkes/purr-data/-/issues

Changes

  • ported Vanilla's [inlet~ fwd] argument (reimplemented to avoid stack allocation and various other problems) (Thanks to Guillem!)
  • scrollbar fix for optimal zoom (Thanks Ico!)
  • avoid null selectors in core where trivial to do so, gracefully handle and annotate them when/if they happen. Also added an experimental [debuginfo] object so we can output a message with a null selector (and other methods in the future good for testing)
  • ported Vanilla patch for [pow~] handling negative samples in input
  • ported [savestate] from Vanilla
  • ported array, scalar "bang" methods
  • add base argument and inlet for [log]
  • add zcheckgetfn to m_pd.h for checking method signatures match before doing an end run around typedmess. This is used for the reimplementation of [inlet~ fwd]. (Thanks to Guillem for this)
  • port and re-implement Vanilla's "#ffffff" syntax for setting iemgui colors. Additionally, support the "#fff" short syntax. We're not currently saving the symbol colors in the Pd file format, yet. A warning is printed about this since it means we're still storing the lossy color format. A future version will save the symbol colors, but we want to ship a few releases supporting the new syntax before making this breaking file format change.
  • added "test-object" abstraction for doing more detailed testing of objects
  • fixed bug where the box width was wrong when editing certain objects (thanks to Guillem)
  • port "seed" method for [noise~]
  • throttle canvas_motion (part 1 of 2 of getting rid of exponential explosion when moving selections)
  • port [text] "sort" method
  • when clicking an error link, bring the relevant object into the viewport and animate it to make it easy for the user to find
  • add "-alsaadd" flag with pulse device for pulse support (Thanks to Sam!)
  • fixed some alsa bugs
  • ported from Vanilla: preserve phase in [clone] after [all( message, fixed a crasher
  • expand and improve the type hints for errors with edge case atoms (null selectors, null symbols, "floatlike" symbol payloads, etc.)
  • improvements to french translations (Thanks Joseph!)
  • update pd-lua compatibility with Lua 5.4 (Thanks Albert!)
  • port multi-step undo from Vanilla (Thanks Guillem!)
  • initial touch support in GUI (Thanks Albert and spidercatnat!)
  • zoom viewport fix (Thanks Albert!)