SpectMorph
smmorphoutput.hh
1 // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html
2 
3 #ifndef SPECTMORPH_MORPH_OUTPUT_HH
4 #define SPECTMORPH_MORPH_OUTPUT_HH
5 
6 #include "smmorphoperator.hh"
7 
8 #include <string>
9 
10 namespace SpectMorph
11 {
12 
13 class MorphOutput : public MorphOperator
14 {
15  Q_OBJECT
16 
17  std::vector<std::string> load_channel_op_names;
18  std::vector<MorphOperator *> channel_ops;
19 
20  bool m_sines;
21  bool m_noise;
22 
23 public:
24  MorphOutput (MorphPlan *morph_plan);
25  ~MorphOutput();
26 
27  // inherited from MorphOperator
28  const char *type();
29  int insert_order();
30  bool save (OutFile& out_file);
31  bool load (InFile& in_file);
32  void post_load (OpNameMap& op_name_map);
33  OutputType output_type();
34 
35  void set_sines (bool es);
36  bool sines();
37 
38  void set_noise (bool en);
39  bool noise();
40 
41  void set_channel_op (int ch, MorphOperator *op);
42  MorphOperator *channel_op (int ch);
43 
44 public slots:
45  void on_operator_removed (MorphOperator *op);
46 };
47 
48 }
49 
50 #endif
Definition: smoutfile.hh:15
Definition: smmorphplan.hh:14
Class to read SpectMorph binary data.
Definition: sminfile.hh:25
Definition: smmorphoperator.hh:19
Definition: smaudio.hh:15
Definition: smmorphoutput.hh:13