3 #ifndef SPECTMORPH_MORPH_OUTPUT_HH
4 #define SPECTMORPH_MORPH_OUTPUT_HH
6 #include "smmorphoperator.hh"
9 #include "smproperty.hh"
10 #include "smmodulationlist.hh"
23 FILTER_TYPE_LADDER = 1,
24 FILTER_TYPE_SALLEN_KEY = 2
26 enum FilterLadderMode {
27 FILTER_LADDER_LP1 = 1,
28 FILTER_LADDER_LP2 = 2,
29 FILTER_LADDER_LP3 = 3,
30 FILTER_LADDER_LP4 = 4,
54 std::vector<MorphOperatorPtr> channel_ops;
56 float velocity_sensitivity;
74 FilterType filter_type;
75 FilterLadderMode filter_ladder_mode;
76 FilterSKMode filter_sk_mode;
82 float filter_key_tracking;
88 float portamento_glide;
92 float vibrato_frequency;
97 static constexpr
auto P_VELOCITY_SENSITIVITY =
"velocity_sensitivity";
98 static constexpr
auto P_PITCH_BEND_RANGE =
"pitch_bend_range";
100 static constexpr
auto P_SINES =
"sines";
101 static constexpr
auto P_NOISE =
"noise";
103 static constexpr
auto P_UNISON =
"unison";
104 static constexpr
auto P_UNISON_VOICES =
"unison_voices";
105 static constexpr
auto P_UNISON_DETUNE =
"unison_detune";
107 static constexpr
auto P_ADSR =
"adsr";
108 static constexpr
auto P_ADSR_SKIP =
"adsr_skip";
109 static constexpr
auto P_ADSR_ATTACK =
"adsr_attack";
110 static constexpr
auto P_ADSR_DECAY =
"adsr_decay";
111 static constexpr
auto P_ADSR_SUSTAIN =
"adsr_sustain";
112 static constexpr
auto P_ADSR_RELEASE =
"adsr_release";
114 static constexpr
auto P_FILTER =
"filter";
115 static constexpr
auto P_FILTER_TYPE =
"filter_type";
116 static constexpr
auto P_FILTER_LADDER_MODE =
"filter_ladder_mode";
117 static constexpr
auto P_FILTER_SK_MODE =
"filter_sk_mode";
118 static constexpr
auto P_FILTER_ATTACK =
"filter_attack";
119 static constexpr
auto P_FILTER_DECAY =
"filter_decay";
120 static constexpr
auto P_FILTER_SUSTAIN =
"filter_sustain";
121 static constexpr
auto P_FILTER_RELEASE =
"filter_release";
122 static constexpr
auto P_FILTER_DEPTH =
"filter_depth";
123 static constexpr
auto P_FILTER_KEY_TRACKING =
"filter_key_tracking";
124 static constexpr
auto P_FILTER_CUTOFF =
"filter_cutoff";
125 static constexpr
auto P_FILTER_RESONANCE =
"filter_resonance";
126 static constexpr
auto P_FILTER_DRIVE =
"filter_drive";
128 static constexpr
auto P_PORTAMENTO =
"portamento";
129 static constexpr
auto P_PORTAMENTO_GLIDE =
"portamento_glide";
131 static constexpr
auto P_VIBRATO =
"vibrato";
132 static constexpr
auto P_VIBRATO_DEPTH =
"vibrato_depth";
133 static constexpr
auto P_VIBRATO_FREQUENCY =
"vibrato_frequency";
134 static constexpr
auto P_VIBRATO_ATTACK =
"vibrato_attack";
137 std::vector<std::string> load_channel_op_names;
144 const char *type()
override;
145 int insert_order()
override;
146 bool save (
OutFile& out_file)
override;
147 bool load (
InFile& in_file)
override;
148 void post_load (OpNameMap& op_name_map)
override;
149 OutputType output_type()
override;
151 std::vector<MorphOperator *> dependencies()
override;
Class to read SpectMorph binary data.
Definition: sminfile.hh:27
Definition: smmodulationlist.hh:17
Definition: smmorphoperator.hh:27
Definition: smmorphoutput.hh:20
Definition: smmorphplan.hh:18
Definition: smoutfile.hh:19
Definition: smmorphoperator.hh:18
Definition: smmorphoutput.hh:53