File: revmodel.hpp

package info (click to toggle)
vlc 1.1.3-1squeeze6
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 134,496 kB
  • ctags: 53,762
  • sloc: ansic: 341,893; cpp: 80,372; objc: 23,171; sh: 12,102; makefile: 5,035; xml: 1,351; asm: 524; python: 257; perl: 76; sed: 16
file content (90 lines) | stat: -rw-r--r-- 2,465 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
// Reverb model declaration
//
// Google Summer of Code 2007
//
// Authors: Biodun Osunkunle <biodun@videolan.org>
//
// Mentor : Jean-Baptiste Kempf <jb@videolan.org>
//
// Original written by Jezar at Dreampoint, June 2000

#ifndef _revmodel_
#define _revmodel_

#include "comb.hpp"
#include "allpass.hpp"
#include "tuning.h"

class revmodel
{
public:
            revmodel();
    void    mute();
    void    processreplace(float *inputL, float *outputL, long numsamples, int skip);
    void    processmix(float *inputL, float *outputL, long numsamples, int skip);
    void    setroomsize(float value);
    float    getroomsize();
    void    setdamp(float value);
    float    getdamp();
    void    setwet(float value);
    float    getwet();
    void    setdry(float value);
    float    getdry();
    void    setwidth(float value);
    float    getwidth();
    void    setmode(float value);
private:
    void    update();
private:
    float    gain;
    float    roomsize,roomsize1;
    float    damp,damp1;
    float    wet,wet1,wet2;
    float    dry;
    float    width;
    float    mode;

// The following are all declared inline
// to remove the need for dynamic allocation
// with its subsequent error-checking messiness

// Comb filters
    comb    combL[numcombs];
    comb    combR[numcombs];

    // Allpass filters
    allpass    allpassL[numallpasses];
    allpass    allpassR[numallpasses];

    // Buffers for the combs
    float    bufcombL1[combtuningL1];
    float    bufcombR1[combtuningR1];
    float    bufcombL2[combtuningL2];
    float    bufcombR2[combtuningR2];
    float    bufcombL3[combtuningL3];
    float    bufcombR3[combtuningR3];
    float    bufcombL4[combtuningL4];
    float    bufcombR4[combtuningR4];
    float    bufcombL5[combtuningL5];
    float    bufcombR5[combtuningR5];
    float    bufcombL6[combtuningL6];
    float    bufcombR6[combtuningR6];
    float    bufcombL7[combtuningL7];
    float    bufcombR7[combtuningR7];
    float    bufcombL8[combtuningL8];
    float    bufcombR8[combtuningR8];

    // Buffers for the allpasses
    float    bufallpassL1[allpasstuningL1];
    float    bufallpassR1[allpasstuningR1];
    float    bufallpassL2[allpasstuningL2];
    float    bufallpassR2[allpasstuningR2];
    float    bufallpassL3[allpasstuningL3];
    float    bufallpassR3[allpasstuningR3];
    float    bufallpassL4[allpasstuningL4];
    float    bufallpassR4[allpasstuningR4];
};

#endif//_revmodel_

//ends