SpectMorph
smmorphlinearmodule.hh
1 // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html
2 
3 #ifndef SPECTMORPH_MORPH_LINEAR_MODULE_HH
4 #define SPECTMORPH_MORPH_LINEAR_MODULE_HH
5 
6 #include "smmorphplan.hh"
7 #include "smmorphoutput.hh"
8 #include "smmorphoperatormodule.hh"
9 #include "smmorphlinear.hh"
10 
11 namespace SpectMorph
12 {
13 
15 {
16  MorphOperatorModule *left_mod;
17  MorphOperatorModule *right_mod;
18  MorphOperatorModule *control_mod;
19  float morphing;
20  bool db_linear;
21  bool use_lpc;
22 
23  MorphLinear::ControlType control_type;
24 
25  Audio audio;
26  AudioBlock audio_block;
27 
28  struct MySource : public LiveDecoderSource
29  {
30  MorphLinearModule *module;
31 
32  void interp_mag_one (double interp, uint16_t *left, uint16_t *right);
33  void retrigger (int channel, float freq, int midi_velocity, float mix_freq);
34  Audio* audio();
35  AudioBlock *audio_block (size_t index);
36  } my_source;
37 
38 public:
41 
42  void set_config (MorphOperator *op);
43  LiveDecoderSource *source();
44 };
45 
46 }
47 
48 #endif
Audio sample containing many blocks.
Definition: smaudio.hh:79
Block of audio data, encoded in SpectMorph parametric format.
Definition: smaudio.hh:26
Definition: smmorphoperatormodule.hh:23
Definition: smlivedecodersource.hh:10
Definition: smmorphplanvoice.hh:14
Definition: smmorphoperator.hh:19
Definition: smaudio.hh:15
Definition: smmorphlinearmodule.hh:14