Assists music production by grouping standalone programs into sessions. Community version of "Non Session Manager".
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.

100 lines
2.1KB

  1. // generated by Fast Light User Interface Designer (fluid) version 1.0108
  2. #ifndef Mixer_Strip_H
  3. #define Mixer_Strip_H
  4. #include <FL/Fl.H>
  5. #include "DPM.H"
  6. #include "Panner.H"
  7. #include <FL/Fl_Scalepack.H>
  8. #include <FL/Fl_Pack.H>
  9. #include <FL/Fl_Flip_Button.H>
  10. #include <FL/Fl_Arc_Dial.H>
  11. #include <FL/Boxtypes.H>
  12. #include <FL/Fl_Group.H>
  13. #include <FL/Fl_Box.H>
  14. #include <FL/Fl_Button.H>
  15. #include <FL/Fl_Value_Slider.H>
  16. #include <FL/Fl_Counter.H>
  17. #include <FL/Fl_Progress.H>
  18. #include <FL/Fl_Input.H>
  19. //#include "Fader.H"
  20. #include <JACK/Port.H>
  21. #include "../FL/Fl_Sometimes_Input.H"
  22. #include "Loggable.H"
  23. class Chain;
  24. class Fl_Flowpack;
  25. class Mixer_Strip : public Fl_Group, public Loggable {
  26. public:
  27. Mixer_Strip(int X, int Y, int W, int H, const char *L = 0);
  28. Mixer_Strip( const char *name, int channels );
  29. Mixer_Strip(); /* for log create */
  30. ~Mixer_Strip();
  31. // Fl_Value_Slider *gain_slider;
  32. Fl_Flip_Button *prepost_button;
  33. Fl_Button *close_button;
  34. Fl_Input *name_field;
  35. Fl_Flowpack *controls_pack;
  36. Chain *chain;
  37. sample_t **chain_buffer;
  38. int chain_buffers;
  39. nframes_t nframes;
  40. private:
  41. unsigned _color;
  42. void init ( );
  43. void cb_handle(Fl_Widget*);
  44. static void cb_handle(Fl_Widget*, void*);
  45. void update_port_names ( void );
  46. protected:
  47. void get ( Log_Entry &e ) const;
  48. void set ( Log_Entry &e );
  49. virtual int handle ( int m );
  50. public:
  51. void color ( Fl_Color c )
  52. {
  53. _color = c;
  54. name_field->color( _color );
  55. name_field->redraw();
  56. }
  57. Fl_Color color ( void ) const
  58. {
  59. return name_field->color();
  60. }
  61. LOG_CREATE_FUNC( Mixer_Strip );
  62. void process ( unsigned int nframes );
  63. static void configure_outputs ( Fl_Widget *o, void *v );
  64. void configure_outputs ( void );
  65. bool configure_ports ( int n );
  66. void update ( void );
  67. // int channels ( void ) const { return _in.size(); }
  68. void name ( const char *name );
  69. const char *name ( void ) const { return label(); }
  70. };
  71. #endif