CLAM-Development
1.4.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
Processing
Analysis
SpectralAnalysisConfig.hxx
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2001-2004 MUSIC TECHNOLOGY GROUP (MTG)
3
* UNIVERSITAT POMPEU FABRA
4
*
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
*
20
*/
21
22
#ifndef _SpectralAnalysis_
23
#define _SpectralAnalysis_
24
25
#include "
DataTypes.hxx
"
26
#include "
ProcessingConfig.hxx
"
27
#include "
WindowGeneratorConfig.hxx
"
28
#include "
CircularShiftConfig.hxx
"
29
#include "
FFTConfig.hxx
"
30
31
namespace
CLAM {
32
42
class
SpectralAnalysisConfig
:
public
ProcessingConfig
43
{
44
friend
class
SpectralAnalysis
;
45
46
DYNAMIC_TYPE_USING_INTERFACE
(
SpectralAnalysisConfig
,9,
ProcessingConfig
);
48
DYN_ATTRIBUTE
(0,
public
,
WindowGeneratorConfig
,
WindowGenerator
);
49
DYN_ATTRIBUTE
(1,
public
,
CircularShiftConfig
,
CircularShift
);
50
DYN_ATTRIBUTE
(2,
public
,
FFTConfig
,
FFT
);
51
DYN_ATTRIBUTE
(3,
public
,
int
, prHopSize);
52
DYN_ATTRIBUTE
(4,
public
,
int
, prZeroPadding);
53
DYN_ATTRIBUTE
(5,
public
,
int
, prSamplingRate);
54
DYN_ATTRIBUTE
(6,
public
,
int
, prFFTSize);
55
//xamat: added these so they can be accessible from a configurator
56
DYN_ATTRIBUTE
(7,
public
,
int
, prWindowSize);
57
DYN_ATTRIBUTE
(8,
public
,
EWindowType
, prWindowType);
58
59
public
:
60
//Config shortcuts
61
71
void
SetWindowSize
(
TSize
w);
72
74
TSize
GetWindowSize
()
const
;
75
80
void
SetWindowType
(
const
EWindowType
& t);
81
83
const
EWindowType
&
GetWindowType
()
const
;
84
97
void
SetZeroPadding
(
int
z);
98
100
int
GetZeroPadding
()
const
;
101
106
void
SetHopSize
(
TSize
h);
107
109
TSize
GetHopSize
()
const
;
110
113
void
SetSamplingRate
(
TData
sr);
114
116
TData
GetSamplingRate
()
const
;
117
119
void
Sync
();
120
121
122
private
:
123
125
void
DefaultInit();
126
129
void
DefaultValues();
130
132
TInt32
PowerOfTwo(
TInt32
size);
133
};
134
135
}
136
137
#endif
138
Generated by
1.8.1