Audio plugin host https://kx.studio/carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.1KB

  1. /*
  2. ZynAddSubFX - a software synthesizer
  3. Fl_EQGraph.H - Equalizer Graphical View
  4. Copyright (C) 2016 Mark McCurry
  5. This program is free software; you can redistribute it and/or
  6. modify it under the terms of the GNU General Public License
  7. as published by the Free Software Foundation; either version 2
  8. of the License, or (at your option) any later version.
  9. */
  10. #pragma once
  11. #include "Fl_Osc_Widget.H"
  12. #include <FL/Fl_Box.H>
  13. #include "../globals.h"
  14. class EffectMgr;
  15. class Fl_Osc_Interface;
  16. class Fl_EQGraph:public Fl_Box, public Fl_Osc_Widget
  17. {
  18. public:
  19. Fl_EQGraph(int x,int y, int w, int h, const char *label=0);
  20. virtual ~Fl_EQGraph(void);
  21. void draw(void);
  22. void OSC_raw(const char *msg);
  23. void update(void);
  24. private:
  25. void draw_freq_line(float freq,int type);
  26. double getresponse(int maxy,float freq) const;
  27. float getfreqx(float x) const;
  28. float getfreqpos(float freq) const;
  29. float samplerate;
  30. float gain;
  31. float num[MAX_EQ_BANDS*MAX_FILTER_STAGES*3];
  32. float dem[MAX_EQ_BANDS*MAX_FILTER_STAGES*3];
  33. };