VISR  0.11.8
Versatile Interactive Scene Renderer
time_frequency_parameter_config.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_PML_TIME_FREQUENCY_PARAMETER_CONFIG_HPP_INCLUDED
4 #define VISR_PML_TIME_FREQUENCY_PARAMETER_CONFIG_HPP_INCLUDED
5 
6 #include "export_symbols.hpp"
7 
9 
10 #include <initializer_list>
11 #include <istream>
12 
13 namespace visr
14 {
15 namespace pml
16 {
17 
20 class VISR_PML_LIBRARY_SYMBOL TimeFrequencyParameterConfig: public ParameterConfigBase
21 {
22 public:
23  TimeFrequencyParameterConfig( std::size_t dftSize,
24  std::size_t hopSize,
25  std::size_t numberOfChannels,
26  std::size_t numberOfDftSamples );
27 
29 
30  std::unique_ptr< ParameterConfigBase > clone() const override;
31 
32  bool compare( ParameterConfigBase const & rhs ) const override;
33 
34  bool compare( TimeFrequencyParameterConfig const & rhs ) const;
35 
36  std::size_t dftSize() const { return mDftSize; }
37 
38  std::size_t hopSize() const { return mHopSize; }
39 
40  std::size_t numberOfChannels() const { return mNumberOfChannels; }
41 
42  std::size_t numberOfDftSamples() const { return mNumberOfDftSamples; }
43 private:
44  std::size_t const mDftSize;
45 
46  std::size_t const mHopSize;
47 
48  std::size_t const mNumberOfDftSamples;
49 
50  std::size_t const mNumberOfChannels;
51 };
52 
53 } // namespace pml
54 } // namespace visr
55 
56 
57 #endif // VISR_PML_TIME_FREQUENCY_PARAMETER_CONFIG_HPP_INCLUDED
std::size_t numberOfChannels() const
Definition: time_frequency_parameter_config.hpp:40
std::size_t numberOfDftSamples() const
Definition: time_frequency_parameter_config.hpp:42
Definition: options.cpp:10
Definition: parameter_config_base.hpp:22
Definition: time_frequency_parameter_config.hpp:20
std::size_t hopSize() const
Definition: time_frequency_parameter_config.hpp:38
std::size_t dftSize() const
Definition: time_frequency_parameter_config.hpp:36