summaryrefslogtreecommitdiff
path: root/gtk2_ardour/generic_pluginui.cc
AgeCommit message (Collapse)Author
2016-12-20This commit breaks generic GUIs for many LV2 plugins.Paul Davis
Revert "Add checks for supported variant types" This reverts commit 00ed7c81d329ebd0ce8c79081e61d02df9f669dc.
2016-12-20Add checks for supported variant typesHanspeter Portner
Add checks for supported variant types in 'build_control_ui'.
2016-12-16fix generic plugins for toggle with 2 scalepoints (enum)Robin Gareus
Signed-off-by: Robin Gareus <robin@gareus.org>
2016-08-26fix a-eq grid layoutRobin Gareus
2016-08-25Fix astate setting for combo parameters when setting all astateJulien "_FrnchFrgg_" RIVAUD
Don't try to be smart when chosing which parameters need their automation updated but rather trust the list that was populated at creation time when all relevant information had been gathered.
2016-08-24fix generic GUI layout for no-control UIsRobin Gareus
2016-08-20Make knobs size requests dynamicJulien "_FrnchFrgg_" RIVAUD
At the point of creation, the automate_button size request is wrong since it has not the correct style yet. Instead of trying ugly hacks to fix that, connect to the knob's size_request signal and get the button's requisition only when needed. If the system font changes to one that has different extents (even if the point size is the same), the UI will thus correctly update.
2016-08-20Do not constrain vertical size without needJulien "_FrnchFrgg_" RIVAUD
A value of -1 means "let the widget use its natural size in that direction".
2016-08-20Use ArdourButton::Square mode instead of ad-hoc sizingJulien "_FrnchFrgg_" RIVAUD
2016-08-20Use set_sizing_text in generic plugin uiJulien "_FrnchFrgg_" RIVAUD
2016-08-19Avoid CamelCase in color namesJulien "_FrnchFrgg_" RIVAUD
2016-08-19Make automation state buttons active when not on ManualJulien "_FrnchFrgg_" RIVAUD
With the same color code as the fader automation button on mixer strips. This is especially usefull when use_knob is true (e.g. for a-EQ) because the automation only shows one letter and a "Write" state can thus be easy to miss.
2016-08-17Align the currently selected automation state on dropdownJulien "_FrnchFrgg_" RIVAUD
By passing the current text of the automation button we can make the dropdown menu align with the current mode. This will only work for full-size automation buttons, not when use-knob is true, but in that case it feels wrong to popup on top of the button anyway. Also make the menu show on mouse down like a real dropdown.
2016-08-17Replace positioning function with popup helperJulien "_FrnchFrgg_" RIVAUD
Because all uses of the function positioning menus anchored to a widget were as callback argument to Gtk::Menu::popup() where the caller needed to correctly bind arguments, this led to repeated and a bit obscure code. Wrap the logic into an helper function that takes care of all that, and update the callers.
2016-08-08GenericUI: better popup placement for automation modeJulien "_FrnchFrgg_" RIVAUD
2016-08-05add a "Pin Management" button to the plugin UI-headerRobin Gareus
2016-07-29GenericUI: Update all input controls on preset loadJulien "_FrnchFrgg_" RIVAUD
The existing code relies on AutomationControls for getting parameter changes and update the UI accordingly. One case where this doesn't yet work is preset loading, where ARDOUR::Plugin is responsible for actually loading the preset but doesn't notify the changes to AutomationControls. Since the input_controls vector now contains all ControlUI's that rely on AutomationControls to get updates, just listen to Plugin::PresetLoaded() and trigger an update of all elements in input_controls. This is temporary until a better solution is devised to make AutomationControls aware of preset loading.
2016-07-29GenericUI: Show automation UI for dropdownsJulien "_FrnchFrgg_" RIVAUD
Also merge the ControlUI local layout of dropdows with the local layout of other control types (except FileButton).
2016-07-29GenericUI: disable super rapid timer for input controlsJulien "_FrnchFrgg_" RIVAUD
The super rapid timer was disconnected by GenericPluginUI::stop_updating but never connected again, so the generic UI worked often without getting periodic update triggers anyway. Try to disable the mechanism altogether, and see if there are updating glitches.
2016-07-29GenericUI: replace if() by assert()Julien "_FrnchFrgg_" RIVAUD
It makes no sense to check for the validity of mcontrol only for controller creation, since the remainder of the code assumes that the controller will have been created correctly. Replace that by an assert.
2016-07-28GenericUI: remove duplicate connection to signalJulien "_FrnchFrgg_" RIVAUD
Now that there isn't an early return anymore for Dropdowns, the common path takes care of connecting the display update code to the correct signal.
2016-07-28GenericUI: replace early return by an elseJulien "_FrnchFrgg_" RIVAUD
2016-07-28GenericUI: don't add all inputs to automation vectorJulien "_FrnchFrgg_" RIVAUD
That list is used to set the automation state of all automatable controls when the global automation state is changed with the buttons at the top of the generic UI window. The controls were added to the list regardless of the automatable status, and some controls were even added multiple times: once in build_control_ui() and once in build(). Since changing the state of non-automatable controls is wrong, only add the control UI in build_control_ui() which already has the knowledge of automatable or not.
2016-07-28GenericUI: add a sanity-check for FileChoosersJulien "_FrnchFrgg_" RIVAUD
Assert that all FileChooserButton created are for properties, because the remaining code assumes that it should setup things for a property.
2016-07-28GenericUI: move up filepath property handlingJulien "_FrnchFrgg_" RIVAUD
Since it is the only case that's completely different from others in that it only handles properties, and uses a different signal path for updates, don't put it in the middle, but as the first case to check for. Code move only, no behavior change (since it should be exclusive to all other cases anyway).
2016-07-28GenericUI: only connect one PropertyChanged callbackJulien "_FrnchFrgg_" RIVAUD
The code connected the callback to the PropertyChanged signal from the plugin once per filepath control created. Should the plugin have several files to open, this would be at best wasteful and at worst racy. Connect the callback a single time, since the same callback handles all property updates that we're interested in. Also rename the methods, members and typedefs so that it's clear what the code is trying to do.
2016-07-28GenericUI: replace ComboBoxText by ArdourDropdownJulien "_FrnchFrgg_" RIVAUD
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-12more compact generic knob-ui layoutRobin Gareus
2016-07-11tweak generic plugin knob-widgetsRobin Gareus
remove label, use tooltip (saves space, more compact layout)
2016-07-08towards a generic plugin grid layoutRobin Gareus
2016-07-08first step to separate generic-gui layoutRobin Gareus
2016-07-05Plugin GUI activate/enable update (prefer enable)Robin Gareus
2016-07-04Prepare to use knobs in Generic Plugin UIRobin Gareus
2016-07-04Replace Gtk::ToggleButton with ArdourButton in Generic Plugin GUIRobin Gareus
2016-06-12don't show meter for integer/enum outputs in a generic plugin UIRobin Gareus
2016-06-05generic plugin UI: insensitive NotAutomatableRobin Gareus
2016-01-02change Controllable::set_value() API to include grouped control consideration.Paul Davis
This also removes Route::group_gain_control() and associated machinery. Not yet tested with Mackie or other surfaces. More work to done to start using the group capabilities, and also potentially to add or derive more controls as RouteAutomationControls
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-09-16Use ARDOUR_UI_UTILS::set_tooltip rather than via ARDOUR_UI::set_tipTim Mayberry
This removes the direct dependence on ARDOUR_UI/Gtk_UI for setting tooltips. Removes inclusion of ardour_ui.h from 16 files.
2015-09-16Move UIConfiguration Singleton into UIConfiguration headerTim Mayberry
This removes the direct dependence on ardour_ui.h from 39 files
2015-08-24allow file-browser in generic-plugin-GUI to expand.Robin Gareus
2015-06-02always round integer steps (regardless of enum)Robin Gareus
2015-05-04add plugin parameter reset button - closes #6297Robin Gareus
2015-03-07Use Ardour widgets consistently in plugin UI.David Robillard
Several reasons: * This previously looked horribly inconsistent. * The Gtk selector was broken for plugins with many presets, making it impossible to select presets. For whatever reason, the use of a menu fixes this bug. * Towards a hierarchical menu for banked presets.
2015-02-04remove duplicate callbackRobin Gareus
mcontrol->Changed is [also] subscribed to further below (input & output).
2015-01-01Move Timers/Timeouts from ARDOUR_UI into functions in timers.h and use ↵Tim Mayberry
PBD::Timers
2014-12-14fix up requested color names everywhere.Paul Davis
Thank <deity> for emacs ... space-uncamelcase-word-at-point FTW
2014-12-14initial pass to replace all UIConfiguration::get_XXXXXX() calls with ↵Paul Davis
UIConfiguration::color(name). IMPORTANT: names have not been downcased and spaced yet, so many colors are not found