Commit Graph

181 Commits

Author SHA1 Message Date
Robin Gareus 311f55dba2
Triggerbox Processors are not visible and have no UI
Previously A ProcessorWindowProxy was created for each Route's
triggerbox, and the state was saved with the session file.
2024-02-15 13:26:47 +01:00
Robin Gareus 7228144d6e
Vapor: GUI support to add Surround Bus 2024-01-06 20:27:03 +01:00
Robin Gareus 3355e753bf
Keep track of LV2 externalUI visibility
This allows Ardour to re-open previously shown plugins,
and toggle externalUI.

This worked in the distant past, before Ardour 3.3 introduced
the Ardour Window Manager.
2023-11-26 20:07:00 +01:00
Paul Davis 3c2112abf5 widgets & GUI: Start/StopGesture signals should pass on GDK event state 2023-07-26 13:11:52 -06: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
Ben Loftis 24ed994d02 redirect box: add a Reset action to the Presets submenu 2022-12-16 15:36:27 -06:00
Robin Gareus 2bca6395cc
Attempted fix for `idle_drop_window` random crashes (1/2) 2022-12-03 19:27:45 +01:00
Robin Gareus bd898a68df
Fix switch custom -> generic plugin UI (amend e635571f2f) 2022-10-11 02:40:55 +02:00
Robin Gareus c4b63221d1
Allow to delete preset from context menu 2022-09-23 05:40:05 +02:00
Robin Gareus b3c95e8946
Allow to create presets from processor context-menu 2022-09-21 22:19:32 +02:00
Robin Gareus 135a54effd
Cleanup processor-box sensitivity, mixbus backport 2022-09-21 21:17:21 +02:00
Robin Gareus 91ba76fb0a
Add plugin presets to processor-box context menu 2022-09-12 20:05:07 +02:00
Paul Davis ca22ba77e1 Constification: make Stateful::get_state() const, with all other required const-ness added (GUI) 2022-04-06 21:56:59 -06:00
Paul Davis bfc3c51052 triggerUI: somewhat functioning inline trigger box UI 2021-10-03 12:29:26 -06:00
Paul Davis 1927e4673b remove StepSequencer, BeatBox and BeatBoxGUI from wscripts and #ifdef code occurences. Files remain 2021-08-13 12:51:36 -06:00
Paul Davis e5d505365f rename ProcessorBox::Position as ProcessorBox::ProcessorPosition 2021-08-13 12:51:34 -06:00
Paul Davis 929bb23836 allow editing for beatbox 2021-08-13 12:51:26 -06:00
Robin Gareus 6224bd7e7a
Add Volume Ctrl position to processor-box context menu
This makes it easier to discover the option, compared to hiding
it in the context menu of the slider itself.
2020-08-03 14:59:05 +02:00
Robin Gareus 5c5f0c8282
Allow to hide inline-controls using shift+right click 2020-04-18 01:04:45 +02:00
Robin Gareus 7fe9fb1f4e
Indicate current Disk-I/O setting 2019-12-17 01:53:33 +01: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 a0b032efe2
Revert more "frame/sample" replacements
- Coverage concerns rectangles (frames, not sample)
- frame-handles are rectangles
- layout container boxes are frames
- inline display boxes are display_frame
2019-04-08 22:42:47 +02:00
Paul Davis fc83d044f8 use ActionManager namespace, rather than ActionMap objects, and remove all per-context action maps 2018-12-10 08:34:01 -05:00
Paul Davis 4423945643 start using ActionMap in preference to ActionManager 2018-12-05 17:33:06 -05: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
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
Ben Loftis f54f270627 Fix a few warnings 2018-02-17 09:12:38 -06: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 e6064b286e basic GUI framework for setting Disk I/O options 2017-09-18 11:40:53 -04: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 25df9f1ba5 Start/end touch for generic-UI knob and proc-box inline ctrls 2017-07-24 01:59:03 +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
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 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 496f83bf83 Allow ctrl-surfaces to show/hide plugin UIs. 2017-07-02 01:59:24 +02:00
Robin Gareus b976bf8986 NO-OP whitespace & foratting of header files 2017-07-01 21:19:56 +02:00
Thomas Brand 63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
Paul Davis dc0139d4af use CoreSelection for track selection 2017-05-05 18:56:25 +01:00
Robin Gareus 389cacab11 Processor box interaction:
Allow to toggle inline display with tertiary + double-click.
also fix tooltip and fix inconsistent modifiers on inline display.
2016-10-18 22:26:23 +02:00
Robin Gareus a4ad0a90d1 GUI to allow aux-send feedback loops 2016-10-14 16:07:30 +02:00
Robin Gareus 7837122e45 add a static function to access processor selection from a Lua script
local ps = ArdourUI.processor_selection()
  for p in ps:iter() do print (p:name ()) end
2016-08-26 03:24:06 +02:00
Robin Gareus 901f8caf22 add a plugin-death connection
at application exit, there may otherwise be a race condition,
queue draw could be scheduled for a widget that's no longer present.
2016-07-18 23:52:40 +02:00
Robin Gareus c49ac91b01 add mouse interaction to inline display 2016-07-12 14:38:28 +02:00
Paul Davis 301000c94e make new action to bind BackSpace to in processors box 2016-06-02 14:46:35 -04:00
Robin Gareus 9b49b29061 _plugin_display can be a LuaPluginDisplay 2016-05-02 17:12:42 +02:00
Robin Gareus 1888104f8d remove "Lua DSP Proc" context meuu 2016-04-29 02:57:51 +02:00
Robin Gareus 9ad98885cb another take on mixer strip wire drawing
mini modulars are fun.
2016-04-16 21:28:37 +02:00
Robin Gareus 3868c5b4a4 GUI support for plugin port bypass connections 2016-04-07 18:36:04 +02:00