summaryrefslogtreecommitdiff
path: root/gtk2_ardour/plugin_ui.h
AgeCommit message (Collapse)Author
2019-10-25Rename PianoKeyboard class, avoid ambiguitiesRobin Gareus
A C++ class "PianoKeyboard" in the global namespace may cause issues with some plugins that export and use an identically named symbol.
2019-10-24Rough-in gtk-pianokeyboard C -> C++Robin Gareus
2019-10-18Cont'd work on Virtual-keyboardRobin Gareus
* allow gtk_pianokeyboard to respond to y-axis click position and include MIDI velocity with note-on signal * add configuration settings to virual-keyboard min/max velocity, keyboard-layout * add a CC7 controller knob
2019-10-11Add a plugin-preset browser windowRobin Gareus
Previously preset-browser was only used instead of "generic control" display if a plugin does not have any controls (but presets). This allows for showing a dedicated window..
2019-10-10Add API to check for plugin-presets with descriptionRobin Gareus
2019-08-03Update GPL boilerplate and (C)Robin Gareus
Copyright-holder and year information is extracted from git log. git history begins in 2005. So (C) from 1998..2005 is lost. Also some (C) assignment of commits where the committer didn't use --author.
2019-03-11Remove unused value parameter printersRobin Gareus
2018-12-20Add a plugin-preset list/selector GUIRobin Gareus
This is currently only used for "Preset only" plugins, generic UI. And also depends on plugin-presets having a description.
2018-08-15Draw Plugin DSP load bargraphRobin Gareus
2018-05-17Display profile-data in generic plugin-UI.Robin Gareus
2017-09-25Remove unused ClickBoxRobin Gareus
2017-09-18GUI support for LatchRobin Gareus
2017-09-08Add a PianoKeyboard to GenericUI (on a MIDI track)Robin Gareus
2017-09-08Experimental GenericPluginUI MIDI patch select.Robin 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-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-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-01NO-OP whitespace & foratting of header filesRobin Gareus
2017-07-01NO-OP whitespace (updated GH PR #357)Thomas Brand
2017-06-21GUI: prepare for API changesRobin Gareus
remove use of - unbound_min/max - list->default_value and min/max_y
2016-11-13basic Mac VST Cocoa UI supportRobin 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-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-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-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-16adjust plugin-UI height when toggling expandersRobin Gareus
2016-07-08towards a generic plugin grid layoutRobin Gareus
2016-07-08first step to separate generic-gui layoutRobin Gareus
2016-07-04Replace Gtk::ToggleButton with ArdourButton in Generic Plugin GUIRobin Gareus
2015-10-20Clean up generic and LV2 plugin GUI to deal with ↵Paul Davis
ParameterChanged(Externally) alteration
2015-10-20Revert "rename ParameterChanged signal in Plugin to ↵Paul Davis
ParameterChangedExternally to reflect its intent, and clean up the result." This reverts commit 336b2eb9a4a8634bae84a15e952d20335aa28c12.
2015-10-20rename ParameterChanged signal in Plugin to ParameterChangedExternally to ↵Paul Davis
reflect its intent, and clean up the result. The signal exists to notify listeners that something outside of the host's control (e.g. a plugin's own GUI for AU or VST) has modified a plugin parameter. Previous code had strange feedback loops and ambiguous semantics. Significant modification of LV2 GUI updating was required. Still to be tested for feedback loop issues: AudioUnits
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-05-04prepare plugin reset (#6297)Robin 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-21fix embedded plugin UI keyboard handlingRobin Gareus
When the GUI is opened the first time all is fine, focus is on the embedded widget. However once a user presses one of the preset buttons (Add, Save,...) there is no possibility to return focus to the embedded widget. Ardour always 'sees' it as focus=GtkButton and passes the event to the editor.
2014-11-28Remove redundant calls to start/end_touch.David Robillard
The controllers do this automatically.
2014-11-18Plugin Automation All: Fix bug where Switches weren't being changed.Jeremy Carter
2014-11-14fix up some suboptimal and crash-prone aspects of ↵Paul Davis
7c263f3bc4f3bddd8094c9baecf584503012acc8 from Jeremy Carter
2014-11-11Added Write All, Play All, etc. automation buttons to generic plugin UIJeremy Carter
2014-11-02Fix crash when showing UI for plugins with output control ports.David Robillard
2014-11-02Automation of LV2 plugin properties.David Robillard
Work towards ParameterDescriptor being used more universally to describe control characteristics.
2014-11-02Move ParameterDescriptor from Plugin to its own header.David Robillard
This fixes circular dependency issues that arise when using ParameterDescriptor more widely.
2014-11-02Decouple ControlUI from port index.David Robillard
2014-10-31More generic RT-safe implementation of LV2 properties.David Robillard
2014-10-31prototype [LV2]patch-change support for generic plugin UIs.Robin Gareus