@@ -53,7 +53,7 @@ m_DC(0.0f) | |||||
{ | { | ||||
m_PluginInfo.Name="Amp"; | m_PluginInfo.Name="Amp"; | ||||
m_PluginInfo.Width = 120; | m_PluginInfo.Width = 120; | ||||
m_PluginInfo.Height = 146; | |||||
m_PluginInfo.Height = 140; | |||||
m_PluginInfo.NumInputs=3; | m_PluginInfo.NumInputs=3; | ||||
m_PluginInfo.NumOutputs=1; | m_PluginInfo.NumOutputs=1; | ||||
m_PluginInfo.PortTips.push_back("Input"); | m_PluginInfo.PortTips.push_back("Input"); | ||||
@@ -90,7 +90,7 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_NumDC->callback ((Fl_Callback*)cb_NumDC); | m_NumDC->callback ((Fl_Callback*)cb_NumDC); | ||||
m_NumGroup->add (m_NumDC); | m_NumGroup->add (m_NumDC); | ||||
m_Reset = new Fl_Button (64, 120, 56, 20, "Reset"); | |||||
m_Reset = new Fl_Button (64, 119, 56, 18, "Reset"); | |||||
m_Reset->user_data ((void*)(this)); | m_Reset->user_data ((void*)(this)); | ||||
m_Reset->labelsize (10); | m_Reset->labelsize (10); | ||||
m_Reset->box (FL_PLASTIC_UP_BOX); | m_Reset->box (FL_PLASTIC_UP_BOX); | ||||
@@ -54,7 +54,7 @@ m_OutputLevel(1.0f), | |||||
m_Sensitivity(0.5f) | m_Sensitivity(0.5f) | ||||
{ | { | ||||
m_PluginInfo.Name="BeatMatch"; | m_PluginInfo.Name="BeatMatch"; | ||||
m_PluginInfo.Width=90; | |||||
m_PluginInfo.Width=80; | |||||
m_PluginInfo.Height=80; | m_PluginInfo.Height=80; | ||||
m_PluginInfo.NumInputs=1; | m_PluginInfo.NumInputs=1; | ||||
m_PluginInfo.NumOutputs=1; | m_PluginInfo.NumOutputs=1; | ||||
@@ -25,7 +25,7 @@ | |||||
BeatMatchPluginGUI::BeatMatchPluginGUI(int w, int h,BeatMatchPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | BeatMatchPluginGUI::BeatMatchPluginGUI(int w, int h,BeatMatchPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | ||||
SpiralPluginGUI(w,h,o,ch) | SpiralPluginGUI(w,h,o,ch) | ||||
{ | { | ||||
m_Sense = new Fl_Knob(20, 15, 50, 50, "Sensitivity"); | |||||
m_Sense = new Fl_Knob (15, 15, 50, 50, "Sensitivity"); | |||||
m_Sense->color(Info->GUI_COLOUR); | m_Sense->color(Info->GUI_COLOUR); | ||||
m_Sense->labelsize(8); | m_Sense->labelsize(8); | ||||
m_Sense->callback((Fl_Callback*)cb_Sense); | m_Sense->callback((Fl_Callback*)cb_Sense); | ||||
@@ -52,7 +52,7 @@ m_Triggered(false), | |||||
m_CurrentLevel(1.0f) | m_CurrentLevel(1.0f) | ||||
{ | { | ||||
m_PluginInfo.Name="Counter"; | m_PluginInfo.Name="Counter"; | ||||
m_PluginInfo.Width=60; | |||||
m_PluginInfo.Width=80; | |||||
m_PluginInfo.Height=50; | m_PluginInfo.Height=50; | ||||
m_PluginInfo.NumInputs=1; | m_PluginInfo.NumInputs=1; | ||||
m_PluginInfo.NumOutputs=1; | m_PluginInfo.NumOutputs=1; | ||||
@@ -26,7 +26,7 @@ | |||||
CounterPluginGUI::CounterPluginGUI(int w, int h,CounterPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | CounterPluginGUI::CounterPluginGUI(int w, int h,CounterPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | ||||
SpiralPluginGUI(w,h,o,ch) | SpiralPluginGUI(w,h,o,ch) | ||||
{ | { | ||||
m_Count = new Fl_Input(5, 20, 50, 20, "Count"); | |||||
m_Count = new Fl_Input(15, 20, 50, 20, "Count"); | |||||
m_Count->color(Info->GUI_COLOUR); | m_Count->color(Info->GUI_COLOUR); | ||||
m_Count->labelsize(8); | m_Count->labelsize(8); | ||||
m_Count->align(FL_ALIGN_BOTTOM|FL_ALIGN_CENTER); | m_Count->align(FL_ALIGN_BOTTOM|FL_ALIGN_CENTER); | ||||
@@ -54,7 +54,7 @@ m_WriteHeadPos(0) | |||||
{ | { | ||||
m_PluginInfo.Name="Delay"; | m_PluginInfo.Name="Delay"; | ||||
m_PluginInfo.Width=120; | m_PluginInfo.Width=120; | ||||
m_PluginInfo.Height=112; | |||||
m_PluginInfo.Height=110; | |||||
m_PluginInfo.NumInputs=3; | m_PluginInfo.NumInputs=3; | ||||
m_PluginInfo.NumOutputs=1; | m_PluginInfo.NumOutputs=1; | ||||
m_PluginInfo.PortTips.push_back("Input"); | m_PluginInfo.PortTips.push_back("Input"); | ||||
@@ -57,7 +57,7 @@ m_Buf1 (1) | |||||
m_Version = 2; | m_Version = 2; | ||||
m_PluginInfo.Name = "Echo"; | m_PluginInfo.Name = "Echo"; | ||||
m_PluginInfo.Width = 120; | m_PluginInfo.Width = 120; | ||||
m_PluginInfo.Height = 132; | |||||
m_PluginInfo.Height = 140; | |||||
m_PluginInfo.NumInputs = 3; | m_PluginInfo.NumInputs = 3; | ||||
m_PluginInfo.NumOutputs = 2; | m_PluginInfo.NumOutputs = 2; | ||||
m_PluginInfo.PortTips.push_back ("Input"); | m_PluginInfo.PortTips.push_back ("Input"); | ||||
@@ -55,7 +55,7 @@ m_TriggerSamples(0) | |||||
{ | { | ||||
m_Version = 2; | m_Version = 2; | ||||
m_PluginInfo.Name="Flipflop"; | m_PluginInfo.Name="Flipflop"; | ||||
m_PluginInfo.Width=70; | |||||
m_PluginInfo.Width=80; | |||||
m_PluginInfo.Height=100; | m_PluginInfo.Height=100; | ||||
m_PluginInfo.NumInputs=1; | m_PluginInfo.NumInputs=1; | ||||
m_PluginInfo.NumOutputs=1; | m_PluginInfo.NumOutputs=1; | ||||
@@ -25,7 +25,7 @@ | |||||
FlipflopPluginGUI::FlipflopPluginGUI(int w, int h,FlipflopPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | FlipflopPluginGUI::FlipflopPluginGUI(int w, int h,FlipflopPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | ||||
SpiralPluginGUI(w,h,o,ch) | SpiralPluginGUI(w,h,o,ch) | ||||
{ | { | ||||
m_TriggerTime = new Fl_Knob (15, 15, 40, 40, "Trigger Time"); | |||||
m_TriggerTime = new Fl_Knob (20, 15, 40, 40, "Trigger Time"); | |||||
m_TriggerTime->color (Info->GUI_COLOUR); | m_TriggerTime->color (Info->GUI_COLOUR); | ||||
m_TriggerTime->labelsize(8); | m_TriggerTime->labelsize(8); | ||||
m_TriggerTime->maximum(1.0f); | m_TriggerTime->maximum(1.0f); | ||||
@@ -34,7 +34,7 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_TriggerTime->labelsize(8); | m_TriggerTime->labelsize(8); | ||||
m_TriggerTime->callback((Fl_Callback*)cb_TriggerTime); | m_TriggerTime->callback((Fl_Callback*)cb_TriggerTime); | ||||
m_Monostable = new Fl_Button (5, 70, 60, 20, "Monostable"); | |||||
m_Monostable = new Fl_Button (10, 70, 60, 20, "Monostable"); | |||||
m_Monostable->color (Info->GUI_COLOUR); | m_Monostable->color (Info->GUI_COLOUR); | ||||
m_Monostable->selection_color (Info->GUI_COLOUR); | m_Monostable->selection_color (Info->GUI_COLOUR); | ||||
m_Monostable->box (FL_PLASTIC_UP_BOX); | m_Monostable->box (FL_PLASTIC_UP_BOX); | ||||
@@ -43,8 +43,8 @@ m_TableLength (DEFAULT_TABLE_LEN) { | |||||
m_CyclePos = 0; | m_CyclePos = 0; | ||||
m_Note = 0; | m_Note = 0; | ||||
m_PluginInfo.Name = "LFO"; | m_PluginInfo.Name = "LFO"; | ||||
m_PluginInfo.Width = 160; | |||||
m_PluginInfo.Height = 112; | |||||
m_PluginInfo.Width = 180; | |||||
m_PluginInfo.Height = 100; | |||||
m_PluginInfo.NumInputs = 0; | m_PluginInfo.NumInputs = 0; | ||||
m_PluginInfo.NumOutputs = 3; | m_PluginInfo.NumOutputs = 3; | ||||
m_PluginInfo.PortTips.push_back ("Output"); | m_PluginInfo.PortTips.push_back ("Output"); | ||||
@@ -19,106 +19,10 @@ | |||||
#include "LFOPluginGUI.h" | #include "LFOPluginGUI.h" | ||||
#include <FL/fl_draw.h> | #include <FL/fl_draw.h> | ||||
#include <FL/fl_draw.H> | #include <FL/fl_draw.H> | ||||
static unsigned char *image_Sine[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . . ", | |||||
(unsigned char*)" . . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
static unsigned char *image_Tri[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" . ", | |||||
(unsigned char*)" . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . ", | |||||
(unsigned char*)" . ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
static unsigned char *image_Square[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ...... ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" ... . ... ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" ...... ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
static unsigned char *image_Saw[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" ... . .... ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
#include "../GUI/WS_Sine.h" | |||||
#include "../GUI/WS_Tri.h" | |||||
#include "../GUI/WS_Square.h" | |||||
#include "../GUI/WS_Saw.h" | |||||
LFOPluginGUI::LFOPluginGUI (int w, int h, LFOPlugin *o, ChannelHandler *ch, const HostInfo *Info) : | LFOPluginGUI::LFOPluginGUI (int w, int h, LFOPlugin *o, ChannelHandler *ch, const HostInfo *Info) : | ||||
SpiralPluginGUI (w, h, o, ch), | SpiralPluginGUI (w, h, o, ch), | ||||
@@ -127,37 +31,37 @@ m_PixmapTri (image_Tri), | |||||
m_PixmapSquare (image_Square), | m_PixmapSquare (image_Square), | ||||
m_PixmapSaw (image_Saw) { | m_PixmapSaw (image_Saw) { | ||||
m_ShapeSine = new Fl_LED_Button (0, 15, 23, 23); | |||||
m_ShapeSine = new Fl_LED_Button (0, 10, 23, 23); | |||||
m_ShapeSine->type (FL_RADIO_BUTTON); | m_ShapeSine->type (FL_RADIO_BUTTON); | ||||
m_PixmapSine.label (m_ShapeSine); | m_PixmapSine.label (m_ShapeSine); | ||||
m_ShapeSine->set(); | m_ShapeSine->set(); | ||||
m_ShapeSine->callback ((Fl_Callback*)cb_Sine); | m_ShapeSine->callback ((Fl_Callback*)cb_Sine); | ||||
m_ShapeTri = new Fl_LED_Button (0, 35, 23, 23); | |||||
m_ShapeTri = new Fl_LED_Button (0, 31, 23, 23); | |||||
m_ShapeTri->type (FL_RADIO_BUTTON); | m_ShapeTri->type (FL_RADIO_BUTTON); | ||||
m_PixmapTri.label (m_ShapeTri); | m_PixmapTri.label (m_ShapeTri); | ||||
m_ShapeTri->callback ((Fl_Callback*)cb_Tri); | m_ShapeTri->callback ((Fl_Callback*)cb_Tri); | ||||
m_ShapeSquare = new Fl_LED_Button (0, 55, 23, 23); | |||||
m_ShapeSquare = new Fl_LED_Button (0, 53, 23, 23); | |||||
m_ShapeSquare->type (FL_RADIO_BUTTON); | m_ShapeSquare->type (FL_RADIO_BUTTON); | ||||
m_PixmapSquare.label (m_ShapeSquare); | m_PixmapSquare.label (m_ShapeSquare); | ||||
m_ShapeSquare->callback ((Fl_Callback*)cb_Square); | m_ShapeSquare->callback ((Fl_Callback*)cb_Square); | ||||
m_ShapeSaw = new Fl_LED_Button (0, 75, 23, 23); | |||||
m_ShapeSaw = new Fl_LED_Button (0, 74, 23, 23); | |||||
m_ShapeSaw->type (FL_RADIO_BUTTON); | m_ShapeSaw->type (FL_RADIO_BUTTON); | ||||
m_PixmapSaw.label (m_ShapeSaw); | m_PixmapSaw.label (m_ShapeSaw); | ||||
m_ShapeSaw->callback ((Fl_Callback*)cb_Saw); | m_ShapeSaw->callback ((Fl_Callback*)cb_Saw); | ||||
m_TheTabs = new Fl_Tabs (40, 14, 119, 90, ""); | |||||
m_TheTabs = new Fl_Tabs (50, 10, 119, 88, ""); | |||||
m_TheTabs->box (FL_PLASTIC_DOWN_BOX); | m_TheTabs->box (FL_PLASTIC_DOWN_BOX); | ||||
m_TheTabs->color (Info->GUI_COLOUR); | m_TheTabs->color (Info->GUI_COLOUR); | ||||
add (m_TheTabs); | add (m_TheTabs); | ||||
m_CtlGroup = new Fl_Group (40, 28, 119, 66, "Control"); | |||||
m_CtlGroup = new Fl_Group (50, 24, 119, 64, "Control"); | |||||
m_CtlGroup->labelsize (10); | m_CtlGroup->labelsize (10); | ||||
m_TheTabs->add (m_CtlGroup); | m_TheTabs->add (m_CtlGroup); | ||||
m_Perd = new Fl_Knob (70, 30, 60, 60, "Period"); | |||||
m_Perd = new Fl_Knob (85, 30, 50, 50, "Period"); | |||||
m_Perd->user_data ((void*)(this)); | m_Perd->user_data ((void*)(this)); | ||||
m_Perd->color (Info->GUI_COLOUR); | m_Perd->color (Info->GUI_COLOUR); | ||||
m_Perd->type (Fl_Knob::LINELIN); | m_Perd->type (Fl_Knob::LINELIN); | ||||
@@ -170,11 +74,11 @@ m_PixmapSaw (image_Saw) { | |||||
m_Perd->callback ((Fl_Callback*)cb_Perd); | m_Perd->callback ((Fl_Callback*)cb_Perd); | ||||
m_CtlGroup->add (m_Perd); | m_CtlGroup->add (m_Perd); | ||||
m_NumGroup = new Fl_Group (40, 28, 119, 66, "Numbers"); | |||||
m_NumGroup = new Fl_Group (50, 24, 119, 64, "Numbers"); | |||||
m_NumGroup->labelsize (10); | m_NumGroup->labelsize (10); | ||||
m_TheTabs->add (m_NumGroup); | m_TheTabs->add (m_NumGroup); | ||||
m_NumPerd = new Fl_Counter (45, 35, 110, 20, "Period (Secs)"); | |||||
m_NumPerd = new Fl_Counter (55, 30, 110, 20, "Period (Secs)"); | |||||
m_NumPerd->user_data ((void*)(this)); | m_NumPerd->user_data ((void*)(this)); | ||||
m_NumPerd->textsize (10); | m_NumPerd->textsize (10); | ||||
m_NumPerd->labelsize (10); | m_NumPerd->labelsize (10); | ||||
@@ -188,7 +92,7 @@ m_PixmapSaw (image_Saw) { | |||||
m_NumPerd->callback ((Fl_Callback*)cb_NumPerd); | m_NumPerd->callback ((Fl_Callback*)cb_NumPerd); | ||||
m_NumGroup->add (m_NumPerd); | m_NumGroup->add (m_NumPerd); | ||||
m_NumFreq = new Fl_Counter (45, 70, 110, 20, "Freq (Hz)"); | |||||
m_NumFreq = new Fl_Counter (55, 64, 110, 20, "Freq (Hz)"); | |||||
m_NumFreq->user_data ((void*)(this)); | m_NumFreq->user_data ((void*)(this)); | ||||
m_NumFreq->textsize (10); | m_NumFreq->textsize (10); | ||||
m_NumFreq->labelsize (10); | m_NumFreq->labelsize (10); | ||||
@@ -6,14 +6,14 @@ | |||||
CC = gcc | CC = gcc | ||||
CXX = g++ | CXX = g++ | ||||
CFLAGS = @CFLAGS@ | |||||
CXXFLAGS= @CXXFLAGS@ | |||||
CFLAGS = @CFLAGS@ | |||||
CXXFLAGS= @CXXFLAGS@ | |||||
INCPATH = -I/usr/X11R6/include | INCPATH = -I/usr/X11R6/include | ||||
LINK = g++ -shared | LINK = g++ -shared | ||||
LFLAGS = | |||||
LFLAGS = | |||||
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl | LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl | ||||
MOC = moc | MOC = moc | ||||
UIC = | |||||
UIC = | |||||
TAR = tar -cf | TAR = tar -cf | ||||
GZIP = gzip -9f | GZIP = gzip -9f | ||||
@@ -40,28 +40,32 @@ mandir = @mandir@ | |||||
HEADERS = ../SpiralPlugin.h \ | HEADERS = ../SpiralPlugin.h \ | ||||
../SpiralPluginGUI.h \ | ../SpiralPluginGUI.h \ | ||||
../../ChannelHandler.h \ | |||||
../Widgets/Fl_Knob.H \ | ../Widgets/Fl_Knob.H \ | ||||
../Widgets/Fl_LED_Button.H \ | ../Widgets/Fl_LED_Button.H \ | ||||
../Widgets/Fl_DragBar.H \ | ../Widgets/Fl_DragBar.H \ | ||||
../../Sample.h \ | |||||
../GUI/WS_Sine.h \ | |||||
../GUI/WS_Tri.h \ | |||||
../GUI/WS_Square.h \ | |||||
../GUI/WS_Saw.h \ | |||||
../../Sample.h \ | |||||
../../ChannelHandler.h \ | |||||
LFOPlugin.h \ | LFOPlugin.h \ | ||||
LFOPluginGUI.h | LFOPluginGUI.h | ||||
SOURCES = ../SpiralPlugin.C \ | SOURCES = ../SpiralPlugin.C \ | ||||
../SpiralPluginGUI.C \ | ../SpiralPluginGUI.C \ | ||||
../../ChannelHandler.C \ | |||||
../Widgets/Fl_Knob.cxx \ | ../Widgets/Fl_Knob.cxx \ | ||||
../Widgets/Fl_LED_Button.cxx \ | ../Widgets/Fl_LED_Button.cxx \ | ||||
../Widgets/Fl_DragBar.cxx \ | ../Widgets/Fl_DragBar.cxx \ | ||||
../../ChannelHandler.C \ | |||||
../../Sample.C \ | ../../Sample.C \ | ||||
LFOPlugin.C \ | LFOPlugin.C \ | ||||
LFOPluginGUI.C | LFOPluginGUI.C | ||||
OBJECTS = ../SpiralPlugin.o \ | OBJECTS = ../SpiralPlugin.o \ | ||||
../SpiralPluginGUI.o \ | ../SpiralPluginGUI.o \ | ||||
../../ChannelHandler.o \ | |||||
../Widgets/Fl_Knob.o \ | ../Widgets/Fl_Knob.o \ | ||||
../Widgets/Fl_LED_Button.o \ | ../Widgets/Fl_LED_Button.o \ | ||||
../Widgets/Fl_DragBar.o \ | ../Widgets/Fl_DragBar.o \ | ||||
../../ChannelHandler.o \ | |||||
../../Sample.o \ | ../../Sample.o \ | ||||
LFOPlugin.o \ | LFOPlugin.o \ | ||||
LFOPluginGUI.o | LFOPluginGUI.o | ||||
@@ -130,10 +134,8 @@ install: | |||||
../SpiralPluginGUI.o: ../SpiralPluginGUI.C \ | ../SpiralPluginGUI.o: ../SpiralPluginGUI.C \ | ||||
../SpiralPluginGUI.h \ | ../SpiralPluginGUI.h \ | ||||
../Widgets/Fl_DragBar.H \ | |||||
../Widgets/Fl_LED_Button.H \ | |||||
../Widgets/Fl_Knob.H \ | |||||
../SpiralPlugin.h \ | ../SpiralPlugin.h \ | ||||
../Widgets/Fl_DragBar.H \ | |||||
../../Sample.h | ../../Sample.h | ||||
../Widgets/Fl_Knob.o: ../Widgets/Fl_Knob.cxx \ | ../Widgets/Fl_Knob.o: ../Widgets/Fl_Knob.cxx \ | ||||
@@ -151,25 +153,26 @@ install: | |||||
LFOPlugin.o: LFOPlugin.C \ | LFOPlugin.o: LFOPlugin.C \ | ||||
LFOPlugin.h \ | LFOPlugin.h \ | ||||
LFOPluginGUI.h \ | |||||
../SpiralPluginGUI.h \ | |||||
../SpiralPlugin.h \ | ../SpiralPlugin.h \ | ||||
../../Sample.h \ | ../../Sample.h \ | ||||
../../SpiralInfo.h \ | ../../SpiralInfo.h \ | ||||
../../Sample.h \ | ../../Sample.h \ | ||||
LFOPluginGUI.h \ | |||||
../Widgets/Fl_Knob.H \ | |||||
../Widgets/Fl_LED_Button.H \ | |||||
../SpiralPluginGUI.h \ | |||||
../Widgets/Fl_DragBar.H \ | |||||
SpiralIcon.xpm | SpiralIcon.xpm | ||||
LFOPluginGUI.o: LFOPluginGUI.C \ | LFOPluginGUI.o: LFOPluginGUI.C \ | ||||
LFOPluginGUI.h \ | LFOPluginGUI.h \ | ||||
../Widgets/Fl_Knob.H \ | |||||
../Widgets/Fl_LED_Button.H \ | |||||
../SpiralPluginGUI.h \ | |||||
../Widgets/Fl_DragBar.H \ | |||||
LFOPlugin.h \ | LFOPlugin.h \ | ||||
../SpiralPlugin.h \ | ../SpiralPlugin.h \ | ||||
../SpiralPluginGUI.h \ | |||||
../Widgets/Fl_DragBar.H \ | |||||
../Widgets/Fl_LED_Button.H \ | |||||
../Widgets/Fl_Knob.H \ | |||||
../GUI/WS_Sine.h \ | |||||
../GUI/WS_Tri.h \ | |||||
../GUI/WS_Square.h \ | |||||
../GUI/WS_Saw.h \ | |||||
../../Sample.h \ | ../../Sample.h \ | ||||
../../SpiralInfo.h \ | ../../SpiralInfo.h \ | ||||
../../Sample.h | ../../Sample.h | ||||
@@ -51,8 +51,8 @@ m_Operator(AND) | |||||
{ | { | ||||
m_Version = 2; | m_Version = 2; | ||||
m_PluginInfo.Name="Logic"; | m_PluginInfo.Name="Logic"; | ||||
m_PluginInfo.Width=75; | |||||
m_PluginInfo.Height=130; | |||||
m_PluginInfo.Width=80; | |||||
m_PluginInfo.Height=140; | |||||
CreatePorts (); | CreatePorts (); | ||||
m_AudioCH->Register("Operator",(int*)&m_Operator); | m_AudioCH->Register("Operator",(int*)&m_Operator); | ||||
@@ -26,7 +26,7 @@ | |||||
LogicPluginGUI::LogicPluginGUI(int w, int h,LogicPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | LogicPluginGUI::LogicPluginGUI(int w, int h,LogicPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | ||||
SpiralPluginGUI(w,h,o,ch) | SpiralPluginGUI(w,h,o,ch) | ||||
{ | { | ||||
int Width=36, Depth=20/*, Pos=0, Count=0*/; | |||||
int Width=38, Depth=20; | |||||
m_AND = new Fl_Button (2, 15, Width, Depth, "AND"); | m_AND = new Fl_Button (2, 15, Width, Depth, "AND"); | ||||
m_AND->type (FL_TOGGLE_BUTTON); | m_AND->type (FL_TOGGLE_BUTTON); | ||||
@@ -37,7 +37,7 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_AND->selection_color (Info->GUI_COLOUR); | m_AND->selection_color (Info->GUI_COLOUR); | ||||
m_AND->callback ((Fl_Callback*)cb_AND); | m_AND->callback ((Fl_Callback*)cb_AND); | ||||
m_OR = new Fl_Button(2, 35, Width, Depth, "OR"); | |||||
m_OR = new Fl_Button(2, 36, Width, Depth, "OR"); | |||||
m_OR->type (FL_TOGGLE_BUTTON); | m_OR->type (FL_TOGGLE_BUTTON); | ||||
m_OR->labelsize (10); | m_OR->labelsize (10); | ||||
m_OR->box (FL_PLASTIC_UP_BOX); | m_OR->box (FL_PLASTIC_UP_BOX); | ||||
@@ -45,7 +45,7 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_OR->selection_color (Info->GUI_COLOUR); | m_OR->selection_color (Info->GUI_COLOUR); | ||||
m_OR->callback ((Fl_Callback*)cb_OR); | m_OR->callback ((Fl_Callback*)cb_OR); | ||||
m_NOT = new Fl_Button (2, 55, Width, Depth, "NOT"); | |||||
m_NOT = new Fl_Button (2, 57, Width, Depth, "NOT"); | |||||
m_NOT->type (FL_TOGGLE_BUTTON); | m_NOT->type (FL_TOGGLE_BUTTON); | ||||
m_NOT->labelsize (10); | m_NOT->labelsize (10); | ||||
m_NOT->box (FL_PLASTIC_UP_BOX); | m_NOT->box (FL_PLASTIC_UP_BOX); | ||||
@@ -53,7 +53,7 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_NOT->selection_color (Info->GUI_COLOUR); | m_NOT->selection_color (Info->GUI_COLOUR); | ||||
m_NOT->callback ((Fl_Callback*)cb_NOT); | m_NOT->callback ((Fl_Callback*)cb_NOT); | ||||
m_NAND = new Fl_Button(2, 75, Width, Depth, "NAND"); | |||||
m_NAND = new Fl_Button(2, 78, Width, Depth, "NAND"); | |||||
m_NAND->type (FL_TOGGLE_BUTTON); | m_NAND->type (FL_TOGGLE_BUTTON); | ||||
m_NAND->labelsize (10); | m_NAND->labelsize (10); | ||||
m_NAND->box (FL_PLASTIC_UP_BOX); | m_NAND->box (FL_PLASTIC_UP_BOX); | ||||
@@ -61,7 +61,7 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_NAND->selection_color (Info->GUI_COLOUR); | m_NAND->selection_color (Info->GUI_COLOUR); | ||||
m_NAND->callback ((Fl_Callback*)cb_NAND); | m_NAND->callback ((Fl_Callback*)cb_NAND); | ||||
m_NOR = new Fl_Button (38, 15, Width, Depth, "NOR"); | |||||
m_NOR = new Fl_Button (41, 15, Width, Depth, "NOR"); | |||||
m_NOR->type (FL_TOGGLE_BUTTON); | m_NOR->type (FL_TOGGLE_BUTTON); | ||||
m_NOR->labelsize (10); | m_NOR->labelsize (10); | ||||
m_NOR->box (FL_PLASTIC_UP_BOX); | m_NOR->box (FL_PLASTIC_UP_BOX); | ||||
@@ -69,7 +69,7 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_NOR->selection_color (Info->GUI_COLOUR); | m_NOR->selection_color (Info->GUI_COLOUR); | ||||
m_NOR->callback ((Fl_Callback*)cb_NOR); | m_NOR->callback ((Fl_Callback*)cb_NOR); | ||||
m_XOR = new Fl_Button (38, 35, Width, Depth, "XOR"); | |||||
m_XOR = new Fl_Button (41, 36, Width, Depth, "XOR"); | |||||
m_XOR->type (FL_TOGGLE_BUTTON); | m_XOR->type (FL_TOGGLE_BUTTON); | ||||
m_XOR->labelsize (10); | m_XOR->labelsize (10); | ||||
m_XOR->box (FL_PLASTIC_UP_BOX); | m_XOR->box (FL_PLASTIC_UP_BOX); | ||||
@@ -77,7 +77,7 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_XOR->selection_color (Info->GUI_COLOUR); | m_XOR->selection_color (Info->GUI_COLOUR); | ||||
m_XOR->callback ((Fl_Callback*)cb_XOR); | m_XOR->callback ((Fl_Callback*)cb_XOR); | ||||
m_XNOR = new Fl_Button (38, 55, Width, Depth, "XNOR"); | |||||
m_XNOR = new Fl_Button (41, 57, Width, Depth, "XNOR"); | |||||
m_XNOR->type (FL_TOGGLE_BUTTON); | m_XNOR->type (FL_TOGGLE_BUTTON); | ||||
m_XNOR->labelsize (10); | m_XNOR->labelsize (10); | ||||
m_XNOR->box (FL_PLASTIC_UP_BOX); | m_XNOR->box (FL_PLASTIC_UP_BOX); | ||||
@@ -85,7 +85,7 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_XNOR->selection_color (Info->GUI_COLOUR); | m_XNOR->selection_color (Info->GUI_COLOUR); | ||||
m_XNOR->callback ((Fl_Callback*)cb_XNOR); | m_XNOR->callback ((Fl_Callback*)cb_XNOR); | ||||
m_Inputs = new Fl_Counter (7, 97, 60, 20, "Inputs"); | |||||
m_Inputs = new Fl_Counter (10, 104, 60, 20, "Inputs"); | |||||
m_Inputs->labelsize (10); | m_Inputs->labelsize (10); | ||||
m_Inputs->type (FL_SIMPLE_COUNTER); | m_Inputs->type (FL_SIMPLE_COUNTER); | ||||
m_Inputs->box (FL_PLASTIC_UP_BOX); | m_Inputs->box (FL_PLASTIC_UP_BOX); | ||||
@@ -62,7 +62,7 @@ m_WriteGrain(0) | |||||
{ | { | ||||
m_PluginInfo.Name="Masher"; | m_PluginInfo.Name="Masher"; | ||||
m_PluginInfo.Width=120; | m_PluginInfo.Width=120; | ||||
m_PluginInfo.Height=130; | |||||
m_PluginInfo.Height=140; | |||||
m_PluginInfo.NumInputs=3; | m_PluginInfo.NumInputs=3; | ||||
m_PluginInfo.NumOutputs=1; | m_PluginInfo.NumOutputs=1; | ||||
m_PluginInfo.PortTips.push_back("Input"); | m_PluginInfo.PortTips.push_back("Input"); | ||||
@@ -26,8 +26,8 @@ MasherPluginGUI::MasherPluginGUI(int w, int h,MasherPlugin *o,ChannelHandler *ch | |||||
SpiralPluginGUI(w,h,o,ch) | SpiralPluginGUI(w,h,o,ch) | ||||
{ | { | ||||
m_Plugin=o; | m_Plugin=o; | ||||
m_Pitch = new Fl_Knob(5,15,40,40,"GrainPitch"); | |||||
m_Pitch = new Fl_Knob (5, 20, 40, 40, "GrainPitch"); | |||||
m_Pitch->type(Fl_Knob::DOTLIN); | m_Pitch->type(Fl_Knob::DOTLIN); | ||||
m_Pitch->color(Info->GUI_COLOUR); | m_Pitch->color(Info->GUI_COLOUR); | ||||
m_Pitch->labelsize(10); | m_Pitch->labelsize(10); | ||||
@@ -35,8 +35,8 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_Pitch->step(0.001); | m_Pitch->step(0.001); | ||||
m_Pitch->value(1); | m_Pitch->value(1); | ||||
m_Pitch->callback((Fl_Callback*)cb_Pitch); | m_Pitch->callback((Fl_Callback*)cb_Pitch); | ||||
m_Random = new Fl_Knob(70,15,40,40,"Randomness"); | |||||
m_Random = new Fl_Knob (70, 20, 40, 40, "Randomness"); | |||||
m_Random->type(Fl_Knob::DOTLIN); | m_Random->type(Fl_Knob::DOTLIN); | ||||
m_Random->color(Info->GUI_COLOUR); | m_Random->color(Info->GUI_COLOUR); | ||||
m_Random->labelsize(10); | m_Random->labelsize(10); | ||||
@@ -45,7 +45,7 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_Random->value(1); | m_Random->value(1); | ||||
m_Random->callback((Fl_Callback*)cb_Random); | m_Random->callback((Fl_Callback*)cb_Random); | ||||
m_GrainStoreSize = new Fl_Knob(5,70,40,40,"Num Grains"); | |||||
m_GrainStoreSize = new Fl_Knob (5, 80, 40, 40, "Num Grains"); | |||||
m_GrainStoreSize->type(Fl_Knob::DOTLIN); | m_GrainStoreSize->type(Fl_Knob::DOTLIN); | ||||
m_GrainStoreSize->color(Info->GUI_COLOUR); | m_GrainStoreSize->color(Info->GUI_COLOUR); | ||||
m_GrainStoreSize->labelsize(10); | m_GrainStoreSize->labelsize(10); | ||||
@@ -54,7 +54,7 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_GrainStoreSize->value(1); | m_GrainStoreSize->value(1); | ||||
m_GrainStoreSize->callback((Fl_Callback*)cb_GrainStoreSize); | m_GrainStoreSize->callback((Fl_Callback*)cb_GrainStoreSize); | ||||
m_Density = new Fl_Knob(70,70,40,40,"Density"); | |||||
m_Density = new Fl_Knob (70, 80, 40, 40, "Density"); | |||||
m_Density->type(Fl_Knob::DOTLIN); | m_Density->type(Fl_Knob::DOTLIN); | ||||
m_Density->color(Info->GUI_COLOUR); | m_Density->color(Info->GUI_COLOUR); | ||||
m_Density->labelsize(10); | m_Density->labelsize(10); | ||||
@@ -62,11 +62,11 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_Density->step(1); | m_Density->step(1); | ||||
m_Density->value(1); | m_Density->value(1); | ||||
m_Density->callback((Fl_Callback*)cb_Density); | m_Density->callback((Fl_Callback*)cb_Density); | ||||
end(); | end(); | ||||
} | } | ||||
extern "C" int sprintf(char *,const char *,...); | |||||
extern "C" int sprintf(char *,const char *,...); | |||||
void MasherPluginGUI::UpdateValues(SpiralPlugin *o) | void MasherPluginGUI::UpdateValues(SpiralPlugin *o) | ||||
{ | { | ||||
@@ -65,8 +65,8 @@ m_CurrentNote(0) | |||||
m_RefCount++; | m_RefCount++; | ||||
m_PluginInfo.Name="Midi"; | m_PluginInfo.Name="Midi"; | ||||
m_PluginInfo.Width=85; | |||||
m_PluginInfo.Height=155; | |||||
m_PluginInfo.Width=80; | |||||
m_PluginInfo.Height=140; | |||||
m_PluginInfo.NumInputs=2; | m_PluginInfo.NumInputs=2; | ||||
m_PluginInfo.NumOutputs=6; | m_PluginInfo.NumOutputs=6; | ||||
m_PluginInfo.PortTips.push_back("Note CV"); | m_PluginInfo.PortTips.push_back("Note CV"); | ||||
@@ -14,7 +14,7 @@ | |||||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | ||||
* along with this program; if not, write to the Free Software | * along with this program; if not, write to the Free Software | ||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||||
*/ | |||||
*/ | |||||
#include "MidiPluginGUI.h" | #include "MidiPluginGUI.h" | ||||
#include <FL/fl_draw.h> | #include <FL/fl_draw.h> | ||||
@@ -30,41 +30,41 @@ int OptionsList(const vector<string> &List) | |||||
Fl_Button *Ok = new Fl_Button(10,275,40,20,"Ok"); | Fl_Button *Ok = new Fl_Button(10,275,40,20,"Ok"); | ||||
Ok->labelsize(10); | Ok->labelsize(10); | ||||
Fl_Button *Cancel = new Fl_Button(50,275,40,20,"Cancel"); | Fl_Button *Cancel = new Fl_Button(50,275,40,20,"Cancel"); | ||||
Cancel->labelsize(10); | |||||
Cancel->labelsize(10); | |||||
Fl_Hold_Browser* Browser = new Fl_Hold_Browser(5,5,290,265,""); | Fl_Hold_Browser* Browser = new Fl_Hold_Browser(5,5,290,265,""); | ||||
for (vector<string>::const_iterator i = List.begin(); | for (vector<string>::const_iterator i = List.begin(); | ||||
i!=List.end(); i++) | i!=List.end(); i++) | ||||
{ | { | ||||
Browser->add(i->c_str()); | Browser->add(i->c_str()); | ||||
} | } | ||||
Win->show(); | Win->show(); | ||||
int Choice=-1; | int Choice=-1; | ||||
for (;;) | |||||
for (;;) | |||||
{ | { | ||||
Fl::wait(); | Fl::wait(); | ||||
Fl_Widget* o = Fl::readqueue(); | Fl_Widget* o = Fl::readqueue(); | ||||
if (o==Ok || o==Browser) | |||||
{ | |||||
if (o==Ok || o==Browser) | |||||
{ | |||||
Choice=Browser->value(); | Choice=Browser->value(); | ||||
Win->hide(); | Win->hide(); | ||||
delete Win; | delete Win; | ||||
break; | |||||
break; | |||||
} | } | ||||
if (o==Cancel) | |||||
{ | |||||
Choice=-1; | |||||
if (o==Cancel) | |||||
{ | |||||
Choice=-1; | |||||
Win->hide(); | Win->hide(); | ||||
delete Win; | delete Win; | ||||
break; | |||||
break; | |||||
} | } | ||||
if (o==Win) break; | |||||
if (o==Win) break; | |||||
} | } | ||||
return Choice; | return Choice; | ||||
} | } | ||||
@@ -73,7 +73,7 @@ int OptionsList(const vector<string> &List) | |||||
MidiPluginGUI::MidiPluginGUI(int w, int h,MidiPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | MidiPluginGUI::MidiPluginGUI(int w, int h,MidiPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | ||||
SpiralPluginGUI(w,h,o,ch) | SpiralPluginGUI(w,h,o,ch) | ||||
{ | { | ||||
m_DeviceNum = new Fl_Counter (15, 30, 55, 20, "Channel"); | |||||
m_DeviceNum = new Fl_Counter (12, 15, 56, 20, "Channel"); | |||||
m_DeviceNum->type (FL_SIMPLE_COUNTER); | m_DeviceNum->type (FL_SIMPLE_COUNTER); | ||||
m_DeviceNum->box (FL_PLASTIC_UP_BOX); | m_DeviceNum->box (FL_PLASTIC_UP_BOX); | ||||
m_DeviceNum->color (Info->GUI_COLOUR); | m_DeviceNum->color (Info->GUI_COLOUR); | ||||
@@ -81,7 +81,7 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_DeviceNum->value(1); | m_DeviceNum->value(1); | ||||
m_DeviceNum->callback((Fl_Callback*)cb_DeviceNum, NULL); | m_DeviceNum->callback((Fl_Callback*)cb_DeviceNum, NULL); | ||||
m_NoteCut = new Fl_Button (2, 70, 81, 20, "Note Cut"); | |||||
m_NoteCut = new Fl_Button (0, 52, 80, 20, "Note Cut"); | |||||
m_NoteCut->type (FL_TOGGLE_BUTTON); | m_NoteCut->type (FL_TOGGLE_BUTTON); | ||||
m_NoteCut->box (FL_PLASTIC_UP_BOX); | m_NoteCut->box (FL_PLASTIC_UP_BOX); | ||||
m_NoteCut->color (Info->GUI_COLOUR); | m_NoteCut->color (Info->GUI_COLOUR); | ||||
@@ -89,7 +89,7 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_NoteCut->labelsize(10); | m_NoteCut->labelsize(10); | ||||
m_NoteCut->callback((Fl_Callback*)cb_NoteCut, NULL); | m_NoteCut->callback((Fl_Callback*)cb_NoteCut, NULL); | ||||
m_ContinuousNotes = new Fl_Button (2, 90, 81, 20, "Cont Notes"); | |||||
m_ContinuousNotes = new Fl_Button (0, 72, 80, 20, "Cont Notes"); | |||||
m_ContinuousNotes->type (FL_TOGGLE_BUTTON); | m_ContinuousNotes->type (FL_TOGGLE_BUTTON); | ||||
m_ContinuousNotes->box (FL_PLASTIC_UP_BOX); | m_ContinuousNotes->box (FL_PLASTIC_UP_BOX); | ||||
m_ContinuousNotes->color (Info->GUI_COLOUR); | m_ContinuousNotes->color (Info->GUI_COLOUR); | ||||
@@ -97,14 +97,14 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_ContinuousNotes->labelsize(10); | m_ContinuousNotes->labelsize(10); | ||||
m_ContinuousNotes->callback((Fl_Callback*)cb_ContinuousNotes, NULL); | m_ContinuousNotes->callback((Fl_Callback*)cb_ContinuousNotes, NULL); | ||||
m_AddControl = new Fl_Button (2, 110, 81, 20, "Add Control"); | |||||
m_AddControl = new Fl_Button (0, 92, 80, 20, "Add Control"); | |||||
m_AddControl->box (FL_PLASTIC_UP_BOX); | m_AddControl->box (FL_PLASTIC_UP_BOX); | ||||
m_AddControl->color (Info->GUI_COLOUR); | m_AddControl->color (Info->GUI_COLOUR); | ||||
m_AddControl->selection_color (Info->GUI_COLOUR); | m_AddControl->selection_color (Info->GUI_COLOUR); | ||||
m_AddControl->labelsize(10); | m_AddControl->labelsize(10); | ||||
m_AddControl->callback((Fl_Callback*)cb_AddControl, NULL); | m_AddControl->callback((Fl_Callback*)cb_AddControl, NULL); | ||||
m_RemoveControl = new Fl_Button (2, 130, 81, 20, "Remove Control"); | |||||
m_RemoveControl = new Fl_Button (0, 112, 80, 20, "Remove Control"); | |||||
m_RemoveControl->box (FL_PLASTIC_UP_BOX); | m_RemoveControl->box (FL_PLASTIC_UP_BOX); | ||||
m_RemoveControl->color (Info->GUI_COLOUR); | m_RemoveControl->color (Info->GUI_COLOUR); | ||||
m_RemoveControl->selection_color (Info->GUI_COLOUR); | m_RemoveControl->selection_color (Info->GUI_COLOUR); | ||||
@@ -120,7 +120,7 @@ void MidiPluginGUI::UpdateValues(SpiralPlugin *o) | |||||
//// Callbacks //// | //// Callbacks //// | ||||
inline void MidiPluginGUI::cb_DeviceNum_i(Fl_Counter* o, void* v) | inline void MidiPluginGUI::cb_DeviceNum_i(Fl_Counter* o, void* v) | ||||
{ | |||||
{ | |||||
if (o->value()<1) o->value(1); | if (o->value()<1) o->value(1); | ||||
if (o->value()>128) o->value(128); | if (o->value()>128) o->value(128); | ||||
@@ -42,8 +42,8 @@ m_Triggered (false) | |||||
m_GUIArgs.Switch = 1; | m_GUIArgs.Switch = 1; | ||||
m_GUIArgs.Echo = 1; | m_GUIArgs.Echo = 1; | ||||
m_PluginInfo.Name = "MixSwitch"; | m_PluginInfo.Name = "MixSwitch"; | ||||
m_PluginInfo.Width = 93; | |||||
m_PluginInfo.Height = 55; | |||||
m_PluginInfo.Width = 80; | |||||
m_PluginInfo.Height = 80; | |||||
CreatePorts (); | CreatePorts (); | ||||
// Channels | // Channels | ||||
m_AudioCH->Register ("Chans", &m_GUIArgs.Chans); | m_AudioCH->Register ("Chans", &m_GUIArgs.Chans); | ||||
@@ -27,7 +27,18 @@ | |||||
MixSwitchPluginGUI::MixSwitchPluginGUI (int w, int h, MixSwitchPlugin *o, ChannelHandler *ch, const HostInfo *Info) : | MixSwitchPluginGUI::MixSwitchPluginGUI (int w, int h, MixSwitchPlugin *o, ChannelHandler *ch, const HostInfo *Info) : | ||||
SpiralPluginGUI (w, h, o, ch) | SpiralPluginGUI (w, h, o, ch) | ||||
{ | { | ||||
m_Chans = new Fl_Counter (5, 20, 40, 20, "Channels"); | |||||
m_Switch = new Fl_Counter (15, 14, 50, 20, "Select"); | |||||
m_Switch->labelsize (10); | |||||
m_Switch->type (FL_SIMPLE_COUNTER); | |||||
m_Switch->box (FL_PLASTIC_UP_BOX); | |||||
m_Switch->color (Info->GUI_COLOUR); | |||||
m_Switch->selection_color (Info->GUI_COLOUR); | |||||
m_Switch->step (1); | |||||
m_Switch->value (1); | |||||
m_Switch->callback ((Fl_Callback*) cb_Switch); | |||||
add (m_Switch); | |||||
m_Chans = new Fl_Counter (15, 46, 50, 20, "Channels"); | |||||
m_Chans->labelsize (10); | m_Chans->labelsize (10); | ||||
m_Chans->type (FL_SIMPLE_COUNTER); | m_Chans->type (FL_SIMPLE_COUNTER); | ||||
m_Chans->box (FL_PLASTIC_UP_BOX); | m_Chans->box (FL_PLASTIC_UP_BOX); | ||||
@@ -38,16 +49,7 @@ SpiralPluginGUI (w, h, o, ch) | |||||
m_Chans->callback ((Fl_Callback*) cb_Chans); | m_Chans->callback ((Fl_Callback*) cb_Chans); | ||||
add (m_Chans); | add (m_Chans); | ||||
m_Switch = new Fl_Counter (49, 20, 40, 20, "Select"); | |||||
m_Switch->labelsize (10); | |||||
m_Switch->type (FL_SIMPLE_COUNTER); | |||||
m_Switch->box (FL_PLASTIC_UP_BOX); | |||||
m_Switch->color (Info->GUI_COLOUR); | |||||
m_Switch->selection_color (Info->GUI_COLOUR); | |||||
m_Switch->step (1); | |||||
m_Switch->value (1); | |||||
m_Switch->callback ((Fl_Callback*) cb_Switch); | |||||
add (m_Switch); | |||||
end(); | |||||
} | } | ||||
inline void MixSwitchPluginGUI::cb_Chans_i (Fl_Counter* o, void* v) { | inline void MixSwitchPluginGUI::cb_Chans_i (Fl_Counter* o, void* v) { | ||||
@@ -52,7 +52,7 @@ m_NumChannels(0) | |||||
m_Version = 2; | m_Version = 2; | ||||
m_PluginInfo.Name="Mixer"; | m_PluginInfo.Name="Mixer"; | ||||
m_PluginInfo.Width=80; | m_PluginInfo.Width=80; | ||||
m_PluginInfo.Height=145; | |||||
m_PluginInfo.Height=140; | |||||
CreatePorts (); | CreatePorts (); | ||||
for (int n=0; n<MAX_CHANNELS; n++) m_ChannelVal[n]=1.0f; | for (int n=0; n<MAX_CHANNELS; n++) m_ChannelVal[n]=1.0f; | ||||
m_AudioCH->Register("Value", &m_GUIArgs.Value); | m_AudioCH->Register("Value", &m_GUIArgs.Value); | ||||
@@ -27,14 +27,14 @@ SpiralPluginGUI(w,h,o,ch) | |||||
{ | { | ||||
m_GUIColour=(Fl_Color)Info->GUI_COLOUR; | m_GUIColour=(Fl_Color)Info->GUI_COLOUR; | ||||
for (int n=0; n<MAX_CHANNELS; n++) Numbers[n]=n; | for (int n=0; n<MAX_CHANNELS; n++) Numbers[n]=n; | ||||
m_MainPack = new Fl_Pack(0, 20, w, 100); | |||||
m_MainPack = new Fl_Pack(0, 15, w, 100); | |||||
m_MainPack->type (FL_HORIZONTAL); | m_MainPack->type (FL_HORIZONTAL); | ||||
add (m_MainPack); | add (m_MainPack); | ||||
// start with four... | // start with four... | ||||
AddChan(); AddChan(); AddChan(); AddChan(); | AddChan(); AddChan(); AddChan(); AddChan(); | ||||
m_Buttons = new Fl_Pack (0, 122, 45, 20); | |||||
m_Buttons = new Fl_Pack (0, 118, 45, 20); | |||||
m_Buttons->type (FL_HORIZONTAL); | m_Buttons->type (FL_HORIZONTAL); | ||||
add (m_Buttons); | add (m_Buttons); | ||||
m_Delete = new Fl_Button (2, 0, 20, 20, "-"); | m_Delete = new Fl_Button (2, 0, 20, 20, "-"); | ||||
@@ -49,7 +49,7 @@ NoteSnapPlugin::NoteSnapPlugin() : | |||||
m_Out(0) | m_Out(0) | ||||
{ | { | ||||
m_PluginInfo.Name="Note Snap"; | m_PluginInfo.Name="Note Snap"; | ||||
m_PluginInfo.Width=90; | |||||
m_PluginInfo.Width=80; | |||||
m_PluginInfo.Height=80; | m_PluginInfo.Height=80; | ||||
m_PluginInfo.NumInputs=1; | m_PluginInfo.NumInputs=1; | ||||
m_PluginInfo.NumOutputs=2; | m_PluginInfo.NumOutputs=2; | ||||
@@ -24,21 +24,21 @@ | |||||
NoteSnapPluginGUI::NoteSnapPluginGUI(int w, int h,NoteSnapPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | NoteSnapPluginGUI::NoteSnapPluginGUI(int w, int h,NoteSnapPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | ||||
SpiralPluginGUI(w,h,o,ch) | SpiralPluginGUI(w,h,o,ch) | ||||
{ | |||||
{ | |||||
int KeyWidth=10,Note,Pos=0,Count=0; | int KeyWidth=10,Note,Pos=0,Count=0; | ||||
for (int n=0; n<NUM_KEYS; n++) | for (int n=0; n<NUM_KEYS; n++) | ||||
{ | { | ||||
m_Num[n]=n; | m_Num[n]=n; | ||||
Note = n%12; | Note = n%12; | ||||
if (Note!=1 && Note!=3 && Note!=6 && Note!=8 && Note!=10) | |||||
if (Note!=1 && Note!=3 && Note!=6 && Note!=8 && Note!=10) | |||||
{ | { | ||||
Count++; | |||||
Pos=Count*KeyWidth; | Pos=Count*KeyWidth; | ||||
m_Key[n] = new Fl_Button(Pos,20,KeyWidth,50,""); | |||||
Count++; | |||||
m_Key[n] = new Fl_Button (Pos+5, 20, KeyWidth, 50, ""); | |||||
m_Key[n]->type(1); | m_Key[n]->type(1); | ||||
m_Key[n]->selection_color(FL_RED); | |||||
m_Key[n]->selection_color(FL_RED); | |||||
m_Key[n]->box(FL_THIN_UP_BOX); | m_Key[n]->box(FL_THIN_UP_BOX); | ||||
m_Key[n]->labelsize(10); | m_Key[n]->labelsize(10); | ||||
m_Key[n]->when(FL_WHEN_CHANGED); | m_Key[n]->when(FL_WHEN_CHANGED); | ||||
@@ -46,18 +46,18 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_Key[n]->color(FL_WHITE); | m_Key[n]->color(FL_WHITE); | ||||
m_Key[n]->callback((Fl_Callback*)cb_Key, &m_Num[n]); | m_Key[n]->callback((Fl_Callback*)cb_Key, &m_Num[n]); | ||||
add(m_Key[n]); | add(m_Key[n]); | ||||
} | |||||
} | |||||
} | } | ||||
Count=0; | Count=0; | ||||
for (int n=0; n<NUM_KEYS; n++) | for (int n=0; n<NUM_KEYS; n++) | ||||
{ | { | ||||
Note = n%12; | Note = n%12; | ||||
if (Note==1 || Note==3 || Note==6 || Note==8 || Note==10) | |||||
if (Note==1 || Note==3 || Note==6 || Note==8 || Note==10) | |||||
{ | { | ||||
m_Key[n] = new Fl_Button(Pos+5,20,KeyWidth,30,""); | |||||
m_Key[n] = new Fl_Button (Pos+10, 20, KeyWidth, 30, ""); | |||||
m_Key[n]->type(1); | m_Key[n]->type(1); | ||||
m_Key[n]->selection_color(FL_RED); | |||||
m_Key[n]->selection_color(FL_RED); | |||||
m_Key[n]->box(FL_THIN_UP_BOX); | m_Key[n]->box(FL_THIN_UP_BOX); | ||||
m_Key[n]->labelsize(10); | m_Key[n]->labelsize(10); | ||||
m_Key[n]->when(FL_WHEN_CHANGED); | m_Key[n]->when(FL_WHEN_CHANGED); | ||||
@@ -67,11 +67,11 @@ SpiralPluginGUI(w,h,o,ch) | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
Count++; | |||||
Pos=Count*KeyWidth; | Pos=Count*KeyWidth; | ||||
Count++; | |||||
} | } | ||||
} | } | ||||
end(); | end(); | ||||
} | } | ||||
@@ -52,7 +52,7 @@ m_Constant(0) | |||||
m_Version=2; | m_Version=2; | ||||
m_PluginInfo.Name="Operator"; | m_PluginInfo.Name="Operator"; | ||||
m_PluginInfo.Width=90; | |||||
m_PluginInfo.Width=120; | |||||
m_PluginInfo.Height=80; | m_PluginInfo.Height=80; | ||||
m_PluginInfo.NumInputs=2; | m_PluginInfo.NumInputs=2; | ||||
m_PluginInfo.NumOutputs=1; | m_PluginInfo.NumOutputs=1; | ||||
@@ -83,7 +83,6 @@ SpiralGUIType *OperatorPlugin::CreateGUI() | |||||
void OperatorPlugin::Execute() | void OperatorPlugin::Execute() | ||||
{ | { | ||||
float Freq=0, OldFreq=0; | float Freq=0, OldFreq=0; | ||||
switch (m_Operator) | switch (m_Operator) | ||||
{ | { | ||||
case ADD : | case ADD : | ||||
@@ -136,30 +135,32 @@ void OperatorPlugin::Execute() | |||||
} | } | ||||
} | } | ||||
break; | break; | ||||
case MUL : | |||||
case MUL : | |||||
if (InputExists(1)) | if (InputExists(1)) | ||||
{ | { | ||||
for (int n=0; n<m_HostInfo->BUFSIZE; n++) | for (int n=0; n<m_HostInfo->BUFSIZE; n++) | ||||
{ | { | ||||
SetOutput(0,n,GetInput(0,n)*GetInput(1,n)); | SetOutput(0,n,GetInput(0,n)*GetInput(1,n)); | ||||
} | |||||
} | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
for (int n=0; n<m_HostInfo->BUFSIZE; n++) | for (int n=0; n<m_HostInfo->BUFSIZE; n++) | ||||
{ | { | ||||
SetOutput(0,n,GetInput(0,n)*m_Constant); | SetOutput(0,n,GetInput(0,n)*m_Constant); | ||||
} | |||||
} | |||||
} | } | ||||
break; | break; | ||||
default: | |||||
break; | |||||
} | } | ||||
} | } | ||||
void OperatorPlugin::ExecuteCommands() | void OperatorPlugin::ExecuteCommands() | ||||
{ | { | ||||
} | } | ||||
void OperatorPlugin::StreamOut(ostream &s) | |||||
void OperatorPlugin::StreamOut(ostream &s) | |||||
{ | { | ||||
s<<m_Version<<endl; | s<<m_Version<<endl; | ||||
s<<m_Constant<<" "; | s<<m_Constant<<" "; | ||||
@@ -14,54 +14,61 @@ | |||||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | ||||
* along with this program; if not, write to the Free Software | * along with this program; if not, write to the Free Software | ||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||||
*/ | |||||
*/ | |||||
#include "OperatorPluginGUI.h" | #include "OperatorPluginGUI.h" | ||||
#include <FL/fl_draw.h> | #include <FL/fl_draw.h> | ||||
#include <FL/fl_draw.H> | #include <FL/fl_draw.H> | ||||
#include <stdio.h> | |||||
//#include <stdio.h> | |||||
//////////////////////////////////////////// | //////////////////////////////////////////// | ||||
OperatorPluginGUI::OperatorPluginGUI(int w, int h,OperatorPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | OperatorPluginGUI::OperatorPluginGUI(int w, int h,OperatorPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | ||||
SpiralPluginGUI(w,h,o,ch) | SpiralPluginGUI(w,h,o,ch) | ||||
{ | |||||
int KeyWidth=10,Note,Pos=0,Count=0; | |||||
m_Add = new Fl_Button(5, 15, 15, 15,"+"); | |||||
m_Add->type(1); | |||||
m_Add->value(1); | |||||
m_Add->selection_color(Info->GUI_COLOUR); | |||||
m_Add->callback((Fl_Callback*)cb_Add); | |||||
m_Sub = new Fl_Button(5, 30, 15, 15,"-"); | |||||
m_Sub->type(1); | |||||
m_Sub->selection_color(Info->GUI_COLOUR); | |||||
m_Sub->callback((Fl_Callback*)cb_Sub); | |||||
m_Mul = new Fl_Button(5, 45, 15, 15,"*"); | |||||
m_Mul->type(1); | |||||
m_Mul->selection_color(Info->GUI_COLOUR); | |||||
m_Mul->callback((Fl_Callback*)cb_Mul); | |||||
m_Div = new Fl_Button(5, 60, 15, 15,"/"); | |||||
m_Div->type(1); | |||||
m_Div->selection_color(Info->GUI_COLOUR); | |||||
m_Div->callback((Fl_Callback*)cb_Div); | |||||
m_Constant = new Fl_Input(25, 15, 50, 20, "Constant"); | |||||
m_Constant->color(Info->GUI_COLOUR); | |||||
m_Constant->labelsize(8); | |||||
m_Constant->align(FL_ALIGN_BOTTOM|FL_ALIGN_CENTER); | |||||
m_Constant->textsize(10); | |||||
m_Constant->value("0"); | |||||
m_Constant->when(FL_WHEN_ENTER_KEY); | |||||
m_Constant->callback((Fl_Callback*)cb_Constant); | |||||
end(); | |||||
} | |||||
{ | |||||
m_Constant = new Fl_Counter (5, 15, 110, 20, "Constant"); | |||||
m_Constant->color (Info->GUI_COLOUR); | |||||
m_Constant->box (FL_PLASTIC_UP_BOX); | |||||
m_Constant->labelsize (10); | |||||
m_Constant->align (FL_ALIGN_BOTTOM | FL_ALIGN_CENTER); | |||||
m_Constant->textsize (10); | |||||
m_Constant->value (0); | |||||
m_Constant->step (0.01); | |||||
m_Constant->lstep (1); | |||||
//m_Constant->when (FL_WHEN_ENTER_KEY); | |||||
m_Constant->callback ((Fl_Callback*)cb_Constant); | |||||
m_Add = new Fl_Button (5, 50, 20, 20, "+"); | |||||
m_Add->type (FL_RADIO_BUTTON); | |||||
m_Add->box (FL_PLASTIC_UP_BOX); | |||||
m_Add->color (Info->GUI_COLOUR); | |||||
m_Add->selection_color (Info->GUI_COLOUR); | |||||
m_Add->value (true); | |||||
m_Add->callback ((Fl_Callback*)cb_Add); | |||||
m_Sub = new Fl_Button (35, 50, 20, 20, "-"); | |||||
m_Sub->type (FL_RADIO_BUTTON); | |||||
m_Sub->box (FL_PLASTIC_UP_BOX); | |||||
m_Sub->color (Info->GUI_COLOUR); | |||||
m_Sub->selection_color (Info->GUI_COLOUR); | |||||
m_Sub->callback ((Fl_Callback*)cb_Sub); | |||||
m_Mul = new Fl_Button (65, 50, 20, 20, "x"); | |||||
m_Mul->type (FL_RADIO_BUTTON); | |||||
m_Mul->box (FL_PLASTIC_UP_BOX); | |||||
m_Mul->color (Info->GUI_COLOUR); | |||||
m_Mul->selection_color (Info->GUI_COLOUR); | |||||
m_Mul->callback ((Fl_Callback*)cb_Mul); | |||||
m_Div = new Fl_Button (95, 50, 20, 20, "Ă·"); | |||||
m_Div->type (FL_RADIO_BUTTON); | |||||
m_Div->box (FL_PLASTIC_UP_BOX); | |||||
m_Div->color (Info->GUI_COLOUR); | |||||
m_Div->selection_color (Info->GUI_COLOUR); | |||||
m_Div->callback ((Fl_Callback*)cb_Div); | |||||
end(); | |||||
} | |||||
void OperatorPluginGUI::UpdateValues(SpiralPlugin *o) | void OperatorPluginGUI::UpdateValues(SpiralPlugin *o) | ||||
{ | { | ||||
@@ -76,87 +83,53 @@ void OperatorPluginGUI::UpdateValues(SpiralPlugin *o) | |||||
case OperatorPlugin::SUB : m_Sub->value(true); break; | case OperatorPlugin::SUB : m_Sub->value(true); break; | ||||
case OperatorPlugin::MUL : m_Mul->value(true); break; | case OperatorPlugin::MUL : m_Mul->value(true); break; | ||||
case OperatorPlugin::DIV : m_Div->value(true); break; | case OperatorPlugin::DIV : m_Div->value(true); break; | ||||
default: break; | |||||
} | } | ||||
char t[256]; | |||||
sprintf(t,"%f",Plugin->GetConstant()); | |||||
m_Constant->value(t); | |||||
//char t[256]; | |||||
//sprintf(t,"%f",Plugin->GetConstant()); | |||||
m_Constant->value (Plugin->GetConstant()); | |||||
} | } | ||||
//// Callbacks //// | //// Callbacks //// | ||||
inline void OperatorPluginGUI::cb_Add_i(Fl_Button* o, void* v) | |||||
{ | |||||
if (o->value()) | |||||
{ | |||||
m_Sub->value(false); | |||||
m_Mul->value(false); | |||||
m_Div->value(false); | |||||
m_GUICH->Set("Operator",(int)OperatorPlugin::ADD); | |||||
} | |||||
else | |||||
{ | |||||
o->value(true); | |||||
} | |||||
inline void OperatorPluginGUI::cb_Add_i (Fl_Button* o, void* v) { | |||||
if (o->value()) m_GUICH->Set ("Operator", (int)OperatorPlugin::ADD); | |||||
} | } | ||||
void OperatorPluginGUI::cb_Add(Fl_Button* o, void* v) | |||||
{ ((OperatorPluginGUI*)(o->parent()))->cb_Add_i(o,v);} | |||||
inline void OperatorPluginGUI::cb_Sub_i(Fl_Button* o, void* v) | |||||
{ | |||||
if (o->value()) | |||||
{ | |||||
m_Add->value(false); | |||||
m_Mul->value(false); | |||||
m_Div->value(false); | |||||
m_GUICH->Set("Operator",(int)OperatorPlugin::SUB); | |||||
} | |||||
else | |||||
{ | |||||
o->value(true); | |||||
} | |||||
void OperatorPluginGUI::cb_Add (Fl_Button* o, void* v) { | |||||
((OperatorPluginGUI*)(o->parent()))->cb_Add_i (o, v); | |||||
} | } | ||||
void OperatorPluginGUI::cb_Sub(Fl_Button* o, void* v) | |||||
{ ((OperatorPluginGUI*)(o->parent()))->cb_Sub_i(o,v);} | |||||
inline void OperatorPluginGUI::cb_Mul_i(Fl_Button* o, void* v) | |||||
{ | |||||
if (o->value()) | |||||
{ | |||||
m_Add->value(false); | |||||
m_Sub->value(false); | |||||
m_Div->value(false); | |||||
m_GUICH->Set("Operator",(int)OperatorPlugin::MUL); | |||||
} | |||||
else | |||||
{ | |||||
o->value(true); | |||||
} | |||||
inline void OperatorPluginGUI::cb_Sub_i (Fl_Button* o, void* v) { | |||||
if (o->value()) m_GUICH->Set ("Operator",(int)OperatorPlugin::SUB); | |||||
} | } | ||||
void OperatorPluginGUI::cb_Mul(Fl_Button* o, void* v) | |||||
{ ((OperatorPluginGUI*)(o->parent()))->cb_Mul_i(o,v);} | |||||
inline void OperatorPluginGUI::cb_Div_i(Fl_Button* o, void* v) | |||||
{ | |||||
if (o->value()) | |||||
{ | |||||
m_Add->value(false); | |||||
m_Sub->value(false); | |||||
m_Mul->value(false); | |||||
m_GUICH->Set("Operator",(int)OperatorPlugin::DIV); | |||||
} | |||||
else | |||||
{ | |||||
o->value(true); | |||||
} | |||||
void OperatorPluginGUI::cb_Sub (Fl_Button* o, void* v) { | |||||
((OperatorPluginGUI*)(o->parent()))->cb_Sub_i (o, v); | |||||
} | } | ||||
void OperatorPluginGUI::cb_Div(Fl_Button* o, void* v) | |||||
{ ((OperatorPluginGUI*)(o->parent()))->cb_Div_i(o,v);} | |||||
inline void OperatorPluginGUI::cb_Constant_i(Fl_Input* o, void* v) | |||||
{ | |||||
m_GUICH->Set("Constant",(float)strtod(o->value(),NULL)); | |||||
inline void OperatorPluginGUI::cb_Mul_i (Fl_Button* o, void* v) { | |||||
if (o->value()) m_GUICH->Set ("Operator",(int)OperatorPlugin::MUL); | |||||
} | |||||
void OperatorPluginGUI::cb_Mul (Fl_Button* o, void* v) { | |||||
((OperatorPluginGUI*)(o->parent()))->cb_Mul_i (o, v); | |||||
} | |||||
inline void OperatorPluginGUI::cb_Div_i (Fl_Button* o, void* v) { | |||||
if (o->value()) m_GUICH->Set("Operator",(int)OperatorPlugin::DIV); | |||||
} | |||||
void OperatorPluginGUI::cb_Div (Fl_Button* o, void* v) { | |||||
((OperatorPluginGUI*)(o->parent()))->cb_Div_i (o, v); | |||||
} | |||||
inline void OperatorPluginGUI::cb_Constant_i (Fl_Counter* o, void* v) { | |||||
m_GUICH->Set ("Constant", (float) /*strtod(*/ o->value() /*,NULL)*/); | |||||
} | |||||
void OperatorPluginGUI::cb_Constant (Fl_Counter* o, void* v) { | |||||
((OperatorPluginGUI*)(o->parent()))->cb_Constant_i (o, v); | |||||
} | } | ||||
void OperatorPluginGUI::cb_Constant(Fl_Input* o, void* v) | |||||
{ ((OperatorPluginGUI*)(o->parent()))->cb_Constant_i(o,v);} | |||||
const string OperatorPluginGUI::GetHelpText(const string &loc){ | const string OperatorPluginGUI::GetHelpText(const string &loc){ | ||||
return string("") | return string("") | ||||
@@ -14,50 +14,38 @@ | |||||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | ||||
* along with this program; if not, write to the Free Software | * along with this program; if not, write to the Free Software | ||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||||
*/ | |||||
*/ | |||||
#include <FL/Fl.H> | #include <FL/Fl.H> | ||||
#include <FL/Fl_Window.H> | |||||
#include <FL/Fl_Group.H> | |||||
#include <FL/Fl_Button.H> | #include <FL/Fl_Button.H> | ||||
#include <FL/Fl_Button.H> | |||||
#include <FL/Fl_Input.H> | |||||
#include "../Widgets/Fl_Knob.H" | |||||
#include <FL/Fl_Counter.H> | |||||
#include "../Widgets/Fl_DragBar.H" | #include "../Widgets/Fl_DragBar.H" | ||||
#include "OperatorPlugin.h" | #include "OperatorPlugin.h" | ||||
#include "../SpiralPluginGUI.h" | #include "../SpiralPluginGUI.h" | ||||
#ifndef PluginGUI | |||||
#define PluginGUI | |||||
static const int NUM_KEYS = 12; | |||||
class OperatorPluginGUI : public SpiralPluginGUI | |||||
{ | |||||
public: | |||||
OperatorPluginGUI(int w, int h, OperatorPlugin *o,ChannelHandler *ch,const HostInfo *Info); | |||||
virtual void UpdateValues(SpiralPlugin *o); | |||||
protected: | |||||
const string GetHelpText(const string &loc); | |||||
#ifndef OpPluginGUI | |||||
#define OpPluginGUI | |||||
private: | |||||
Fl_Button *m_Add,*m_Sub,*m_Mul,*m_Div; | |||||
Fl_Input* m_Constant; | |||||
//// Callbacks //// | |||||
inline void cb_Add_i(Fl_Button* o, void* v); | |||||
static void cb_Add(Fl_Button* o, void* v); | |||||
inline void cb_Sub_i(Fl_Button* o, void* v); | |||||
static void cb_Sub(Fl_Button* o, void* v); | |||||
inline void cb_Mul_i(Fl_Button* o, void* v); | |||||
static void cb_Mul(Fl_Button* o, void* v); | |||||
inline void cb_Div_i(Fl_Button* o, void* v); | |||||
static void cb_Div(Fl_Button* o, void* v); | |||||
inline void cb_Constant_i(Fl_Input* o, void* v); | |||||
static void cb_Constant(Fl_Input* o, void* v); | |||||
class OperatorPluginGUI : public SpiralPluginGUI { | |||||
public: | |||||
OperatorPluginGUI (int w, int h, OperatorPlugin *o, ChannelHandler *ch, const HostInfo *Info); | |||||
virtual void UpdateValues(SpiralPlugin *o); | |||||
protected: | |||||
const string GetHelpText(const string &loc); | |||||
private: | |||||
Fl_Button *m_Add, *m_Sub, *m_Mul, *m_Div; | |||||
Fl_Counter *m_Constant; | |||||
//// Callbacks //// | |||||
inline void cb_Add_i (Fl_Button* o, void* v); | |||||
static void cb_Add (Fl_Button* o, void* v); | |||||
inline void cb_Sub_i (Fl_Button* o, void* v); | |||||
static void cb_Sub (Fl_Button* o, void* v); | |||||
inline void cb_Mul_i (Fl_Button* o, void* v); | |||||
static void cb_Mul (Fl_Button* o, void* v); | |||||
inline void cb_Div_i (Fl_Button* o, void* v); | |||||
static void cb_Div (Fl_Button* o, void* v); | |||||
inline void cb_Constant_i (Fl_Counter* o, void* v); | |||||
static void cb_Constant (Fl_Counter* o, void* v); | |||||
}; | }; | ||||
#endif | #endif |
@@ -1,22 +1,19 @@ | |||||
############################################################################# | ############################################################################# | ||||
# Makefile for building OscillatorPlugin.so | # Makefile for building OscillatorPlugin.so | ||||
# Generated by tmake at 22:13, 2001/09/17 | |||||
# Project: OscillatorPlugin | |||||
# Template: app | |||||
############################################################################# | ############################################################################# | ||||
####### Compiler, tools and options | ####### Compiler, tools and options | ||||
CC = gcc | CC = gcc | ||||
CXX = g++ | CXX = g++ | ||||
CFLAGS = @CFLAGS@ | |||||
CXXFLAGS= @CXXFLAGS@ | |||||
CFLAGS = @CFLAGS@ | |||||
CXXFLAGS= @CXXFLAGS@ | |||||
INCPATH = -I/usr/X11R6/include | INCPATH = -I/usr/X11R6/include | ||||
LINK = g++ -shared | LINK = g++ -shared | ||||
LFLAGS = | |||||
LFLAGS = | |||||
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl | LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl | ||||
MOC = moc | MOC = moc | ||||
UIC = | |||||
UIC = | |||||
TAR = tar -cf | TAR = tar -cf | ||||
GZIP = gzip -9f | GZIP = gzip -9f | ||||
@@ -43,34 +40,40 @@ mandir = @mandir@ | |||||
HEADERS = ../SpiralPlugin.h \ | HEADERS = ../SpiralPlugin.h \ | ||||
../SpiralPluginGUI.h \ | ../SpiralPluginGUI.h \ | ||||
../../ChannelHandler.h \ | |||||
../Widgets/Fl_Knob.H \ | ../Widgets/Fl_Knob.H \ | ||||
../Widgets/Fl_DragBar.H \ | ../Widgets/Fl_DragBar.H \ | ||||
../../Sample.h \ | |||||
../Widgets/Fl_LED_Button.H \ | |||||
../GUI/WS_Square.h \ | |||||
../GUI/WS_Noise.h \ | |||||
../GUI/WS_Saw.h \ | |||||
../../Sample.h \ | |||||
../../ChannelHandler.h \ | |||||
OscillatorPlugin.h \ | OscillatorPlugin.h \ | ||||
OscillatorPluginGUI.h | OscillatorPluginGUI.h | ||||
SOURCES = ../SpiralPlugin.C \ | SOURCES = ../SpiralPlugin.C \ | ||||
../SpiralPluginGUI.C \ | ../SpiralPluginGUI.C \ | ||||
../../ChannelHandler.C \ | |||||
../Widgets/Fl_Knob.cxx \ | ../Widgets/Fl_Knob.cxx \ | ||||
../Widgets/Fl_LED_Button.cxx \ | |||||
../Widgets/Fl_DragBar.cxx \ | ../Widgets/Fl_DragBar.cxx \ | ||||
../../Sample.C \ | ../../Sample.C \ | ||||
../../ChannelHandler.C \ | |||||
OscillatorPlugin.C \ | OscillatorPlugin.C \ | ||||
OscillatorPluginGUI.C | OscillatorPluginGUI.C | ||||
OBJECTS = ../SpiralPlugin.o \ | OBJECTS = ../SpiralPlugin.o \ | ||||
../SpiralPluginGUI.o \ | ../SpiralPluginGUI.o \ | ||||
../../ChannelHandler.o \ | |||||
../Widgets/Fl_Knob.o \ | ../Widgets/Fl_Knob.o \ | ||||
../Widgets/Fl_DragBar.o \ | ../Widgets/Fl_DragBar.o \ | ||||
../Widgets/Fl_LED_Button.o \ | |||||
../../Sample.o \ | ../../Sample.o \ | ||||
../../ChannelHandler.o \ | |||||
OscillatorPlugin.o \ | OscillatorPlugin.o \ | ||||
OscillatorPluginGUI.o | OscillatorPluginGUI.o | ||||
INTERFACES = | |||||
UICDECLS = | |||||
UICIMPLS = | |||||
SRCMOC = | |||||
OBJMOC = | |||||
DIST = | |||||
INTERFACES = | |||||
UICDECLS = | |||||
UICIMPLS = | |||||
SRCMOC = | |||||
OBJMOC = | |||||
DIST = | |||||
TARGET = OscillatorPlugin.so | TARGET = OscillatorPlugin.so | ||||
####### Implicit rules | ####### Implicit rules | ||||
@@ -97,7 +100,7 @@ TARGET = OscillatorPlugin.so | |||||
all: $(TARGET) | all: $(TARGET) | ||||
$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) | |||||
$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) | |||||
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) | $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) | ||||
moc: $(SRCMOC) | moc: $(SRCMOC) | ||||
@@ -112,7 +115,7 @@ dist: | |||||
clean: | clean: | ||||
-rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) | -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) | ||||
-rm -f *~ core | -rm -f *~ core | ||||
install: | install: | ||||
$(INSTALL) $(TARGET) $(libdir)/SpiralPlugins | $(INSTALL) $(TARGET) $(libdir)/SpiralPlugins | ||||
@@ -137,6 +140,9 @@ install: | |||||
../Widgets/Fl_Knob.o: ../Widgets/Fl_Knob.cxx \ | ../Widgets/Fl_Knob.o: ../Widgets/Fl_Knob.cxx \ | ||||
../Widgets/Fl_Knob.H | ../Widgets/Fl_Knob.H | ||||
../Widgets/Fl_LED_Button.o: ../Widgets/Fl_LED_Button.cxx \ | |||||
../Widgets/Fl_LED_Button.H | |||||
../Widgets/Fl_DragBar.o: ../Widgets/Fl_DragBar.cxx \ | ../Widgets/Fl_DragBar.o: ../Widgets/Fl_DragBar.cxx \ | ||||
../Widgets/Fl_DragBar.H | ../Widgets/Fl_DragBar.H | ||||
@@ -146,24 +152,24 @@ install: | |||||
OscillatorPlugin.o: OscillatorPlugin.C \ | OscillatorPlugin.o: OscillatorPlugin.C \ | ||||
OscillatorPlugin.h \ | OscillatorPlugin.h \ | ||||
OscillatorPluginGUI.h \ | |||||
../SpiralPlugin.h \ | ../SpiralPlugin.h \ | ||||
../../Sample.h \ | |||||
../SpiralPluginGUI.h \ | |||||
../../SpiralInfo.h \ | ../../SpiralInfo.h \ | ||||
../../Sample.h \ | ../../Sample.h \ | ||||
OscillatorPluginGUI.h \ | |||||
../Widgets/Fl_Knob.H \ | |||||
../SpiralPluginGUI.h \ | |||||
../Widgets/Fl_DragBar.H \ | |||||
SpiralIcon.xpm | SpiralIcon.xpm | ||||
OscillatorPluginGUI.o: OscillatorPluginGUI.C \ | OscillatorPluginGUI.o: OscillatorPluginGUI.C \ | ||||
OscillatorPluginGUI.h \ | OscillatorPluginGUI.h \ | ||||
OscillatorPlugin.h \ | |||||
../Widgets/Fl_Knob.H \ | ../Widgets/Fl_Knob.H \ | ||||
../SpiralPluginGUI.h \ | |||||
../Widgets/Fl_DragBar.H \ | ../Widgets/Fl_DragBar.H \ | ||||
OscillatorPlugin.h \ | |||||
../Widgets/Fl_LED_Button.H \ | |||||
../GUI/WS_Square.h \ | |||||
../GUI/WS_Noise.h \ | |||||
../GUI/WS_Saw.h \ | |||||
../SpiralPluginGUI.h \ | |||||
../SpiralPlugin.h \ | ../SpiralPlugin.h \ | ||||
../../Sample.h \ | |||||
../../SpiralInfo.h \ | ../../SpiralInfo.h \ | ||||
../../Sample.h | ../../Sample.h | ||||
@@ -14,7 +14,7 @@ | |||||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | ||||
* along with this program; if not, write to the Free Software | * along with this program; if not, write to the Free Software | ||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||||
*/ | |||||
*/ | |||||
#include "OscillatorPlugin.h" | #include "OscillatorPlugin.h" | ||||
#include "OscillatorPluginGUI.h" | #include "OscillatorPluginGUI.h" | ||||
#include <FL/Fl_Button.h> | #include <FL/Fl_Button.h> | ||||
@@ -56,6 +56,7 @@ m_Type(SQUARE), | |||||
m_Octave(0), | m_Octave(0), | ||||
m_FineFreq(1.0f), | m_FineFreq(1.0f), | ||||
m_PulseWidth(0.5f), | m_PulseWidth(0.5f), | ||||
m_SHLen (0.1f), | |||||
m_ModAmount(1.0f), | m_ModAmount(1.0f), | ||||
m_Noisev(0), | m_Noisev(0), | ||||
m_FreqModBuf(NULL), | m_FreqModBuf(NULL), | ||||
@@ -63,20 +64,20 @@ m_PulseWidthModBuf(NULL), | |||||
m_SHModBuf(NULL) | m_SHModBuf(NULL) | ||||
{ | { | ||||
m_CyclePos=0; | |||||
m_CyclePos=0; | |||||
m_Note=0; | m_Note=0; | ||||
m_LastFreq=0; | m_LastFreq=0; | ||||
m_PluginInfo.Name="Oscillator"; | m_PluginInfo.Name="Oscillator"; | ||||
m_PluginInfo.Width=245; | |||||
m_PluginInfo.Height=110; | |||||
m_PluginInfo.Width=210; | |||||
m_PluginInfo.Height=140; | |||||
m_PluginInfo.NumInputs=3; | m_PluginInfo.NumInputs=3; | ||||
m_PluginInfo.NumOutputs=1; | m_PluginInfo.NumOutputs=1; | ||||
m_PluginInfo.PortTips.push_back("Frequency CV"); | m_PluginInfo.PortTips.push_back("Frequency CV"); | ||||
m_PluginInfo.PortTips.push_back("PulseWidth CV"); | m_PluginInfo.PortTips.push_back("PulseWidth CV"); | ||||
m_PluginInfo.PortTips.push_back("Sample & Hold length CV"); | m_PluginInfo.PortTips.push_back("Sample & Hold length CV"); | ||||
m_PluginInfo.PortTips.push_back("Output"); | m_PluginInfo.PortTips.push_back("Output"); | ||||
m_AudioCH->Register("Octave",&m_Octave); | m_AudioCH->Register("Octave",&m_Octave); | ||||
m_AudioCH->Register("FineFreq",&m_FineFreq); | m_AudioCH->Register("FineFreq",&m_FineFreq); | ||||
m_AudioCH->Register("PulseWidth",&m_PulseWidth); | m_AudioCH->Register("PulseWidth",&m_PulseWidth); | ||||
@@ -90,7 +91,7 @@ OscillatorPlugin::~OscillatorPlugin() | |||||
} | } | ||||
PluginInfo &OscillatorPlugin::Initialise(const HostInfo *Host) | PluginInfo &OscillatorPlugin::Initialise(const HostInfo *Host) | ||||
{ | |||||
{ | |||||
return SpiralPlugin::Initialise(Host); | return SpiralPlugin::Initialise(Host); | ||||
} | } | ||||
@@ -98,7 +99,7 @@ SpiralGUIType *OscillatorPlugin::CreateGUI() | |||||
{ | { | ||||
return new OscillatorPluginGUI(m_PluginInfo.Width, | return new OscillatorPluginGUI(m_PluginInfo.Width, | ||||
m_PluginInfo.Height, | m_PluginInfo.Height, | ||||
this,m_AudioCH,m_HostInfo); | |||||
this,m_AudioCH,m_HostInfo); | |||||
} | } | ||||
void OscillatorPlugin::Execute() | void OscillatorPlugin::Execute() | ||||
@@ -107,57 +108,57 @@ void OscillatorPlugin::Execute() | |||||
float Freq=0; | float Freq=0; | ||||
float CycleLen=0; | float CycleLen=0; | ||||
int samplelen, PW; | int samplelen, PW; | ||||
switch (m_Type) | switch (m_Type) | ||||
{ | { | ||||
case SQUARE: | case SQUARE: | ||||
for (int n=0; n<m_HostInfo->BUFSIZE; n++) | for (int n=0; n<m_HostInfo->BUFSIZE; n++) | ||||
{ | { | ||||
if (InputExists(0)) Freq=GetInputPitch(0,n); | if (InputExists(0)) Freq=GetInputPitch(0,n); | ||||
else Freq=110; | |||||
Freq*=m_FineFreq; | |||||
else Freq=110; | |||||
Freq*=m_FineFreq; | |||||
if (m_Octave>0) Freq*=1<<(m_Octave); | if (m_Octave>0) Freq*=1<<(m_Octave); | ||||
if (m_Octave<0) Freq/=1<<(-m_Octave); | if (m_Octave<0) Freq/=1<<(-m_Octave); | ||||
CycleLen = m_HostInfo->SAMPLERATE/Freq; | CycleLen = m_HostInfo->SAMPLERATE/Freq; | ||||
PW = (int)((m_PulseWidth+GetInput(IN_PW,n)*m_ModAmount) * CycleLen); | PW = (int)((m_PulseWidth+GetInput(IN_PW,n)*m_ModAmount) * CycleLen); | ||||
// calculate square wave pattern | // calculate square wave pattern | ||||
m_CyclePos++; | m_CyclePos++; | ||||
if (m_CyclePos>CycleLen) m_CyclePos=0; | |||||
if (m_CyclePos>CycleLen) m_CyclePos=0; | |||||
if (m_CyclePos<PW) SetOutput(OUT_MAIN,n,1); | if (m_CyclePos<PW) SetOutput(OUT_MAIN,n,1); | ||||
else SetOutput(OUT_MAIN,n,-1); | |||||
else SetOutput(OUT_MAIN,n,-1); | |||||
} | } | ||||
break; | break; | ||||
case SAW: | case SAW: | ||||
for (int n=0; n<m_HostInfo->BUFSIZE; n++) | for (int n=0; n<m_HostInfo->BUFSIZE; n++) | ||||
{ | { | ||||
if (InputExists(0)) Freq=GetInputPitch(0,n); | if (InputExists(0)) Freq=GetInputPitch(0,n); | ||||
else Freq=110; | |||||
else Freq=110; | |||||
Freq*=m_FineFreq; | Freq*=m_FineFreq; | ||||
if (m_Octave>0) Freq*=1<<(m_Octave); | if (m_Octave>0) Freq*=1<<(m_Octave); | ||||
if (m_Octave<0) Freq/=1<<(-m_Octave); | |||||
if (m_Octave<0) Freq/=1<<(-m_Octave); | |||||
CycleLen = m_HostInfo->SAMPLERATE/Freq; | CycleLen = m_HostInfo->SAMPLERATE/Freq; | ||||
PW = (int)((m_PulseWidth+GetInput(IN_PW,n)*m_ModAmount) * CycleLen); | PW = (int)((m_PulseWidth+GetInput(IN_PW,n)*m_ModAmount) * CycleLen); | ||||
// get normailise position between cycle | |||||
// get normailise position between cycle | |||||
m_CyclePos++; | m_CyclePos++; | ||||
if (m_CyclePos>CycleLen) m_CyclePos=0; | |||||
if (m_CyclePos<PW) | |||||
if (m_CyclePos>CycleLen) m_CyclePos=0; | |||||
if (m_CyclePos<PW) | |||||
{ | { | ||||
// before pw -1->1 | // before pw -1->1 | ||||
SetOutput(OUT_MAIN,n,Linear(0,PW,m_CyclePos,-1,1)); | SetOutput(OUT_MAIN,n,Linear(0,PW,m_CyclePos,-1,1)); | ||||
} | } | ||||
else | |||||
else | |||||
{ | { | ||||
// after pw 1->-1 | // after pw 1->-1 | ||||
SetOutput(OUT_MAIN,n,Linear(PW,CycleLen,m_CyclePos,1,-1)); | SetOutput(OUT_MAIN,n,Linear(PW,CycleLen,m_CyclePos,1,-1)); | ||||
} | |||||
} | |||||
} | |||||
} | |||||
break; | break; | ||||
case NOISE: | case NOISE: | ||||
for (int n=0; n<m_HostInfo->BUFSIZE; n++) | for (int n=0; n<m_HostInfo->BUFSIZE; n++) | ||||
{ | { | ||||
@@ -165,7 +166,7 @@ void OscillatorPlugin::Execute() | |||||
//modulate the sample & hold length | //modulate the sample & hold length | ||||
samplelen = (int)((m_SHLen+GetInput(IN_SHLEN,n)*m_ModAmount)*m_HostInfo->SAMPLERATE); | samplelen = (int)((m_SHLen+GetInput(IN_SHLEN,n)*m_ModAmount)*m_HostInfo->SAMPLERATE); | ||||
// do sample & hold on the noise | // do sample & hold on the noise | ||||
if (m_CyclePos>samplelen) | if (m_CyclePos>samplelen) | ||||
{ | { | ||||
@@ -175,7 +176,7 @@ void OscillatorPlugin::Execute() | |||||
SetOutput(OUT_MAIN,n,m_Noisev/(float)SHRT_MAX); | SetOutput(OUT_MAIN,n,m_Noisev/(float)SHRT_MAX); | ||||
} | } | ||||
break; | break; | ||||
case NONE: break; | case NONE: break; | ||||
} | } | ||||
} | } | ||||
@@ -14,7 +14,7 @@ | |||||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | ||||
* along with this program; if not, write to the Free Software | * along with this program; if not, write to the Free Software | ||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||||
*/ | |||||
*/ | |||||
#include "../SpiralPlugin.h" | #include "../SpiralPlugin.h" | ||||
#include <FL/Fl_Pixmap.H> | #include <FL/Fl_Pixmap.H> | ||||
@@ -33,14 +33,14 @@ public: | |||||
virtual void Execute(); | virtual void Execute(); | ||||
virtual void StreamOut(ostream &s); | virtual void StreamOut(ostream &s); | ||||
virtual void StreamIn(istream &s); | virtual void StreamIn(istream &s); | ||||
typedef char Type; | typedef char Type; | ||||
enum {NONE,SQUARE,SAW,NOISE}; | enum {NONE,SQUARE,SAW,NOISE}; | ||||
void ModulateFreq(Sample *data) {m_FreqModBuf=data;} | void ModulateFreq(Sample *data) {m_FreqModBuf=data;} | ||||
void ModulatePulseWidth(Sample *data) {m_PulseWidthModBuf=data;} | void ModulatePulseWidth(Sample *data) {m_PulseWidthModBuf=data;} | ||||
void ModulateSHLen(Sample *data) {m_SHModBuf=data;} | void ModulateSHLen(Sample *data) {m_SHModBuf=data;} | ||||
void NoteTrigger(int V,int s,int v); | void NoteTrigger(int V,int s,int v); | ||||
int GetOctave() {return m_Octave;} | int GetOctave() {return m_Octave;} | ||||
float GetFineFreq() {return m_FineFreq;} | float GetFineFreq() {return m_FineFreq;} | ||||
@@ -48,29 +48,29 @@ public: | |||||
Type GetType() {return m_Type;} | Type GetType() {return m_Type;} | ||||
float GetSHLen() {return m_SHLen;} | float GetSHLen() {return m_SHLen;} | ||||
float GetModAmount() {return m_ModAmount;} | float GetModAmount() {return m_ModAmount;} | ||||
private: | private: | ||||
// Voice specific parameter | // Voice specific parameter | ||||
int m_Note; | int m_Note; | ||||
int m_CyclePos; | int m_CyclePos; | ||||
float m_LastFreq; | float m_LastFreq; | ||||
// Common voice parameters | |||||
// Common voice parameters | |||||
Type m_Type; | Type m_Type; | ||||
int m_Octave; | int m_Octave; | ||||
float m_FineFreq; | float m_FineFreq; | ||||
float m_PulseWidth; | |||||
float m_SHLen; | |||||
float m_PulseWidth; | |||||
float m_SHLen; | |||||
float m_ModAmount; | float m_ModAmount; | ||||
short m_Noisev; | short m_Noisev; | ||||
Sample *m_FreqModBuf; | Sample *m_FreqModBuf; | ||||
Sample *m_PulseWidthModBuf; | Sample *m_PulseWidthModBuf; | ||||
Sample *m_SHModBuf; | Sample *m_SHModBuf; | ||||
static const int FIXED; | static const int FIXED; | ||||
friend istream &operator>>(istream &s, OscillatorPlugin &o); | friend istream &operator>>(istream &s, OscillatorPlugin &o); | ||||
friend ostream &operator<<(ostream &s, OscillatorPlugin &o); | friend ostream &operator<<(ostream &s, OscillatorPlugin &o); | ||||
}; | }; | ||||
@@ -14,373 +14,404 @@ | |||||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | ||||
* along with this program; if not, write to the Free Software | * along with this program; if not, write to the Free Software | ||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||||
*/ | |||||
*/ | |||||
#include "OscillatorPluginGUI.h" | #include "OscillatorPluginGUI.h" | ||||
#include <FL/fl_draw.h> | #include <FL/fl_draw.h> | ||||
#include <FL/fl_draw.H> | #include <FL/fl_draw.H> | ||||
#include "../GUI/WS_Square.h" | |||||
#include "../GUI/WS_Noise.h" | |||||
#include "../GUI/WS_Saw.h" | |||||
static unsigned char *image_Square[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ...... ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" ... . ... ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" ...... ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
static unsigned char *image_Noise[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . . ", | |||||
(unsigned char*)" . . . ", | |||||
(unsigned char*)" . . . . ", | |||||
(unsigned char*)" . . . . ", | |||||
(unsigned char*)" ... . . . . .. ", | |||||
(unsigned char*)" . . . . .. ", | |||||
(unsigned char*)" . . . . . ", | |||||
(unsigned char*)" . . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
static unsigned char *image_Saw[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" ... . .... ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
OscillatorPluginGUI::OscillatorPluginGUI(int w, int h,OscillatorPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | |||||
SpiralPluginGUI(w,h,o,ch), | |||||
pixmap_Square(image_Square), | |||||
pixmap_Noise(image_Noise), | |||||
pixmap_Saw(image_Saw), | |||||
m_FineFreq(0), | |||||
m_Octave(0) | |||||
{ | |||||
ShapeSquare = new Fl_Check_Button(5, 15, 55, 30); | |||||
ShapeSquare->type(102); | |||||
ShapeSquare->down_box(FL_DIAMOND_DOWN_BOX); | |||||
ShapeSquare->selection_color(Info->GUI_COLOUR); | |||||
ShapeSquare->set(); | |||||
pixmap_Square.label(ShapeSquare); | |||||
ShapeSquare->callback((Fl_Callback*)cb_Square); | |||||
ShapeNoise = new Fl_Check_Button(5, 65, 55, 30); | |||||
ShapeNoise->type(102); | |||||
ShapeNoise->down_box(FL_DIAMOND_DOWN_BOX); | |||||
ShapeNoise->selection_color(Info->GUI_COLOUR); | |||||
pixmap_Noise.label(ShapeNoise); | |||||
ShapeNoise->callback((Fl_Callback*)cb_Noise); | |||||
ShapeSaw = new Fl_Check_Button(5, 40, 55, 30); | |||||
ShapeSaw->type(102); | |||||
ShapeSaw->down_box(FL_DIAMOND_DOWN_BOX); | |||||
ShapeSaw->selection_color(Info->GUI_COLOUR); | |||||
pixmap_Saw.label(ShapeSaw); | |||||
ShapeSaw->callback((Fl_Callback*)cb_Saw); | |||||
Freq = new Fl_Knob(188, 2, 40, 40, "Octave"); | |||||
Freq->color(Info->GUI_COLOUR); | |||||
Freq->type(Fl_Knob::LINELIN); | |||||
Freq->labelsize(10); | |||||
Freq->maximum(6); | |||||
Freq->step(1); | |||||
Freq->value(3); | |||||
Freq->scaleticks(6); | |||||
Freq->cursor(50); | |||||
Freq->callback((Fl_Callback*)cb_Freq); | |||||
FineTune = new Fl_Knob(112, 22, 65, 65, "Fine Tune"); | |||||
FineTune->color(Info->GUI_COLOUR); | |||||
FineTune->type(Fl_Knob::LINELIN); | |||||
FineTune->labelsize(10); | |||||
FineTune->scaleticks(20); | |||||
FineTune->maximum(1.414); | |||||
FineTune->step(0.000001); | |||||
FineTune->value(1); | |||||
FineTune->callback((Fl_Callback*)cb_FineTune); | |||||
ModAmount = new Fl_Knob(188, 54, 40, 40, "Mod Depth"); | |||||
ModAmount->color(Info->GUI_COLOUR); | |||||
ModAmount->type(Fl_Knob::LINELIN); | |||||
ModAmount->labelsize(10); | |||||
ModAmount->maximum(2.0f); | |||||
ModAmount->step(0.001); | |||||
ModAmount->value(1.0); | |||||
ModAmount->callback((Fl_Callback*)cb_ModAmount); | |||||
PulseWidth = new Fl_Slider(60, 20, 20, 70, "PW"); | |||||
PulseWidth->type(4); | |||||
PulseWidth->selection_color(Info->GUI_COLOUR); | |||||
PulseWidth->labelsize(10); | |||||
PulseWidth->maximum(1); | |||||
PulseWidth->step(0.01); | |||||
PulseWidth->value(0.5); | |||||
PulseWidth->callback((Fl_Callback*)cb_PulseWidth); | |||||
SHLen = new Fl_Slider(80, 20, 20, 70, "SH"); | |||||
SHLen->type(4); | |||||
SHLen->selection_color(Info->GUI_COLOUR); | |||||
SHLen->labelsize(10); | |||||
SHLen->maximum(0.2); | |||||
SHLen->step(0.001); | |||||
SHLen->value(0.1); | |||||
SHLen->callback((Fl_Callback*)cb_SHLen); | |||||
m_pop = new Fl_Button(1,h-14, 13, 13, "@>"); | |||||
m_pop->type(1); | |||||
m_pop->box(FL_FLAT_BOX); | |||||
m_pop->down_box(FL_FLAT_BOX); | |||||
m_pop->labeltype(FL_SYMBOL_LABEL); | |||||
m_pop->labelsize(10); | |||||
m_pop->labelcolor(25); | |||||
m_pop->callback((Fl_Callback*)cb_pop); | |||||
m_out_freq = new Fl_Output(65,h+5, 58, 15, "Frequency"); | |||||
m_out_freq->box(FL_ENGRAVED_BOX); | |||||
m_out_freq->color(16); | |||||
m_out_freq->labelsize(10); | |||||
m_out_freq->textsize(10); | |||||
m_out_freq->hide(); | |||||
m_out_freq->set_output(); | |||||
m_out_mod = new Fl_Output(65,h+22, 48, 15, "Modulation"); | |||||
m_out_mod->box(FL_ENGRAVED_BOX); | |||||
m_out_mod->color(16); | |||||
m_out_mod->labelsize(10); | |||||
m_out_mod->textsize(10); | |||||
m_out_mod->hide(); | |||||
m_out_mod->set_output(); | |||||
m_out_pulseW = new Fl_Output(190,h+5, 48, 15, "Pulse width"); | |||||
m_out_pulseW->box(FL_ENGRAVED_BOX); | |||||
m_out_pulseW->color(16); | |||||
m_out_pulseW->labelsize(10); | |||||
m_out_pulseW->textsize(10); | |||||
m_out_pulseW->hide(); | |||||
m_out_pulseW->set_output(); | |||||
m_out_SHlen = new Fl_Output(190,h+22, 48, 15, "Sampling"); | |||||
m_out_SHlen->box(FL_ENGRAVED_BOX); | |||||
m_out_SHlen->color(16); | |||||
m_out_SHlen->labelsize(10); | |||||
m_out_SHlen->textsize(10); | |||||
m_out_SHlen->hide(); | |||||
m_out_SHlen->set_output(); | |||||
end(); | |||||
} | |||||
extern "C" int sprintf(char *,const char *,...); | |||||
void OscillatorPluginGUI::UpdateValues(SpiralPlugin *o) | |||||
OscillatorPluginGUI::OscillatorPluginGUI (int w, int h, OscillatorPlugin *o, ChannelHandler *ch, const HostInfo *Info) : | |||||
SpiralPluginGUI (w, h, o, ch), | |||||
m_PixmapSquare (image_Square), | |||||
m_PixmapNoise (image_Noise), | |||||
m_PixmapSaw (image_Saw), | |||||
m_FineFreq (0) | |||||
{ | { | ||||
OscillatorPlugin *Plugin = (OscillatorPlugin*)o; | |||||
ShapeSquare->value(0); | |||||
ShapeNoise->value(0); | |||||
ShapeSaw->value(0); | |||||
switch (Plugin->GetType()) | |||||
{ | |||||
case OscillatorPlugin::SQUARE : ShapeSquare->value(1); break; | |||||
case OscillatorPlugin::NOISE : ShapeNoise->value(1); break; | |||||
case OscillatorPlugin::SAW : ShapeSaw->value(1); break; | |||||
case OscillatorPlugin::NONE : break; | |||||
} | |||||
Freq->value(Plugin->GetOctave()+3); | |||||
ModAmount->value(Plugin->GetModAmount()); | |||||
FineTune->value(sqrt(Plugin->GetFineFreq())); | |||||
PulseWidth->value(Plugin->GetPulseWidth()); | |||||
SHLen->value(0.2f-Plugin->GetSHLen()); | |||||
char str[10]; | |||||
float fr = 110.0f * Plugin->GetFineFreq(); | |||||
m_FineFreq=Plugin->GetFineFreq(); | |||||
int oc = Plugin->GetOctave(); | |||||
m_Octave = oc; | |||||
if (oc > 0) fr *= 1 << oc; | |||||
if (oc < 0) fr /= 1 << (-oc); | |||||
sprintf(str,"%4.1f Hz", fr); | |||||
m_out_freq->value(str); | |||||
sprintf(str,"%4.0f %%", 100*Plugin->GetPulseWidth()); | |||||
m_out_pulseW->value(str); | |||||
sprintf(str,"%4.0f %%", 100*Plugin->GetModAmount()); | |||||
m_out_mod->value(str); | |||||
sprintf(str,"%4.3f s", Plugin->GetSHLen()); | |||||
m_out_SHlen->value(str); | |||||
} | |||||
//// Callbacks //// | |||||
inline void OscillatorPluginGUI::cb_Freq_i(Fl_Knob* o, void* v) | |||||
{ | |||||
char str[10]; | |||||
m_GUICH->Set("Octave",(int)o->value()-3); | |||||
m_Octave = (int)o->value()-3; | |||||
float fr = 110.0f * m_FineFreq; | |||||
int oc = m_Octave; | |||||
if (oc > 0) fr *= 1 << oc; | |||||
if (oc < 0) fr /= 1 << (-oc); | |||||
sprintf(str,"%4.1f Hz", fr); | |||||
m_out_freq->value(str); | |||||
} | |||||
void OscillatorPluginGUI::cb_Freq(Fl_Knob* o, void* v) | |||||
{ ((OscillatorPluginGUI*)(o->parent()))->cb_Freq_i(o,v); } | |||||
inline void OscillatorPluginGUI::cb_FineTune_i(Fl_Knob* o, void* v) | |||||
{ | |||||
char str[10]; | |||||
m_GUICH->Set("FineFreq",(float)(o->value()*o->value())); | |||||
m_FineFreq=(float)(o->value()*o->value()); | |||||
float fr = 110.0f * m_FineFreq; | |||||
int oc = m_Octave; | |||||
if (oc > 0) fr *= 1 << oc; | |||||
if (oc < 0) fr /= 1 << (-oc); | |||||
sprintf(str,"%4.1f Hz", fr); | |||||
m_out_freq->value(str); | |||||
} | |||||
void OscillatorPluginGUI::cb_FineTune(Fl_Knob* o, void* v) | |||||
{ ((OscillatorPluginGUI*)(o->parent()))->cb_FineTune_i(o,v); } | |||||
inline void OscillatorPluginGUI::cb_PulseWidth_i(Fl_Slider* o, void* v) | |||||
{ | |||||
char str[10]; | |||||
m_GUICH->Set("PulseWidth",(float)o->value()); | |||||
sprintf(str,"%4.0f %%",(float)(100*o->value())); | |||||
m_out_pulseW->value(str); | |||||
m_ShapeSquare = new Fl_LED_Button (2, 24, 23, 23); | |||||
m_ShapeSquare->type (FL_RADIO_BUTTON); | |||||
m_PixmapSquare.label (m_ShapeSquare); | |||||
m_ShapeSquare->set(); | |||||
m_ShapeSquare->callback ((Fl_Callback*)cb_Square); | |||||
add (m_ShapeSquare); | |||||
m_ShapeSaw = new Fl_LED_Button (2, 58, 23, 23); | |||||
m_ShapeSaw->type (FL_RADIO_BUTTON); | |||||
m_PixmapSaw.label (m_ShapeSaw); | |||||
m_ShapeSaw->callback ((Fl_Callback*)cb_Saw); | |||||
add (m_ShapeSaw); | |||||
m_ShapeNoise = new Fl_LED_Button (2, 92, 23, 23); | |||||
m_ShapeNoise->type (FL_RADIO_BUTTON); | |||||
m_PixmapNoise.label (m_ShapeNoise); | |||||
m_ShapeNoise->callback ((Fl_Callback*)cb_Noise); | |||||
add (m_ShapeNoise); | |||||
m_Tabs = new Fl_Tabs (44, 10, 168, 124); | |||||
m_Tabs->box (FL_PLASTIC_DOWN_BOX); | |||||
m_Tabs->color (Info->GUI_COLOUR); | |||||
add (m_Tabs); | |||||
m_CtlGroup = new Fl_Group (44, 24, 168, 110, "Control"); | |||||
m_CtlGroup->labelsize (10); | |||||
m_Tabs->add (m_CtlGroup); | |||||
m_PulseWidth = new Fl_Slider (50, 32, 20, 86, "PW"); | |||||
m_PulseWidth->user_data ((void*)(this)); | |||||
m_PulseWidth->type (FL_VERT_NICE_SLIDER); | |||||
m_PulseWidth->box (FL_PLASTIC_DOWN_BOX); | |||||
m_PulseWidth->selection_color (Info->GUI_COLOUR); | |||||
m_PulseWidth->labelsize (10); | |||||
m_PulseWidth->maximum (1); | |||||
m_PulseWidth->step (0.01); | |||||
m_PulseWidth->value (0.5); | |||||
m_PulseWidth->callback ((Fl_Callback*)cb_PulseWidth); | |||||
m_CtlGroup->add (m_PulseWidth); | |||||
m_SHLen = new Fl_Slider (74, 32, 20, 86, "SH"); | |||||
m_SHLen->user_data ((void*)(this)); | |||||
m_SHLen->type (FL_VERT_NICE_SLIDER); | |||||
m_SHLen->box (FL_PLASTIC_DOWN_BOX); | |||||
m_SHLen->selection_color (Info->GUI_COLOUR); | |||||
m_SHLen->labelsize (10); | |||||
m_SHLen->maximum (0.2); | |||||
m_SHLen->step (0.001); | |||||
m_SHLen->value (0.1); | |||||
m_SHLen->callback ((Fl_Callback*)cb_SHLen); | |||||
m_CtlGroup->add (m_SHLen); | |||||
m_FineTune = new Fl_Knob (98, 32, 60, 60, "Fine Tune"); | |||||
m_FineTune->user_data ((void*)(this)); | |||||
m_FineTune->color (Info->GUI_COLOUR); | |||||
m_FineTune->type (Fl_Knob::LINELIN); | |||||
m_FineTune->labelsize (10); | |||||
m_FineTune->scaleticks (20); | |||||
m_FineTune->maximum (1.414); | |||||
m_FineTune->step (0.000001); | |||||
m_FineTune->value (1); | |||||
m_FineTune->callback ((Fl_Callback*)cb_FineTune); | |||||
m_CtlGroup->add (m_FineTune); | |||||
m_Reset = new Fl_Button (108, 106, 40, 20, "Reset"); | |||||
m_Reset->user_data ((void*)(this)); | |||||
m_Reset->labelsize (10); | |||||
m_Reset->box (FL_PLASTIC_UP_BOX); | |||||
m_Reset->color (Info->GUI_COLOUR); | |||||
m_Reset->selection_color (Info->GUI_COLOUR); | |||||
m_Reset->callback ((Fl_Callback*)cb_Reset); | |||||
m_CtlGroup->add (m_Reset); | |||||
m_Octave = new Fl_Knob (160, 27, 40, 40, "Octave"); | |||||
m_Octave->user_data ((void*)(this)); | |||||
m_Octave->color (Info->GUI_COLOUR); | |||||
m_Octave->type (Fl_Knob::LINELIN); | |||||
m_Octave->labelsize (10); | |||||
m_Octave->maximum (6); | |||||
m_Octave->step (1); | |||||
m_Octave->value (3); | |||||
m_Octave->scaleticks (6); | |||||
m_Octave->cursor (50); | |||||
m_Octave->callback ((Fl_Callback*)cb_Octave); | |||||
m_CtlGroup->add (m_Octave); | |||||
m_ModAmount = new Fl_Knob (160, 79, 40, 40, "Mod Depth"); | |||||
m_ModAmount->user_data ((void*)(this)); | |||||
m_ModAmount->color (Info->GUI_COLOUR); | |||||
m_ModAmount->type (Fl_Knob::LINELIN); | |||||
m_ModAmount->labelsize (10); | |||||
m_ModAmount->maximum (2.0f); | |||||
m_ModAmount->step (0.001); | |||||
m_ModAmount->value (1.0); | |||||
m_ModAmount->callback ((Fl_Callback*)cb_ModAmount); | |||||
m_CtlGroup->add (m_ModAmount); | |||||
m_NumGroup = new Fl_Group (44, 24, 168, 110, "Numbers"); | |||||
m_NumGroup->labelsize (10); | |||||
m_Tabs->add (m_NumGroup); | |||||
m_NumPulseWidth = new Fl_Counter (54, 32, 55, 20, "PW (%)"); | |||||
m_NumPulseWidth->user_data ((void*)(this)); | |||||
m_NumPulseWidth->type (FL_SIMPLE_COUNTER); | |||||
m_NumPulseWidth->box (FL_PLASTIC_UP_BOX); | |||||
m_NumPulseWidth->color (Info->GUI_COLOUR); | |||||
m_NumPulseWidth->labelsize (10); | |||||
m_NumPulseWidth->textsize (10); | |||||
m_NumPulseWidth->minimum (0); | |||||
m_NumPulseWidth->maximum (100); | |||||
m_NumPulseWidth->step (1); | |||||
m_NumPulseWidth->value (m_PulseWidth->value() * 100); | |||||
m_NumPulseWidth->callback ((Fl_Callback*)cb_NumPulseWidth); | |||||
m_NumGroup->add (m_NumPulseWidth); | |||||
m_NumSHLen = new Fl_Counter (54, 98, 55, 20, "S&H (Secs)"); | |||||
m_NumSHLen->user_data ((void*)(this)); | |||||
m_NumSHLen->type (FL_SIMPLE_COUNTER); | |||||
m_NumSHLen->box (FL_PLASTIC_UP_BOX); | |||||
m_NumSHLen->color (Info->GUI_COLOUR); | |||||
m_NumSHLen->labelsize (10); | |||||
m_NumSHLen->textsize (10); | |||||
m_NumSHLen->minimum (0); | |||||
m_NumSHLen->maximum (0.2f); | |||||
m_NumSHLen->step (.001); | |||||
//m_NumSHLen->lstep (.1); | |||||
m_NumSHLen->value (0.2f - m_SHLen->value()); | |||||
m_NumSHLen->callback ((Fl_Callback*)cb_NumSHLen); | |||||
m_NumGroup->add (m_NumSHLen); | |||||
m_NumFreq = new Fl_Counter (114, 32, 90, 20, "Freq (Hz)"); | |||||
m_NumFreq->user_data ((void*)(this)); | |||||
m_NumFreq->box (FL_PLASTIC_UP_BOX); | |||||
m_NumFreq->color (Info->GUI_COLOUR); | |||||
m_NumFreq->labelsize (10); | |||||
m_NumFreq->textsize (10); | |||||
m_NumFreq->minimum (0); | |||||
m_NumFreq->step (0.1); | |||||
m_NumFreq->lstep (10); | |||||
m_NumFreq->callback ((Fl_Callback*)cb_NumFreq); | |||||
m_NumGroup->add (m_NumFreq); | |||||
m_NumOctave = new Fl_Counter (128, 66, 64, 20, "Octave"); | |||||
m_NumOctave->user_data ((void*)(this)); | |||||
m_NumOctave->type (FL_SIMPLE_COUNTER); | |||||
m_NumOctave->box (FL_PLASTIC_UP_BOX); | |||||
m_NumOctave->color (Info->GUI_COLOUR); | |||||
m_NumOctave->labelsize (10); | |||||
m_NumOctave->textsize (10); | |||||
m_NumOctave->minimum (-3); | |||||
m_NumOctave->maximum (3); | |||||
m_NumOctave->step (1); | |||||
m_NumOctave->value (0); | |||||
m_NumOctave->callback ((Fl_Callback*)cb_NumOctave); | |||||
m_NumGroup->add (m_NumOctave); | |||||
m_NumModAmount = new Fl_Counter (128, 98, 64, 20, "Mod (%)"); | |||||
m_NumModAmount->user_data ((void*)(this)); | |||||
m_NumModAmount->type (FL_SIMPLE_COUNTER); | |||||
m_NumModAmount->box (FL_PLASTIC_UP_BOX); | |||||
m_NumModAmount->color (Info->GUI_COLOUR); | |||||
m_NumModAmount->labelsize (10); | |||||
m_NumModAmount->textsize (10); | |||||
m_NumModAmount->minimum (0); | |||||
m_NumModAmount->maximum (200); | |||||
m_NumModAmount->step (1); | |||||
m_NumModAmount->value (m_ModAmount->value() * 100); | |||||
m_NumModAmount->callback ((Fl_Callback*)cb_NumModAmount); | |||||
m_NumGroup->add (m_NumModAmount); | |||||
end(); | |||||
UpdateFreq(); | |||||
} | } | ||||
void OscillatorPluginGUI::cb_PulseWidth(Fl_Slider* o, void* v) | |||||
{ ((OscillatorPluginGUI*)(o->parent()))->cb_PulseWidth_i(o,v);} | |||||
void OscillatorPluginGUI::UpdateValues (SpiralPlugin *o) { | |||||
float val; | |||||
OscillatorPlugin *Plugin = (OscillatorPlugin*)o; | |||||
inline void OscillatorPluginGUI::cb_Square_i(Fl_Check_Button* o, void* v) | |||||
{ m_GUICH->Set("Type",(char)OscillatorPlugin::SQUARE); } | |||||
void OscillatorPluginGUI::cb_Square(Fl_Check_Button* o, void* v) | |||||
{ ((OscillatorPluginGUI*)(o->parent()))->cb_Square_i(o,v); } | |||||
m_ShapeSquare->value(0); | |||||
m_ShapeNoise->value(0); | |||||
m_ShapeSaw->value(0); | |||||
switch (Plugin->GetType()) { | |||||
case OscillatorPlugin::SQUARE : m_ShapeSquare->value(1); break; | |||||
case OscillatorPlugin::NOISE : m_ShapeNoise->value(1); break; | |||||
case OscillatorPlugin::SAW : m_ShapeSaw->value(1); break; | |||||
case OscillatorPlugin::NONE : break; | |||||
} | |||||
inline void OscillatorPluginGUI::cb_Saw_i(Fl_Check_Button* o, void* v) | |||||
{ m_GUICH->Set("Type",(char)OscillatorPlugin::SAW); } | |||||
void OscillatorPluginGUI::cb_Saw(Fl_Check_Button* o, void* v) | |||||
{ ((OscillatorPluginGUI*)(o->parent()))->cb_Saw_i(o,v); } | |||||
val = Plugin->GetPulseWidth(); | |||||
m_PulseWidth->value (val); | |||||
m_NumPulseWidth->value (val * 100); | |||||
inline void OscillatorPluginGUI::cb_Noise_i(Fl_Check_Button* o, void* v) | |||||
{ m_GUICH->Set("Type",(char)OscillatorPlugin::NOISE); } | |||||
void OscillatorPluginGUI::cb_Noise(Fl_Check_Button* o, void* v) | |||||
{ ((OscillatorPluginGUI*)(o->parent()))->cb_Noise_i(o,v); } | |||||
val = Plugin->GetModAmount(); | |||||
m_ModAmount->value (val); | |||||
m_NumModAmount->value (val * 100); | |||||
inline void OscillatorPluginGUI::cb_SHLen_i(Fl_Slider* o, void* v) | |||||
{ | |||||
char str[10]; | |||||
m_GUICH->Set("SHLen",(float)(0.2f-o->value())); | |||||
sprintf(str,"%4.3f s", 0.2f-o->value()); | |||||
m_out_SHlen->value(str); | |||||
val = 0.2f - Plugin->GetSHLen(); | |||||
m_SHLen->value (val); | |||||
m_NumSHLen->value (val); | |||||
m_NumOctave->value (Plugin->GetOctave()); | |||||
m_Octave->value ((int)m_NumOctave->value() + 3); | |||||
m_FineTune->value (sqrt (Plugin->GetFineFreq())); | |||||
UpdateFreq(); | |||||
} | } | ||||
void OscillatorPluginGUI::cb_SHLen(Fl_Slider* o, void* v) | |||||
{ ((OscillatorPluginGUI*)(o->parent()))->cb_SHLen_i(o,v); } | |||||
// Utility functions | |||||
inline void OscillatorPluginGUI::cb_ModAmount_i(Fl_Knob* o, void* v) | |||||
{ | |||||
char str[10]; | |||||
m_GUICH->Set("ModAmount",(float)o->value()); | |||||
sprintf(str,"%4.0f %%", 100*o->value()); | |||||
m_out_mod->value(str); | |||||
} | |||||
void OscillatorPluginGUI::cb_ModAmount(Fl_Knob* o, void* v) | |||||
{ ((OscillatorPluginGUI*)(o->parent()))->cb_ModAmount_i(o,v); } | |||||
inline void OscillatorPluginGUI::cb_pop_i(Fl_Button *o, void*) { | |||||
if (o->value()) | |||||
{ | |||||
o->label("@2>"); | |||||
m_out_freq->show(); | |||||
m_out_mod->show(); | |||||
m_out_SHlen->show(); | |||||
m_out_pulseW->show(); | |||||
redraw(); | |||||
} | |||||
else | |||||
{ | |||||
o->label("@>"); | |||||
m_out_freq->hide(); | |||||
m_out_mod->hide(); | |||||
m_out_SHlen->hide(); | |||||
m_out_pulseW->hide(); | |||||
redraw(); | |||||
parent()->redraw(); | |||||
} | |||||
} | |||||
void OscillatorPluginGUI::cb_pop(Fl_Button* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->parent()))->cb_pop_i(o,v); | |||||
float OscillatorPluginGUI::CalcFineFreq (float Fine) { | |||||
int oct = (int)m_NumOctave->value(); | |||||
m_FineFreq = Fine * Fine; | |||||
float fr = 110.0f * m_FineFreq; | |||||
if (oct > 0) fr *= 1 << oct; | |||||
if (oct < 0) fr /= 1 << (-oct); | |||||
return fr; | |||||
} | |||||
void OscillatorPluginGUI::UpdateFreq (void) { | |||||
// always do max first - CalcFineFreq leaves a value in m_FineFreq | |||||
m_NumFreq->maximum (CalcFineFreq (m_FineTune->maximum())); | |||||
m_NumFreq->value (CalcFineFreq (m_FineTune->value())); | |||||
} | |||||
// Callbacks - Controls outside the tabs | |||||
inline void OscillatorPluginGUI::cb_Square_i (Fl_LED_Button* o, void* v) { | |||||
m_GUICH->Set ("Type", (char)OscillatorPlugin::SQUARE); | |||||
} | |||||
void OscillatorPluginGUI::cb_Square (Fl_LED_Button* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->parent()))->cb_Square_i (o, v); | |||||
} | |||||
inline void OscillatorPluginGUI::cb_Saw_i (Fl_LED_Button* o, void* v) { | |||||
m_GUICH->Set ("Type", (char)OscillatorPlugin::SAW); | |||||
} | |||||
void OscillatorPluginGUI::cb_Saw (Fl_LED_Button* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->parent()))->cb_Saw_i (o, v); | |||||
} | |||||
inline void OscillatorPluginGUI::cb_Noise_i (Fl_LED_Button* o, void* v) { | |||||
m_GUICH->Set ("Type",(char)OscillatorPlugin::NOISE); | |||||
} | |||||
void OscillatorPluginGUI::cb_Noise (Fl_LED_Button* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->parent()))->cb_Noise_i (o, v); | |||||
} | |||||
// Callbacks - Control Group | |||||
inline void OscillatorPluginGUI::cb_PulseWidth_i (Fl_Slider* o, void* v) { | |||||
float val = o->value(); | |||||
m_GUICH->Set ("PulseWidth", val); | |||||
m_NumPulseWidth->value (val * 100); | |||||
} | |||||
void OscillatorPluginGUI::cb_PulseWidth (Fl_Slider* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->user_data()))->cb_PulseWidth_i (o, v); | |||||
} | } | ||||
inline void OscillatorPluginGUI::cb_SHLen_i (Fl_Slider* o, void* v) { | |||||
float val = 0.2f - o->value(); | |||||
m_GUICH->Set ("SHLen", val); | |||||
m_NumSHLen->value (val); | |||||
} | |||||
void OscillatorPluginGUI::cb_SHLen (Fl_Slider* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->user_data()))->cb_SHLen_i (o, v); | |||||
} | |||||
inline void OscillatorPluginGUI::cb_FineTune_i (Fl_Knob* o, void* v) { | |||||
UpdateFreq(); | |||||
m_GUICH->Set ("FineFreq", m_FineFreq); | |||||
} | |||||
void OscillatorPluginGUI::cb_FineTune (Fl_Knob* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->user_data()))->cb_FineTune_i (o, v); | |||||
} | |||||
inline void OscillatorPluginGUI::cb_Reset_i (Fl_Button* o, void* v) { | |||||
m_FineTune->value (1); | |||||
UpdateFreq(); | |||||
m_GUICH->Set ("FineFreq", m_FineFreq); | |||||
} | |||||
void OscillatorPluginGUI::cb_Reset (Fl_Button* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->user_data()))->cb_Reset_i (o, v); | |||||
} | |||||
inline void OscillatorPluginGUI::cb_Octave_i (Fl_Knob* o, void* v) { | |||||
m_NumOctave->value ((int)m_Octave->value() - 3); | |||||
UpdateFreq(); | |||||
m_GUICH->Set ("Octave", (int)m_NumOctave->value ()); | |||||
} | |||||
void OscillatorPluginGUI::cb_Octave (Fl_Knob* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->user_data()))->cb_Octave_i (o, v); | |||||
} | |||||
inline void OscillatorPluginGUI::cb_ModAmount_i (Fl_Knob* o, void* v) { | |||||
float val = o->value(); | |||||
m_GUICH->Set ("ModAmount", val); | |||||
m_NumModAmount->value (val * 100); | |||||
} | |||||
void OscillatorPluginGUI::cb_ModAmount (Fl_Knob* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->user_data()))->cb_ModAmount_i (o, v); | |||||
} | |||||
// Callbacks - Number Group | |||||
inline void OscillatorPluginGUI::cb_NumPulseWidth_i (Fl_Counter* o, void* v) { | |||||
float val = o->value() / 100; | |||||
m_GUICH->Set ("PulseWidth", val); | |||||
m_PulseWidth->value (val); | |||||
} | |||||
void OscillatorPluginGUI::cb_NumPulseWidth (Fl_Counter* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->user_data()))->cb_NumPulseWidth_i (o, v); | |||||
} | |||||
inline void OscillatorPluginGUI::cb_NumSHLen_i (Fl_Counter* o, void* v) { | |||||
float val = o->value(); | |||||
m_GUICH->Set ("SHLen", val); | |||||
m_SHLen->value (0.2f - val); | |||||
} | |||||
void OscillatorPluginGUI::cb_NumSHLen (Fl_Counter* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->user_data()))->cb_NumSHLen_i (o, v); | |||||
} | |||||
inline void OscillatorPluginGUI::cb_NumFreq_i (Fl_Counter* o, void* v) { | |||||
int oct = (int)m_NumOctave->value(); | |||||
float fr = o->value (); | |||||
if (oct > 0) fr /= 1 << oct; | |||||
if (oct < 0) fr *= 1 << (-oct); | |||||
m_FineFreq = fr / 110.0f; | |||||
m_GUICH->Set ("FineFreq", m_FineFreq); | |||||
m_FineTune->value (sqrt (m_FineFreq)); | |||||
} | |||||
void OscillatorPluginGUI::cb_NumOctave (Fl_Counter* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->user_data()))->cb_NumOctave_i (o, v); | |||||
} | |||||
inline void OscillatorPluginGUI::cb_NumOctave_i (Fl_Counter* o, void* v) { | |||||
m_Octave->value ((int)m_NumOctave->value() + 3); | |||||
UpdateFreq(); | |||||
m_GUICH->Set ("Octave", (int)m_NumOctave->value ()); | |||||
} | |||||
void OscillatorPluginGUI::cb_NumFreq (Fl_Counter* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->user_data()))->cb_NumFreq_i (o, v); | |||||
} | |||||
inline void OscillatorPluginGUI::cb_NumModAmount_i (Fl_Counter* o, void* v) { | |||||
float val = o->value() / 100; | |||||
m_GUICH->Set ("ModAmount", val); | |||||
m_ModAmount->value (val); | |||||
} | |||||
void OscillatorPluginGUI::cb_NumModAmount (Fl_Counter* o, void* v) { | |||||
((OscillatorPluginGUI*)(o->user_data()))->cb_NumModAmount_i (o, v); | |||||
} | |||||
// Help Text | |||||
const string OscillatorPluginGUI::GetHelpText(const string &loc){ | const string OscillatorPluginGUI::GetHelpText(const string &loc){ | ||||
return string("") | |||||
return string("") | |||||
+ "The Oscillator generates raw waveforms from CV controls. Three wave \n" | + "The Oscillator generates raw waveforms from CV controls. Three wave \n" | ||||
+ "shapes are included, Square wave, Triangle wave and white noise.\n\n" | + "shapes are included, Square wave, Triangle wave and white noise.\n\n" | ||||
+ "In the square and triangle shapes, the Frequency CV controls the pitch \n" | + "In the square and triangle shapes, the Frequency CV controls the pitch \n" | ||||
+ "of the signal generated, and the pulsewidth turns the squarewave into \n" | |||||
+ "a pulse wave of varying harmonics, and the triangle wave into a sawtooth,\n" | |||||
+ "of the signal generated, and the pulse-width turns the squarewave into \n" | |||||
+ "a pulse wave of varying harmonics, and the triangle wave into a sawtooth,\n" | |||||
+ "or reverse sawtooth wave.\n\n" | + "or reverse sawtooth wave.\n\n" | ||||
+ "The sample & hold CV changes the time between samples with the white noise.\n" | |||||
+ "The sample & hold CV changes the time between samples with the white noise.\n" | |||||
+ "This is usful for making the Oscillator into a random CV generator.\n\n" | + "This is usful for making the Oscillator into a random CV generator.\n\n" | ||||
+ "The plugin window allows you to select the wave shape, set the octave and\n" | |||||
+ "fine tune the frequency. There are also controls to set the pulsewidth,\n" | |||||
+ "The plugin window allows you to select the wave shape, set the octave and\n" | |||||
+ "fine tune the frequency (use the reset button to reset the frequency back\n" | |||||
+ "to it's default value). There are also controls to set the pulse-width,\n" | |||||
+ "sample and hold manually, and control the modulation depth of the input CV's.\n\n" | + "sample and hold manually, and control the modulation depth of the input CV's.\n\n" | ||||
+ "The frequency can be set extremely low on this oscillator, so you can use\n" | |||||
+ "The frequency can be set extremely low on this oscillator, so you can use\n" | |||||
+ "it as an LFO for controlling other plugins."; | + "it as an LFO for controlling other plugins."; | ||||
} | } |
@@ -14,73 +14,75 @@ | |||||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | ||||
* along with this program; if not, write to the Free Software | * along with this program; if not, write to the Free Software | ||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||||
*/ | |||||
*/ | |||||
#ifndef OSC_GUI | |||||
#define OSC_GUI | |||||
#include <FL/Fl_Check_Button.H> | |||||
#include <FL/Fl_Pixmap.H> | #include <FL/Fl_Pixmap.H> | ||||
#include <FL/Fl_Slider.H> | #include <FL/Fl_Slider.H> | ||||
#include <FL/Fl_Box.H> | #include <FL/Fl_Box.H> | ||||
#include <FL/Fl_Button.H> | |||||
#include <FL/Fl_Output.H> | |||||
#include <FL/Fl_Counter.H> | |||||
#include <FL/Fl_Tabs.h> | |||||
#include <FL/Fl_Group.h> | |||||
#include <FL/Fl_Button.h> | |||||
#include "../Widgets/Fl_LED_Button.H" | |||||
#include "../Widgets/Fl_Knob.H" | #include "../Widgets/Fl_Knob.H" | ||||
#include "../SpiralPluginGUI.h" | #include "../SpiralPluginGUI.h" | ||||
#include "OscillatorPlugin.h" | #include "OscillatorPlugin.h" | ||||
#ifndef SCOPEGUI | |||||
#define SCOPEGUI | |||||
class OscillatorPluginGUI : public SpiralPluginGUI | |||||
{ | |||||
public: | |||||
OscillatorPluginGUI(int w, int h, OscillatorPlugin *o,ChannelHandler *ch,const HostInfo *Info); | |||||
virtual void UpdateValues(SpiralPlugin *o); | |||||
protected: | |||||
const string GetHelpText(const string &loc); | |||||
private: | |||||
Fl_Check_Button *ShapeSquare; | |||||
Fl_Pixmap pixmap_Square; | |||||
Fl_Check_Button *ShapeNoise; | |||||
Fl_Pixmap pixmap_Noise; | |||||
Fl_Check_Button *ShapeSaw; | |||||
Fl_Pixmap pixmap_Saw; | |||||
Fl_Knob *Freq; | |||||
Fl_Knob *ModAmount; | |||||
Fl_Knob *FineTune; | |||||
Fl_Slider *PulseWidth; | |||||
Fl_Slider *SHLen; | |||||
Fl_Button *m_pop; | |||||
Fl_Output *m_out_freq; | |||||
Fl_Output *m_out_mod; | |||||
Fl_Output *m_out_pulseW; | |||||
Fl_Output *m_out_SHlen; | |||||
float m_FineFreq; | |||||
int m_Octave; | |||||
//// Callbacks //// | |||||
inline void cb_Freq_i(Fl_Knob* o, void* v); | |||||
static void cb_Freq(Fl_Knob*, void*); | |||||
inline void cb_FineTune_i(Fl_Knob* o, void* v); | |||||
static void cb_FineTune(Fl_Knob* o, void* v); | |||||
inline void cb_ModAmount_i(Fl_Knob* o, void* v); | |||||
static void cb_ModAmount(Fl_Knob* o, void* v); | |||||
inline void cb_PulseWidth_i(Fl_Slider* o, void* v); | |||||
static void cb_PulseWidth(Fl_Slider* o, void* v); | |||||
inline void cb_SHLen_i(Fl_Slider* o, void* v); | |||||
static void cb_SHLen(Fl_Slider* o, void* v); | |||||
inline void cb_Square_i(Fl_Check_Button* o, void* v); | |||||
static void cb_Square(Fl_Check_Button*, void*); | |||||
inline void cb_Saw_i(Fl_Check_Button* o, void* v); | |||||
static void cb_Saw(Fl_Check_Button*, void*); | |||||
inline void cb_Noise_i(Fl_Check_Button* o, void* v); | |||||
static void cb_Noise(Fl_Check_Button* o, void* v); | |||||
inline void cb_pop_i(Fl_Button* o, void*); | |||||
static void cb_pop(Fl_Button* o, void*); | |||||
class OscillatorPluginGUI : public SpiralPluginGUI { | |||||
public: | |||||
OscillatorPluginGUI (int w, int h, OscillatorPlugin *o, ChannelHandler *ch, const HostInfo *Info); | |||||
virtual void UpdateValues (SpiralPlugin *o); | |||||
protected: | |||||
const string GetHelpText(const string &loc); | |||||
private: | |||||
// Utility Functions | |||||
void UpdateFreq (void); | |||||
float CalcFineFreq (float Fine); | |||||
// Widgets | |||||
Fl_Tabs *m_Tabs; | |||||
Fl_Group *m_CtlGroup, *m_NumGroup; | |||||
Fl_Button *m_Reset; | |||||
Fl_LED_Button *m_ShapeSquare, *m_ShapeNoise, *m_ShapeSaw; | |||||
Fl_Pixmap m_PixmapSquare, m_PixmapNoise, m_PixmapSaw; | |||||
Fl_Knob *m_Octave, *m_ModAmount, *m_FineTune; | |||||
Fl_Slider *m_PulseWidth, *m_SHLen; | |||||
Fl_Counter *m_NumFreq, *m_NumModAmount, *m_NumPulseWidth, *m_NumSHLen, *m_NumOctave; | |||||
// Data | |||||
float m_FineFreq; | |||||
// Callbacks - no group | |||||
inline void cb_Square_i (Fl_LED_Button* o, void* v); | |||||
static void cb_Square (Fl_LED_Button* o, void* v); | |||||
inline void cb_Saw_i (Fl_LED_Button* o, void* v); | |||||
static void cb_Saw (Fl_LED_Button* o, void* v); | |||||
inline void cb_Noise_i (Fl_LED_Button* o, void* v); | |||||
static void cb_Noise (Fl_LED_Button* o, void* v); | |||||
// Callbacks - Control Group | |||||
inline void cb_Octave_i (Fl_Knob* o, void* v); | |||||
static void cb_Octave (Fl_Knob* o, void* v); | |||||
inline void cb_FineTune_i (Fl_Knob* o, void* v); | |||||
static void cb_FineTune (Fl_Knob* o, void* v); | |||||
inline void cb_Reset_i (Fl_Button* o, void* v); | |||||
static void cb_Reset (Fl_Button* o, void* v); | |||||
inline void cb_ModAmount_i (Fl_Knob* o, void* v); | |||||
static void cb_ModAmount (Fl_Knob* o, void* v); | |||||
inline void cb_PulseWidth_i (Fl_Slider* o, void* v); | |||||
static void cb_PulseWidth (Fl_Slider* o, void* v); | |||||
inline void cb_SHLen_i (Fl_Slider* o, void* v); | |||||
static void cb_SHLen (Fl_Slider* o, void* v); | |||||
// Callbacks - Numbers Group | |||||
inline void cb_NumPulseWidth_i (Fl_Counter* o, void* v); | |||||
static void cb_NumPulseWidth (Fl_Counter* o, void* v); | |||||
inline void cb_NumFreq_i (Fl_Counter* o, void* v); | |||||
static void cb_NumFreq (Fl_Counter* o, void* v); | |||||
inline void cb_NumOctave_i (Fl_Counter* o, void* v); | |||||
static void cb_NumOctave (Fl_Counter* o, void* v); | |||||
inline void cb_NumModAmount_i (Fl_Counter* o, void* v); | |||||
static void cb_NumModAmount (Fl_Counter* o, void* v); | |||||
inline void cb_NumSHLen_i (Fl_Counter* o, void* v); | |||||
static void cb_NumSHLen (Fl_Counter* o, void* v); | |||||
}; | }; | ||||
#endif | #endif |
@@ -49,7 +49,7 @@ RingModPlugin::RingModPlugin() : | |||||
m_Amount(1.0f) | m_Amount(1.0f) | ||||
{ | { | ||||
m_PluginInfo.Name="Ring Mod"; | m_PluginInfo.Name="Ring Mod"; | ||||
m_PluginInfo.Width=90; | |||||
m_PluginInfo.Width=80; | |||||
m_PluginInfo.Height=80; | m_PluginInfo.Height=80; | ||||
m_PluginInfo.NumInputs=2; | m_PluginInfo.NumInputs=2; | ||||
m_PluginInfo.NumOutputs=1; | m_PluginInfo.NumOutputs=1; | ||||
@@ -25,7 +25,7 @@ | |||||
RingModPluginGUI::RingModPluginGUI (int w, int h, RingModPlugin *o, ChannelHandler *ch, const HostInfo *Info) : | RingModPluginGUI::RingModPluginGUI (int w, int h, RingModPlugin *o, ChannelHandler *ch, const HostInfo *Info) : | ||||
SpiralPluginGUI (w, h, o, ch) | SpiralPluginGUI (w, h, o, ch) | ||||
{ | { | ||||
m_Amount = new Fl_Knob (20, 12, 50, 50, "Amount"); | |||||
m_Amount = new Fl_Knob (15, 12, 50, 50, "Amount"); | |||||
m_Amount->color(Info->GUI_COLOUR); | m_Amount->color(Info->GUI_COLOUR); | ||||
m_Amount->type(Fl_Knob::DOTLIN); | m_Amount->type(Fl_Knob::DOTLIN); | ||||
m_Amount->labelsize(10); | m_Amount->labelsize(10); | ||||
@@ -42,8 +42,8 @@ m_Triggered (false) | |||||
m_GUIArgs.Switch = 1; | m_GUIArgs.Switch = 1; | ||||
m_GUIArgs.Echo = 1; | m_GUIArgs.Echo = 1; | ||||
m_PluginInfo.Name = "SplitSwitch"; | m_PluginInfo.Name = "SplitSwitch"; | ||||
m_PluginInfo.Width = 93; | |||||
m_PluginInfo.Height = 55; | |||||
m_PluginInfo.Width = 80; | |||||
m_PluginInfo.Height = 80; | |||||
m_PluginInfo.NumInputs = 3; | m_PluginInfo.NumInputs = 3; | ||||
m_PluginInfo.NumOutputs = 3; | m_PluginInfo.NumOutputs = 3; | ||||
// Inputs | // Inputs | ||||
@@ -25,7 +25,18 @@ | |||||
SplitSwitchPluginGUI::SplitSwitchPluginGUI (int w, int h, SplitSwitchPlugin *o, ChannelHandler *ch, const HostInfo *Info) : | SplitSwitchPluginGUI::SplitSwitchPluginGUI (int w, int h, SplitSwitchPlugin *o, ChannelHandler *ch, const HostInfo *Info) : | ||||
SpiralPluginGUI (w, h, o, ch) | SpiralPluginGUI (w, h, o, ch) | ||||
{ | { | ||||
m_Chans = new Fl_Counter (5, 20, 40, 20, "Channels"); | |||||
m_Switch = new Fl_Counter (15, 14, 50, 20, "Select"); | |||||
m_Switch->labelsize (10); | |||||
m_Switch->type (FL_SIMPLE_COUNTER); | |||||
m_Switch->box (FL_PLASTIC_UP_BOX); | |||||
m_Switch->color (Info->GUI_COLOUR); | |||||
m_Switch->selection_color (Info->GUI_COLOUR); | |||||
m_Switch->step (1); | |||||
m_Switch->value (1); | |||||
m_Switch->callback ((Fl_Callback*) cb_Switch); | |||||
add (m_Switch); | |||||
m_Chans = new Fl_Counter (15, 46, 50, 20, "Channels"); | |||||
m_Chans->labelsize (10); | m_Chans->labelsize (10); | ||||
m_Chans->type (FL_SIMPLE_COUNTER); | m_Chans->type (FL_SIMPLE_COUNTER); | ||||
m_Chans->box (FL_PLASTIC_UP_BOX); | m_Chans->box (FL_PLASTIC_UP_BOX); | ||||
@@ -36,16 +47,7 @@ SpiralPluginGUI (w, h, o, ch) | |||||
m_Chans->callback ((Fl_Callback*) cb_Chans); | m_Chans->callback ((Fl_Callback*) cb_Chans); | ||||
add (m_Chans); | add (m_Chans); | ||||
m_Switch = new Fl_Counter (49, 20, 40, 20, "Select"); | |||||
m_Switch->labelsize (10); | |||||
m_Switch->type (FL_SIMPLE_COUNTER); | |||||
m_Switch->box (FL_PLASTIC_UP_BOX); | |||||
m_Switch->color (Info->GUI_COLOUR); | |||||
m_Switch->selection_color (Info->GUI_COLOUR); | |||||
m_Switch->step (1); | |||||
m_Switch->value (1); | |||||
m_Switch->callback ((Fl_Callback*) cb_Switch); | |||||
add (m_Switch); | |||||
end(); | |||||
} | } | ||||
inline void SplitSwitchPluginGUI::cb_Chans_i (Fl_Counter* o, void* v) { | inline void SplitSwitchPluginGUI::cb_Chans_i (Fl_Counter* o, void* v) { | ||||
@@ -49,7 +49,7 @@ SwitchPlugin::SwitchPlugin() : | |||||
m_Mix(false) | m_Mix(false) | ||||
{ | { | ||||
m_PluginInfo.Name="Switch"; | m_PluginInfo.Name="Switch"; | ||||
m_PluginInfo.Width=60; | |||||
m_PluginInfo.Width=80; | |||||
m_PluginInfo.Height=50; | m_PluginInfo.Height=50; | ||||
m_PluginInfo.NumInputs=3; | m_PluginInfo.NumInputs=3; | ||||
m_PluginInfo.NumOutputs=1; | m_PluginInfo.NumOutputs=1; | ||||
@@ -25,7 +25,7 @@ | |||||
SwitchPluginGUI::SwitchPluginGUI(int w, int h,SwitchPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | SwitchPluginGUI::SwitchPluginGUI(int w, int h,SwitchPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | ||||
SpiralPluginGUI(w,h,o,ch) | SpiralPluginGUI(w,h,o,ch) | ||||
{ | { | ||||
m_Mix = new Fl_Button (5, 20, 50, 20, "Mix"); | |||||
m_Mix = new Fl_Button (15, 20, 50, 20, "Mix"); | |||||
m_Mix->selection_color (Info->GUI_COLOUR); | m_Mix->selection_color (Info->GUI_COLOUR); | ||||
m_Mix->color (Info->GUI_COLOUR); | m_Mix->color (Info->GUI_COLOUR); | ||||
m_Mix->box (FL_PLASTIC_UP_BOX); | m_Mix->box (FL_PLASTIC_UP_BOX); | ||||
@@ -48,7 +48,7 @@ m_Amount(0), | |||||
m_Out(0.0) | m_Out(0.0) | ||||
{ | { | ||||
m_PluginInfo.Name = "Transpose"; | m_PluginInfo.Name = "Transpose"; | ||||
m_PluginInfo.Width = 70; | |||||
m_PluginInfo.Width = 80; | |||||
m_PluginInfo.Height = 60; | m_PluginInfo.Height = 60; | ||||
m_PluginInfo.NumInputs = 2; | m_PluginInfo.NumInputs = 2; | ||||
m_PluginInfo.NumOutputs = 1; | m_PluginInfo.NumOutputs = 1; | ||||
@@ -24,7 +24,7 @@ | |||||
TransposePluginGUI::TransposePluginGUI (int w, int h,TransposePlugin *o,ChannelHandler *ch,const HostInfo *Info) : | TransposePluginGUI::TransposePluginGUI (int w, int h,TransposePlugin *o,ChannelHandler *ch,const HostInfo *Info) : | ||||
SpiralPluginGUI (w, h, o, ch) | SpiralPluginGUI (w, h, o, ch) | ||||
{ | { | ||||
m_Amount = new Fl_Counter (10, 20, 50, 20, "Amount"); | |||||
m_Amount = new Fl_Counter (15, 20, 50, 20, "Amount"); | |||||
m_Amount->color (Info->GUI_COLOUR); | m_Amount->color (Info->GUI_COLOUR); | ||||
m_Amount->type (FL_SIMPLE_COUNTER); | m_Amount->type (FL_SIMPLE_COUNTER); | ||||
m_Amount->box (FL_PLASTIC_UP_BOX); | m_Amount->box (FL_PLASTIC_UP_BOX); | ||||
@@ -54,7 +54,7 @@ m_Operator(SIN) | |||||
m_Version=1; | m_Version=1; | ||||
m_PluginInfo.Name="Trig"; | m_PluginInfo.Name="Trig"; | ||||
m_PluginInfo.Width=60; | |||||
m_PluginInfo.Width=80; | |||||
m_PluginInfo.Height=80; | m_PluginInfo.Height=80; | ||||
m_PluginInfo.NumInputs=1; | m_PluginInfo.NumInputs=1; | ||||
m_PluginInfo.NumOutputs=1; | m_PluginInfo.NumOutputs=1; | ||||
@@ -14,7 +14,7 @@ | |||||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | ||||
* along with this program; if not, write to the Free Software | * along with this program; if not, write to the Free Software | ||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||||
*/ | |||||
*/ | |||||
#include "TrigPluginGUI.h" | #include "TrigPluginGUI.h" | ||||
#include <FL/fl_draw.h> | #include <FL/fl_draw.h> | ||||
@@ -26,7 +26,7 @@ | |||||
TrigPluginGUI::TrigPluginGUI(int w, int h,TrigPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | TrigPluginGUI::TrigPluginGUI(int w, int h,TrigPlugin *o,ChannelHandler *ch,const HostInfo *Info) : | ||||
SpiralPluginGUI(w,h,o,ch) | SpiralPluginGUI(w,h,o,ch) | ||||
{ | { | ||||
m_Sin = new Fl_Button (5, 15, 50, 20, "Sin"); | |||||
m_Sin = new Fl_Button (10, 15, 60, 20, "Sin"); | |||||
m_Sin->labelsize (8); | m_Sin->labelsize (8); | ||||
m_Sin->type (FL_TOGGLE_BUTTON); | m_Sin->type (FL_TOGGLE_BUTTON); | ||||
m_Sin->box (FL_PLASTIC_UP_BOX); | m_Sin->box (FL_PLASTIC_UP_BOX); | ||||
@@ -35,7 +35,7 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_Sin->selection_color (Info->GUI_COLOUR); | m_Sin->selection_color (Info->GUI_COLOUR); | ||||
m_Sin->callback ((Fl_Callback*)cb_Sin); | m_Sin->callback ((Fl_Callback*)cb_Sin); | ||||
m_Cos = new Fl_Button (5, 35, 50, 20, "Cos"); | |||||
m_Cos = new Fl_Button (10, 35, 60, 20, "Cos"); | |||||
m_Cos->labelsize (8); | m_Cos->labelsize (8); | ||||
m_Cos->type (FL_TOGGLE_BUTTON); | m_Cos->type (FL_TOGGLE_BUTTON); | ||||
m_Cos->box (FL_PLASTIC_UP_BOX); | m_Cos->box (FL_PLASTIC_UP_BOX); | ||||
@@ -43,14 +43,14 @@ SpiralPluginGUI(w,h,o,ch) | |||||
m_Cos->selection_color (Info->GUI_COLOUR); | m_Cos->selection_color (Info->GUI_COLOUR); | ||||
m_Cos->callback ((Fl_Callback*)cb_Cos); | m_Cos->callback ((Fl_Callback*)cb_Cos); | ||||
m_Tan = new Fl_Button (5, 55, 50, 20, "Tan"); | |||||
m_Tan = new Fl_Button (10, 55, 60, 20, "Tan"); | |||||
m_Tan->labelsize (8); | m_Tan->labelsize (8); | ||||
m_Tan->type (FL_TOGGLE_BUTTON); | m_Tan->type (FL_TOGGLE_BUTTON); | ||||
m_Tan->box (FL_PLASTIC_UP_BOX); | m_Tan->box (FL_PLASTIC_UP_BOX); | ||||
m_Tan->color (Info->GUI_COLOUR); | m_Tan->color (Info->GUI_COLOUR); | ||||
m_Tan->selection_color (Info->GUI_COLOUR); | m_Tan->selection_color (Info->GUI_COLOUR); | ||||
m_Tan->callback ((Fl_Callback*)cb_Tan); | m_Tan->callback ((Fl_Callback*)cb_Tan); | ||||
end(); | end(); | ||||
} | } | ||||
@@ -1,8 +1,5 @@ | |||||
############################################################################# | ############################################################################# | ||||
# Makefile for building WaveTablePlugin.so | # Makefile for building WaveTablePlugin.so | ||||
# Generated by tmake at 22:13, 2001/09/17 | |||||
# Project: WaveTablePlugin | |||||
# Template: app | |||||
############################################################################# | ############################################################################# | ||||
####### Compiler, tools and options | ####### Compiler, tools and options | ||||
@@ -43,10 +40,18 @@ mandir = @mandir@ | |||||
HEADERS = ../SpiralPlugin.h \ | HEADERS = ../SpiralPlugin.h \ | ||||
../SpiralPluginGUI.h \ | ../SpiralPluginGUI.h \ | ||||
../../ChannelHandler.h \ | |||||
../Widgets/Fl_Knob.H \ | ../Widgets/Fl_Knob.H \ | ||||
../Widgets/Fl_DragBar.H \ | ../Widgets/Fl_DragBar.H \ | ||||
../../Sample.h \ | |||||
../GUI/WS_Square.h \ | |||||
../GUI/WS_Saw.h \ | |||||
../GUI/WS_RevSaw.h \ | |||||
../GUI/WS_Tri.h \ | |||||
../GUI/WS_Sine.h \ | |||||
../GUI/WS_Pulse1.h \ | |||||
../GUI/WS_Pulse2.h \ | |||||
../GUI/WS_InvSine.h \ | |||||
../../Sample.h \ | |||||
../../ChannelHandler.h \ | |||||
WaveTablePlugin.h \ | WaveTablePlugin.h \ | ||||
WaveTablePluginGUI.h | WaveTablePluginGUI.h | ||||
SOURCES = ../SpiralPlugin.C \ | SOURCES = ../SpiralPlugin.C \ | ||||
@@ -65,12 +70,12 @@ OBJECTS = ../SpiralPlugin.o \ | |||||
../../Sample.o \ | ../../Sample.o \ | ||||
WaveTablePlugin.o \ | WaveTablePlugin.o \ | ||||
WaveTablePluginGUI.o | WaveTablePluginGUI.o | ||||
INTERFACES = | |||||
UICDECLS = | |||||
UICIMPLS = | |||||
SRCMOC = | |||||
OBJMOC = | |||||
DIST = | |||||
INTERFACES = | |||||
UICDECLS = | |||||
UICIMPLS = | |||||
SRCMOC = | |||||
OBJMOC = | |||||
DIST = | |||||
TARGET = WaveTablePlugin.so | TARGET = WaveTablePlugin.so | ||||
####### Implicit rules | ####### Implicit rules | ||||
@@ -97,7 +102,7 @@ TARGET = WaveTablePlugin.so | |||||
all: $(TARGET) | all: $(TARGET) | ||||
$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) | |||||
$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) | |||||
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) | $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) | ||||
moc: $(SRCMOC) | moc: $(SRCMOC) | ||||
@@ -112,7 +117,7 @@ dist: | |||||
clean: | clean: | ||||
-rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) | -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) | ||||
-rm -f *~ core | -rm -f *~ core | ||||
install: | install: | ||||
$(INSTALL) $(TARGET) $(libdir)/SpiralPlugins | $(INSTALL) $(TARGET) $(libdir)/SpiralPlugins | ||||
@@ -158,11 +163,19 @@ WaveTablePlugin.o: WaveTablePlugin.C \ | |||||
WaveTablePluginGUI.o: WaveTablePluginGUI.C \ | WaveTablePluginGUI.o: WaveTablePluginGUI.C \ | ||||
WaveTablePluginGUI.h \ | WaveTablePluginGUI.h \ | ||||
../Widgets/Fl_Knob.H \ | |||||
../SpiralPluginGUI.h \ | |||||
../Widgets/Fl_DragBar.H \ | |||||
WaveTablePlugin.h \ | WaveTablePlugin.h \ | ||||
../SpiralPluginGUI.h \ | |||||
../SpiralPlugin.h \ | ../SpiralPlugin.h \ | ||||
../Widgets/Fl_Knob.H \ | |||||
../Widgets/Fl_DragBar.H \ | |||||
../GUI/WS_Square.h \ | |||||
../GUI/WS_Saw.h \ | |||||
../GUI/WS_RevSaw.h \ | |||||
../GUI/WS_Tri.h \ | |||||
../GUI/WS_Sine.h \ | |||||
../GUI/WS_Pulse1.h \ | |||||
../GUI/WS_Pulse2.h \ | |||||
../GUI/WS_InvSine.h \ | |||||
../../Sample.h \ | ../../Sample.h \ | ||||
../../SpiralInfo.h \ | ../../SpiralInfo.h \ | ||||
../../Sample.h | ../../Sample.h | ||||
@@ -14,211 +14,19 @@ | |||||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | ||||
* along with this program; if not, write to the Free Software | * along with this program; if not, write to the Free Software | ||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||||
*/ | |||||
*/ | |||||
#include "WaveTablePluginGUI.h" | #include "WaveTablePluginGUI.h" | ||||
#include <FL/fl_draw.h> | #include <FL/fl_draw.h> | ||||
#include <FL/fl_draw.H> | #include <FL/fl_draw.H> | ||||
static unsigned char *image_Square[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ...... ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" ... . ... ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" ...... ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
static unsigned char *image_Saw[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" ... . .... ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
static unsigned char *image_RevSaw[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" ... . .... ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
static unsigned char *image_Tri[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" . ", | |||||
(unsigned char*)" . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . ", | |||||
(unsigned char*)" . ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
static unsigned char *image_Sine[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . . ", | |||||
(unsigned char*)" . . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" .. ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
static unsigned char *image_Pulse1[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" .... ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" ... . ... ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" ........ ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
static unsigned char *image_Pulse2[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ........ ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" ... . ... ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" .... ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
static unsigned char *image_InvSine[] = { | |||||
(unsigned char*)"20 20 2 1", | |||||
(unsigned char*)" \tc None", | |||||
(unsigned char*)".\tc #000000", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" .. .. ", | |||||
(unsigned char*)" .. .. ", | |||||
(unsigned char*)" . . . . ", | |||||
(unsigned char*)" . .. . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . .. . ", | |||||
(unsigned char*)" . . . . ", | |||||
(unsigned char*)" .. .. ", | |||||
(unsigned char*)" .. .. ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" . . ", | |||||
(unsigned char*)" ", | |||||
(unsigned char*)" "}; | |||||
#include "../GUI/WS_Square.h" | |||||
#include "../GUI/WS_Saw.h" | |||||
#include "../GUI/WS_RevSaw.h" | |||||
#include "../GUI/WS_Tri.h" | |||||
#include "../GUI/WS_Sine.h" | |||||
#include "../GUI/WS_Pulse1.h" | |||||
#include "../GUI/WS_Pulse2.h" | |||||
#include "../GUI/WS_InvSine.h" | |||||
WaveTablePluginGUI::WaveTablePluginGUI(int w, int h, SpiralPlugin *o, ChannelHandler *ch, const HostInfo *Info) : | WaveTablePluginGUI::WaveTablePluginGUI(int w, int h, SpiralPlugin *o, ChannelHandler *ch, const HostInfo *Info) : | ||||
SpiralPluginGUI(w,h,o,ch), | SpiralPluginGUI(w,h,o,ch), | ||||
@@ -232,7 +40,7 @@ pixmap_Pulse2(image_Pulse2), | |||||
pixmap_InvSine(image_InvSine), | pixmap_InvSine(image_InvSine), | ||||
m_FineFreq(0), | m_FineFreq(0), | ||||
m_Octave(0) | m_Octave(0) | ||||
{ | |||||
{ | |||||
ShapeSine = new Fl_Check_Button(5, 15, 55, 30); | ShapeSine = new Fl_Check_Button(5, 15, 55, 30); | ||||
ShapeSine->type(102); | ShapeSine->type(102); | ||||
ShapeSine->down_box(FL_DIAMOND_DOWN_BOX); | ShapeSine->down_box(FL_DIAMOND_DOWN_BOX); | ||||