117 setSize (channels, maxSize);
120 void setSize (
int channels,
int maxSize)
122 fifo.setTotalSize (maxSize + 1);
123 audioBuffer.setSize (channels, maxSize + 1);
135 int getNumSamplesAvailable() {
return fifo.getNumReady(); }
136 int getNumSamplesFree() {
return fifo.getFreeSpace(); }
138 void writeSilence (
int numSamples)
140 jassert (getNumSamplesFree() >= numSamples);
142 int start1, size1, start2, size2;
143 fifo.prepareToWrite (numSamples, start1, size1, start2, size2);
146 audioBuffer.clear (start1, size1);
148 audioBuffer.clear (start2, size2);
150 fifo.finishedWrite (size1 + size2);
158 midiBuffer.addEvents (midiSrc, 0, audioSrc.
getNumSamples(), fifo.getNumReady());
160 int start1, size1, start2, size2;
161 fifo.prepareToWrite (audioSrc.
getNumSamples(), start1, size1, start2, size2);
164 for (
int ch = 0; ch < channels; ch++)
167 audioBuffer.copyFrom (ch, start1, audioSrc, ch, 0, size1);
169 audioBuffer.copyFrom (ch, start2, audioSrc, ch, size1, size2);
172 fifo.finishedWrite (size1 + size2);
187 int start1, size1, start2, size2;
188 fifo.prepareToRead (audioDst.
getNumSamples(), start1, size1, start2, size2);
191 for (
int ch = 0; ch < numCh; ch++)
194 audioDst.
copyFrom (ch, 0, audioBuffer, ch, start1, size1);
196 audioDst.
copyFrom (ch, size1, audioBuffer, ch, start2, size2);
199 fifo.finishedRead (size1 + size2);