VISR  0.11.8
Versatile Interactive Scene Renderer
signal_flow_wrapper.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_MAXMSP_MAXSUPPORT_SIGNAL_FLOW_WRAPPER_WRAPPER_HPP_INCLUDED
4 #define VISR_MAXMSP_MAXSUPPORT_SIGNAL_FLOW_WRAPPER_WRAPPER_HPP_INCLUDED
5 
6 #include "export_symbols.hpp"
7 
8 #include <libvisr/constants.hpp>
9 
11 
12 #include <cstddef>
13 #include <memory>
14 #include <vector>
15 
16 namespace visr
17 {
18 // forward declaration
19 class Component;
20 namespace efl
21 {
22 template<typename ElementType>
23 class BasicMatrix;
24 }
25 
26 namespace maxmsp
27 {
28 
29 template<typename ExternalSampleType>
31 {
32 public:
33  SignalFlowWrapper( Component & comp );
34 
36 
37  void processBlock( ExternalSampleType const * const * inputSamples,
38  ExternalSampleType * const * outputSamples );
39 private:
44  void transferInputSamples( ExternalSampleType const * const * inputSamples );
45 
49  void transferOutputSamples( ExternalSampleType * const * outputSamples );
50 
52 
53  std::size_t const mPeriodSize;
54 
55  std::unique_ptr< efl::BasicMatrix<SampleType> > mConvertedSamples;
56 
57  std::vector<SampleType *> mInputBufferPtrs;
58  std::vector<SampleType *> mOutputBufferPtrs;
59 };
60 
61 } // namespace mexsupport
62 } // namespace visr
63 
64 #endif // #ifndef VISR_MAXMSP_MAXSUPPORT_SIGNAL_FLOW_WRAPPER_WRAPPER_HPP_INCLUDED
#define VISR_MAXSUPPORT_LIBRARY_SYMBOL
Definition: export_symbols.hpp:30
Definition: audio_signal_flow.hpp:49
Definition: component.hpp:38
Definition: options.cpp:10
Definition: signal_flow_wrapper.hpp:30