Commit graph

17008 commits

Author SHA1 Message Date
Paul Davis
eba96e72cd add back a DEBUG_TRACE statement, this time in the correct location 2021-05-04 18:55:09 -06:00
Paul Davis
7381b8a8c6 any varispeed action that doesn't also set the default speed cancels auto-return 2021-05-04 18:54:40 -06:00
Paul Davis
4f13ec69c1 expose TransportFSM default_speed 2021-05-04 18:53:57 -06:00
Paul Davis
cd4aaa808e use button_varispeed() in BasicUI::rewind() and BasicUI::ffwd() 2021-05-04 16:38:28 -06:00
Paul Davis
009e971bfb correct the implementation of BasicUI::button_varispeed() to provide incremental speed shifting (by semitones) in both directions 2021-05-04 16:38:02 -06:00
Paul Davis
fbd1221833 move FaderPort8 method "button_varispeed()" into BasicUI for more general use 2021-05-04 16:10:24 -06:00
Paul Davis
66aea6559b remove redundant (duplicate) call to set_track_monitor_input_state() 2021-05-04 11:30:38 -06:00
Paul Davis
30c03c0c45 remove commented debug output 2021-05-04 11:30:38 -06:00
Robin Gareus
9448973163
Add Lua bindings to modify region gain curve 2021-05-04 18:18:04 +02:00
Paul Davis
4b87c3a6b1 complete removal of Session::_transport_speed, _default_transport_speed and takeover of transport state mgmt by TransportFSM
The TransportFSM is now responsible for deciding what to do at all transport state transitions. The Session (via the TransportAPI) merely
provides mechanism (locate, start, stop, set_speed). Default and most recent speed requests are managed by the TransportFSM too
2021-05-03 17:40:41 -06:00
Paul Davis
3d10f44b30 remove PostTransportRoll enum.
The decision to roll or not, and the handling of the decision, is the responsibility of the TransportFSM. No enum required
2021-05-03 17:40:41 -06:00
Paul Davis
79a823d2cb use correct condition in TransportFSM::transport_speed()
Any state that it not Rolling should count as stopped for this purpose
2021-05-03 17:40:41 -06:00
Paul Davis
8e868fc743 remove unnecessary 2nd argument from Session::request_locate() calls (default value is identical) (surfaces edition) 2021-05-03 17:40:41 -06:00
Paul Davis
c7c5379fac remove "flush" argument from Session and TransportFSM locate APIs (it does nothing) 2021-05-03 17:40:41 -06:00
Paul Davis
825c299feb add TransportFSM::transport_speed(), a putative replacement for the Session method of the same name 2021-05-03 17:40:41 -06:00
Robin Gareus
438b1e5eab
Cont'd work to improve macOS rt priority 2021-05-02 20:24:10 +02:00
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