Commit Graph

20536 Commits

Author SHA1 Message Date
Robin Gareus
6b8c7292a5 Do not use session-range as implicit section 2023-08-29 00:29:06 +02:00
Paul Davis
8c9b6812d7 fix crash during tempo mapping
Region _length values are not stashed during tempo mapping
if the region is already in the intermediate time domain, so do
not assert when they cannot be found at the end of the operation
2023-08-27 09:41:47 -06:00
Ben Loftis
8fd8eaa01d UF8: parameterize the device name and pass to MackieControlProtocol 2023-08-26 17:34:04 -05:00
Paul Davis
845600b261 fix off-by-one pixel error caused by using floor() instead of round() 2023-08-26 10:07:41 -06:00
Robin Gareus
46a916f0b4 Add method to query sections 2023-08-26 14:09:53 +02:00
Robin Gareus
6cf2659f8b Add Location flags to define sections 2023-08-26 14:09:53 +02:00
Paul Davis
32ef2d5a0f temporal: add a music-time (BBT) point at the cut site 2023-08-25 17:39:00 -06:00
Paul Davis
4d8ba938f1 temporal: during cut(), break out of loop once we pass the end time 2023-08-25 17:39:00 -06:00
Robin Gareus
848f74d803 MCU/UF8: Fix issue with windows build
Enable Surface, show GUI, disable surface. repeat.
Previously this cased a crash in glibmm:

The type name `glibmm__CustomBoxed_N13ArdourSurface6NS_UF86Button2IDE'
has been registered already.
2023-08-25 21:08:14 +02:00
Paul Davis
c6b43155bc gain-like automation controls need to use the right limits for group value setting 2023-08-25 12:23:44 -06:00
Robin Gareus
4f7bd872be MCU/UF8: use dedicated ctrl-protocol 2023-08-25 18:12:35 +02:00
Robin Gareus
c0366a5f13 MCU/UF8: Continued work to special case Mackie surface
* Use dedicated port-names for UFx
* Do not show SSL-UFx device-info files in MCU
* Fix Window namespacing/missing symbols
* Address Windows ambiguous symbols (Button, Surface)
  Those used to have a Mackie:: prefix, now they need
  MACKIE_NAMESPACE

When re-opening the GUI, there is still a somewha mysterious warning:
```
glibmm-WARNING **: file value_custom.cc: (Glib::custom_boxed_type_register): The type name `glibmm__CustomBoxed_N13ArdourSurface6NS_UF86Button2IDE' has been registered already.
```
2023-08-25 18:09:27 +02:00
Robin Gareus
70a4f29c59 Fix location ripple when cutting locations 2023-08-25 04:01:58 +02:00
Robin Gareus
f38a984396 Fix deadlock when undoing Location removal 2023-08-25 03:36:04 +02:00
Robin Gareus
efcef70d9a Ensure that fatal does exit
Previously it was possible to just press "Esc" which closes the
dialog with Gtk::RESPONSE_DELETE_EVENT and Ardour continues
to run (and may or may not crash later).
2023-08-24 20:00:45 +02:00
Ben Loftis
ec365820d8 MCU/UF8: reuse and special-case Mackie ctrl surface for SSL-UF8
This adds a unique namespace to the MCU source code, so it can be
compiled multiple times resulting in different ctrl surfaces.
2023-08-24 19:19:10 +02:00
Robin Gareus
e3297a6a84 Fix MIDI deinterlace #9422
De-interlace works by first creating 16 SMF Sources, and then
only using sources that are actually required.

However SourceFactory::createWritable by default emits SourceCreated,
which added all the 16 Sources to the Session. Later adding only the
required Sources resulted in duplicate IDs.
2023-08-22 19:00:58 +02:00
Robin Gareus
dd4e5dfc96 Build-system: remove duplicate dis/en/able options
e.g. we had both --vst3 (default) and --no-vst3.
A user could specify both, which is confusing.
2023-08-21 19:25:26 +02:00
Paul Davis
e9be3beb2a add get/set state methods to TimeDomainProvider
These are not used yet, because only the Session really acts as a Provider
and it uses the Config::default_time_domain to serialize that state
2023-08-16 16:33:17 -06:00
Paul Davis
0227eab138 remove unused source file 2023-08-16 12:33:09 -06:00
Paul Davis
c5a0c0f6e0 remove some debug output 2023-08-16 09:33:16 -06:00
Paul Davis
0e40f030ad reversible domain swaps for Locations 2023-08-16 09:32:41 -06:00
Paul Davis
06e9bf6ca4 domain swaps for MIDI CC and other controls 2023-08-16 09:06:10 -06:00
Paul Davis
b240423e50 session: add API to get access to the current reversible command (if any) 2023-08-16 09:04:22 -06:00
Paul Davis
f7fd015cb3 no, really, no Pitches handling (extends previous commit) 2023-08-15 11:29:52 -06:00
Paul Davis
4246009864 no need for domain bouncing for "pitches" in a MIDI model
The Pitches representation is just an optimization in Evoral::Sequence, and just
represents note data differently
2023-08-15 11:25:54 -06:00
Paul Davis
a50f38d164 domain bounce handling for sysex and patch changes 2023-08-15 10:27:21 -06:00
Paul Davis
f92dcfa068 domain bouncing for Automatable/ControlLists 2023-08-15 08:34:42 -06:00
Paul Davis
457b94ba65 fix computation of note length after tempo mapping 2023-08-15 00:04:19 -06:00
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