Commit Graph

15259 Commits

Author SHA1 Message Date
Ben Loftis
7cc3fbaccf editor_ops: bounce to trigger: warn user when they try to bounce a range to an already-populated trigger slot 2022-03-03 16:49:28 -06:00
Robin Gareus
4fb8dd805f Don't allow dropdown scroll for patch-banks
Changing banks refills the dropdown. This cannot be avoided
since unnamed banks are not in the dropdown, and the dropdown
content can change dynamically. Scroll-wheel does not work reliably.
2022-03-02 18:26:23 +01:00
Robin Gareus
370adfa322 Add option to hide cue rec/play toolbar buttons 2022-03-01 17:53:11 +01:00
Ben Loftis
638af32902 clip_picker: tweak .smf file info text 2022-03-01 10:11:14 -06:00
Ben Loftis
082339e9c0 patch_change_widget: only show tabs for the channels that a slot is using 2022-03-01 10:11:14 -06:00
Ben Loftis
849526b7e7 utils: re-implement used_channels_as_string to use UsedChannels (bitset) 2022-03-01 10:11:14 -06:00
Robin Gareus
566596e383 Fix Dnd from clip-picker on macOS
On macOS, `context->get_targets ()` may be empty when dragging.
In this case the Clip-Picker assumed that a slot is about to
be dropped and switched to the local clip library.

This in turn cleared selection and it was no lnger possible
to drag any clip out of the library.
2022-03-01 16:33:39 +01:00
Robin Gareus
07cf40c734 Fix ToggleRoll (<space>) when auditioning
When auditioning is started, transport controls are disabled
via `set_transport_sensitivity(false)`.
This prevents <space> from being handled:

DEBUG::Bindings: binding for Key 32 (space) state 0 : Transport/ToggleRoll - insensitive, skipped

So the key event is passed on, and can reach the clip-picker treeview
where <space> selects and/or activates a row, which re-starts
audition.

ARDOUR_UI::toggle_roll() cancels audition when audition is active,
so this action should be sensitive, even while auditioning.
2022-03-01 03:49:36 +01:00
Matthijs van Otterdijk
3050fe24e5 use backend_client_name parsed from options when initializing backend 2022-03-01 02:36:11 +01:00
Ben Loftis
3280523e90 trigger_ui: pixel pushing for mac 2022-02-26 13:09:41 -06:00
Todd Naugle
dd1156e900 Improved reporting of glib throw errors during session creation 2022-02-23 17:32:09 -06:00
Todd Naugle
2217e8d9ce Log text passed to a dialog needs escaped to avoid markup errors
For example, the following log text creates a markup error that results in
the session loading dialog being completely empty.

WARNING: VST3<C:\Program Files\Common Files\VST3\Plugins.VST.Someplugin.vst3\Contents\x86-win\Plugins.VST.Someplugin.vst3>: Invalid Module Path
...

