I still can't come up with a good way to do this, because I want a "next" message to the abstraction to move the pointer along the path it's already on, and yet there is the possibility that a "next" message will be sent inadvertently when the pointer is empty at some point; I know good coding would prevent that, but a system crash is a heavy price to pay for one slipup, considering I have over a dozen copies of this abstraction in use.
I tried starting the "until" with a float message just in case it is an empty pointer, but then I get overflow errors again. It seems like something that would be simple to do in Pd, but since the only response from an empty pointer is printed to the Pd window, I can't make it react to that. :/
-Chuckk
On 3/23/06, Chuckk Hubbard badmuthahubbard@gmail.com wrote:
I get this all the time. It's a real problem, because in a longer score it usually means the first half of the score has had all its notes changed to a new reference pitch and the second half hasn't, and there's no way back from that but to reload the piece.
I have a "JInext" abstraction I made, which takes a bang or a next message, and finds the next $1 scalar in pd-score. Because I have a vertical line on each beat, and octave marking lines, and tempo markers, plus notes, it has to skip past a lot of other templates. I put an internal delay in it, so that every 10 times it goes, it waits 10 ms. I've adjusted this to be slower and slower as I've written longer scores, but I still get stack overflow from the "next" message that retriggers it.
Can anyone explain more about what exactly "stack overflow" is? Might it help if I just put a 1 ms delay for each scalar?
Thanks. -Chuckk
-- "It is not when truth is dirty, but when it is shallow, that the lover of knowledge is reluctant to step into its waters." -Friedrich Nietzsche, "Thus Spoke Zarathustra"
-- "It is not when truth is dirty, but when it is shallow, that the lover of knowledge is reluctant to step into its waters." -Friedrich Nietzsche, "Thus Spoke Zarathustra"