-
Notifications
You must be signed in to change notification settings - Fork 5
/
raffo_gui.h
63 lines (41 loc) · 1.1 KB
/
raffo_gui.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <gtkmm.h>
#include <vector>
#include <fstream>
#include <iostream>
#include <lv2gui.hpp>
#include "raffo.peg"
using namespace sigc;
using namespace Gtk;
using namespace std;
#define PRESET_FOLDER "/usr/local/lib/lv2/raffo.lv2/presets/"
class RaffoSynthGUI : public LV2::GUI<RaffoSynthGUI> {
public:
RaffoSynthGUI(const std::string& URI);
void port_event(uint32_t port, uint32_t buffer_size, uint32_t format, const void* buffer);
void save_preset();
void load_preset();
protected:
VScale* oscButton[4];
HScale* range[4];
HScale* oscTuning[4];
HScale* wave[4];
Label* wave_label[4];
HScale* vol[4];
HScale* filter_cutoff;
HScale* filter_attack;
HScale* filter_decay;
HScale* filter_sustain;
HScale* filter_release;
HScale* filter_resonance;
HScale* attack;
HScale* decay;
HScale* sustain;
HScale* release;
VScale* glide;
VScale* volume;
Entry* filename;
char* waveshapes[4] = {"Triangle", "Saw", "Square", "Pulse"};
void write_waveshape(int control, int shape);
//static char* format_value(GtkScale *scale, int value){
// return str("-->%d<--", value);}
};