Commit graph

142 commits

Author SHA1 Message Date
Robin Gareus
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
Robin Gareus
ac2ed95677
Keep Script-Dialog on top of Script-Manager Window 2023-06-10 21:37:09 +02:00
Paul Davis
82e03ac13e fix SNAFU with processor box bindings
Bindings were not loaded until after ProcessorBoxen were created,
meaning they had no effect (the ProcessorBoxen set their ardour
bindings to null).

Also handle leave-means-deselect at ProcessorBox level rather than
MixerStrip level, to include MonitorSection PB
2023-04-26 17:19:50 -06:00
Paul Davis
49439d2acf ensure that the ask-about-quit dialog is shown at mouse-position 2023-03-24 14:19:16 -06:00
Marijn Kruisselbrink
aa163b05ca
Fix some minor copy-paste errors in ardour_ui_dependents.cc 2023-01-12 11:08:56 -08:00
Paul Davis
847f421542 no more trigger UI actions and bindings 2022-11-16 14:15:34 -07:00
Robin Gareus
1228202bbe Fix save/restore window and tab sizes
Window size has to be set before calling `setup_toplevel_window()`.
and `set_show_tabs()` - see also acf13e9498 and 42cb321039.

This also unconditionally saves the current settings to global config
instant.xml. This was previously only done in rare cases when first
closing the session and then quitting Ardour.
2022-09-03 17:42:32 +02:00
Robin Gareus
42cb321039 Amend previous commit (window settings, ignore size)
When loading a session it is preferable to use the window size from
Config's instant.xml (local machine screen sizes).
2022-08-10 01:00:29 +02:00
Robin Gareus
acf13e9498 Restore "Main" UI Tab setting from sesion instant.xml
Previously this setting was ignored. It is relevant when loading a demo
session, where initially there is no user Config instant.xml.

ARDOUR_UI::setup_windows is called directly after the engine starts, but
before the session is set.
2022-08-10 00:50:02 +02:00
itmuckel
b4edbae7af Add hidden ui config for close without asking 2022-05-06 10:12:17 +02:00
Ben Loftis
f35020fc59 trigger_ui: refactor Actions into the TriggerUI base class 2021-12-30 21:25:39 -06:00
Paul Davis
02026c98ff basic skeleton for clip editor bindings 2021-12-10 15:15:56 -07:00
Robin Gareus
9ce604bc03
New Tabbable: Trigger-Page skeleton 2021-12-01 23:10:08 +01:00
Paul Davis
b7ce131557 triggerboxUI: skeleton for triggerbox bindings and actions, include triggering of scene 1 2021-11-01 12:11:57 -06:00
Robin Gareus
747b24f063
Change LuaWindow into an ArdourWindow
* remember window visibility, size and position
* Show as toggle in the window-menu (rather than show action)
* reduce specialization, use WM and ArdourWindow infrastructure
  (transient parent, window-type, etc)
2021-09-20 04:26:24 +02:00
Robin Gareus
bcb9487c39
Only setup Editor tooltips once
ArdourUI::setup_tooltips() calls editor->setup_tooltips() already.
2021-09-19 18:51:56 +02:00
Robin Gareus
dfa9f92e53
Fix tab-button state and cycling through tabs
The initial calls in `we_have_dependents()` was redundantly setting
all widows to "Hidden", before the actual state was known.

tabbable_state_change() is initially called for all Tabs:
ARDOUR_UI::setup_windows -> add_to_notebook() -> attach(),
or for detached windows Tabbable::set_state() -> hide_tab().

Step_up/down_through_tabs used window visibility to determine
candidates. This incorrectly considered detached visible tabs.
Detached windows cannot be cycled to.

This also addressed an issue where tab-buttons state was
incorrectly unset what unrelated tab state changed.
ImplicitActive of the currently active tab is now retained
when some other window is attached/detached.
2021-03-16 00:36:22 +01:00
Ben Loftis
73fb2ddfed
Remove deprecated tab_title (2/3) 2021-02-23 17:23:08 +01:00
Robin Gareus
f10d380d9a
RecorderUI: Tabbable Window Skeleton 2021-02-22 01:00:07 +01:00
Robin Gareus
a7a20e03ff
Fix --no-nls, i18n include order in UI -- #8361 2020-08-19 17:40:02 +02:00
Robin Gareus
b6b95a1761
Amend 87bb0953d5 (Action script button text) 2020-06-13 00:58:32 +02:00
Robin Gareus
87bb0953d5
Use first char of bound script action in button
In case an action-script does not have a custom icon, use the first
character of the script's name.

