using namespace ARDOUR;
-framecnt_t
-LinearInterpolation::interpolate (int channel, framecnt_t nframes, Sample *input, Sample *output)
+samplecnt_t
+LinearInterpolation::interpolate (int channel, samplecnt_t nframes, Sample *input, Sample *output)
{
// index in the input buffers
- framecnt_t i = 0;
+ samplecnt_t i = 0;
double acceleration = 0;
acceleration = _target_speed - _speed;
}
- for (framecnt_t outsample = 0; outsample < nframes; ++outsample) {
+ for (samplecnt_t outsample = 0; outsample < nframes; ++outsample) {
double const d = phase[channel] + outsample * (_speed + acceleration);
i = floor(d);
Sample fractional_phase_part = d - i;
return i;
}
-framecnt_t
-CubicInterpolation::interpolate (int channel, framecnt_t nframes, Sample *input, Sample *output)
+samplecnt_t
+CubicInterpolation::interpolate (int channel, samplecnt_t nframes, Sample *input, Sample *output)
{
// index in the input buffers
- framecnt_t i = 0;
+ samplecnt_t i = 0;
double acceleration;
double distance = phase[channel];
*/
Sample inm1 = input[i] - (input[i+1] - input[i]);
- for (framecnt_t outsample = 0; outsample < nframes; ++outsample) {
+ for (samplecnt_t outsample = 0; outsample < nframes; ++outsample) {
/* get the index into the input we should start with */
i = floor (distance);
float fractional_phase_part = fmod (distance, 1.0);
/* used to calculate play-distance with acceleration (silent roll)
* (use same algorithm as real playback for identical rounding/floor'ing)
*/
- for (framecnt_t outsample = 0; outsample < nframes; ++outsample) {
+ for (samplecnt_t outsample = 0; outsample < nframes; ++outsample) {
distance += _speed + acceleration;
}
i = floor (distance);
/* CubicMidiInterpolation::distance is identical to
* return CubicInterpolation::interpolate (0, nframes, NULL, NULL);
*/
-framecnt_t
-CubicMidiInterpolation::distance (framecnt_t nframes, bool /*roll*/)
+samplecnt_t
+CubicMidiInterpolation::distance (samplecnt_t nframes, bool /*roll*/)
{
assert (phase.size () == 1);
- framecnt_t i = 0;
+ samplecnt_t i = 0;
double acceleration;
double distance = phase[0];
acceleration = 0.0;
}
- for (framecnt_t outsample = 0; outsample < nframes; ++outsample) {
+ for (samplecnt_t outsample = 0; outsample < nframes; ++outsample) {
distance += _speed + acceleration;
}