code: private int getCubicInterpolated(final int currentSamplePos, final int currentTuningPos)
  	{
  		final int poslo = (currentTuningPos >> CubicSpline.SPLINE_FRACSHIFT) & CubicSpline.SPLINE_FRACMASK;
  		
  		final long v1 = (((currentSamplePos-1)<0)?0L:	(long)CubicSpline.lut[poslo  ]*(long)sample[currentSamplePos-1]) +
  				  		(								(long)CubicSpline.lut[poslo+1]*(long)sample[currentSamplePos  ]) +
  				  		(								(long)CubicSpline.lut[poslo+2]*(long)sample[currentSamplePos+1]) +
  				  		(								(long)CubicSpline.lut[poslo+3]*(long)sample[currentSamplePos+2]);
  		
  		return (int)(v1 >> CubicSpline.SPLINE_QUANTBITS);
  	}
docs: does cubic interpolation with the next sample
  @since 06.06.2006
  @param currentTuningPos
  @return