From: martin r. <fo...@ru...> - 2005-06-19 10:52:47
|
dear ramon, dear gerhard, o.k., looks to me if gerhard was subscribed again to foo-devel now. On Mon, Jun 13, 2005 at 02:04:25AM +0200, Ramon Gonzalez-Arroyo wrote: > >ref A number specifying time in s in the output medium that shall > > correspond to time origin of the context (time zero). > > > >off A number specifying the time offset in s from the contexts time=20 > >origin > > where the execution (with run-task) should start. > > >=20 > Yes, I agree, the definitions might be confussing. As a matter of fact,= =20 > you made me doubt at some point, as you know. I talked it over with=20 > Gerhard, and he was agreeing with my interpretation. So, might be the=20 > original idea was different, and then it was never done like that. I=20 > cannot say. What I can tell you is that I have used it for years as I=20 > told you, and was working. o.k. so gerhard has to enlighten me now... may be there was another plan in the beginning, but both from the documentation and the implementation, i got the impression of this interpretation. i had a look at the original foo-2.1-code now and compared it to the latest foo in task.m. as far as i can see, concerning the ref/off-parameters, there is the only difference of my fix. i think i now know why you was able to use the "offset" parameter as "reference": it is related to the bug i fixed. as i said, offset was interpreted as samples (instead of seconds), but only in one place. the other place, which moves the rendering time in the sound file according to ref and off, it was interpreted correctly in seconds. that means: offset nearly worked like reference, but it still moved the rendering start inside the context by the few SAMPLES and therefore was not noticeable, unless there wasn't a dirac or something else for exciting a filter on the first sample. so that's at least an explanation for the fact that you used offset and it apparently worked. but from the original code, it really looks like offset sets the time in the context where it starts to render it. you could just set this line in task.m back to the original: /* this has to be frame unit instead of seconds * was wrong first, therefore <offset> didn't work correctly * rumori 2004-05-03 * orig: [context setSampleTime:o]; */ [context setSampleTime: rint(o * sr)]; and you should have the behavior you are used to. if you have the spare time for that, please try. then we at least found out, why it was working for you so many years. o.k., for the rest i think we need gerhards clarification before going on... all the best, martin |