[PD] Patch won't open

IOhannes m zmölnig zmoelnig at iem.at
Fri Nov 11 09:50:59 CET 2022


On 11/10/22 23:09, Peter P. wrote:
> * IOhannes m zmoelnig <zmoelnig at iem.at> [2022-11-10 18:20]:
>> On 11/10/22 17:35, Peter P. wrote:
>>> * IOhannes m zmoelnig <zmoelnig at iem.at> [2022-11-10 16:21]:
>>> [...]
>>>> this in turn was triggered by a gruesome regression in Pd-0.53's iemgui
>>> Do you mean the now vanilla GUI objects once introduced by IEM, or the
>>> iemgui external library?
>>
>>
>> with "Pd-0.53's iemgui" i mean the built-in iemgui objects (like [tgl]).
>>
>> but to keep the confusion going, i stumbled upon the issue while updating
>> the iemgui external library.
> Thanks! Should I be worried as Pd user and refrain from using 0.53.0 for
> now to not lose patches?

hmm, fair enough.
luckily not all is bad.

TL;DR
with the built-in iemguis, you should be fine.
there is no (known) reason to worry that your patches might be lost when 
saving.

you should be on the watch, if you are using GUI-externals that use the 
iemgui infrastructure (the "iemgui" external, "moonlib",... probably others)



long story:

so what was i trying to say?
(hard to tell, i might have been too confused the other day, i'll try 
again):
Pd-0.53 overhauled the (built-in) iemguis and changed a bit of their 
interface (ABI).
in general, Pd has a super stable API/ABI, which makes externals that 
were compiled 20 years ago still work with current Pds (at least: if you 
still have your trusty PowerPC around).

so why did the iemgui ABI break: honestly, because I think that the 
iemgui interface should not be part of the public interface of Pd *at 
all* (it's a complicated and ugly interface; it does a bad job of 
centralizing common functionality (just look at the same-same 
boilerplate code in each and every (old-style) iemgui object); and it 
adds computational overhead).
i probably should have gone the full length of it, and remove the 
g_all_canvas.h file from Pd's public headers.

anyhow. because of the subtle ABI-change introduced by Pd-0.53, 
GUI-externals that use this ABI started to crash on various ends.

yesterday, i started fixing these issues for the "iemgui" external library.
some of the crashes would appear when saving the patch, taking down the 
patchfile with them.
some of the crashes originate from internal regressions of the iemgui 
API (as provided by Pd).
luckily (and: iirc :-)) the two sets of crashes do not overlap.

i was possibly confusing myself (and you), because i spent the day 
dealing with a couple of serious bugs (crashes), and some of them needed 
fixing on the "external" side, and some fixing on the Pd-core (internal) 
side.

so sorry for all that.

gmards
IOhannes

PS: originally i wanted to start this reply with a snide remark along 
the lines of "but you do have recent backups, don't you?", but thought 
better of it. nevertheless, you always *should* have proper backups of 
your patches (e.g. track them with something like git)



-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20221111/eb1e34d8/attachment.sig>


More information about the Pd-list mailing list