svcore  1.9
Resampler.h
Go to the documentation of this file.
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2 
3 /*
4  Sonic Visualiser
5  An audio file viewer and annotation editor.
6  Centre for Digital Music, Queen Mary, University of London.
7 
8  This program is free software; you can redistribute it and/or
9  modify it under the terms of the GNU General Public License as
10  published by the Free Software Foundation; either version 2 of the
11  License, or (at your option) any later version. See the file
12  COPYING included with this distribution for more information.
13 */
14 
15 /*
16  This is a modified version of a source file from the
17  Rubber Band audio timestretcher library.
18  This file copyright 2007 Chris Cannam.
19 */
20 
21 #ifndef _RESAMPLER_H_
22 #define _RESAMPLER_H_
23 
24 #include <sys/types.h>
25 
26 class Resampler
27 {
28 public:
30 
31  Resampler(Quality quality, int channels, int chunkSize = 0);
32  ~Resampler();
33 
34  int resample(float **in, float **out,
35  int incount, float ratio,
36  bool final = false);
37 
38  int resampleInterleaved(float *in, float *out,
39  int incount, float ratio,
40  bool final = false);
41 
42  void reset();
43 
44 protected:
45  class D;
46  D *m_d;
47 };
48 
49 #endif
int resampleInterleaved(float *in, float *out, int incount, float ratio, bool final=false)
Definition: Resampler.cpp:184
D * m_d
Definition: Resampler.h:45
void reset()
Definition: Resampler.cpp:192
Resampler(Quality quality, int channels, int chunkSize=0)
Definition: Resampler.cpp:165
int resample(float **in, float **out, int incount, float ratio, bool final=false)
Definition: Resampler.cpp:176