| 186 | } |
| 187 | |
| 188 | void GranulationNode::process(ContextRenderLock& r, int bufferSize) |
| 189 | { |
| 190 | AudioBus * outputBus = output(0)->bus(r); |
| 191 | |
| 192 | if (!isInitialized() || !outputBus->numberOfChannels()) |
| 193 | { |
| 194 | outputBus->zero(); |
| 195 | return; |
| 196 | } |
| 197 | |
| 198 | int quantumFrameOffset = _scheduler._renderOffset; |
| 199 | int bufferFramesToProcess = _scheduler._renderLength; |
| 200 | |
| 201 | if (!bufferFramesToProcess) |
| 202 | { |
| 203 | outputBus->zero(); |
| 204 | return; |
| 205 | } |
| 206 | |
| 207 | if (!RenderGranulation(r, outputBus, quantumFrameOffset, bufferFramesToProcess)) |
| 208 | { |
| 209 | outputBus->zero(); |
| 210 | return; |
| 211 | } |
| 212 | outputBus->clearSilentFlag(); |
| 213 | } |
| 214 | |
| 215 | bool GranulationNode::propagatesSilence(ContextRenderLock & r) const |
| 216 | { |
nothing calls this directly
no test coverage detected