Gtk-WARNING **: 16:46:28.447: Failed to set text from markup due to error parsing markup: Error on line 7 char 40: ?Files\Common? is not a valid name: ?\?
2022-02-23 10:25:46 -06:00
Paul Davis
e8dc95ded5 NOOP: whitespace conventions 2022-02-21 16:13:48 -07:00
Paul Davis
2eda6d1865 initialize sync mark/line in Region copied from another region 2022-02-21 16:13:30 -07: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
685a3ebc7e do not use a write copy of the tempo map when not planning to modify the map 2022-02-20 09:31:23 -07:00
Paul Davis
61b728bdcc more avoidance of double initialization 2022-02-19 16:42:03 -07:00
Ben Loftis
08768e8185 draw the Stop All Cues marker as a square 2022-02-19 13:39:59 -06:00
Ben Loftis
c7dbfb9961 trigger_ui: add a hint re: randomness of selections in the Multi-Jump dialog 2022-02-19 12:34:45 -06:00
Ben Loftis
ee9e7589ee trigger_ui: add more tooltips 2022-02-19 12:12:43 -06:00
Ben Loftis
ab44c9a750 trigger_ui: add some tooltips 2022-02-19 11:49:01 -06:00
Ben Loftis
5f0c7fe3d6 move cue-behavior to session config (gtk part) 2022-02-19 11:49:01 -06:00
Paul Davis
dcdfd3ff0f no need to repeat initialization 2022-02-19 09:03:48 -07:00
Paul Davis
4ae5c04fd7 remove duplicate sync_mark member in AudioRegionView (decl'd in RegionView) 2022-02-19 09:03:36 -07:00
Ben Loftis
5a19a4fb4a tempo ruler: remove unused _name_flag for tempo markers 2022-02-14 21:22:36 -06:00
Ben Loftis
1ce0641172 trigger_ui: Stop All Cues can be queued just like the Cues can. So color it like a timeline marker(?) 2022-02-14 21:22:36 -06:00
Ben Loftis
8c41fc7dd0 meter ruler: match look of meter markers to tempo markers 2022-02-14 21:22:36 -06:00
Ben Loftis
49e792868f cue ruler: potential crash fix 2022-02-14 21:22:36 -06:00
Ben Loftis
f5142fb19a tempo ruler: increase the size of tempo markers. 6pix is too small a target 2022-02-14 21:22:36 -06:00
Ben Loftis
daf56ccf0a tempo ruler: do not resize marker (a grabbable object) due to tempo changes 2022-02-14 21:22:36 -06:00
Ben Loftis
111054812a mini-timeline: yet another tweak to draw Stop Cues nicely 2022-02-14 21:22:36 -06:00
Ben Loftis
897798ed68 remove cue-behavior toggle from ruler context menu 2022-02-12 21:49:57 -06:00
Ben Loftis
54d794e242 rough-in global Cue functions (rec-enable and play-enable i.e. cue-ffwd) 2022-02-12 21:46:30 -06:00
Ben Loftis
bb67041938 public_editor: expose toggle_cue_behavior for access from ArdourUI 2022-02-12 21:46:30 -06:00
Ben Loftis
de9f73c040 cue page: remove the unmarked rec-enable button from the cues column 2022-02-12 21:46:30 -06:00
Ben Loftis
bfd698bef8 mini-timeline: rough-in Stop Cue markers 2022-02-12 21:46:30 -06:00
Paul Davis
04bd9187e4 temporal: add (back) first set of unit tests
This just uses the old Evoral BeatTest. Some of the tests needed amending
because temporal uses rint() to convert between float and int, not just
a cast.
2022-02-12 15:12:35 -07:00
Ben Loftis
9cea6b7359 trigger_ui: don't allow Stretch options to be edited on an active clip 2022-02-12 11:14:40 -06:00
Ben Loftis
d20dfe8f88 clip_picker: fix logic to show MIDI file properties 2022-02-12 09:35:24 -06:00
Ben Loftis
6bc881086b Fix a bug where the spinner skipped values because it was always rounding down
Until we have a trimmer, the clip length spinner sets integer beats (beatcnt)
This allows the user some minimal ability to fix a clip of the wrong bpm.
We assumed that 'clips' are already be pre-trimmed to a beat length.
Our internal heuristic always forced tempo to match an integer beatcnt

However: when bouncing a Range to a Trigger Clip, you can know the tempo, and also have a non-integer beat length.
In those cases, the clip-length spinner could behave oddly.

While it's arguably wrong to show integer beats when the internal value is something else,
  we still want to show the spinner in integer beats, so it remains usable for its main purpose
2022-02-12 09:10:23 -06:00
Ben Loftis
40b483e71e trigger_ui: move the patch-dialog to the properties area.
* patch-dialog is now launched from a button and stays open
* patch-dialog now tracks the current selection
2022-02-11 15:32:00 -06:00
Ben Loftis
a8cf442bc9 pixel-pushing: clean up the dialog for Range->Bounce to Trigger Clip 2022-02-11 15:32:00 -06:00
Ben Loftis
a02689f41e Range->Bounce to Trigger Clip: use UISTate api to set tempo of clip
* also use the desired name without the extra stuff that bouncing adds to the filenam
2022-02-11 15:32:00 -06:00
Ben Loftis
02e9222221 trigger_ui: implement new UIState api for drag&drop 2022-02-11 15:32:00 -06:00
Paul Davis
76ae8f29f7 triggerbox GUI: stop-all cue marker uses INT32_MAX now 2022-02-11 13:37:14 -07:00
Paul Davis
17e5667216 triggerbox: use translatable marker name function in GUI 2022-02-11 11:33:43 -07:00
Robin Gareus
9b3d0ddd11 Fix incorrect check for existing directory
Glib::file_test returns true if **any** of the tests in the
bitfield test are true (not *all*).
2022-02-10 22:04:40 +01:00