SpectMorph
smmorphsourcemodule.hh
1 // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl-2.1.html
2 
3 #ifndef SPECTMORPH_MORPH_SOURCE_MODULE_HH
4 #define SPECTMORPH_MORPH_SOURCE_MODULE_HH
5 
6 #include "smmorphoperatormodule.hh"
7 #include "smwavset.hh"
8 
9 namespace SpectMorph
10 {
11 
13 {
14 private:
15  WavSet *wav_set;
16  Audio *active_audio;
17 
18 public:
20 
21  void set_wav_set (WavSet *wav_set);
22 
23  void retrigger (int channel, float freq, int midi_velocity) override;
24  Audio *audio() override;
25  bool rt_audio_block (size_t index, RTAudioBlock& out_block) override;
26 };
27 
29 {
30 protected:
31  SimpleWavSetSource my_source;
32 
33 public:
36 
37  void set_config (const MorphOperatorConfig *op_cfg);
38  LiveDecoderSource *source();
39 };
40 }
41 
42 #endif
Audio sample containing many blocks.
Definition: smaudio.hh:80
Definition: smlivedecodersource.hh:12
Definition: smmorphoperatormodule.hh:27
Definition: smmorphplanvoice.hh:16
Definition: smmorphsourcemodule.hh:29
Definition: smrtmemory.hh:139
Definition: smmorphsourcemodule.hh:13
Definition: smwavset.hh:29
Definition: smmorphoperator.hh:18