From: martin r. <fo...@ru...> - 2007-10-14 23:23:36
|
hi fooers, today i managed to have a look at one of the bugs ramon reported a long time ago, reference/offset again. the test file from ramon is attached, i added two former test cases which helped me to get a bit closer at least. ramon, could you try the testfile on your next machine with foo-2.1, too? it's easier to know whether this bug was introduced while porting, such that i can look for code differences. i suspect, this time the culprit is not the reference/offset logic, but read-bpf~. if evaluation of a context is started in the middle of a bpf, it is not read correctly, even if you are starting after the end of a bpf. i guess this problem occurs when a bpf is not initialized, this is, if its first breakpoint was not read. something similar might appear when dealing with soundfiles (not sure whether the pointer into the soundfiles gets correctly adjusted). for filters, i am almost sure that it won't work, because the filter state at the starting offset cannot be calculated other than by starting with the very first filter excitation. read-bpf~ and other modules operating on substrates might be fixed on further investigation, but for filters etc. there is no other solution than to track back from the context's offset to the last starting point of such a running process, starting "silently" to render from this point and starting with "writing" the results at the context's offset. could be interesting to have, though. same, by the way, for a context rendered from offset 0, but with a (time some-negative-value-with-respect-to-the-toplevel-timeframe) in it. so far, no really good news, martin |