Commit graph

109 commits

Author SHA1 Message Date
Robin Gareus
d5170b0025
Use non-modal color dialog for Trigger UI 2025-08-29 03:54:31 +02:00
Robin Gareus
699fc983ae
Use transient parent for color dialog, and position it to pointer
This hopefully fixes an odd macOS specific focus issue.
It also moves the dialog to the popup position when
showing the same dialog using the editor-mixer and later
a detached mixer.
2025-08-29 02:50:22 +02:00
Paul Davis
fece4f0ca8 fix thinko in handling of cue page context menus
Context menus should (unless there is a very strong reason otherwise) be
popped up on button press, not button release. In addition Gtk::Menu::popup()
should be given the button ID of the button used, so that it can manage
both styles of menu interaction (press/drag/release and press/release/drag/press)
2025-04-28 14:26:15 -06:00
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Robin Gareus
00f3ce2e76
Remove unused property boxes, prepare for Region Editor
Using that old template code would introduce significant
tech-dept.

This also properly initializes the selection property box
and handles edge cases during session setup and deletion.
2024-11-19 17:41:55 +01:00
Ben Loftis
e36a6f5180
Stop publishing mini_timeline from ardour_ui.h, and fix the fallout 2024-11-10 23:27:34 +01:00
Paul Davis
c7192b4cc0 add the concept of a length that is data-independent to MIDI files (GUI) 2024-10-31 12:22:35 -06:00
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
Paul Davis
ee305a7169 catch up on TriggerReference API changes in GUI 2024-10-17 07:44:31 -06:00
Robin Gareus
c162aa7aca
Consistently use context-menu button action
This fixes an issue where brining up a menu can directly activate an
action in the menu. Notably on macOS.

Nathan reports that this may also address #9515

