Commit Graph

211 Commits

Author SHA1 Message Date
b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
9cbf3ae4ad
Who needs PIs for Plugin GUIs?
Use abstract base class for plugin UIs wherever possible
2022-04-14 16:35:03 +02:00
Mads Kiilerich
a86aa31747
gtkmm: use get_visible() instead of deprecated Gtk::Widget::is_visible() 2022-04-08 20:20:10 +02:00
9eb626cc37 Auditioner: hide unnecessary widgets for auditioner synth GUI 2022-02-04 20:18:00 -06:00
c7b70c6318 new GUI preference item for showing only 1 plugin GUI at a time. Disabled by default 2021-12-05 11:07:27 -07:00
cc32201e9c
Keep plugin-preset dialog on top of plugin-UI 2021-09-04 18:42:50 +02:00
4c228c2eab
Remove cruft 2021-04-03 14:56:15 +02:00
e3c3109618
Unsubscribe from signals when clearing references
This fixes crashes with plugins calling setDirty() when the
UI is closed. `plugin` has already been reset before
the actual window is closed:

`PluginUIWindow::~PluginUIWindow()` runs, and destroys the window,
here `~VST3NSViewPluginUI ()`. This closes the VST3 view, which
triggers a `VST3PI::setDirty`.
At this point in time `~PlugUIBase()` has not yet run, so all
signals are still connected.

setDirty() ends up calling PlugUIBase::update_preset_modified()
which access `plugin` pointer, which is NULL.
2021-03-01 22:11:15 +01:00
94af225eaf
Fix window parent when using different workspaces
This affects only windows opened from the mixer window,
in case the mixer is detached and on a different workspace (desktop).

Window::init (and Dialog::init) set transient parent early on,
and it defaults to the main window (with toolbar). It needs to be
unset before presenting the window, in order to show the window
on the same workspace as the eventual transient parent.

This follows 6dc9134 and f3fbf58.
2020-11-18 16:26:36 +01:00
0f7850b0b7
Properly emit Plugin::DropReferences (2/2)
This also destroys the shadow plugin used for analysis as soon
as the analysis pane is hidden.
2020-10-05 19:57:17 +02:00
1759ba96b6
VST3: Plugin GUI support 2020-09-17 00:10:21 +02:00
3f16f60221
VST3: Ardour-GUI basics 2020-09-16 22:49:19 +02:00
f8ce5ecbc6
Consolidate Plugin-GUI toolbar layout, consistent layout & spacing 2020-09-16 00:02:52 +02:00
1b261fab48
Remove unused LV2 ifdef 2/3
LV2 has been mandatory since 6.0 (04ccd328dc)
2020-09-15 17:35:04 +02:00
bdebac8bec
Do not reload plugin preset on preset-save
After saving a plugin-preset we only have to mark it as
not modified and remember the preset.
2020-09-09 17:21:51 +02:00
2f1ab39b9c
Remove explicit call to delete preset when saving a preset 2020-06-24 23:59:09 +02:00
97f3d9496b
Show latency display/config button for in all plugin UIs 2020-03-14 13:25:51 +01:00
c456006f82
Enable some key release event forwarding
This is needed for the virtual MIDI keyboard to trigger note-off events
2019-11-22 22:12:48 +01:00
71fa4fa75c
Add a plugin-preset browser window
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-11 00:03:41 +02:00
0fa38c0002
Add API to check for plugin-presets with description 2019-10-10 22:31:19 +02:00
f470d3e856 remove all use of NO_PLUGIN_STATE #ifdef
We determined several years that we should never ever do this,
and changed the basis for the free/demo copy because of that.
2019-10-02 18:04:40 -06:00
24aa61f08c
Use samples_as_time_string API 2019-09-29 02:45:30 +02:00
191dea0248
Use latency-icon instead of text 2019-08-27 12:18:44 +02:00
e286cce399
Borderless plugin UIs
This removes a border painted in the host's UI theme color around
any plugin UI.
This results in a much nicer look/feel for plugin-UIs that have their
own theme
2019-08-26 16:28:03 +02:00
22aa61b674
Use icons for plugin bypass and pinout 2019-08-22 21:03:44 +02:00
e9e761565b
Use Icons for plugin preset buttons.
This reduces the preset task-bar's min-width, useful for plugins with
narrow UIs.
2019-08-21 01:27:36 +02:00
4050ca5633
Update GPL boilerplate and (C)
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-08-03 15:53:15 +02:00
feab950ea0
Update Latency UI, subscribe to changes 2019-02-17 03:15:18 +01:00
9594e12c52
Add a plugin-preset list/selector GUI
This is currently only used for "Preset only" plugins, generic UI.
And also depends on plugin-presets having a description.
2018-12-20 16:56:49 +01:00
c8d08338df
GUI Updates for plugin save/delete operations 2018-12-02 01:38:14 +01:00
f7b93ee7b9 Separate Plugin DSP load UI implementation 2018-09-25 00:13:08 +02:00
c61a30a866 Plugin Load Info: add a triangle indicator, tweak layout 2018-08-16 02:16:44 +02:00
a50ed25181 Tweak labels for plugin-load display 2018-08-16 00:42:23 +02:00
de741d2fc8 Keep MSVC happy by specifying which version of 'floor()' we want (gtk2_ardour) 2018-08-15 14:17:18 +01:00
9174858355 Tweak plugin DSP stats UI
* add Clear/Reset button
* increase opacity of min/max bar
* variable log-scale base
* vertically align error-bar
2018-08-15 13:21:49 +02:00
61d26e5678 Draw Plugin DSP load bargraph 2018-08-15 05:32:57 +02:00
7e78d1c786 Display profile-data in generic plugin-UI. 2018-05-17 22:15:07 +02:00
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
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-18 12:39:17 -04:00
f095cb75fa Fixup key-release events for plugin-uis 2017-09-08 23:35:00 +02:00
1f5ebc5485 Remove ArdourPrompter wrapper 2017-07-17 21:06:04 +02:00
f6e182b937 Move Gtkmm2ext widgets into libwidget 2017-07-17 21:06:04 +02:00
5c92613698 Separate Ardour UI widgets into dedicated library 2017-07-17 21:06:04 +02:00
Thomas Brand
63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
80fa696564 basic Mac VST Cocoa UI support 2016-11-13 16:35:06 +01:00
313a32981e tweak strings now that 5.0 is out 2016-08-13 14:51:15 +02:00
836f48457d add a "Pin Management" button to the plugin UI-header 2016-08-05 02:35:51 +02:00
d0f594ffd0 adjust plugin-UI height when toggling expanders 2016-07-16 02:12:16 +02:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
412fcafda0 Plugin GUI activate/enable update (prefer enable) 2016-07-05 23:30:21 +02:00
07381f2de6 load presets for all instances 2016-04-22 14:26:33 +02:00