X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Finterpolation.h;h=3c661d859201586682ddd3e6480ad35c6ca8d053;hb=57f74fbf132ad4c2bc59f2f3d6e298936d752963;hp=a4a332c8a2781c541dc4485dc05ceb4e5e8facb0;hpb=a473d630eb165272992e90f8d854b1d66ec0be63;p=ardour.git diff --git a/libs/ardour/ardour/interpolation.h b/libs/ardour/ardour/interpolation.h index a4a332c8a2..3c661d8592 100644 --- a/libs/ardour/ardour/interpolation.h +++ b/libs/ardour/ardour/interpolation.h @@ -20,6 +20,7 @@ #include #include +#include "ardour/libardour_visibility.h" #include "ardour/types.h" #ifndef __interpolation_h__ @@ -27,7 +28,7 @@ namespace ARDOUR { -class Interpolation { +class LIBARDOUR_API Interpolation { protected: double _speed; double _target_speed; @@ -57,16 +58,23 @@ public: } }; -class LinearInterpolation : public Interpolation { +class LIBARDOUR_API LinearInterpolation : public Interpolation { public: framecnt_t interpolate (int channel, framecnt_t nframes, Sample* input, Sample* output); }; -class CubicInterpolation : public Interpolation { +class LIBARDOUR_API CubicInterpolation : public Interpolation { public: framecnt_t interpolate (int channel, framecnt_t nframes, Sample* input, Sample* output); }; +class BufferSet; + +class LIBARDOUR_API CubicMidiInterpolation : public Interpolation { +public: + framecnt_t distance (framecnt_t nframes, bool roll = true); +}; + } // namespace ARDOUR #endif