VISR  0.11.8
Versatile Interactive Scene Renderer
time_frequency_feedthrough.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_SIGNALFLOWS_TIME_FREQUENCY_FEEDTHROUGH_HPP_INCLUDED
4 #define VISR_SIGNALFLOWS_TIME_FREQUENCY_FEEDTHROUGH_HPP_INCLUDED
5 
6 #include "export_symbols.hpp"
7 
10 #include <libvisr/audio_output.hpp>
11 
14 
15 #include <memory>
16 #include <string>
17 
18 // Uncomment to bypass the time-frequency processing and get a pure input->output feedthrough.
19 // #define JUST_FEEDTHROUGH 1
20 
21 namespace visr
22 {
23 
24 namespace signalflows
25 {
26 
27 class VISR_SIGNALFLOWS_LIBRARY_SYMBOL TimeFrequencyFeedthrough: public CompositeComponent
28 {
29 public:
30  explicit TimeFrequencyFeedthrough( SignalFlowContext const & context,
31  char const * name,
32  CompositeComponent * parent,
33  std::size_t numberOfChannels,
34  std::size_t dftSize,
35  std::size_t windowLength,
36  std::size_t hopSize );
37 
39 
40 private:
41 #ifndef JUST_FEEDTHROUGH
42  rcl::TimeFrequencyTransform mForwardTransform;
43 
44  rcl::TimeFrequencyInverseTransform mInverseTransform;
45 #endif
46  AudioInput mInput;
47  AudioOutput mOutput;
48 };
49 
50 } // namespace signalflows
51 } // namespace visr
52 
53 #endif // VISR_SIGNALFLOWS_TIME_FREQUENCY_FEEDTHROUGH_HPP_INCLUDED
Definition: time_frequency_inverse_transform.hpp:38
Definition: time_frequency_feedthrough.hpp:27
Definition: time_frequency_transform.hpp:39
Definition: options.cpp:10
Definition: composite_component.hpp:29
Definition: signal_flow_context.hpp:15