Hi all,
I'm now ready to start working toward the next Pd release (0.48) . I've barely touched the Pd sources since the 0.47-1 release last June, and meanwhile picked up lots of ideas from the Pd convention and always have my own long list of things to do. In the interest of transparency I'll try to map out my plans for the 3-ish months I think it will take me to get to 0.48.
I'll only be advancing rather slowly before Feb. 4 because I have two separate music production projects before then; I'll start working faster after that.
First thing is always to merge in as many patches and pull requests as I can. I get these from two sources: sourceforge (https://sourceforge.net/p/pure-data/patches/) and github (https://github.com/pure-data/pure-data/pulls). At the moment I don't prioritize one of those above the other. I do this first because, when I enter a period of heavy code editing I risk causing conflicts with patches/pull requests and I don't want to create extra work for contributors.
In a few days I'll start on my own changes, with the major ones first so that there's extras time to get them decently debugged; then while bugs in the major changes are surfacing I can take on a larger list of smaller changes. The major changes I want to try to put in this release are as follows:
suggestion from Peter Brinkmann in which gensym() (and I presume by extension, pd_bind() etc) would be protected by a lock. I have an alternative idea I'd like to float; I'll do this in a separate message to follow.
offer an option to delete all "system" preferences ("defaults" on mac; registry info on Windows).
the code has diverged I'll probably have to extensively rewrite it to work in Pd vanilla.
signals connected and, if not, avoid having Pd automatically generate fake signals for them to use. This way, for example, "+~" can finally detect whether it's got a signal connected without having the user have to tell it via "+~ 0". Also, then the filters (hip~ etc) can then be upgraded to allow signals for filter parameters, without doing the extra calculations if there's no signal connected. This will require adding something to the "DSP" mechanism; I'm still not sure how to do this in the best way.
option for netsend/netreceive (I'm not sure if that's needed or not - maybe the existing "-b" binary formatting can be used in conjunction with some new formatting/parsing objects to allow passing floats and symbols around in binary messages instead.)
This is a long list and I probably won't get to all of it. Then I'll move onto all the smaller changes, which are too numerous to list here.