Browse Source

more GUI updates - minor bugfixes

master
edgeeffect 22 years ago
parent
commit
bc8c1a9f54
45 changed files with 812 additions and 1078 deletions
  1. +1
    -1
      SpiralSound/Plugins/AmpPlugin/AmpPlugin.C
  2. +1
    -1
      SpiralSound/Plugins/AmpPlugin/AmpPluginGUI.C
  3. +1
    -1
      SpiralSound/Plugins/BeatMatchPlugin/BeatMatchPlugin.C
  4. +1
    -1
      SpiralSound/Plugins/BeatMatchPlugin/BeatMatchPluginGUI.C
  5. +1
    -1
      SpiralSound/Plugins/CounterPlugin/CounterPlugin.C
  6. +1
    -1
      SpiralSound/Plugins/CounterPlugin/CounterPluginGUI.C
  7. +1
    -1
      SpiralSound/Plugins/DelayPlugin/DelayPlugin.C
  8. +1
    -1
      SpiralSound/Plugins/EchoPlugin/EchoPlugin.C
  9. +1
    -1
      SpiralSound/Plugins/FlipflopPlugin/FlipflopPlugin.C
  10. +2
    -2
      SpiralSound/Plugins/FlipflopPlugin/FlipflopPluginGUI.C
  11. +2
    -2
      SpiralSound/Plugins/LFOPlugin/LFOPlugin.C
  12. +14
    -110
      SpiralSound/Plugins/LFOPlugin/LFOPluginGUI.C
  13. +23
    -20
      SpiralSound/Plugins/LFOPlugin/Makefile.in
  14. +2
    -2
      SpiralSound/Plugins/LogicPlugin/LogicPlugin.C
  15. +8
    -8
      SpiralSound/Plugins/LogicPlugin/LogicPluginGUI.C
  16. +1
    -1
      SpiralSound/Plugins/MasherPlugin/MasherPlugin.C
  17. +8
    -8
      SpiralSound/Plugins/MasherPlugin/MasherPluginGUI.C
  18. +2
    -2
      SpiralSound/Plugins/MidiPlugin/MidiPlugin.C
  19. +22
    -22
      SpiralSound/Plugins/MidiPlugin/MidiPluginGUI.C
  20. +2
    -2
      SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPlugin.C
  21. +13
    -11
      SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPluginGUI.C
  22. +1
    -1
      SpiralSound/Plugins/MixerPlugin/MixerPlugin.C
  23. +2
    -2
      SpiralSound/Plugins/MixerPlugin/MixerPluginGUI.C
  24. +1
    -1
      SpiralSound/Plugins/NoteSnapPlugin/NoteSnapPlugin.C
  25. +14
    -14
      SpiralSound/Plugins/NoteSnapPlugin/NoteSnapPluginGUI.C
  26. +8
    -7
      SpiralSound/Plugins/OperatorPlugin/OperatorPlugin.C
  27. +78
    -105
      SpiralSound/Plugins/OperatorPlugin/OperatorPluginGUI.C
  28. +24
    -36
      SpiralSound/Plugins/OperatorPlugin/OperatorPluginGUI.h
  29. +33
    -27
      SpiralSound/Plugins/OscillatorPlugin/Makefile.in
  30. +29
    -28
      SpiralSound/Plugins/OscillatorPlugin/OscillatorPlugin.C
  31. +12
    -12
      SpiralSound/Plugins/OscillatorPlugin/OscillatorPlugin.h
  32. +375
    -344
      SpiralSound/Plugins/OscillatorPlugin/OscillatorPluginGUI.C
  33. +61
    -59
      SpiralSound/Plugins/OscillatorPlugin/OscillatorPluginGUI.h
  34. +1
    -1
      SpiralSound/Plugins/RingModPlugin/RingModPlugin.C
  35. +1
    -1
      SpiralSound/Plugins/RingModPlugin/RingModPluginGUI.C
  36. +2
    -2
      SpiralSound/Plugins/SplitSwitchPlugin/SplitSwitchPlugin.C
  37. +13
    -11
      SpiralSound/Plugins/SplitSwitchPlugin/SplitSwitchPluginGUI.C
  38. +1
    -1
      SpiralSound/Plugins/SwitchPlugin/SwitchPlugin.C
  39. +1
    -1
      SpiralSound/Plugins/SwitchPlugin/SwitchPluginGUI.C
  40. +1
    -1
      SpiralSound/Plugins/TransposePlugin/TransposePlugin.C
  41. +1
    -1
      SpiralSound/Plugins/TransposePlugin/TransposePluginGUI.C
  42. +1
    -1
      SpiralSound/Plugins/TrigPlugin/TrigPlugin.C
  43. +5
    -5
      SpiralSound/Plugins/TrigPlugin/TrigPluginGUI.C
  44. +29
    -16
      SpiralSound/Plugins/WaveTablePlugin/Makefile.in
  45. +10
    -202
      SpiralSound/Plugins/WaveTablePlugin/WaveTablePluginGUI.C

+ 1
- 1
SpiralSound/Plugins/AmpPlugin/AmpPlugin.C View File

@@ -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");


+ 1
- 1
SpiralSound/Plugins/AmpPlugin/AmpPluginGUI.C View File

@@ -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);


+ 1
- 1
SpiralSound/Plugins/BeatMatchPlugin/BeatMatchPlugin.C View File

