#include "guicast.h"
#include "mutex.h"
#include "pluginaclient.h"
-#include "synthesizer.inc"
#include "vframe.inc"
+class Synth;
+class SynthWindow;
+
// Frequency table for piano
float keyboard_freqs[] =
{
};
#define MAX_FREQS 16
-#define TOTALOSCILLATORS 1
+#define MAX_OSCILLATORS 256
+#define OSCILLATORHEIGHT yS(40)
#define TOTALNOTES ((int)(sizeof(keyboard_freqs) / sizeof(float)))
#define MIDDLE_C 24
#define FIRST_TITLE (MIDDLE_C - 12)
#define LAST_TITLE (MIDDLE_C + 12)
-#define MARGIN yS(10)
+#define YMARGIN yS(10)
#define SINE 0
#define SAWTOOTH 1
SynthOscGUI *gui;
};
-class SynthOscGUIFreq : public BC_IPot
+class SynthOscGUIFreq : public BC_FPot
{
public:
SynthOscGUIFreq(Synth *synth, SynthOscGUI *gui, int y);
Synth *synth;
};
+class SynthFreqPow1 : public BC_MenuItem
+{
+public:
+ SynthFreqPow1(Synth *synth);
+ ~SynthFreqPow1();
+ int handle_event();
+ Synth *synth;
+};
+
+class SynthFreqPow2 : public BC_MenuItem
+{
+public:
+ SynthFreqPow2(Synth *synth);
+ ~SynthFreqPow2();
+ int handle_event();
+ Synth *synth;
+};
+
class SynthFreqEnum : public BC_MenuItem
{
public:
Synth *synth;
};
+class SynthFreqMin : public BC_MenuItem
+{
+public:
+ SynthFreqMin(Synth *synth);
+ ~SynthFreqMin();
+ int handle_event();
+ Synth *synth;
+};
+
class SynthFreqEven : public BC_MenuItem
{
public: