VISR  0.12.0
Versatile Interactive Scene Renderer
delay_vector.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
5 
8 
11 
12 #include <librcl/delay_vector.hpp>
13 
15 
16 #include <cstddef>
17 #include <limits>
18 #include <memory>
19 
20 namespace visr
21 {
22 namespace maxmsp
23 {
24 
26 {
27 public:
28 
29  explicit DelayVector( t_pxobject & maxProxy, short argc, t_atom *argv );
30 
31  ~DelayVector();
32 
33  /*virtual*/ void initDsp( t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags);
34 
35  /*virtual*/ void perform( t_object *dsp64, double **ins,
36  long numins, double **outs, long numouts,
37  long sampleframes, long flags, void *userparam);
38 
39  /*virtual*/ void assist( void *b, long msg, long arg, char *dst );
40 
41 
42  /*virtual*/ void getFloat( double f );
43 
44 private:
49  long mPeriod;
50  std::size_t mNumberOfChannels;
51  std::size_t mInterpolationSteps;
52  std::string mInterpolationMethod;
53 
58  std::unique_ptr<SignalFlowContext> mContext;
59 
60  std::unique_ptr<rcl::DelayVector> mComp;
61 
62  std::unique_ptr<maxmsp::SignalFlowWrapper<double> > mFlowWrapper;
63 
64  std::unique_ptr<rrl::AudioSignalFlow> mFlow;
65 
67 
69 
70  ParameterPortType* mGainInput;
71  ParameterPortType* mDelayInput;
72 };
73 
74 } // namespace maxmsp
75 } // namespace visr
Definition: parameter_output.hpp:45
~DelayVector()
Definition: delay_vector.cpp:81
Definition: vector_parameter.hpp:47
DelayVector(t_pxobject &maxProxy, short argc, t_atom *argv)
Definition: delay_vector.cpp:51
void perform(t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam)
Definition: delay_vector.cpp:158
Definition: options.cpp:10
void getFloat(double f)
Definition: delay_vector.cpp:85
void assist(void *b, long msg, long arg, char *dst)
Definition: delay_vector.cpp:181
Definition: delay_vector.hpp:25
Definition: external_base.hpp:40
void initDsp(t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags)
Definition: delay_vector.cpp:124