Paul Davis
e61c1f6993
launchpad pro: use regexes more extensively to find ports to connect to
...
Hopefully this works for ALSA, Windows and macOS, whereas the previous version worked only
for JACK1
2023-10-12 21:19:21 -06:00
Paul Davis
4f2c86f670
enforce time domains for region trims
2023-10-09 11:19:22 -06:00
Robin Gareus
c5b2c4432e
Fix tracing internally connected MIDI ports
...
MIDI track A -> MIDI track B
The data on Track B's input is not available at cycle-start.
2023-10-07 22:43:27 +02:00
Paul Davis
a5712d1f85
remove comment referring to glue-to-time-domain
2023-10-07 13:16:08 -06:00
Paul Davis
bebe6587a2
tweak launchpad pro port name for probe to be x-platform
2023-10-07 11:43:07 -06:00
Paul Davis
afe74bb460
use Meter::round_to_bar() rather than BBT_Time::round_(up|down)_to_bar
...
this gives slightly better behavior when dragging a meter marker
2023-10-07 11:11:31 -06:00
Paul Davis
64458c2430
prevent meter changes being dragged "through" a BBT marker
...
might want to do this for tempo drags too
2023-10-07 11:11:31 -06:00
Paul Davis
ec34c2137d
avoid a crash when dragging a meter change near a BBT marker
2023-10-07 11:11:31 -06:00
Paul Davis
bdd0fda188
remove debug output
2023-10-06 17:08:28 -06:00
Paul Davis
26eed327ad
amend 405574184 with correct lock scope and do not hold state
2023-10-06 17:07:44 -06:00
Paul Davis
405574184a
use a RegionWriteLock while modifying Playlist region list in ::region_bounds_changed
2023-10-06 16:17:12 -06:00
Robin Gareus
d95179f571
NO-OP: remove unused, unimplemented functions
2023-10-05 21:56:42 +02:00
Paul Davis
eba00287cd
fix SNAFU with ordering of adding stripables and selecting them
...
when Session emits RouteAdded, each handler (editor, mixer, trigger pages etc) will
execute their callbacks in order. But Editor::add_routes() selects the routes too,
which triggers a PresentationInfo::Change signal. This is received by e.g. the Mixer
before it has even found out about the newly added stripables. This in turn
leads to severe confusion regarding the state of the selection in the mixer,
and potentially elsewhere.
So, just add a PresentationInfo::ChangeSuspender for the scope of the RouteAdde
signal emission
2023-10-05 12:57:16 -06:00
Paul Davis
cd1d83f366
reintroduce a fake XML "active" property for Tempo to allow 7.x to load 8.x sessions
2023-10-05 11:22:38 -06:00
John Emmas
14973bd894
Simplify the MSVC / superclock change which should now be compatible with all compilers
2023-10-05 14:01:32 +01:00
Paul Davis
62416ee276
remove unnecessary argument from Playlist::shift()
2023-10-04 18:50:42 -06:00
Robin Gareus
c3b881327c
Possible fix for MSVC build
2023-10-05 01:50:37 +02:00
Robin Gareus
49cb4a1f33
Revert "Fix superclock init on Windows"
...
This reverts commit febc345414 .
2023-10-05 01:50:36 +02:00
Robin Gareus
febc345414
Fix superclock init on Windows
...
Static global symbols on windows (even identical symbols) are
not mapped to the same address when mixing .dll + .exe.
see also d3cd621f7a
2023-10-04 23:34:40 +02:00
Robin Gareus
0e3cf0454c
Yet another plugin parameter automation time-domain fix
...
see also fded5063d9
2023-10-04 21:45:06 +02:00
Robin Gareus
7f2637fa96
Fix find_next_event return value in case no music-time event is found
2023-10-04 21:45:03 +02:00
Paul Davis
0c3791117c
remove much debug output associated with tempo map copy/pasta, et al.
2023-10-04 08:37:26 -06:00
Robin Gareus
9ace3c6d56
Remove debug messages (VST2 bypass feature)
2023-10-04 16:26:24 +02:00
Robin Gareus
c7745ffd43
Double check our assumptions when merging MIDI
2023-10-04 15:12:31 +02:00
Robin Gareus
923e6a554e
Fix MIDI combine ( #9466 )
...
Initially thew new region has a length of zero (0:0). When
merging Notes from a truncated region (no explicit note-off)
those notes are lost:
"Stuck note resolution - end time @ 0:0 is before note on: @ 0:0"
Truncate (or split) a region so that a note is cut short:
```
Region [{<--Note-------->}]
```
becomes
```
Region [{<--Note--]
^ implicit note-off at region boundary
```
When combining this region with an empty Region after gap,
```
Region [{<--Note--] [ ]
```
the result should be
```
Region [{<--Note->} ]
```
For this reason, even without a gap between the regions,
the original note length must not be restored.
The result MUST NOT be the same as the original:
```
Region [{<--Note-------->}]
```
2023-10-04 15:10:06 +02:00
Robin Gareus
94562a0238
Fix typo in Lua documentation
2023-10-04 14:34:41 +02:00
Robin Gareus
2b0bb54599
Update LuaState API (4/4)
...
Now that all calls use explicit parameters, we can remove
the default params, and make ::sandbox() private
2023-10-04 02:50:44 +02:00
Robin Gareus
6b3f25eb2a
Update Lua instances (2/4)
...
This is effectively a NO-OP.
2023-10-04 02:48:26 +02:00
Robin Gareus
7c10a54334
Prepare for explicit Lua Sandboxing (API update) 1/4
2023-10-04 02:46:58 +02:00
Krzysztof Gajdemski
7e7337aa61
Update Polish translation
2023-10-04 01:09:24 +02:00
Paul Davis
364c892c68
remove debug output
2023-10-03 11:13:57 -06:00
Ben Loftis
f53ff625d1
commit to BeatTime as the most likely desired session timebase
2023-10-02 14:48:44 -05:00
Alexandre Prokoudine
cda1f12845
Update Russian translation
2023-10-02 11:00:05 +02:00
Robin Gareus
dfd44c2ebf
Fix 3-point edit undo/redo #9464
...
Playlist::split can result in removal of a region
(adding two others instead). In this case the state
of the removed region (if modified) is not saved.
2023-10-02 03:13:31 +02:00
Robin Gareus
afa295d4af
Unset playlist's TimeDomain Parent when deleting Track
...
This fixes a heap-use-after-free, when deleting a Track
and then doing a 3-point edit which iterates over all
playlists.
2023-10-02 01:57:07 +02:00
Paul Davis
f6d60abda8
remove debug output
2023-10-01 13:26:53 -06:00
Ben Loftis
6c68817b26
add a user config var for preferred time domain (libardour part)
...
(as opposed to default_time_domain which is the per-session default)
2023-10-01 13:57:28 -05:00
Paul Davis
cd99fed7cd
canvas: add PolyItem::clear()
2023-09-30 11:09:58 -06:00
Paul Davis
ff021b83d3
libardour: add Region::absolute_time_to_source_time()
2023-09-30 11:09:58 -06:00
Paul Davis
b89dd73324
NOOP: no need for virtual keyword here
2023-09-30 11:09:58 -06:00
Paul Davis
243f40e10d
fix unset-looping-because-monitoring-input ( #9458 )
2023-09-28 16:52:35 -06:00
Robin Gareus
c4f6385d22
Fix playlist partitioning when mixing time domains
2023-09-27 22:15:25 +02:00
Ben Loftis
9651a2c2e2
region groups: more fixes for Duplicate operations
2023-09-27 11:06:40 -05:00
Ben Loftis
72761734e8
region groups: more fixes for drag-copy and range-paste operations
2023-09-27 11:06:40 -05:00
Robin Gareus
40a9ba746e
Freeze plugin cache version
...
This allows to copy existing VST2/3 cache files to
a new major version
2023-09-27 17:28:20 +02:00
John Emmas
ea8742b030
#include <sys/utime.h> when building with MSVC
2023-09-27 09:36:26 +01:00
Robin Gareus
947e6c7815
I/O Plugins: fix a heap-use-after-free
...
I/O plugin Controls are destroyed with ~IOPlug, however
Session::destroy()'s call to drop_references() still
triggers AutomationControl::session_going_away() on the
binding proxy.
This is even properly documented in session_object.h:
> A named object associated with a Session. Objects derived
> from this class are expected to be destroyed before the
> session calls drop_references().
2023-09-27 02:22:22 +02:00
Robin Gareus
e79ca8f9ba
Copy plugin cache with old config
2023-09-27 02:22:22 +02:00
Robin Gareus
6494214622
Add option to prefer file timestamps with recursive copy
2023-09-27 02:22:22 +02:00
Robin Gareus
7f453cab9e
Allow to query cache-dir by major version
...
Luckily "cachename" parameter was unused, so this API
can be changed.
2023-09-27 02:22:22 +02:00