#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"
} else {
pack_end (plugin_analysis_expander, false, false);
}
+
+ if (insert->provides_stats ()) {
+ pack_end (cpuload_expander, false, false);
+ }
+
if (!plugin->get_docs().empty()) {
pack_end (description_expander, false, false);
}
scroller.set_name ("PluginEditor");
} else {
scroller.signal_size_request().connect (sigc::mem_fun(*this, &GenericPluginUI::scroller_size_request));
+ scroller.signal_realize().connect (sigc::mem_fun(scroller, &Widget::queue_resize));
scroller.set_policy (Gtk::POLICY_AUTOMATIC, Gtk::POLICY_NEVER);
}
{
GtkRequisition request = hpacker.size_request();
- Glib::RefPtr<Gdk::Window> window (get_window());
+ Glib::RefPtr<Gdk::Window> window (scroller.get_window());
Glib::RefPtr<Gdk::Screen> screen;
if (window) {
- screen = get_screen();
+ screen = window->get_screen();
}
if (!screen) {
- a->width = request.width;
+ a->width = min(1024, request.width);
return;
}
Gtk::Table* button_table = manage (new Gtk::Table (initial_button_rows, initial_button_cols));
Gtk::Table* output_table = manage (new Gtk::Table (initial_output_rows, initial_output_cols));
- Frame* sample;
- Frame* bt_sample;
+ Frame* frame;
+ Frame* bt_frame;
VBox* box;
int output_row, output_col;
int button_row, button_col;
output_table->set_border_width (5);
- bt_sample = manage (new Frame);
- bt_sample->set_name ("BaseFrame");
- bt_sample->set_label (_("Switches"));
- bt_sample->add (*button_table);
- hpacker.pack_start(*bt_sample, true, true);
+ bt_frame = manage (new Frame);
+ bt_frame->set_name ("BaseFrame");
+ bt_frame->set_label (_("Switches"));
+ bt_frame->add (*button_table);
+ hpacker.pack_start(*bt_frame, true, true);
box = manage (new VBox);
box->set_border_width (5);
box->set_spacing (1);
- sample = manage (new Frame);
- sample->set_name ("BaseFrame");
- sample->set_label (_("Controls"));
- sample->add (*box);
- hpacker.pack_start(*sample, true, true);
+ frame = manage (new Frame);
+ frame->set_name ("BaseFrame");
+ frame->set_label (_("Controls"));
+ frame->add (*box);
+ hpacker.pack_start(*frame, true, true);
// Add special controls to UI, and build list of normal controls to be layed out later
std::vector<ControlUI *> cui_controls_list;
FILL|EXPAND, FILL);
button_row++;
- } else if (cui->controller || cui->clickbox || cui->combo) {
+ } else if (cui->controller || cui->combo) {
// Get all of the controls into a list, so that
// we can lay them out a bit more nicely later.
cui_controls_list.push_back(cui);
if (x > max_controls_per_column || similarity_scores[i] <= similarity_threshold) {
if (x > min_controls_per_column) {
- sample = manage (new Frame);
- sample->set_name ("BaseFrame");
- sample->set_label (_("Controls"));
+ frame = manage (new Frame);
+ frame->set_name ("BaseFrame");
+ frame->set_label (_("Controls"));
box = manage (new VBox);
box->set_border_width (5);
box->set_spacing (1);
- sample->add (*box);
- hpacker.pack_start(*sample, true, true);
+ frame->add (*box);
+ hpacker.pack_start(*frame, true, true);
x = 0;
} else {
HSeparator *split = new HSeparator();
}
if (box->children().empty()) {
- hpacker.remove (*sample);
+ hpacker.remove (*frame);
}
if (button_table->children().empty()) {
- hpacker.remove (*bt_sample);
+ hpacker.remove (*bt_frame);
delete button_table;
} else {
button_table->show_all ();
}
if (!output_table->children().empty()) {
- sample = manage (new Frame);
- sample->set_name ("BaseFrame");
- sample->set_label(_("Meters"));
- sample->add (*output_table);
- hpacker.pack_end (*sample, true, true);
+ frame = manage (new Frame);
+ frame->set_name ("BaseFrame");
+ frame->set_label(_("Meters"));
+ frame->add (*output_table);
+ hpacker.pack_end (*frame, true, true);
output_table->show_all ();
} else {
delete output_table;
pgm_table->set_border_width (5);
pgm_table->set_col_spacing (2, 10);
- Frame* sample = manage (new Frame);
- sample->set_name ("BaseFrame");
+ Frame* frame = manage (new Frame);
+ frame->set_name ("BaseFrame");
if (dynamic_cast<MidiTrack*> (insert->owner())) {
- sample->set_label (_("MIDI Progams (sent to track)"));
+ frame->set_label (_("MIDI Programs (sent to track)"));
} else {
- sample->set_label (_("MIDI Progams (volatile)"));
+ frame->set_label (_("MIDI Programs (volatile)"));
}
- sample->add (*pgm_table);
- hpacker.pack_start (*sample, false, false);
+ frame->add (*pgm_table);
+ hpacker.pack_start (*frame, false, false);
for (uint8_t chn = 0; chn < 16; ++chn) {
int col = 3 * (chn / 8);
for (MIDI::Name::PatchNameList::const_iterator j = patches.begin(); j != patches.end(); ++j) {
const std::string pgm = (*j)->name ();
MIDI::Name::PatchPrimaryKey const& key = (*j)->patch_primary_key ();
- assert ((*i)->number () == key.bank());
const uint32_t bp = (key.bank() << 7) | key.program();
midi_pgmsel[chn]->AddMenuElem (MenuElemNoMnemonic (pgm, sigc::bind (sigc::mem_fun (*this, &GenericPluginUI::midi_bank_patch_select), chn, bp)));
pgm_names[bp] = pgm;
: param(p)
, automate_button (X_("")) // force creation of a label
, combo (0)
- , clickbox (0)
, file_button (0)
, spin_box (0)
, display (0)
Adjustment* adj = control_ui->controller->adjustment();
- if (false /* desc.integer_step && !desc.toggled */) {
- 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) {
+ if (desc.toggled) {
ArdourButton* but = dynamic_cast<ArdourButton*> (control_ui->controller->widget());
assert(but);
but->set_tweaks(ArdourButton::Square);
if (control_ui->combo) {
control_ui->knobtable->attach (control_ui->label, 0, 1, 0, 1);
control_ui->knobtable->attach (*control_ui->combo, 0, 1, 1, 2);
- } else if (control_ui->clickbox) {
- control_ui->knobtable->attach (*control_ui->clickbox, 0, 2, 0, 1);
- control_ui->knobtable->attach (control_ui->label, 0, 1, 1, 2, FILL, SHRINK);
- control_ui->knobtable->attach (control_ui->automate_button, 1, 2, 1, 2, SHRINK, SHRINK, 2, 0);
} else if (control_ui->spin_box) {
ArdourKnob* knob = dynamic_cast<ArdourKnob*>(control_ui->controller->widget ());
knob->set_tooltip_prefix (desc.label + ": ");
control_ui->pack_start (control_ui->label, true, true);
if (control_ui->combo) {
control_ui->pack_start(*control_ui->combo, false, true);
- } else if (control_ui->clickbox) {
- control_ui->pack_start (*control_ui->clickbox, false, false);
} else if (control_ui->spin_box) {
control_ui->pack_start (*control_ui->spin_box, false, false);
control_ui->pack_start (*control_ui->controller, false, false);