Commit graph

168 commits

Author SHA1 Message Date
Paul Davis
1ae056bfd8 triggerbox UI: find TriggerEntry from Trigger 2025-10-25 15:26:22 -06:00
Paul Davis
8a66082429 tweak API for TriggerBoxWidget, allow access to TriggerBoxUI member 2025-10-25 15:25:48 -06:00
Paul Davis
5348544482 minor tweaks when drawing triggerbox entries in GUI 2025-10-22 15:08:30 -06:00
Paul Davis
90c90dde67 provide a more informative tooltip for clip rec-enable button 2025-07-14 12:58:14 -06:00
Paul Davis
c4da3f2120 when arming triggers for recording, PRIMARY means "unbounded" length; plain means follow-length 2025-05-13 12:16:11 -06: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
Ben Loftis
8c49330cfb fix rec-arm circles in triggerboxen 2025-04-08 15:12:37 -05:00
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Paul Davis
24e8165c12 fix duplicated drawing of rec-related icons in trigger box UIs 2025-01-27 15:15:20 -07:00
Robin Gareus
7e08e560cc Prefer non-GL retina resolutio for cue/triggerboxes
This is fine here, since cues and triggerboxes rarely change and are
not perdiodically updated. So opting for a slow render path is fine.
2024-12-06 23:49:23 +01:00
Robin Gareus
47beea4b1b Revert "Enable retina resolution for cue/triggerboxes"
This reverts commit 4e032f7469.
2024-12-06 23:49:23 +01:00
Robin Gareus
4e032f7469 Enable retina resolution for cue/triggerboxes 2024-12-02 23:09:21 +01:00
Robin Gareus
45ea2bd84b Fix macOS retina scaling - remove set_identity_matrix
`set_identity_matrix` undoes cairo-scale to match the NSView's backing
scale which is set for each render callback.
2024-12-02 23:09:21 +01: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
b02a930c04 remove debug output 2024-10-17 07:44:32 -06:00
Paul Davis
1961a9207c provide a better method to decide if a trigger(slot) is occupied
This is necessary with clip recording because for some short time after recording,
a trigger may be playable despite not yet having a region.

GUI edition.
2024-10-17 07:44:32 -06:00
Paul Davis
e089953e78 get blinking rec status closer to correct for clip recording 2024-10-17 07:44:32 -06:00
Paul Davis
90858279bc tweak drawing of clip recording rec-enable icon 2024-10-17 07:44:32 -06:00
Paul Davis
1e193d0363 GUI side of clip recording (recording indicators etc.) 2024-10-17 07:44:32 -06:00
Paul Davis
8069a4a514 remove some debug output 2024-10-17 07:44:32 -06:00
Paul Davis
fa6da8818f first functioning MIDI clip recording (GUI) 2024-10-17 07:44:32 -06:00
Paul Davis
ee305a7169 catch up on TriggerReference API changes in GUI 2024-10-17 07:44:31 -06:00
Paul Davis
182a24751b get standalone MidiView to display notes
This also removes an unused TriggerBoxWidget from each regular
MixerStrip.
2024-10-17 07:44:29 -06:00
Robin Gareus
7664b15617
Fix build, amend previous commit 2023-10-31 20:25:18 +01: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
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
Robin Gareus
54ec5f87d4
Clear trigger on shift+RMB (#8991) 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
0af0e3a8e8 remove unused code: an unused follow-action icon 2022-09-22 08:10:29 -05:00
Ben Loftis
ee9e7589ee trigger_ui: add more tooltips 2022-02-19 12:12:43 -06:00
Ben Loftis
02e9222221 trigger_ui: implement new UIState api for drag&drop 2022-02-11 15:32:00 -06:00
Paul Davis
17e5667216 triggerbox: use translatable marker name function in GUI 2022-02-11 11:33:43 -07:00
Robin Gareus
9f45e1a1fe
Copy Bank/Patch changes from auditioner to trigger-slot
This will need some refinement, we should only copy the settings
if the file in question was previously auditioned, and perhaps
only if GMsynth.lv2 is used.
2022-02-10 02:22:35 +01:00
Robin Gareus
05f4ffa598
Fix cue selection
TriggerEntry has 3 child items:
 * play-button, follow-button, name-button.

On mouse-down the TriggerEntry is grab()bed in preparation
to start a drag. From then on all events are directly sent to
TriggerEntry, which can only pass it up to parent items.
Mouse-release hence reaches the TriggerStrip and selects it.
2022-02-03 23:29:01 +01:00
Robin Gareus
e51427413c
Tweak TB event passthrough
Play/Stop and Follow buttons no longer pass events up.
That way the strip will not be selected on mouse-up.
2022-02-03 21:57:13 +01:00
Robin Gareus
511ff3290f
Implement TriggerStrip selection
This also changes TriggerBox Selection to act on release
(like all other selection). Otherwise strip selection will
de-select the TriggerBox on mouse-release.
2022-02-03 05:50:07 +01:00
Ben Loftis
7748e939b8 trigger_ui: remove the popup slot-editor window until it is finished 2022-01-31 20:25:06 -06:00
Ben Loftis
7d34397a35 triggerbox: handling double-click is necessary to cancel an unneeded grab() 2022-01-30 13:44:38 -06:00
Robin Gareus
c9e9843a9e
Fix Trigger DnD
Revert parts of 8c144d6e69 and 0f4a5f2d52
Allow to drag regions out of trigger-boxes (this will be needed
to export triggers).
2022-01-27 22:24:55 +01:00
Ben Loftis
0f4a5f2d52 trigger_ui: slot-to-slot drag, with static variable implementation (gtk part) 2022-01-27 13:23:05 -06:00
Ben Loftis
8c144d6e69 trigger_ui: trigger-to-trigger drags use a different target-name 2022-01-27 13:15:27 -06:00
Ben Loftis
78270d6754 trigger_ui: remove thinko (I think? what does double-click have to do with ungrab?) 2022-01-27 13:15:27 -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
Ben Loftis
4e1606e0f0 CanvasWidgets have a grab() api. fixes: sometimes the wrong region is dragged 2022-01-27 13:15:27 -06:00
Paul Davis
7f96255722 triggerbox UI: catch up with method and property name changes from 528fd247 2022-01-26 10:12:13 -07: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