Commit graph

534 commits

Author SHA1 Message Date
Robin Gareus
76f9764a44
Use central method to check for engine for processor operations 2018-11-28 00:02:57 +01:00
Robin Gareus
f150f6c074
Use central method to check for engine where required
These are generally places where tracks/busses are created or port
connections change.
2018-11-28 00:01:50 +01:00
Len Ovens
9b2612f686 Make foldback bus match foldback sends namewise
to avoid confusion with listener sends or monitor bus
2018-11-12 22:30:32 -08:00
Len Ovens
f27ca29d6c Changed send/deliver role "Personal" to "Foldback" so bus type can match 2018-11-12 22:30:32 -08:00
Len Ovens
c04fc2efe2 Allow strips to add or remove personal sends
in processor box context menu
2018-11-01 17:43:35 -07:00
Len Ovens
06ffebca76 A listen route has no aux sends 2018-11-01 17:43:35 -07:00
Robin Gareus
a79fe23935 Allow to limit strip-inline controls (GUI optimization) 2018-10-31 23:44:04 +01:00
Robin Gareus
20fb871d5a Processor-box control context menu update 2018-10-28 21:03:43 +01:00
Robin Gareus
ebcabf59da Don't show hidden controls inline in the mixer-strip 2018-10-28 20:37:20 +01:00
Robin Gareus
fe4df1bee3 Prevent adding aux-sends to master or monitor 2018-10-03 18:16:42 +02:00
Johannes Mueller
f647ac7dae Allow plugin inline displays to shrink
Plugin inline displays were forbidden to shrink as this might cause a deadlock
when the shrinkage causes the scrollbar to disappear.

display shrink → scrollbar unneeded → scrollbar disappears →
more horizontal space -> display grows -> scrollbar appears →
less horizontal space -> display shrink and so forth

This was formerly avoided by not allowing display shrinkage.

The solution proposed here sets the maximum height of the display to the
current height, if a scrollbar is present during resizing and has not been
present during the last resizing. So if this scrollbar disappears (after
resizing it might no longer be needed), the display would have the possibility
to grow, but it does not grow vertically as the maximum height is limited to
the current height.
2018-06-20 21:06:16 +02:00
Robin Gareus
dc88471695 Don't automatically open plugin-GUI if there are no controls 2018-01-30 12:40:22 +01:00
Robin Gareus
4c7664e3f8 Fix UI for Sends & Inserts (regression was in 0c59ba649e) 2017-12-16 16:53:05 +01:00
Robin Gareus
0c59ba649e Save <UI> state for plugins only.
Only PluginInserts have UIs and PinMgs and unique IDs.
Other processors  may not be saved explicitly, [re-]created
dynamically, change ID (eg. capturing processor) and clutter up
the list.

TODO: removing a processor should also remove its UI state.
2017-10-18 04:15:15 +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
Paul Davis
a2fefe68db use modified API name in GUI 2017-09-18 11:40:53 -04:00
Paul Davis
e6064b286e basic GUI framework for setting Disk I/O options 2017-09-18 11:40:53 -04:00
Robin Gareus
ae0dcdc0c5 Fix various tooltip markup (ampersand) entity-escape:
* track/port names
* plugin-names
* MIDI patch-names
2017-09-14 19:23:37 +02:00
Robin Gareus
0034f246cb Fix some GUI side XML node mem-leaks 2017-08-20 22:26:54 +02:00
Robin Gareus
2cc32456ab Lua may call C++ functions with throw. Catch them 2017-08-19 01:06:44 +02:00
Johannes Mueller
4a60c277db Some abstractions to make the display look good in the plugin gui 2017-07-31 21:31:22 +02:00
Johannes Mueller
37b03e353a Put plugin inline display into a freely available class ...
... and let ProcessorBox::PluginInlineDisplay inherit from it.
2017-07-31 21:31:22 +02:00
Robin Gareus
fde0e293a3 Remove unused "mark" parameter from stop_touch() API 2017-07-24 01:59:18 +02:00
Robin Gareus
25df9f1ba5 Start/end touch for generic-UI knob and proc-box inline ctrls 2017-07-24 01:59:03 +02:00
Robin Gareus
601c317d70 Clean up library inheritance (colors.h, utils.h)
make libwidget independent of libcanvas.
Confine basics to pbd and gtkmm2ext.
2017-07-17 21:06:04 +02:00
Robin Gareus
1f5ebc5485 Remove ArdourPrompter wrapper 2017-07-17 21:06:04 +02:00
Robin Gareus
f9e5e4360e Move more 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
Robin Gareus
5aecfc5acb Remove Timers to watch Controllable values
Depend on Changed() signals alone, which are usually much less frequent
than rapid-timer events.

