|
- // generated by Fast Light User Interface Designer (fluid) version 1.0300
-
- #include "ducka_widget.h"
-
- START_NAMESPACE_DISTRHO
-
- void DuckaUI::cb_headerImage_i(Avtk::Image*, void*) {
- //system("xdg-open http://www.openavproductions.com/artyfx#ducka");
- }
- void DuckaUI::cb_headerImage(Avtk::Image* o, void* v) {
- ((DuckaUI*)(o->parent()->user_data()))->cb_headerImage_i(o,v);
- }
-
- void DuckaUI::cb_graph_i(Avtk::SidechainGain* o, void*) {
- //cutoff = o->value();
- //float g = o->getGain();
- //gainDial->value( g );
- //freq->value( cutoff ); // update dial
- //writePort(CUTOFF_FREQ, cutoff);
- //writePort(CUTOFF_GAIN, g);
- }
- void DuckaUI::cb_graph(Avtk::SidechainGain* o, void* v) {
- ((DuckaUI*)(o->parent()->user_data()))->cb_graph_i(o,v);
- }
-
- void DuckaUI::cb_threshold_i(Avtk::Dial* o, void*) {
- float tmp = o->value();
- graph->threshold( tmp );
- setHostParameter( 0, tmp );
- }
- void DuckaUI::cb_threshold(Avtk::Dial* o, void* v) {
- ((DuckaUI*)(o->parent()->user_data()))->cb_threshold_i(o,v);
- }
-
- void DuckaUI::cb_drop_i(Avtk::Dial* o, void*) {
- float tmp = o->value();
- graph->reduce( tmp );
- setHostParameter( 1, tmp );
- }
- void DuckaUI::cb_drop(Avtk::Dial* o, void* v) {
- ((DuckaUI*)(o->parent()->user_data()))->cb_drop_i(o,v);
- }
-
- void DuckaUI::cb_time_i(Avtk::Dial* o, void*) {
- float tmp = o->value();
- graph->release( tmp );
- setHostParameter( 2, tmp );
- }
- void DuckaUI::cb_time(Avtk::Dial* o, void* v) {
- ((DuckaUI*)(o->parent()->user_data()))->cb_time_i(o,v);
- }
-
- /**
- if the type of filter changes, this function will highlight the right button
- */
- void DuckaUI::update_button(int button) {
- }
-
- DuckaUI::DuckaUI(UI* const uic) : ui(uic) {
- { Fl_Double_Window* o = window = new Fl_Double_Window(160, 220);
- window->user_data((void*)(this));
- { headerImage = new Avtk::Image(0, 0, 160, 29, "header.png");
- headerImage->box(FL_NO_BOX);
- headerImage->color(FL_BACKGROUND_COLOR);
- headerImage->selection_color(FL_BACKGROUND_COLOR);
- headerImage->labeltype(FL_NORMAL_LABEL);
- headerImage->labelfont(0);
- headerImage->labelsize(14);
- headerImage->labelcolor((Fl_Color)20);
- headerImage->callback((Fl_Callback*)cb_headerImage);
- headerImage->align(Fl_Align(FL_ALIGN_CENTER));
- headerImage->when(FL_WHEN_RELEASE_ALWAYS);
- headerImage->setPixbuf(header.pixel_data,4);
- } // Avtk::Image* headerImage
- { graph = new Avtk::SidechainGain(5, 36, 150, 126, "graph");
- graph->box(FL_UP_BOX);
- graph->color((Fl_Color)179);
- graph->selection_color(FL_INACTIVE_COLOR);
- graph->labeltype(FL_NO_LABEL);
- graph->labelfont(0);
- graph->labelsize(14);
- graph->labelcolor(FL_FOREGROUND_COLOR);
- graph->callback((Fl_Callback*)cb_graph);
- graph->align(Fl_Align(FL_ALIGN_BOTTOM));
- graph->when(FL_WHEN_CHANGED);
- } // Avtk::SidechainGain* graph
- { threshold = new Avtk::Dial(10, 169, 37, 37, "Thres");
- threshold->box(FL_NO_BOX);
- threshold->color((Fl_Color)90);
- threshold->selection_color(FL_INACTIVE_COLOR);
- threshold->labeltype(FL_NORMAL_LABEL);
- threshold->labelfont(0);
- threshold->labelsize(10);
- threshold->labelcolor(FL_FOREGROUND_COLOR);
- threshold->callback((Fl_Callback*)cb_threshold);
- threshold->align(Fl_Align(FL_ALIGN_BOTTOM));
- threshold->when(FL_WHEN_CHANGED);
- } // Avtk::Dial* threshold
- { drop = new Avtk::Dial(62, 169, 37, 37, "Drop");
- drop->box(FL_NO_BOX);
- drop->color((Fl_Color)90);
- drop->selection_color(FL_INACTIVE_COLOR);
- drop->labeltype(FL_NORMAL_LABEL);
- drop->labelfont(0);
- drop->labelsize(10);
- drop->labelcolor(FL_FOREGROUND_COLOR);
- drop->callback((Fl_Callback*)cb_drop);
- drop->align(Fl_Align(FL_ALIGN_BOTTOM));
- drop->when(FL_WHEN_CHANGED);
- } // Avtk::Dial* drop
- { time = new Avtk::Dial(113, 168, 37, 37, "Time");
- time->box(FL_NO_BOX);
- time->color((Fl_Color)90);
- time->selection_color(FL_INACTIVE_COLOR);
- time->labeltype(FL_NORMAL_LABEL);
- time->labelfont(0);
- time->labelsize(10);
- time->labelcolor(FL_FOREGROUND_COLOR);
- time->callback((Fl_Callback*)cb_time);
- time->align(Fl_Align(FL_ALIGN_BOTTOM));
- time->when(FL_WHEN_CHANGED);
- } // Avtk::Dial* time
- window->color( fl_rgb_color( 17,17,17) );
- close_cb( o, 0 );
- window->end();
- } // Fl_Double_Window* window
- }
-
- int DuckaUI::getWidth() {
- return window->w();
- }
-
- int DuckaUI::getHeight() {
- return window->h();
- }
-
- void DuckaUI::setHostParameter(uint32_t index, float value) {
- //cout << "port " << port << " value " << value << endl;
- ui->d_setParameterValue(index, value);
- }
-
- void DuckaUI::close_cb(Fl_Widget* o, void*) {
- if ((Fl::event() == FL_KEYDOWN || Fl::event() == FL_SHORTCUT) && Fl::event_key() == FL_Escape)
- {
- return; // ignore ESC
- }
- else
- {
- o->hide();
- }
- }
-
- END_NAMESPACE_DISTRHO
|