see also https://discourse.ardour.org/t/new-ideas-for-2020/104235
2020-06-13 00:12:26 +02:00
Robin Gareus
95932f92de
Remove redundant action prefix
From Ardour5 to Ardour6 the AccessAction handle changes
from  "Editor/script-action-<N>" to "LuaAction/script-<N>"
2020-04-28 18:32:24 +02:00
Robin Gareus
2d50c3f907
Update key-bindings for all Lua action scripts #8034 2020-04-24 02:31:30 +02:00
Ben Loftis
30553a2675 Apply some missing widget names 2020-01-12 18:13:47 -06:00
Robin Gareus
2b55d6dce3
First batch of MessageDialog replacements 2019-12-14 23:44:01 +01:00
Robin Gareus
561cf86919
Fix session sensitivity of some toolbar controls 2019-12-13 16:33:12 +01:00
Robin Gareus
5f6b2d6843
Allow to bind initial Lua action via left-click 2019-12-12 20:53:18 +01:00
Robin Gareus
f1f553a1b3
Reduce script button width
The default text is single digit hex number (0..c)
2019-12-05 00:45:23 +01:00
Robin Gareus
f7b3dffebe
Inform LV2 plugins about main window ID 2019-11-22 20:05:04 +01:00
Robin Gareus
605a87f402
Improve toolbar layout consistency
Directly pack Lua Script buttons into top-level table,
use same size-constraints.

Use consistent Lua Action button width, in particular for buttons 10..12.
prefer "a" instead of "10" for default numeric label
2019-11-19 04:41:06 +01:00
Robin Gareus
b340dc7282
Increase available Lua action script slots
* Reserve 32 dedicated editor actions for scripts
* Limit number of toolbar buttons
* Use dedicated binding-group for keyboard-shortcuts
* Tweak Preferences layout of toolbar pane
2019-09-03 04:31:35 +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
Paul Davis
b0f99312d8 get ordering correct of global binding set creation and action registration 2019-02-16 01:15:12 -07:00
Paul Davis
9d1fa8f820 re-order startup process, registering actions early
Mostly to stop an error when UIConfiguration::map_parameters()
looks for an action that has not yet been registered
2019-01-13 12:01:18 -06:00
Paul Davis
ff51744671 make StepEntry actions be static.
Unfinished, because bindings are problematic.
2018-12-19 17:19:51 -05:00
Paul Davis
084e22baf5 move #include directive 2018-12-19 17:19:51 -05:00
Paul Davis
098b0f8a8b full (?) set of changes required to make MonitorSection an "always-there" component of the MixerUI
Obviously, it is not always shown, but it always exists, which means that its actions are always accessible
2018-12-11 10:28:47 -05:00
Paul Davis
5b513828bd reorder ARDOUR_UI action registration and adding tabbables to the main window, to avoid action-not-found in tabbable_state_change() 2018-12-10 18:19:31 -05:00
Paul Davis
154f9825ff remove method and inline its contents. Nothing gained by wrapping this up 2018-12-10 16:24:27 -05:00
Robin Gareus
4d3cd732c9 Unhardcode and increase bindable Lua-script-action count 2018-10-04 03:57:09 +02:00
Ben Loftis
1a293bb480 Add drop-shadow decorators to menu bar and transport toolbar.
Allow status bar to fill available width.
2018-02-19 08:05:55 -06:00
Ben Loftis
5200885fb8 GTKOSX is not a valid check. Use __APPLE__ 2018-02-17 09:12:51 -06:00
Ben Loftis
5c741bf8c5 MacOS: Move status info to top, just like win+linux. (but no menu up there of course.) 2018-02-17 09:12:03 -06:00
Robin Gareus
34ae70a621 Sanitize status-bar msg line layout 2017-12-18 02:33:51 +01:00
Paul Davis
ea5fa64c0b manually fix up various cases where Gtk:Frame foo_frame had been changed to foo_sample 2017-09-18 14:59:11 -04: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
f9e5e4360e Move more Gtkmm2ext widgets into libwidget 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
2562a5ce3b Save/Restore TimeInfoBox clock modes
The clocks are not transient, so ARDOUR_UI::store_clock_modes takes
care of saving the state and the clock restores itself.
2017-03-10 20:39:46 +01:00