#include <string>
#include <vector>
+#include <gtkmm/separator.h>
+
#include "pbd/stl_delete.h"
#include "pbd/unwind.h"
#include "pbd/xml++.h"
#include "pbd/failed_constructor.h"
-#include <gtkmm2ext/click_box.h>
-#include <gtkmm2ext/fastmeter.h>
-#include <gtkmm2ext/barcontroller.h>
-#include <gtkmm2ext/utils.h>
-#include <gtkmm2ext/doi.h>
-#include <gtkmm2ext/slider_controller.h>
-
#include "ardour/plugin.h"
#include "ardour/plugin_insert.h"
#include "ardour/session.h"
#include "ardour/value_as_string.h"
+#include "gtkmm2ext/utils.h"
+#include "gtkmm2ext/doi.h"
+
+#include "widgets/ardour_knob.h"
+#include "widgets/click_box.h"
+#include "widgets/fastmeter.h"
+#include "widgets/slider_controller.h"
+#include "widgets/tooltips.h"
+
#include "prompter.h"
#include "plugin_ui.h"
#include "gui_thread.h"
#include "automation_controller.h"
-#include "ardour_knob.h"
#include "gain_meter.h"
#include "timers.h"
-#include "tooltips.h"
#include "ui_config.h"
#include "pbd/i18n.h"
using namespace ARDOUR;
using namespace PBD;
using namespace Gtkmm2ext;
+using namespace ArdourWidgets;
using namespace Gtk;
using namespace ARDOUR_UI_UTILS;
i->second)));
}
+ control_ui->combo->set_controllable (mcontrol);
+
update_control_display(control_ui);
} else {
Adjustment* adj = control_ui->controller->adjustment();
if (desc.integer_step && !desc.toggled) {
- control_ui->clickbox = new ClickBox (adj, "PluginUIClickBox", true);
+ control_ui->clickbox = new ArdourWidgets::ClickBox (adj, "PluginUIClickBox", true);
Gtkmm2ext::set_size_request_to_display_given_text (*control_ui->clickbox, "g9999999", 2, 2);
if (desc.unit == ParameterDescriptor::MIDI_NOTE) {
control_ui->clickbox->set_printer (sigc::bind (sigc::mem_fun (*this, &GenericPluginUI::midinote_printer), control_ui));
} else {
control_ui->clickbox->set_printer (sigc::bind (sigc::mem_fun (*this, &GenericPluginUI::integer_printer), control_ui));
}
+ control_ui->clickbox->set_controllable (mcontrol);
} else if (desc.toggled) {
ArdourButton* but = dynamic_cast<ArdourButton*> (control_ui->controller->widget());
assert(but);
UIConfiguration::instance().color ("meter background top")
);
- info->min_unbound = desc.min_unbound;
- info->max_unbound = desc.max_unbound;
-
- info->min = desc.lower;
- info->max = desc.upper;
-
control_ui->label.set_angle(90);
HBox* center = manage (new HBox);
buf[len] = '\0';
(*i)->display_label->set_text (buf);
- /* autoscaling for the meter */
if ((*i)->meterinfo && (*i)->meterinfo->packed) {
-
- if (val < (*i)->meterinfo->min) {
- if ((*i)->meterinfo->min_unbound)
- (*i)->meterinfo->min = val;
- else
- val = (*i)->meterinfo->min;
- }
-
- if (val > (*i)->meterinfo->max) {
- if ((*i)->meterinfo->max_unbound)
- (*i)->meterinfo->max = val;
- else
- val = (*i)->meterinfo->max;
- }
-
- if ((*i)->meterinfo->max > (*i)->meterinfo->min ) {
- float lval = (val - (*i)->meterinfo->min) / ((*i)->meterinfo->max - (*i)->meterinfo->min) ;
- (*i)->meterinfo->meter->set (lval );
- }
+ (*i)->meterinfo->meter->set (c->desc().to_interface (val));
}
}
}