SpectMorph
smmorphoutputview.hh
1 // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html
2 
3 #ifndef SPECTMORPH_MORPH_OUTPUT_VIEW_HH
4 #define SPECTMORPH_MORPH_OUTPUT_VIEW_HH
5 
6 #include "smmorphoperatorview.hh"
7 #include "smmorphoutput.hh"
8 #include "smcomboboxoperator.hh"
9 #include "smpropertyview.hh"
10 
11 #include <QComboBox>
12 #include <QCheckBox>
13 
14 namespace SpectMorph
15 {
16 
18 {
19  Q_OBJECT
20 
21  struct ChannelView {
22  QLabel *label;
23  ComboBoxOperator *combobox;
24  };
25  std::vector<ChannelView *> channels;
26  QLabel *unison_voices_title;
27  QLabel *unison_voices_label;
28  QSlider *unison_voices_slider;
29 
30  QLabel *unison_detune_title;
31  QLabel *unison_detune_label;
32  QSlider *unison_detune_slider;
33 
34  MorphOutput *morph_output;
35 
36  MorphOutputProperties morph_output_properties;
37 
38  PropertyView pv_adsr_skip;
39  PropertyView pv_adsr_attack;
40  PropertyView pv_adsr_decay;
41  PropertyView pv_adsr_sustain;
42  PropertyView pv_adsr_release;
43 
44  PropertyView pv_portamento_glide;
45  PropertyView pv_vibrato_depth;
46  PropertyView pv_vibrato_frequency;
47  PropertyView pv_vibrato_attack;
48 
49 public:
50  MorphOutputView (MorphOutput *morph_morph_output, MorphPlanWindow *morph_plan_window);
51 
52  void update_visibility();
53 
54 public slots:
55  void on_sines_changed (bool new_value);
56  void on_noise_changed (bool new_value);
57  void on_unison_changed (bool new_value);
58  void on_unison_voices_changed (int voices);
59  void on_unison_detune_changed (int new_value);
60  void on_adsr_changed (bool new_value);
61  void on_portamento_changed (bool new_value);
62  void on_vibrato_changed (bool new_value);
63  void on_operator_changed();
64 };
65 
66 }
67 
68 #endif
Definition: smmorphoutput.hh:18
Definition: smmorphplanwindow.hh:26
Definition: smmorphoutputview.hh:17
Definition: smpropertyview.hh:15
Definition: smadsrenvelope.hh:8
Definition: smmorphoperatorview.hh:15
Definition: smmorphoutput.hh:35
Definition: smcomboboxoperator.hh:19