summaryrefslogtreecommitdiff
path: root/gtk2_ardour/generic_pluginui.cc
AgeCommit message (Collapse)Author
2017-09-25Remove unused ClickBoxRobin Gareus
2017-09-23The beginning of the end for ClickBoxRobin Gareus
This fixes various issues with integer controls (some values are not reachable due to incorrect rounding in AutoSpin) and also pulls in the various benefits of BarController: * mouse-drags * numeric entry * alternative entry modes (piano-keyboard, tempo-based values) If this style remains, ClickBox & AutoSpin should be removed from the codebase.
2017-09-20Don't try to limit the UI width if no screen is foundJulien "_FrnchFrgg_" RIVAUD
2017-09-20Bail out early if a screen isn't foundJulien "_FrnchFrgg_" RIVAUD
2017-09-19fix GTK+ warnings when trying to determine maximum screen size without a ↵Paul Davis
Gdk::Window
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode and video in order to keep the legible
2017-09-18GUI support for LatchRobin Gareus
2017-09-09GenericPluginUI: tweak MIDI patch select layoutRobin Gareus
2017-09-09GenericUI: subscribe to property changes before querying valuesRobin Gareus
Fixes displaying the initial/current filename/path for plugins that have a LV2:Patch path property.
2017-09-09GUI part of LV2 midnam race condition fixRobin Gareus
..and support for midnam patches on MIDI Busses.
2017-09-09GenericPluginUI: send MIDI to plugin if it's not on a MIDI trackRobin Gareus
2017-09-08Add a PianoKeyboard to GenericUI (on a MIDI track)Robin Gareus
2017-09-08PluginUI: only show "Reset" & Automation buttons if there are any controlsRobin Gareus
2017-09-08Experimental GenericPluginUI MIDI patch select.Robin Gareus
2017-08-30Fix C++11'ismRobin Gareus
2017-08-30Ensure a plugin generic UI doesn't exceed screen widthJulien "_FrnchFrgg_" RIVAUD
Do that by wrapping the packed controls box in a ScrolledWindow and making it request the same width than the box but capped to 90% of the screen width. Also, when the box width exceeds the maximum value, try again with one-letter automation buttons in case the reduced width avoids showing a scroll bar.
2017-08-30Change the autostate button width of all controlsJulien "_FrnchFrgg_" RIVAUD
2017-08-29Use small Astate buttons for plugins with many controlsJulien "_FrnchFrgg_" RIVAUD
The generic plugin UI uses spelled-out automation state buttons for controls, which is good for readability and usability, but some plugins have a very big amount of controls which means we need a lot of columns. For those plugins, prefer one-letter automation states, to save width.
2017-08-29GenericUI: rationalize Autostate button sizingJulien "_FrnchFrgg_" RIVAUD
When there was a knobtable in the ControlUI, the behavior of the automation state button changed by displaying one-char state as in track headers. Factor out that logic to depend on a new boolean property of the ControlUI, which should be set with set_short_autostate(). This regroups sizing logic in a single place and avoids future discrepancies between the actual caption and the size allocated for it, when several use-cases for smaller buttons are added.
2017-07-31Indicate whether to show plugin's inline display in GUIJohannes Mueller
This is currently done by an extension data similarly to LV2_INLINEDISPLAY__interface.
2017-07-31Display the inline display in the generic plugin guiJohannes Mueller
2017-07-17Remove ArdourPrompter wrapperRobin Gareus
2017-07-17Remove <gtkmm.h> include from header files.Robin Gareus
2017-07-17Move Gtkmm2ext widgets into libwidgetRobin Gareus
2017-07-17Separate Ardour UI widgets into dedicated libraryRobin Gareus
2017-07-02Allow to bind generic plugin-ui dropdown + clickboxesRobin Gareus
2017-06-21update GUI to use new APIsRobin Gareus
2017-06-21GUI: prepare for API changesRobin Gareus
remove use of - unbound_min/max - list->default_value and min/max_y
2017-06-09Update GUI, drop Automatable::value_as_string() APIRobin Gareus
2017-05-25Pretty print control-outputs in generic-UIRobin Gareus
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.