Skip to content

Combined PRs into large update#87

Open
timothyschoen wants to merge 112 commits intoagraef:masterfrom
timothyschoen:pdlua-combined-prs
Open

Combined PRs into large update#87
timothyschoen wants to merge 112 commits intoagraef:masterfrom
timothyschoen:pdlua-combined-prs

Conversation

@timothyschoen
Copy link
Contributor

@timothyschoen timothyschoen commented Mar 16, 2026

Work in progress to take some work away from @agraef for the next update.

I've merged most of the opened PRs into a new branch, resolving conflicts and adding missing plugdata implementations if needed. It includes:

#84: SVG rendering by @timothyschoen
#82: Makefile improvement by @umlaeute
#80: Clock deprecation fix by @ben-wes
#79: Github actions runner fix by @ben-wes
#77: Property menu support by @charlesneimog
#76: Fix compilation against new Pd version by @ben-wes
#70: Add mouse enter/exit callbacks by @ben-wes
#69: Fix path:close() documentation error by @ben-wes
#66: Make some gfx arguments optional by @ben-wes
#65: Add alignment feature to text drawing by @ben-wes
timothyschoen#7: Fix missing return value by @KottV

On top of that:

  • plugdata fixes:
    • Multi-instance now runs with a true independent lua instance per Pd instead, instead of using lua threads
    • Ported new property menu feature
    • Ported new text alignment feature
    • Ported mouse enter/exit callbacks
  • Cleaned up properties implementation
    • Remove unused variables and unnecessary checks
    • Moved to separate file, since it works independently from pdlua graphics
    • Also allow properties on non-gui objects
    • Fix properties dialog title
    • Added float/int/combo property options
    • Fix properties button greying out when no properties() function is available
    • Make properties "apply" behaviour like other Pd property dialogs
  • Added option to render images (using stb_image on pd)
  • Added runtime choice between Lua and LuaJIT (chosen based on .pd_lua or .pd_luajit filename)
  • Fixed Github Actions building with UCRT instead of MSVCRT (causing crashes on Windows when reading files)
  • Fixed glitches when pdlua graphics objects get recreated on the same address as a previous pdlua object
  • Fixed bug in rounded rectangle drawing on pd-vanilla
  • Small code style fixes
  • Updated to Lua 5.5
  • Added documentation for new features

Planned:

  • Port features to purr-data
    • SVG rendering
    • Image rendering
    • Mouse enter/exit
    • Text alignment
    • Properties panels
      • Basics are implemented, though the UI could be better

I'm aware that this is gonna be a big set of changes. To ensure stability, I was hoping to get some assistance with testing from @ben-wes and @charlesneimog, once I get this out of the draft stage.

ben-wes and others added 30 commits October 22, 2024 22:38
with proxy function for canvas messages and clock for cleanup
…f warnings, clean up buffered tcl/tk images when object is deleted
…addcheckbox`, `_properties_addtextinput` and `_properties_addcolorpicker`
pd-lib-builder has means to install entire directories,
so we should probably use them, rather than build our own
(and broken) install replacement.

Closes: agraef#81
@timothyschoen timothyschoen marked this pull request as ready for review March 20, 2026 22:28
@timothyschoen
Copy link
Contributor Author

I've tested this quite thoroughly on macOS/Windows/Linux with pure-data and plugdata, everything seems to work now. I'd say it's ready for further testing (if @ben-wes, @charlesneimog and @agraef have time soon).

Apart from all the new features, there's a few bugs fixed here too, it should be more stable than the last release.

@ben-wes
Copy link
Contributor

ben-wes commented Mar 20, 2026

... quickly tested my everyday object show~ as luajit on 4f893ac. i'm really impressed that this just works (and also quite a bit faster - even with vanilla's drawing restrictions)!

the dualsense controller display also works. tomorrow, i'll have a more detailed look at the help files. thank you so much for your work on this!

…cOS min version, add LUA52COMPAT flag for LuaJIT
@timothyschoen timothyschoen force-pushed the pdlua-combined-prs branch 2 times, most recently from ac0be17 to a64a767 Compare March 21, 2026 14:23
@timothyschoen
Copy link
Contributor Author

Ok, actually done for real now :)

Screenshot 2026-03-21 at 21 32 33

Here's a test suite you can use to verify all the new features work, both under Lua 5.5 and LuaJIT:

test-pdlua.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants