SpectMorph
smmorphoutputmodule.hh
1 // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html
2 
3 #ifndef SPECTMORPH_MORPH_OUTPUT_MODULE_HH
4 #define SPECTMORPH_MORPH_OUTPUT_MODULE_HH
5 
6 #include "smmorphoperatormodule.hh"
7 #include "smmorphplanvoice.hh"
8 #include "smeffectdecoder.hh"
9 
10 namespace SpectMorph {
11 
13 {
14  std::vector<MorphOperatorModule *> out_ops;
15  std::vector<EffectDecoder *> out_decoders;
16 
17  bool m_portamento;
18  float m_portamento_glide;
19  float m_velocity_sensitivity;
20 
21 public:
24 
25  void set_config (MorphOperator *op);
26  void process (size_t n_samples, float **values, size_t n_ports, const float *freq_in = nullptr);
27  void retrigger (int channel, float freq, int midi_velocity);
28  void release();
29  bool done();
30 
31  bool portamento() const;
32  float portamento_glide() const;
33  float velocity_sensitivity() const;
34 };
35 
36 }
37 
38 #endif
Definition: smmorphoperatormodule.hh:23
Definition: smmorphoutputmodule.hh:12
Definition: smmorphplanvoice.hh:14
Definition: smmorphoperator.hh:18
Definition: smadsrenvelope.hh:8