Definitely not a bad idea; there are lots of use cases for being able to fire a sample capture or other command button type device parameter.
Rather than exposing WM’s dependency system to the UI (which would be complicated), it would be easier to have buttons exposed as ports, which would allow you to connect to them just like any other parameter; add a button parameter to your macro, and when the user clicks, it fires all of the attached button ports, capturing samples, etc.
Yes please! This would be very useful for creating surface textures where you don’t want too much eye-distracting height variance going into a seamless/repeating texture output.
Cleaning up a good example macro/project file now where this feature would be very useful; I must split it into two macros for now with equalizers outside of the macros so the user doesn’t have to “enter macro” to run the equalizers every time the shape is changed. Hopefully upload in a few hours (work permitting hehe).