summaryrefslogtreecommitdiff
path: root/gtk2_ardour/generic_pluginui.cc
AgeCommit message (Collapse)Author
2020-03-25Fix generic UI crash when plugin has ctrl outputs -- #7937Robin Gareus
build_control_ui() special cases `AutomationControl mcontrol = NULL` to create read-only output display. So Iterating over Evoral::Control that are not AutomationControl must not crash. This fixes a bug introduced in a44fecb740d3. "Edit with generic controls" caused crashes for plugins with ctrl outs.
2020-03-18Hide hidden Controls in GUIRobin Gareus
2020-03-14Show latency display/config button for in all plugin UIsRobin Gareus
2019-11-02rename all Evoral source from .(hpp|cpp)$ to .(h|cc)Paul Davis
2019-10-31Consolidate more automation-mode textsRobin Gareus
2019-10-31Consolidate automation and meter-point stringsRobin Gareus
This also properly selects texts in dropdown-menus on the mixer-strip, panner and plugin-controls, gain-meters.
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-11Show preset-browser button if annoted presets are availableRobin Gareus
2019-10-10Add API to check for plugin-presets with descriptionRobin Gareus
2019-08-20Consistent preset layoutRobin Gareus
Use the same order as AU, VST, LV2 GUIs. Show the "modified" asterisk left of the preset-dropdown. This avoids a blank space between the dropdown and the Add, Save, Delete buttons.
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-04-13NO-OP: whitespaceRobin Gareus
This fixes mostly <tab> after <space> and similar <tab> not used for indenting as well as some related code alignment issues.
2019-03-11Remove unused value parameter printersRobin Gareus
2019-03-07Fix some Gtk::Menu related memory leaksRobin Gareus
A Gtk::manage()d widget will be deleted when its parent container is destroyed. Top-level context menus are not inside a container and hence need to be manually deallocated. This adds explicit delete calls for menus where there is a member variable reference to the Menu.
2019-01-02Add external drive references for most file-browsersRobin Gareus
This fixes an issue on MacOS/X to only show non-root volumes in the file-open dialog. They're just as valid for save-as, export, video files etc. In case of a 2nd internal disk, it is also a valid choice as default folder for new sessions.
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-12-05Fix generic plugin UI for plugins with only propertiesRobin Gareus
e.g. reMID.lv2 has only a atom/file-property and no control-inputs.
2018-12-03Don't show DSP stats of inserts that don't collect them.Robin Gareus
2018-11-15Properly limit generic-UI window sizeRobin Gareus
Initially screen() is not unset, the window only exists after the scroller has been realized. Also prevent initially over-sized window.
2018-07-24GUI tweaks for unset midi banks.Robin Gareus
Some MIDNAM files use Patch-Banks that do *not* have a common midi bank (CC0, CC32) but the Patchbank is instead just a collection of patches. There may be more than 127 patches in a patch-bank and each of those may be in a different midi-bank (e.g. Roland SC-88 Pro). Midnams like these are now properly supported via dropdowns (in the patch add/modify dialog and timeline), but ignored by the grid (patch-widget). More work is needed.
2018-06-19Revert frame -> sample changes where it's a frame as in Gtk::FrameJohannes Mueller
2018-05-17Display profile-data in generic plugin-UI.Robin Gareus
2018-02-28Fix some GUI typos (thanks to IOhannes/debian for reporting)Robin Gareus
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