[PD] documenting messages to/from Pd and dynamic patching

Christof Ressi info at christofressi.com
Sat Nov 27 13:02:17 CET 2021


> If any of these methods is cut, then my patches won't work anymore - 
> hopefully someone else's as well.
You are using private APIs. Nobody made a guarantee that it would work 
forever.

That being said, we try not to change - let alone remove - those methods 
unless absolutely necessary.

> but I've been using them for more than 15 years with no big issues.
Well, a few years ago Miller changed the [donecanvasdialog( message. I 
noticed that it will break dynamic patching and asked him to use a 
workaround. He was nice enough to do it. So you were just lucky ;-)

Note that the messages found in Pd patch files, like [obj ...(, are 
pretty stable. We can't really change them without breaking literally 
all existing patches. However, anything else should really be considered 
private. Particularly mnssages like [mouse(, [mouseup(, 
[donecanvasdialog( are obviously internal messages sent between Pd core 
and the GUI process. People just discovered them in the source code (or 
by watching the GUI/Pd traffic) and started (ab)using them for dynamic 
patching. The Pd extended folks included them in their documentation, so 
usage became more wide-spread. However, it was never officially 
supported in Pd vanilla.

Christof

On 27.11.2021 12:22, João Pais wrote:
>
>> Em sex., 26 de nov. de 2021 às 20:19, João Pais <jmmmpais at gmail.com> 
>> escreveu:
>>
>>     I don't see a mention to these messages: mouse, mouseup, mousedown,
>>     relocate. And also all other messages related to gui stuff.
>>
>>
>> yeah, I didn't put it. It felt like something hard to document and 
>> for more extreme cases. And now that Christof says I should really 
>> keep out of this dark corner, I wonder if I did right.
>
> I don't remember now exactly why these methods are "dangerous" and 
> "unofficial" (it was discussed already a lot in the list anyway), but 
> I've been using them for more than 15 years with no big issues. If any 
> of these methods is cut, then my patches won't work anymore - 
> hopefully someone else's as well.
>
>>     It could also be clearly mentioned that subpatches receive
>>     messages sent
>>     to pd-[subpatch], and abstractions are named [abstraction].pd (if
>>     I'm
>>     recalling correctly) - unless there is a namecanvas used in those.
>>
>>
>> how isn't it clearly mentioned?
>
> The first one is mentioned in [pd Dynamic-Patching], although it might 
> be easier to understand if there is an example immediately under the 
> text. But there are enough examples of [s pd-xxxx] in the patch anyway 
> to deduce it.
>
> The second isn't mentioned at all, the search results for 
> "abstraction" and ".pd" return elements in other types of contexts.
>
>
> _______________________________________________
> Pd-list at lists.iem.at  mailing list
> UNSUBSCRIBE and account-management ->https://lists.puredata.info/listinfo/pd-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20211127/206821e4/attachment.htm>


More information about the Pd-list mailing list