@@ -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;


+ 1
- 1
SpiralSound/Plugins/BeatMatchPlugin/BeatMatchPluginGUI.C View File

@@ -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);


+ 1
- 1
SpiralSound/Plugins/CounterPlugin/CounterPlugin.C View File

@@ -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;


+ 1
- 1
SpiralSound/Plugins/CounterPlugin/CounterPluginGUI.C View File

@@ -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);


+ 1
- 1
SpiralSound/Plugins/DelayPlugin/DelayPlugin.C View File

@@ -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");


+ 1
- 1
SpiralSound/Plugins/EchoPlugin/EchoPlugin.C View File

@@ -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");


+ 1
- 1
SpiralSound/Plugins/FlipflopPlugin/FlipflopPlugin.C View File

@@ -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;


+ 2
- 2
SpiralSound/Plugins/FlipflopPlugin/FlipflopPluginGUI.C View File

@@ -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);


+ 2
- 2
SpiralSound/Plugins/LFOPlugin/LFOPlugin.C View File

@@ -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");


+ 14
- 110
SpiralSound/Plugins/LFOPlugin/LFOPluginGUI.C View File

@@ -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);


+ 23
- 20
SpiralSound/Plugins/LFOPlugin/Makefile.in View File

@@ -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


+ 2
- 2
SpiralSound/Plugins/LogicPlugin/LogicPlugin.C View File

@@ -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);


+ 8
- 8
SpiralSound/Plugins/LogicPlugin/LogicPluginGUI.C View File

@@ -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);


+ 1
- 1
SpiralSound/Plugins/MasherPlugin/MasherPlugin.C View File

@@ -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");


+ 8
- 8
SpiralSound/Plugins/MasherPlugin/MasherPluginGUI.C View File

@@ -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)
{ {


+ 2
- 2
SpiralSound/Plugins/MidiPlugin/MidiPlugin.C View File

@@ -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");


+ 22
- 22
SpiralSound/Plugins/MidiPlugin/MidiPluginGUI.C View File

@@ -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);


+ 2
- 2
SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPlugin.C View File

@@ -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);


+ 13
- 11
SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPluginGUI.C View File

@@ -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) {


+ 1
- 1
SpiralSound/Plugins/MixerPlugin/MixerPlugin.C View File

@@ -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);


+ 2
- 2
SpiralSound/Plugins/MixerPlugin/MixerPluginGUI.C View File

@@ -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, "-");


+ 1
- 1
SpiralSound/Plugins/NoteSnapPlugin/NoteSnapPlugin.C View File

@@ -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;


+ 14
- 14
SpiralSound/Plugins/NoteSnapPlugin/NoteSnapPluginGUI.C View File

@@ -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();
} }




+ 8
- 7
SpiralSound/Plugins/OperatorPlugin/OperatorPlugin.C View File

@@ -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<<" ";


+ 78
- 105
SpiralSound/Plugins/OperatorPlugin/OperatorPluginGUI.C View File

@@ -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("")


+ 24
- 36
SpiralSound/Plugins/OperatorPlugin/OperatorPluginGUI.h View File

@@ -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

+ 33
- 27
SpiralSound/Plugins/OscillatorPlugin/Makefile.in View File

@@ -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




+ 29
- 28
SpiralSound/Plugins/OscillatorPlugin/OscillatorPlugin.C View File

@@ -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;
} }
} }


+ 12
- 12
SpiralSound/Plugins/OscillatorPlugin/OscillatorPlugin.h View File

@@ -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);
}; };


+ 375
- 344
SpiralSound/Plugins/OscillatorPlugin/OscillatorPluginGUI.C View File

@@ -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.";
} }

+ 61
- 59
SpiralSound/Plugins/OscillatorPlugin/OscillatorPluginGUI.h View File

@@ -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

+ 1
- 1
SpiralSound/Plugins/RingModPlugin/RingModPlugin.C View File

@@ -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;


+ 1
- 1
SpiralSound/Plugins/RingModPlugin/RingModPluginGUI.C View File

@@ -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);


+ 2
- 2
SpiralSound/Plugins/SplitSwitchPlugin/SplitSwitchPlugin.C View File

@@ -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


+ 13
- 11
SpiralSound/Plugins/SplitSwitchPlugin/SplitSwitchPluginGUI.C View File

@@ -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) {


+ 1
- 1
SpiralSound/Plugins/SwitchPlugin/SwitchPlugin.C View File

@@ -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;


+ 1
- 1
SpiralSound/Plugins/SwitchPlugin/SwitchPluginGUI.C View File

@@ -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);


+ 1
- 1
SpiralSound/Plugins/TransposePlugin/TransposePlugin.C View File

@@ -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;


+ 1
- 1
SpiralSound/Plugins/TransposePlugin/TransposePluginGUI.C View File

@@ -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);


+ 1
- 1
SpiralSound/Plugins/TrigPlugin/TrigPlugin.C View File

@@ -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;


+ 5
- 5
SpiralSound/Plugins/TrigPlugin/TrigPluginGUI.C View File

@@ -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();
} }




+ 29
- 16
SpiralSound/Plugins/WaveTablePlugin/Makefile.in View File

@@ -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


+ 10
- 202
SpiralSound/Plugins/WaveTablePlugin/WaveTablePluginGUI.C View File

@@ -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);


Loading…
Cancel
Save