Commit graph

20507 commits

Author SHA1 Message Date
Paul Davis
71d27e7d81 add a couple of #warnings 2023-08-14 23:42:08 -06:00
Paul Davis
076cb86912 next iteration of changes to handle time domain bounces as undoable 2023-08-14 23:42:08 -06:00
Ben Loftis
fd5dfe27c5
region groups: some operations should implicitly group new regions
* imported regions
* newly-recorded regions
* regions that result from a Split or Separate
* pasted regions
2023-08-10 16:55:25 +02:00
Ben Loftis
d1ee95e886
region groups: use group-id instead of equivalent-region, when provided 2023-08-10 16:55:25 +02:00
Ben Loftis
8cd69a633b
region groups: save and restore the group-id counter for this session 2023-08-10 16:55:25 +02:00
Ben Loftis
1d5ec57794
region groups: define an API in region.h for grouped regions 2023-08-10 16:55:20 +02:00
Paul Davis
92fbee6312 do not abort when handling a region whose length has the wrong time domain 2023-08-07 16:36:11 -06:00
Paul Davis
e7c35cf601 API change for the start of making tempo mapping undoable 2023-08-07 16:33:16 -06:00
Paul Davis
0223be5312 pbd: fairly unconscionable that Undo stuff in libpbd is not namespaced, so now it is 2023-08-07 16:33:16 -06:00
Paul Davis
6b34578dfd minor fix for previous commit (this change is still pending) 2023-08-07 16:33:16 -06:00
Paul Davis
afe5331a0b pbd: fairly unconscionable that Command in libpbd is not namespaced, so now it is 2023-08-07 16:33:16 -06:00
Paul Davis
47a7a16c43 temporal: move another domain-swapping object to the right header 2023-08-07 16:33:16 -06:00
Paul Davis
d87b10037b temporal: new object to try to make domain swaps undo-able 2023-08-07 16:33:16 -06:00
Robin Gareus
52c8a23aff
Add Lua bindings to print plugin control outputs 2023-08-06 21:58:33 +02:00
Paul Davis
d035cb0834 some minor cleanups after rebase against master 2023-08-02 17:21:56 -06:00
Paul Davis
ada7fc16aa temporal: another place to ensure that a BBT marker defines a beat position 2023-08-02 15:23:43 -06:00
Paul Davis
ca348ce0d9 temporal: add TempoMap::replace_bartime() 2023-08-02 15:23:43 -06:00
Paul Davis
206f7d3c40 fix compilation errors (last commit happened too early) 2023-08-02 15:23:43 -06:00
Paul Davis
aa0e882c5f regions: force position time domain when a region is added to a playlist
Q: why not length time domain also?
2023-08-02 15:23:43 -06:00
Paul Davis
1fd5f0d9e9 regions: attempt to prevent accidental time domain changes to length or position 2023-08-02 15:23:43 -06:00
Paul Davis
f1b8a98a62 remove debug output 2023-08-02 15:23:43 -06:00
Paul Davis
638978c527 fix thinko with tracks-follow-session-time when creating stripable 2023-08-02 15:23:42 -06:00
Paul Davis
3367c03353 use tracks-follow-session-time option 2023-08-02 15:23:42 -06:00
Paul Davis
08683674ce remove glue-new-regions-to-beats option, add new tracks follow session time option 2023-08-02 15:23:42 -06:00
Paul Davis
3d64972ca2 libardour support for propagating track time domain changes into playlists and thence regions 2023-08-02 15:23:42 -06:00
Paul Davis
7fe3becf2d temporal: fix TimeDomainProvider::set_time_domain_parent() to unset have_domain 2023-08-02 15:23:42 -06:00
Paul Davis
71953a9929 locations: ensure they follow session time when start/end is set 2023-08-02 15:23:42 -06:00
Paul Davis
1b9f4999df locations now follow session time domain, always (probably) 2023-08-02 15:23:42 -06:00
Paul Davis
0c9bdd817d temporal: fix TimeDomainProvider::set_time_domain() 2023-08-02 15:23:42 -06:00
Paul Davis
4cdac29029 attempt to follow time domain changes in playlists when tracks change 2023-08-02 15:23:42 -06:00
Paul Davis
1fce815e2d temporal: expand TimeDomainProvider API 2023-08-02 15:22:52 -06:00
Paul Davis
1a83860016 forward propagate session default time domain changes 2023-08-02 15:22:52 -06:00
Paul Davis
df188996ec session has a default time domain 2023-08-02 15:22:52 -06:00
Paul Davis
c293876518 playlist IS-A TimeDomainProvider
It has Session as its initial time domain parent
2023-08-02 15:22:52 -06:00
Paul Davis
3b565693c8 objects don't have a time domain, they have a time domain provider (libs) 2023-08-02 15:22:52 -06:00
Paul Davis
2bbf06c8cc class name change to clearly disambiguate Evoral::ControlList (a list of time/value pairs) from lists of Controls in libardour 2023-08-02 15:22:45 -06:00
Paul Davis
af2e0e279c temporal: initial version of a time domain provider object 2023-08-02 15:20:58 -06:00
Paul Davis
961fdc9de6 use a more explantory object name 2023-08-02 15:20:20 -06:00
Paul Davis
fa225846af new Temporal API to allow keeping MIDI notes in position after a map-tempo operation 2023-08-02 14:11:06 -06:00
Paul Davis
3c44c326c2 add an assert() to check a target in CoreSelection::get_stripables_for_op() 2023-07-31 21:11:36 -06:00
Paul Davis
a5477feb27 API changes for ControlGroup::fill_from..()
This reflects better/different use by callers
2023-07-31 18:30:36 -06:00
Paul Davis
0e6764c4c8 improve and extend group selection logic 2023-07-31 13:53:42 -06:00
Paul Davis
03105aa760 libardour changes to support new selection/group logic 2023-07-31 13:36:14 -06:00
Paul Davis
8340be4808 add another version of FooListToControlList 2023-07-31 13:35:37 -06:00
Paul Davis
05c6616e32 ControlGroup: fiddle with API for clarity, and add TrimAutomation special case 2023-07-27 13:29:57 -06:00
Paul Davis
7662f9af5b ArdourCtrlBase should pass UseGroup when setting control values
None of the things this is used for right now are ever members of persistent
control groups, but it is useful for selection-as-group
2023-07-27 13:28:02 -06:00
Paul Davis
5e37a320c0 remove use-selection modifier 2023-07-26 18:24:43 -06:00
Paul Davis
f6664570d4 control group: implement ::fill_from_selection and ::size() 2023-07-26 16:41:54 -06:00
Paul Davis
eba8eb07d3 automation control: fix logic for ::pop_group() 2023-07-26 16:41:09 -06:00
Paul Davis
86a5aec276 change "use selection" modifier to Win/Opt (Level4 modifier) 2023-07-26 16:40:34 -06:00