hi miller,
Well, forking the source wasn't my idea... I knew it would cause trouble.
well, for me it seems to be the only way to get a working performance system for me, that will do what i want without waiting for another century. basically the current devel branch has been extended so far, that it's not easy to merge it with Head any more ... "diff -u Head/src/ devel_0_39/src/ | wc -l" are more than 12500 lines (Head itself has about 66000 lines)
i stopped posting patches to the patch tracker, since the patches would be way to big or depend on each other ...
i'm currently thinking to fork off from pure data and release the current devel code as pure devil because it's not the same software any more and i'm loosing too much time with porting / merging ... (if i would have worked on a day job during the time i read diffs, merged files or rewrote things, i could easily afford a fancy powerbook and a few licenses of max/msp) i'd really prefer to spend my time improving pd / making music than merging branches or rewrite stuff...
In general, the question of scheduling graphics updates is hard, especially now that (arrays can contain (lists that contain (arrays of scalars))), etc. Having "garrays" separate from the "real" data structure mechanism was always a temporary measure, and now I'm glad it's gone. But what this means is that now we need a more general way of updating changes to data. If I can think of a good one I'll get it into 0.39 (it's prety high on the dolist at the moment...)
i've already ported most of your changes from 0.38 to 0.39 to devel (not the other way around, because that would be pretty impossible due the amount of code), so i would probably fork off with pure devil when both your changes to Head become stable and i consider my changes to devel as stable. i'm trying to keep (binary) compatibility as long as possible, but if i have to break compatibility (e.g. to declare getfloatarray as deprecated) i would definitely do that ...
pd has the potential to become a professional software, but i don't want to wait for another 10 or 20 years for pd to become usable / threadsafe / low-latency optimized / professional. with all the troubles of forking the advantage would be that i could break Head and you could break devel without having to think too much about the effects on the other branch ... (well, we don't care about the effects at the moment, either :-(, which results in hours of merging from Head to devel at the moment)
the best thing of course, would be to combine the efforts of Head and devel/devil having several maintainers for several parts of pd (data structures, scheduler, dsp kernel, messaging, midi, simd, gui, build system, documentation, win32, osx, linux, irix, pda, cell phone, microcontroller, whatever) ...
cheers ... tim