As side-effect we now need to make the widgets insensitive when
playing automation. Previously the user could not change the value because
the Timer periodically reset it.
2017-07-16 16:58:00 +02:00
Robin Gareus
7bb48aaa3f Remove cruft, steps cannot be 0. 2017-07-06 16:39:28 +02:00
Robin Gareus
608f99ad1c Fix a plugin-insert position off-by-one and remove cruft.
Route::before_processor_for_index() uses display_to_user() which
includes the Amp.

Insert position is still be wrong with the debug mode
ProcessorBox::show_all_processors == true, but that's not a regression.
2017-07-04 18:08:36 +02:00
Robin Gareus
2fdeb54b78 Always add plugins in the order given by the Manager UI. 2017-07-04 18:08:36 +02:00
Robin Gareus
e2d19d1668 Retain plugins order for copy/cut/paste + DnD #7416 2017-07-04 18:08:36 +02:00
Robin Gareus
496f83bf83 Allow ctrl-surfaces to show/hide plugin UIs. 2017-07-02 01:59:24 +02:00
Robin Gareus
3c6ab7aca3 Remove old API to keep track of plugin GUI widgets
This was superseded by WindowProxy and the ARDOUR::Processor
[set_]window_proxy() API
2017-07-01 23:41:25 +02:00
Thomas Brand
63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
Robin Gareus
c3c4efaa09 Use mnemonic-save API for menu-element texts 2017-06-29 00:22:42 +02:00
Robin Gareus
55df5b39bc Prepare removal of redundant get_user/set_user API. 2017-06-21 18:13:41 +02:00
Robin Gareus
789fcff1fe Fix crash when showing plugin-UI in safe-mode 2017-06-08 21:21:41 +02:00
Paul Davis
dc0139d4af use CoreSelection for track selection 2017-05-05 18:56:25 +01:00
Tim Mayberry
5b97b1a191 Use XMLNode::get/set_property API in ProcessorBox and ProcessorWindowProxy classes 2017-04-19 09:36:56 +10:00
Tim Mayberry
657e32290e Use XMLNode::get/set_property API in ProcessorBox class 2017-04-19 09:36:56 +10:00
Robin Gareus
a8858ad311 Fix toggle-processors: operate on plugins only 2017-04-14 00:53:45 +02:00
Robin Gareus
962e7a214a Revert "consistent use of context-menu popups"
This reverts commit b3722f7063.

In some cases ardour shows context-menu on right-mouse-button
release. In this case selecting a menu-entry should happen
with the left-mouse button (or any button?!)

Using ev->button is only correct if the menu is temporary and only
visible while the button is held, button release then activates the
menu-item.

This needs further work, in some cases allowing any button (0) to work
makes sense and overall consistency needs to be improved.
Different places use different strategies for context-menus which
don't always match the button used in the event-handler.

This is a hotfix (to make TAV context menus work again with left-click)
2017-03-24 14:48:46 +01:00
Robin Gareus
b3722f7063 consistent use of context-menu popups 2017-03-16 02:36:48 +01:00
Robin Gareus
96b3f8ec92 Don't automatically open generic UIs for plugins w/o controls 2017-03-01 17:17:27 +01:00
Robin Gareus
7330357e1c Reset window-size when switching between custom and generic plugin UI.
Both views have uncorrelated geometry, apply one size to the other
makes no sense and usually results in odd window sizes, particularly
for custom plugin UIs with aspect-ratio constraints.
2017-02-14 01:05:43 +01:00
Robin Gareus
c6a7c9417e Plug some mixer memory leaks 2017-01-20 13:53:45 +01:00
Robin Gareus
e07f465516 fix default output map display for no plugin processors
(eg. mono->stereo deliveries)
2016-11-25 13:03:25 +01:00
Robin Gareus
e6ff4d8455 Add tooltip info for inline-display 2016-10-18 23:40:14 +02:00