Commit Graph

213 Commits

Author SHA1 Message Date
Robin Gareus 5d175786e8
Remove debug messages, cleanup output (1/2) 2024-05-08 00:56:43 +02:00
Robin Gareus 8f1d188bf3
NO-OP: clang-format
This addresses various indentation problems caused by
`boost::` -> `std::` and other whitespace issues.
2023-05-31 16:53:38 +02:00
Paul Davis 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
Robin Gareus 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
Ben Loftis 9eb626cc37 Auditioner: hide unnecessary widgets for auditioner synth GUI 2022-02-04 20:18:00 -06:00
Paul Davis 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
Robin Gareus cc32201e9c
Keep plugin-preset dialog on top of plugin-UI 2021-09-04 18:42:50 +02:00
Robin Gareus 4c228c2eab
Remove cruft 2021-04-03 14:56:15 +02:00
Robin Gareus 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
Robin Gareus 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
Robin Gareus 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
Robin Gareus 1759ba96b6
VST3: Plugin GUI support 2020-09-17 00:10:21 +02:00
Robin Gareus 3f16f60221
VST3: Ardour-GUI basics 2020-09-16 22:49:19 +02:00
Robin Gareus f8ce5ecbc6
Consolidate Plugin-GUI toolbar layout, consistent layout & spacing 2020-09-16 00:02:52 +02:00
Robin Gareus 1b261fab48
Remove unused LV2 ifdef 2/3
LV2 has been mandatory since 6.0 (04ccd328dc)
2020-09-15 17:35:04 +02:00
Robin Gareus 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
Robin Gareus 2f1ab39b9c
Remove explicit call to delete preset when saving a preset 2020-06-24 23:59:09 +02:00
Robin Gareus 97f3d9496b
Show latency display/config button for in all plugin UIs 2020-03-14 13:25:51 +01:00
Robin Gareus 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
Robin Gareus 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
Robin Gareus 0fa38c0002
Add API to check for plugin-presets with description 2019-10-10 22:31:19 +02:00
Paul Davis 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
Robin Gareus 24aa61f08c
Use samples_as_time_string API 2019-09-29 02:45:30 +02:00
Robin Gareus 191dea0248
Use latency-icon instead of text 2019-08-27 12:18:44 +02:00
Robin Gareus 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
Robin Gareus 22aa61b674
Use icons for plugin bypass and pinout 2019-08-22 21:03:44 +02:00
Robin Gareus 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
Robin Gareus 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
Robin Gareus feab950ea0
Update Latency UI, subscribe to changes 2019-02-17 03:15:18 +01:00
Robin Gareus 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
Robin Gareus c8d08338df
GUI Updates for plugin save/delete operations 2018-12-02 01:38:14 +01:00
Robin Gareus f7b93ee7b9 Separate Plugin DSP load UI implementation 2018-09-25 00:13:08 +02:00
Robin Gareus c61a30a866 Plugin Load Info: add a triangle indicator, tweak layout 2018-08-16 02:16:44 +02:00
Robin Gareus a50ed25181 Tweak labels for plugin-load display 2018-08-16 00:42:23 +02:00
John Emmas de741d2fc8 Keep MSVC happy by specifying which version of 'floor()' we want (gtk2_ardour) 2018-08-15 14:17:18 +01:00
Robin Gareus 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
Robin Gareus 61d26e5678 Draw Plugin DSP load bargraph 2018-08-15 05:32:57 +02:00
Robin Gareus 7e78d1c786 Display profile-data in generic plugin-UI. 2018-05-17 22:15:07 +02:00
Paul Davis 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
Robin Gareus f095cb75fa Fixup key-release events for plugin-uis 2017-09-08 23:35:00 +02:00
Robin Gareus 1f5ebc5485 Remove ArdourPrompter wrapper 2017-07-17 21:06:04 +02:00
Robin Gareus f6e182b937 Move Gtkmm2ext widgets into libwidget 2017-07-17 21:06:04 +02:00
Robin Gareus 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
Robin Gareus 80fa696564 basic Mac VST Cocoa UI support 2016-11-13 16:35:06 +01:00
Robin Gareus 313a32981e tweak strings now that 5.0 is out 2016-08-13 14:51:15 +02:00
Robin Gareus 836f48457d add a "Pin Management" button to the plugin UI-header 2016-08-05 02:35:51 +02:00
Robin Gareus d0f594ffd0 adjust plugin-UI height when toggling expanders 2016-07-16 02:12:16 +02:00
Paul Davis cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00