>On Fri, Aug 30, 2002 at 09:14:17 -0700, robbins jacob wrote: >> /* Hint LADSPA_HINT_DATA_PRESENT indicates that the data item should be used > >> to signal that the audio stream has stopped. It must be used in conjunction > >Personally, I think this violates the S of LADSPA.
i agree, though i increasingly see a need for LADPA rather than LADSPA. >From memory, what csound instruments do is indicate an ammount of time >after the note end (ie signal end in this case) that they are required to >be run. This would probably be simpler and more convienent. ie. a >control out that the plugin can use to signal how long it has to be post- >rolled for. this would echo the VST approach, where plugins call setInitialDelay from within their "resume" callback. this is important, since DATA_PRESENT can only be checked by the host with a fixed frequency. if the plugin has 43 final frames to generate, and the host asks it for 64, there is a problem. either we get 17 unwanted frames of silence, which is probably OK for realtime use but not for file processing, or we lose the last 43 frames, which is not OK for either situation. >Another, similar, useful thing would be a control out that the plugin could >use to indicate its input->output latency. setInitialDelay in VST can be used both to indicate latency and also to handle "time-stretching", i think. the plugin calls ioChanged() when it needs to notify the host of changes in the "InitialDelay" value. --p