X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Fsynthesizer%2Fsynthesizer.h;h=79bc0356b2f361ca47b6cbb8cf494ff640ddef44;hp=d8d10bd3070602d49799ae1c49ccb989f669afc6;hb=033efab12586e8086014c814a5360f211d228ac3;hpb=0e6cf5b52d1ebce9272270144bcf43df4683507e diff --git a/cinelerra-5.1/plugins/synthesizer/synthesizer.h b/cinelerra-5.1/plugins/synthesizer/synthesizer.h index d8d10bd3..79bc0356 100644 --- a/cinelerra-5.1/plugins/synthesizer/synthesizer.h +++ b/cinelerra-5.1/plugins/synthesizer/synthesizer.h @@ -28,10 +28,12 @@ #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[] = { @@ -106,12 +108,13 @@ 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 @@ -251,7 +254,7 @@ public: SynthOscGUI *gui; }; -class SynthOscGUIFreq : public BC_IPot +class SynthOscGUIFreq : public BC_FPot { public: SynthOscGUIFreq(Synth *synth, SynthOscGUI *gui, int y); @@ -507,6 +510,24 @@ public: 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: @@ -516,6 +537,15 @@ public: Synth *synth; }; +class SynthFreqMin : public BC_MenuItem +{ +public: + SynthFreqMin(Synth *synth); + ~SynthFreqMin(); + int handle_event(); + Synth *synth; +}; + class SynthFreqEven : public BC_MenuItem { public: