Finally a new plugdata release! This is a huge update, with a few new features and refinements to the design, but mostly loads of bug fixes.
Thanks to everyone who has helped out by testing, sending bug reports and PRs. With our combined efforts, this is probably the most stable version of plugdata so far!
Changes since v0.9.1:
Breaking changes:
- [knob] size has changed when in circular mode
- A few breaking changes from ELSE rc13: https://github.com/porres/pd-else/releases/tag/v.1.0-rc13
Features:
- Patch store to install community-made plugins (also available online here)
- Experimental Gem support
- If you want to use Gem in global namespace, you have to go to settings->paths and add "Gem" to the Libraries section. Otherwise, you need to prefix objects with "Gem/"
- Redesigned welcome panel
- Redesigned limiter and oversampling controls
- Redesigned inspector parameters
- Option to split sidebar to show inspector and console at the same time (thanks to @AlexMitchellMus!)
- Minimap that shows you where your view is relative to objects in the patch
- You can configure when the map is shown in settings
- Command input to control patches with text commands: selecting an object allows you to send messages to it without a message object!
- Drastically improved patch rendering performance
- Improved patch loading time
- New platforms for Heavy exports: OWL and WASM
- MIDI devices are now assigned to fixed port numbers
- pure-data (0.55) and ELSE (1.0-rc13) updates
- New in ELSE:
- Improved multichannel support
- Improved envelope generators
- Improvements to [knob]
- Improved [play.file~] object and new [sfinfo] and [sfload] object allow loading any kind of audio file format out there. Many audio file abstractions are also now based on these objects
- New [popmenu] GUI object
- Other new objects: [float2imp~], [lace], [delace], [lace~], [delace~], [gatehold], [gatedelay],[gatedelay~], [gaterelease~], [gaterelease], [scope3d~], [tanh~], [resonator~], [smooth], [smooth2], [smooth~], [smooth2~], [dbgain~], [level~] plus [crusher.m~], [sfont.m~] and [level.m~] MERDA Modules.
- A lot more! Keep in mind there are some breaking changes, so please check the release notes: https://github.com/porres/pd-else/releases/tag/v.1.0-rc13
- New in ELSE:
- Linux aarch64 builds are now available as release artifacts (and nightly builds)
- Debian (aarch64) is confirmed to work on Raspberry Pi
- Volume slider shows dBFS value when hovering
- Improved workflow for multi-window instead of multi-tab
- Tabbar now returns to last shown tab when closing tabs
- Added "destroy" message for [param] to deactivate an audio parameter
- Improved text dialog for [pdlua], [text define], etc.
- Added syntax highlighting theme option
- Improved patch search feature (thanks to @AlexMitchellMus)
- Palettes can now be imported/exported
- Patches stored in the ~/Documents/plugdata/Patches folder can now be located by DAWs on different computers
- If the patch is in the same location inside the Patches folder, and you load a DAW project from another PC, it will be able to find the patch
- You can now send a "limit " message to "pd" to enable/disable the limiter programmatically
- Lasso selection will now choose objects over connections by default. As soon as you select an object, all connections get deselected
- Holding alt will now allow you to lasso select connections without selecting objects. Overlay mode now shows with alt+shift combo instead of alt.
- iOS improvements:
- Now supports sfizz~
- Now has plugin mode support
- Fixed file reading/writing permission issues
- Fixed some of the networking issues
- Thanks to @Reinissance for helping out with figuring out workarounds for iOS filesystem issues
- Around 30% reduction in download and installed size by compressing resources more
- The Heavy toolchain download and install size is now much smaller
- The Heavy exporter now prints the commands it's executing thanks to @dromer
- Patches are now able to handle messages if the plugin is bypassed, or if there's no audio running. This prevents the UI from being unresponsive when plugins are bypassed.
- Draggable number boxes now limit themselves to a reasonable number of decimals
- [param] object can now have a default argument set by passing it in after the "create" message (like "create 0.5")
- The default value will only be loaded the first time a patch is loaded inside the DAW. As soon as the parameter gets set from DAW state, the default will no longer apply
- [param] now also has a "destroy" message
Fixed bugs:
- Fixed aliased and blurry rendering of connections and text on non-retina screens
- Fixed audio parameter rounding bug
- Fixed DAW automation latency
- Fixed array "points" mode looking different from pd-vanilla
- Fixed issue with array "width" parameter
- Fixed crash on startup on macOS monterey
- Fixed dialogs not resizing on Linux/X11
- Fixed autocompletion when using library prefix
- Fixed various text colour contrast issues
- Fixed subpatch window closing when typing underscore into an object box
- Fixed memory leak caused by label rendering
- Fixed inspector object positions issue
- Fixed broken networking objects
- Fixed crash on startup on Raspberry Pi
- Fixed dead shift key inside pluginmode
- Fixed object connection bugs when setting send/receive symbols
- Fixed slider/knob accuracy bug when close to 0
- Fixed various else/cyclone text editor based objects not working, like [coll]
- Fixed connections misaligning when copy/pasting
- macOS: make cmd+w shortcut close the topmost window instead of patch if you have a dialog open
- Fixed pdlua graphics rendering issues inside plugin
- Fixed broken combo boxes in settings panel
- Fixed parameters with "mode 2" resetting on init
- Fix [messbox] not respoding to "set" message
- Fixed copy/paste not working on atoms
- Fixed number/float not outputting repeated numbers
- Fixed file browser not remembering last location
- Fixed segfault when renaming arrays
- Fixed inlet/outlet hiding bugs for atoms
- Fixed broken 100% zoom shortcut
- Fixed various undo/redo bugs
- Fixed object text rendering getting cut off
- Fixed bad resize logic for number boxes
- Fixed resize jank for [hradio]/[vradio], [keyboard] and atom objects
- Fixed text editor popup menu not showing on objects
- Fixed tabs closing unnecessarily when deleting subpatches
- Fixed [clone] "vis" message issue
- Fixed grid lines glitching
- Fixed DSP starting when changing audio devices
- Fixed graphical glitch when opening first patch
- Fixed text objects not resizing down to 1 char width
- Added protection against settings corruption rendering plugdata unstartable
- Fixed many realtime safety issues
- Fixed data structures not being draggable
- Fixed [vu] rendering incorrectly
- Fixed various autocomplete issues
- Fixed issue when right-clicking graph in locked mode
- Fixed connection tooltips showing inside plugin mode
- Fixed alt+drag duplicate bug
- Fixed tab dragging issue
- Fixed [keyboard] range bug
- Fixed [openfile] crash
- Fixed issues with draggable numbers
- Fixed wrong patch title bug
- Added compile error message on Windows when python is not found
- Fixed bug where array would not update correctly
- Fixed [scope~] range property bug
- Fixed [note] being very slow to load
- Fixed object flags broken for GUI objects (specifically [button])
- Fixed various [param] bugs
- Fixed incorrect high-dpi scaling on Windows and Linux thanks to @sadguitarius
- Fixed slow sidebar dragging on Linux
- Fixed issue with opening pd files on Windows and Linux
- Fixed store images displaying in wrong colour space
- Fixed [hradio]/[vradio] glitch
- Fixed [hsl] reporting wrong name
- Fixed file descriptor leak inside [pic]
- Fixed potential filesystem extraction failure issues
- Fixed various bugs inside the DAW, related to ffts, lua, and a bunch of shutdown bugs. Big thanks to Nasko for helping me find these issues
- Fixed some keyboard shortcuts working inside pluginmode when they shouldn't
- Fixed Heavy exporter not dealing with spaces in path names correctly
- A whole bunch more!