Robin Gareus
115c79874a
Fix Lua bindings for C++17/C++20 -- #8683
...
std::list/vector/map declarations change, requiring
explicit cast to avoid FuncTraits ambiguities.
2021-05-02 16:36:30 +02:00
Robin Gareus
8b888282fa
Ensure that no ThawList remains frozen by accident
2021-05-01 17:31:32 +02:00
Robin Gareus
08d8478f66
Cleanup and speedup combine/uncombine
...
Collect signal emissions and remove unneeded locks when
operating on the newly created Playlist.
2021-05-01 17:30:39 +02:00
Robin Gareus
c8585fce90
Cont'd work to prevent region creation signal-emission
...
This fixes another deadlock calling send_change with the
Playlist's RegionWriteLock held.
In this case due to "MIDI region copies are independent"
when duplicating MIDI regions.
```
ARDOUR::Region::send_change ()
PBD::Stateful::apply_changes ()
ARDOUR::RegionFactory::create ()
ARDOUR::RegionFactory::create ()
ARDOUR::MidiRegion::clone ()
ARDOUR::RegionFactory::create ()
ARDOUR::Playlist::duplicate ()
```
2021-05-01 16:21:17 +02:00
Robin Gareus
747a3d4a7b
NO-OP: clang-format
2021-05-01 16:21:17 +02:00
Robin Gareus
3e04e30e9e
Allow to create regions from sources with signals suspended
...
See also 65cc9264c8
2021-05-01 16:21:13 +02:00
John Emmas
80f6f152ee
Add/remove source(s) in our MSVC project (libardour)
2021-05-01 09:44:20 +01:00
Robin Gareus
53e710bc5f
macOS: apply time scaling for rt constraints
2021-05-01 02:49:06 +02:00
Robin Gareus
65cc9264c8
Create regions with property changes suspended
...
This fixes various issues with signal emission(s) when creating
regions from withing playlist operations.
eg. Playlist::duplicate() takes RegionWriteLock() and then calls
RegionFactory::create().
see also 6a82aa392c
2021-04-30 18:43:36 +02:00
Robin Gareus
f3d7c551e9
Explicitly set announce=false when creating regions (1/2)
...
This is in preparation for to improve consistency of
RegionFactory::create() default parameters (change
default to true).
2021-04-30 18:40:48 +02:00
Robin Gareus
58557e88c9
Do not move automation when inserting regions
...
RegionInsertDrag or Consolidate Range or any other operation
calling Playlist::add_region() previously triggered RangesMoved()
which resulted in DiskReader::move_processor_automation()
NB. insert + ripple still moves automation correctly.
2021-04-29 23:26:24 +02:00
Robin Gareus
a8c47da364
Fix realtime export loudness normalization
...
TmpFileRt::get_samples_written() returns the number of
samples written *to disk*. It is only valid after the FileFlushed
signal is emitted.
This fixes an assert() with Limiter and Analyzer being configured
with a too low total sample-count, leading to an overflow in
the analysis graph array.
2021-04-29 19:05:09 +02:00
Robin Gareus
94d79a3809
Count xruns during realtime export
2021-04-29 17:50:28 +02:00
Robin Gareus
d279e2d333
Avoid accents in master-bus port-name translations
2021-04-26 23:20:27 +02:00
Robin Gareus
a679a2bd42
Retain PBD::Ids when reloading sessions (2/2)
...
Load send gain control state
2021-04-26 19:43:42 +02:00
Robin Gareus
2db53a4c3e
Retain PBD::Ids when reloading sessions (1/2)
...
Monitor/Listen sends panners are not restored, and hence do
not need to be saved. The panner-shell is bypassed anyway.
2021-04-26 19:43:42 +02:00
Robin Gareus
bc8258b234
Remove 6.0-pre0 workaround for missing InlineControl
2021-04-26 19:43:36 +02:00
Paul Davis
6db261d566
libgtkmm2ext: modify Keyboard handling of close-current-dialog
...
1) if there is no current dialog, allow some other window to handle the keyboard event
2) make the binding (which is hard coded) visible as static members of Keyboard
2021-04-26 10:48:20 -06:00
Robin Gareus
3e99bc5f54
Tweak silence trim threshold configuration
...
Amend, correct fe8418ffea
2021-04-24 16:42:22 +02:00
Robin Gareus
6da997ef30
Revert "use -90dB as default threshold for silence trim during export, rather than -inf dB"
...
This reverts commit fe8418ffea ,
which had no effect, since the default c'tor argument is not used.
2021-04-24 16:42:17 +02:00
Paul Davis
d26d8c91a0
fix per-processor latency to reflect transport direction
2021-04-23 17:38:16 -06:00
Paul Davis
8080a14537
fix Route::latency_preroll() for reverse playback
2021-04-23 17:07:47 -06:00
Paul Davis
fe8418ffea
use -90dB as default threshold for silence trim during export, rather than -inf dB
2021-04-23 11:03:17 -06:00
Paul Davis
0cec44ca4b
diskreader: avoid double conditional, use else{} instead
2021-04-21 22:51:06 -06:00
Paul Davis
5ebe78ad2d
diskreader: fix decrement of start before zero ( #8647 )
2021-04-21 22:50:26 -06:00
Paul Davis
62f47e75c9
fix double semi-colon
2021-04-19 16:38:23 -06:00
Paul Davis
180f333cd7
export needs to start transport, not just set speed
2021-04-19 16:14:09 -06:00
Paul Davis
f94aec5a59
fix/improve BasicUI's methods for rewind/ffwd/play (used by various surfaces)
2021-04-19 16:14:09 -06:00
Paul Davis
4b095aad62
additional debugging for TransportFSM events
2021-04-19 16:14:09 -06:00
Paul Davis
48f3719661
correctly initialize transport FSM's last speed request
2021-04-19 16:14:09 -06:00
Paul Davis
5f2d043ca4
update macro and call site for sending a TransportFSM::SetSpeed event
2021-04-19 16:14:09 -06:00
Paul Davis
12d361f43d
clear clicks when starting transport
2021-04-19 16:14:08 -06:00
Paul Davis
fc6cf7ddac
simplify, improve and correct logic in Session::set_transport_speed()
2021-04-19 16:14:08 -06:00
Paul Davis
14c2fdccf4
use correct API in a do-nothing-but-forced locate to start rolling
2021-04-19 16:14:08 -06:00
Paul Davis
b8c7ad6a9b
better/correct logic (and macro) to reset default speed at stop (when relevant)
...
This also resets things after rewind/ffwd
2021-04-19 16:14:08 -06:00
Paul Davis
3fa027f19d
correctly use a valid out-of-bounds value for Session::_requested_transport_speed
2021-04-19 16:14:08 -06:00
Paul Davis
eb1468718a
fix ambiguity in TransportFSM Event constructors
2021-04-19 16:14:08 -06:00
Paul Davis
dc19aa866b
change API for Session::set_transport_speed() to include "at-next-start" option
2021-04-19 16:14:08 -06:00
Paul Davis
0bc5f88a65
fix logic error in transport FSM (compare with adjacent conditionals)
2021-04-19 16:14:08 -06:00
Paul Davis
48e5607f7c
use Session::request_roll() instead of request_transport_speed (1.0, ...)
2021-04-19 16:14:08 -06:00
Paul Davis
52b7e68102
use new Session transport API calls in GUI
2021-04-19 16:14:08 -06:00
Paul Davis
cc8dcb9859
use StartRoll and EndRoll events in request_start() and request_roll()
...
Rather than ::request_transport_speed
2021-04-19 16:14:08 -06:00
Paul Davis
6d5cafb3b6
move various transport logic chunks into Session::realtime_stop(), Session::stop_transport() and Session::start_transport
2021-04-19 16:14:08 -06:00
Paul Davis
79f1ff3df3
fix thinko in TransportFSM's handling of deferred events
...
If a deferred event was used in process_event() but was deferred again, we deleted it. That was wrong,
it should remain in the deferred_events queue.
2021-04-19 16:14:08 -06:00
Paul Davis
11416bf9d1
improve/fix/simplify logic for TransportFSM speed handling
2021-04-19 16:14:08 -06:00
Paul Davis
c65daaa3d6
libardour: change API for Session::set_transport_speed()
...
We no longer need the abort/clear_state arguments because this method only controls speed,
not transport state
2021-04-19 16:14:08 -06:00
Paul Davis
229ea31f34
transport masters: use Session::request_stop() rather than Session::request_transport_speed()
2021-04-19 16:14:08 -06:00
Paul Davis
e5790c6b70
incoming MIDI: use Session::request_stop() rather than Session::request_transport_speed()
2021-04-19 16:14:08 -06:00
Paul Davis
6b7be1083b
no need to request stop if locating with MustStop
2021-04-19 16:14:08 -06:00
Paul Davis
5a159abe1f
new SessionEvents for start/stop transport
2021-04-19 16:14:08 -06:00