1 /* SpiralPlugin 2 * Copyleft (C) 2000 David Griffiths <dave@pawfal.org> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 */ 18 19 #include <FL/Fl.H> 20 #include <FL/Fl_Group.H> 21 #include <FL/Fl_Slider.H> 22 #include <FL/Fl_Tabs.H> 23 #include <FL/Fl_Counter.H> 24 #include "EnvelopePlugin.h" 25 #include "../SpiralPluginGUI.h" 26 27 #ifndef EnvelopeGUI 28 #define EnvelopeGUI 29 30 class EnvelopePluginGUI : public SpiralPluginGUI { 31 public: 32 EnvelopePluginGUI(int w, int h, EnvelopePlugin *o,ChannelHandler *ch,const HostInfo *Info); 33 virtual void UpdateValues(SpiralPlugin *o); 34 protected: 35 const std::string GetHelpText(const std::string &loc); 36 private: 37 Fl_Tabs *m_Tabs; 38 Fl_Group *m_CtlGroup, *m_NumGroup; 39 Fl_Slider *m_Thresh, *m_Attack, *m_Decay, *m_Sustain, *m_Release, *m_Volume; 40 Fl_Counter *m_NumThresh, *m_NumAttack, *m_NumDecay, *m_NumSustain, *m_NumRelease, *m_NumVolume; 41 // Slider Callbacks 42 inline void cb_Thresh_i (Fl_Slider* o, void* v); 43 static void cb_Thresh (Fl_Slider* o, void* v); 44 inline void cb_Attack_i (Fl_Slider* o, void* v); 45 static void cb_Attack (Fl_Slider* o, void* v); 46 inline void cb_Decay_i (Fl_Slider* o, void* v); 47 static void cb_Decay (Fl_Slider* o, void* v); 48 inline void cb_Sustain_i (Fl_Slider* o, void* v); 49 static void cb_Sustain (Fl_Slider* o, void* v); 50 inline void cb_Release_i (Fl_Slider* o, void* v); 51 static void cb_Release (Fl_Slider* o, void* v); 52 inline void cb_Volume_i (Fl_Slider* o, void* v); 53 static void cb_Volume (Fl_Slider* o, void* v); 54 // Counter Callbacks 55 inline void cb_NumThresh_i (Fl_Counter* o, void* v); 56 static void cb_NumThresh (Fl_Counter* o, void* v); 57 inline void cb_NumAttack_i (Fl_Counter* o, void* v); 58 static void cb_NumAttack (Fl_Counter* o, void* v); 59 inline void cb_NumDecay_i (Fl_Counter* o, void* v); 60 static void cb_NumDecay (Fl_Counter* o, void* v); 61 inline void cb_NumSustain_i (Fl_Counter* o, void* v); 62 static void cb_NumSustain (Fl_Counter* o, void* v); 63 inline void cb_NumRelease_i (Fl_Counter* o, void* v); 64 static void cb_NumRelease (Fl_Counter* o, void* v); 65 inline void cb_NumVolume_i (Fl_Counter* o, void* v); 66 static void cb_NumVolume (Fl_Counter* o, void* v); 67 }; 68 69 #endif 70