13
0
Commit Graph

85 Commits

Author SHA1 Message Date
ec7d502959 cairo single pixel line offset fix, part 2
This will need careful visual inspection of the items drawn by the
affected code to make sure they are still precisely as intended
2023-07-17 20:55:13 -06:00
bedab69338
Pin Dialog: hide send polarity invert 2023-07-14 16:59:54 +02:00
a996645ef1
Update plugin-pin dialog when route or plugin name changes 2023-06-22 15:28:37 +02:00
71a83ed199
Fix heap-use-after-free when toggling manual pin-control
When toggling "Manual Config", Route::customize_plugin_insert()
or Route::reset_plugin_insert() emits processors_changed.

This destroyed the widget from which the change was initiated,
in ppw.clear(), leading to a use-after-free in
ArdourButton::on_button_release_event(_GdkEventButton*) ../libs/widgets/ardour_button.cc:995

The PluginPinDialog does not need to refill the widget list
when manual config is toggled, only the PluginPinWidget itself
needs to updated.
2023-06-22 04:50:43 +02:00
c9e13d49d4
PluginPinDialog: subscribe to processor name changes 2023-05-27 14:31:41 +02:00
35cca5d47b
Fix crash when adding audio-ports without replicating plugin(s) 2023-05-26 19:18:00 +02:00
295dbd8e1e
Make RCU reader return a const pointer (omnibus commit) 2023-04-08 00:15:37 +02:00
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
6dadac73ab
Add context-menu options to disconnect plugin-pins 2023-03-20 23:14:06 +01:00
b410ed992b
Consolidate code duplication 2023-01-17 22:02:10 +01:00
0063211b4e
Indicate plugin-busses in the plugin pin dialog 2023-01-17 22:02:10 +01:00
f2016f2408
Prepare for GraphNode::feeds () and fed-by API update (1/2) 2022-05-06 14:02:34 +02:00
c8bb8a3f99
Fix Pin-management IOButton - use client-name 2022-04-14 16:35:02 +02:00
Mads Kiilerich
a86aa31747
gtkmm: use get_visible() instead of deprecated Gtk::Widget::is_visible() 2022-04-08 20:20:10 +02:00
luz paz
364f2f0788 Fix typos in gtk2_ardour/ directory
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sur,te,trough,ue`
2022-01-26 12:35:38 -05:00
a68ddd39be
Auto-connect newly added plugin output pins 2021-07-02 19:53:00 +02:00
ca1ff5afaf
Remove cruft 2021-05-11 20:30:53 +02:00
b2c4e71a45
Subscribe to pretty-port name changes (GUI) 2021-01-18 03:18:20 +01:00
3f60d12308
Handle async removal of sidechain input
Apparently a user managed to remove a SC input and then
use the input's context-menu before the UI had caught up.
(PluginPinWidget::plugin_reconfigured happens during idle)

---
Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0  [..] PluginPinWidget::sc_input_press(_GdkEventButton*, boost::weak_ptr<ARDOUR::Port>) + 1140
2020-12-29 16:08:46 +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
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
0805b6b925
Consolidate two more engine-checks 2018-11-28 15:17:57 +01:00
0140b24248 Change get_routes to get_routelist where appropriate. 2018-11-07 17:00:16 -08:00
7d8b93add1 Consolidate PinDialog Session/recording checks
- _session cannot be NULL while the dialog is visible.
  This removes extra `if (_session)` tests.
- Operations now no longer fail silently, but show error messages.
2018-10-29 21:50:08 +01:00
Johannes Mueller
6c19a776f4 Set session of PluginPinWidget created after ::set_session()
PluginPinWidgets initially receive their Session pointer by
PluginPinDialog::set_session(). When a RouteProcessorChange occurs all
PluginPinWidgets are recreated. Those newly created instances need a pointer to
the session.
2018-10-29 18:31:15 +01:00
1ea1312c11 Sort Sidechain port list by mixer-order instead of alphabetically 2018-10-06 21:30:24 +02:00
ae0dcdc0c5 Fix various tooltip markup (ampersand) entity-escape:
* track/port names
* plugin-names
* MIDI patch-names
2017-09-14 19:23:37 +02:00
eb1e423b75 Remove <gtkmm.h> include from header files. 2017-07-17 21:06:04 +02:00
5c92613698 Separate Ardour UI widgets into dedicated library 2017-07-17 21:06:04 +02:00
7bb48aaa3f Remove cruft, steps cannot be 0. 2017-07-06 16:39:28 +02:00
c3c4efaa09 Use mnemonic-save API for menu-element texts 2017-06-29 00:22:42 +02:00
55df5b39bc Prepare removal of redundant get_user/set_user API. 2017-06-21 18:13:41 +02:00
1e2bdeb014 Limit max height of PinDialog -- fixes #7177 2016-12-20 12:34:40 +01:00
b302f70265 Skip pin-management for MB channelstrip plugins 2016-09-15 15:32:45 +02:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
e0846c6aee ...use shared backend function instead 2016-05-19 01:46:49 +02:00
cc0abf4ef5 add route-ui pin-manager 2016-05-10 20:54:11 +02:00
4343191c45 turn Pin GUI into Widget. 2016-05-10 20:54:11 +02:00
1535cffbb0 Sidechain is one word 2016-05-03 14:42:39 +02:00
b3e12d6566 pin connection GUI for variable I/O plugins 2016-04-27 23:34:55 +02:00
9cebc9f8de Pin Management UI tweaks for AU. 2016-04-22 19:35:58 +02:00
836320efb5 disable sidechain & manual cfg for MB & AU for now 2016-04-20 22:36:18 +02:00
7999c0363f show no/inplace info in Pin Dialog (debug builds only)
.. also only show latency (relevant for thru) in debug-builds.
2016-04-19 19:03:16 +02:00
dd750722c5 more sidechain send GUI details:
* don't list exising normal sends (separate mono connections)
* tooltip inidicate autoremoval
2016-04-18 01:01:49 +02:00
d3acba6be4 fix initial panner control for new Sends 2016-04-18 00:52:24 +02:00
78c915f5eb Pin Dialog: cache UI thread information
fixes crash when redraw happens before idle update.
2016-04-17 22:21:26 +02:00
ccbf56827d pretty send and sidechain names 2016-04-17 21:50:26 +02:00
8fc19d6c67 use temporary sends for sidechain inputs 2016-04-17 14:10:13 +02:00
514765631b in case sidechain is fed by a Send, show the send's gain control
this is mainly about investigating what's involved with automatically
adding sends rather than connect track outputs...
2016-04-17 01:39:59 +02:00
30633cd2e7 NO-OP whitespace 2016-04-17 00:09:11 +02:00