Note: mac touchpads are not affected since right-click there is
effectively a "press and hold".
2023-10-31 20:16:23 +01:00
Paul Davis
e23f79a8a9 do not create a Gtk::ColorSelectionDialog for every trigger/slot, create on demand 2023-10-05 08:31:11 -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
Paul Davis
44796e6702 redesign and reimplement save/restore of MIDI learn for triggers (GUI edition) 2022-11-18 14:04:59 -07:00
Paul Davis
8362e865ee save trigger custom MIDI learn as a binding map 2022-11-16 18:15:55 -07:00
Paul Davis
847f421542 no more trigger UI actions and bindings 2022-11-16 14:15:34 -07:00
Paul Davis
75a990da8c a start at custom MIDI learn for trigger slots (GUI edition) 2022-11-16 08:37:57 -07:00
Robin Gareus
e4ae0be4f1
Properly show context menu, interact with button used to open it 2022-10-17 00:02:58 +02:00
Paul Davis
0c2176dd71 move default_triggers_per_box into a namespace ; change value for Ardour to 16 (GUI edition) 2022-10-04 19:55:15 -06:00
Ben Loftis
75ae0fd4b1 disambiguate trigger functions: cue_bang -> trigger_cue_row 2022-10-01 09:13:14 -05:00
Paul Davis
9ea1e5bdee move color utility functions from ARDOUR_UI_UTILS to Gtkmm2ext namespace (GUI) 2022-08-10 21:11:52 -06:00
Robin Gareus
2848cc5f38
Disambiguate clip/sample/slot 2022-07-14 00:06:48 +02:00
Mads Kiilerich
f9b3ed0523
gtkmm: use get_color_selection() instead of deprecated Gtk::ColorSelectionDialog::get_colorsel() 2022-04-08 21:11:06 +02:00
Ben Loftis
11a0617cff Revert trigger_ui: 'Inhibit' change
This reverts commit c814726dc0.
2022-03-19 16:56:28 -05:00
Ben Loftis
c814726dc0 trigger_ui: FA:None did not convey the meaning; try 'Inhibit'
* Inhibit prevents any FAs, FA Count, Probability, etc ... but leaves settings intact
* Removed Inhibit from the Right FA menu ... it only needs to be set on the Left
* Removed Inhibit from the clip context menu, we only want shortcuts to explicit actions there
2022-03-18 09:03:12 -05:00
Ben Loftis
d32796d695 trigger_ui: selection rules prevent loading a slot from selection menu item
* the Slot *is* the Selection, you can't also have a Range or Region selected
* perhaps this will change someday
2022-03-17 18:12:04 -05:00
Ben Loftis
5802fd52eb triggerbox: use all_trigger_props (gui part) 2022-03-15 09:03:40 -05:00
Paul Davis
20d4a9b935 remove debug output 2022-02-21 15:02:08 -07:00
Paul Davis
11fd0b84b1 derive TriggerUI from sigc::trackable so that it can be automically disconnected from signals
The explicit disconnect in the destructor prevents any more signal->connection firing, but the invalidator
is required to remove existing queued slot calls in the receiving thread
2022-02-21 15:01:36 -07:00
Paul Davis
87bcd4d83b Revert "derive TriggerUI from sigc::trackable so that it can be automically disconnected from signals"
This reverts commit 06eb154db2.
2022-02-21 13:40:56 -07:00
Paul Davis
06eb154db2 derive TriggerUI from sigc::trackable so that it can be automically disconnected from signals
Note: this still seems suspicious: we explicitly disconnected from signals in the destructor. However,
it is better form to be able to use invalidator() in the connection call
2022-02-21 13:28:17 -07:00
Paul Davis
17e5667216 triggerbox: use translatable marker name function in GUI 2022-02-11 11:33:43 -07:00
Robin Gareus
eb674d3b58
Prepare for non-modal PatchChangeTriggerDialog 2022-02-09 21:09:46 +01:00
Robin Gareus
ba32ee0e87
Initial version of MIDI Trigger patch override UI 2022-02-08 23:15:24 +01:00
Ben Loftis
5f10817126 trigger_ui: add menu items and bindings to trigger Cues A-H 2022-01-31 20:25:05 -06:00
Ben Loftis
63912069f4 trigger_ui: remove redundant action bindings; rename trigger_scene to trigger_cue 2022-01-31 20:25:05 -06:00
Ben Loftis
6ca8326c6a trigger_ui: tweak menu actions for multi-jump 2022-01-31 14:59:30 -06:00
Ben Loftis
3704b47249 trigger_ui: first draft of a multi-jump dialog 2022-01-30 19:00:50 -06:00
Ben Loftis
2e5a266d24 trigger_ui: no need for right-clicking or extra menu levels for a single menu 2022-01-27 13:15:27 -06:00
Paul Davis
b6f37f11be triggerbox: CAS-based property updating GUI editing
Follow actions are now set by two distinct methods, not one
2022-01-25 18:07:21 -07:00
Ben Loftis
b0a2d678dc trigger_ui: implement direct-Jump actions from trigger slots; context-menu and icons 2022-01-21 17:45:26 -06:00
Paul Davis
f16c99ddb8 remove Other/Any follow action types (GUI edition) 2022-01-20 18:56:07 -07:00
Paul Davis
fdedbe24ec remove Next/Prev (Live-style) follow action types (GUI edition) 2022-01-20 18:56:07 -07:00
Paul Davis
38a603910a remove FollowAction type "QueuedTrigger" (GUI edition) 2022-01-20 18:56:07 -07:00
Paul Davis
46e2a03863 triggerbox UI: jump follow action, part one 2022-01-20 11:01:14 -07:00
Paul Davis
2152e7ba3b triggerbox: change FollowActions into an object with a target list (GUI edition) 2022-01-19 15:50:55 -07:00
Ben Loftis
2501d3534a trigger_ui: rename user-visible text 'One Shot' to 'Trigger' to match convention
it is probably  best to leave the enum=OneShot to disambiguate from Trigger classes
2022-01-18 16:33:45 -06:00
Ben Loftis
f0951e86cc trigger_ui: fix copy+paste thinko 2022-01-16 16:04:31 -06:00
Ben Loftis
6862d52d87 trigger_ui: use_follow_length property, plus some defensive coding changes 2022-01-16 11:19:31 -06:00
Paul Davis
203017e2d5 triggerbox: remove "use follow action" as an explicit property of a trigger (GUI edition, partial) 2022-01-14 17:39:27 -07:00
Ben Loftis
f0843e3cd9 trigger_ui: stretch_mode selector (gtk part) 2022-01-11 16:27:44 -06:00