~ubuntu-branches/debian/sid/x42-plugins/sid

« back to all changes in this revision

Viewing changes to meters.lv2/jmeters/msppmdsp.h

  • Committer: Package Import Robot
  • Author(s): Jaromír Mikeš
  • Date: 2015-05-31 22:00:21 UTC
  • mfrom: (1.1.7)
  • Revision ID: package-import@ubuntu.com-20150531220021-ov73yi4vvx6i6i0y
Tags: 20150530-1
* Imported Upstream version 20150530
* Fix g++ optimalizations in rules file rather than in patch.
* Fix spelling patch added.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// ------------------------------------------------------------------------
 
2
//
 
3
//  Copyright (C) 2012 Fons Adriaensen <fons@linuxaudio.org>
 
4
//  Copyright (C) 2015 Robin Gareus <robin@areus.org>
 
5
//    
 
6
//  This program is free software; you can redistribute it and/or modify
 
7
//  it under the terms of the GNU General Public License as published by
 
8
//  the Free Software Foundation; either version 2 of the License, or
 
9
//  (at your option) any later version.
 
10
//
 
11
//  This program is distributed in the hope that it will be useful,
 
12
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
14
//  GNU General Public License for more details.
 
15
//
 
16
//  You should have received a copy of the GNU General Public License
 
17
//  along with this program; if not, write to the Free Software
 
18
//  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
19
//
 
20
// ------------------------------------------------------------------------
 
21
 
 
22
 
 
23
#ifndef __MSPPMDSP_H
 
24
#define __MSPPMDSP_H
 
25
 
 
26
namespace LV2M {
 
27
 
 
28
class Msppmdsp
 
29
{
 
30
public:
 
31
 
 
32
    Msppmdsp (float mdb);
 
33
    ~Msppmdsp (void);
 
34
 
 
35
    void processM (float *pl, float *pr, int n);  
 
36
    void processS (float *pl, float *pr, int n);  
 
37
    float read (void);
 
38
 
 
39
    static void init (float fsamp); 
 
40
 
 
41
private:
 
42
 
 
43
    float          _z1;          // filter state
 
44
    float          _z2;          // filter state
 
45
    float          _m;           // max value since last read()
 
46
    bool           _res;         // flag to reset m
 
47
    float          _mv;          // dB offset m3, m6
 
48
 
 
49
    static float   _w1;          // attack filter coefficient
 
50
    static float   _w2;          // attack filter coefficient
 
51
    static float   _w3;          // release filter coefficient
 
52
    static float   _g;           // gain factor
 
53
};
 
54
 
 
55
};
 
56
 
 
57
#endif