SpectMorph
smwavset.hh
1 // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html
2 
3 #ifndef SPECTMORPH_WAVSET_HH
4 #define SPECTMORPH_WAVSET_HH
5 
6 #include <vector>
7 #include <string>
8 #include <bse/bsecxxplugin.hh>
9 
10 #include "smaudio.hh"
11 
12 namespace SpectMorph
13 {
14 
16 {
17 public:
18  int midi_note;
19  int channel;
20  int velocity_range_min;
21  int velocity_range_max;
22  std::string path;
23  Audio *audio;
24 
25  WavSetWave();
26  ~WavSetWave();
27 };
28 
29 class WavSet
30 {
31 public:
32  ~WavSet();
33 
34  std::string name;
35  std::string short_name;
36  std::vector<WavSetWave> waves;
37 
38  void clear();
39 
40  Bse::Error load (const std::string& filename, AudioLoadOptions load_options = AUDIO_LOAD_DEBUG);
41  Bse::Error save (const std::string& filename, bool embed_models = false);
42 };
43 
44 }
45 
46 #endif
Audio sample containing many blocks.
Definition: smaudio.hh:79
Definition: smwavset.hh:29
Definition: smwavset.hh:15
Definition: smaudio.hh:15