Commit Graph

31 Commits

Author SHA1 Message Date
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
Olivier HUMBERT 4cb67f83a7
Make some string translatable 2023-01-01 19:41:43 +01:00
Mads Kiilerich 728e463d01 AudioClock: make last_when public and use it instead of current_time
Having current_time as a public alias of the private last_when did not
add any clarity to the abstraction of last_time. A small step, but still
room for improvement.
2022-11-17 18:04:08 +01:00
Alexandre Prokoudine fdac3cb01c Mark one last slot property box title for translation (string freeze break) 2022-09-30 09:04:56 +03:00
Robin Gareus 504a04878f
Fix typos, consistent text markup
Thanks to Edgar Aichinger
2022-04-05 18:45:40 +02:00
Ben Loftis ab44c9a750 trigger_ui: add some tooltips 2022-02-19 11:49:01 -06: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 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 065e0ba210 Cue page: rough-in a display for Bar-length 2022-01-26 11:51:08 -06:00
Ben Loftis 289199d01d triggerbox: barcnt -> beatcnt (gui part) 2022-01-26 11:51:08 -06:00
Robin Gareus b6b9d9231b
Trigger page, slot property layout hacks
The layout should eventually really be simplified.
Use a HBox, remove nested tables, get rid of tables with only
one Frame inside. etc.
2022-01-24 19:28:58 +01:00
Ben Loftis e6bb88178c trigger_ui: (de)sensitize more stretch and follow options 2022-01-18 16:33:39 -06:00
Ben Loftis c6a3c54907 trigger_ui: tweaks to Stretch properties box 2022-01-17 19:02:11 -06:00
Ben Loftis 251263828b trigger_ui: gui for barcnt and meter (AudioTriggers only) 2022-01-17 19:02:06 -06:00
Ben Loftis 14787059c2 trigger_ui: move gain spinbox to selected-trigger header row 2022-01-16 16:56:59 -06:00
Ben Loftis c888cdf5e5 trigger_ui: use ardourwidget::frame for themeing 2022-01-16 16:04:12 -06:00
Ben Loftis cce260b67a trigger_ui: reorganize some tempo and FA controls 2022-01-14 12:55:51 -06:00
Ben Loftis d04743c813 trigger_ui: organize the FA widgets into a separate themed table 2022-01-14 10:06:49 -06:00
Ben Loftis c7bd32c7ec trigger_ui: remove some cruft leftover from refactoring ATPB to a TriggerUI 2022-01-13 23:33:05 -06:00
Ben Loftis 6e5cb50f32 trigger_ui: add buttons to display and modify segment_tempo 2022-01-13 23:19:59 -06:00
Ben Loftis f0843e3cd9 trigger_ui: stretch_mode selector (gtk part) 2022-01-11 16:27:44 -06:00
Ben Loftis 66290bfffc trigger_ui: remove fade in+out buttons; we will not be using them 2022-01-11 12:41:08 -06:00
Ben Loftis 5f0839141b trigger_ui: refactor property_boxen to subclasses of TriggerUI 2022-01-11 10:51:24 -06:00
Ben Loftis 1db6e9edca trigger_ui: add spinner for clip gain 2022-01-10 19:33:30 -06:00
Ben Loftis 589c92e2c6 trigger_ui: fix copy+paste thinko 2022-01-10 19:30:17 -06:00
Ben Loftis d0ec37e223 trigger_ui: implement follow_length widget, WIP, crashy 2022-01-10 18:25:01 -06:00
Paul Davis e3293db126 triggerbox UI: clean up class heirachy for *TriggerPropertiesBox and catch trigger swaps 2022-01-01 16:19:13 -07:00
Paul Davis c18823c0e0 triggerbox: change entire UI side to avoid using TriggerPtr
Lifetime management of Triggers is unlike anything(?) we've dealt with in
Ardour so far. The parent object (Triggerbox) has a normal lifetime
pattern, but Triggers can come and go in a way that few other objects
do (although Processors and particularly PluginInsert are somewhat similar).
We do not want the GUI to hold references to the actual Triggers, because the
end of life of a Trigger is not really a signal for the GUI element to go
away (the Trigger will be replaced in the slot). Consequently, we do not
want TriggerPtr used as a member variable anywhere in the UI. Instead we use a
TriggerReference which can "lookup" a Trigger on-demand (by box and slot
number). The (G)UI now uses these exclusively.

Work still needed to pick up trigger swap signals from the boxen.
2021-12-24 14:18:10 -07:00
Paul Davis c18d175f55 triggerbox (UI): shared ptrs for everyone, plus indirect references to Triggers from TriggerEntry 2021-12-21 17:40:37 -07:00
Robin Gareus 49b1eb401d
Yet more code cleaning and formatting 2021-12-17 16:21:33 +01:00
Ben Loftis 07d5b16e6f more missing files 2021-12-15 20:48:10 -06:00