1 // ----------------------------------------------------------------------------
3 // Copyright (C) 2006-2012 Fons Adriaensen <fons@linuxaudio.org>
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 3 of the License, or
8 // (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program. If not, see <http://www.gnu.org/licenses/>.
18 // ----------------------------------------------------------------------------
21 #ifndef _ZITA_VMRESAMPLER_H_
22 #define _ZITA_VMRESAMPLER_H_
24 #include "zita-resampler/zresampler_visibility.h"
25 #include "zita-resampler/resampler-table.h"
27 namespace ArdourZita {
29 class LIBZRESAMPLER_API VMResampler
35 int setup (unsigned int hlen);
36 int setup (unsigned int hlen, double frel);
40 int inpsize (void) const;
41 double inpdist (void) const;
44 void set_phase (double p);
45 void set_rrfilt (double t);
46 double set_rratio (double r);
48 unsigned int inp_count;
49 unsigned int out_count;
56 enum { NPHASE = 256 };
58 Resampler_table *_table;