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 
20 public:
23 
24  void set_config (MorphOperator *op);
25  void process (size_t n_samples, float **values, size_t n_ports, const float *freq_in = nullptr);
26  void retrigger (int channel, float freq, int midi_velocity);
27  void release();
28  bool done();
29 
30  bool portamento() const;
31  float portamento_glide() const;
32 };
33 
34 }
35 
36 #endif
Definition: smmorphoperatormodule.hh:23
Definition: smmorphoutputmodule.hh:12
Definition: smmorphplanvoice.hh:14
Definition: smmorphoperator.hh:19
Definition: smadsrenvelope.hh:8