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
Paul Davis
aeed50b1cc
add Session::reset_transport_speed()
2021-04-19 16:14:08 -06:00
Paul Davis
ec367f49e1
add Session::request_transport_roll()
...
Start separation of API for controlling rolling state from that used for speed
2021-04-19 16:13:38 -06:00
Robin Gareus
71788ecfe4
Update to fluidsynth-2.2
2021-04-18 22:02:57 +02:00
John Emmas
8437d0a54a
Add/remove source(s) in our MSVC project (audiographer)
2021-04-17 11:21:33 +01:00
Robin Gareus
e0a6aba28d
Ignore saved port-name when loading ctrl-surface state
...
In some cases old and/or conflicting port names were saved
with the session (e.g. "Faderport" for FP1,8). Loading old sessions
then merges this state into the config, which could lead to
port-registration failure when the surfaces was enabled.
2021-04-17 02:07:09 +02:00
Robin Gareus
c212909282
Ctrl-surface: do not name single-channel bundle ports
...
Follow Session::setup_bundles() lead for single channel
MIDI bundles. This cleans-up the port-matrix display and
removes redundant names. The underlying engine port-name
is not of interest to the user.
2021-04-17 00:43:20 +02:00
Robin Gareus
c0fe67427d
Fix crash if no audition synth is unset
...
This was possible if a user explicitly selects "-none-" from
the instrument dropdown.
2021-04-16 22:14:25 +02:00
Robin Gareus
b928c62e49
Remove unused auditioner MIDI port
...
Since 2014 Ardour always has and uses a synth for MIDI
auditioning. External synth for audition was never really
supported.
2021-04-16 22:13:12 +02:00
Robin Gareus
b23f260d21
Move glib include out of PBD namespace
...
strictly speaking the include is not needed here since
g_atomic_compat.h includes glib.h. However it is idempotent,
the file does use glib methods, and g_atomic_compat.h may
one day be removed again.
2021-04-16 17:43:31 +02:00
Robin Gareus
725c00236c
Disambiguate export formats with same loudness but different true-peal
...
Amend 75829d20f2
2021-04-16 04:29:16 +02:00
Robin Gareus
861417c07c
Disable rec-arm on export
...
Previously this wasn't the case when latched-record-enable
preference was enabled.
2021-04-16 04:29:12 +02:00
Robin Gareus
63ef60ea93
Fix formatting of `-inf' on some Windows systems
...
Among others, this fixes tooltip display on aux-send faders
2021-04-14 17:58:30 +02:00
Robin Gareus
f410dc433c
Fix Lua get_processor_param API
2021-04-14 17:53:56 +02:00
Robin Gareus
a1d53c1d2e
Fix linking unit-tests with lld
...
ld.lld: error: libs/pbd/libpbd.so: undefined reference to dlopen [--no-allow-shlib-undefined]
2021-04-13 23:29:02 +02:00
David Robillard
69e5fd1c99
Fix audiographer normalizer test
...
Build broken in 75829d20f2 .
2021-04-13 14:59:05 -04:00
Robin Gareus
883f818626
Fix C++11ism
2021-04-13 05:35:29 +02:00
Robin Gareus
baf8fe7bc5
Propter may accept current value
2021-04-12 23:16:20 +02:00
Robin Gareus
f0cb8e54c3
Fix taglib error message
2021-04-12 23:15:30 +02:00
Robin Gareus
c4f0393cf9
Keep track of export-limiter redux
2021-04-12 23:15:30 +02:00
Robin Gareus
89a65f76b0
Update analysis duration when post-processing
...
This prevents the need to re-bin data in case silence is
trimmed at start or end of the export.
2021-04-12 23:15:30 +02:00
Robin Gareus
df47da4e55
Disambiguate export filename early on
...
When exporting multiple formats with identical filename
extension for the same time-span, the format-name needs
to be added.
Previously that was done internally when starting to export.
The Export-Dialog did not show correct filenames nor
warn of existing files that will be overwritten.
2021-04-12 23:15:30 +02:00
Robin Gareus
75829d20f2
Overhaul export loudness normalization
...
* Fix exporting multiple formats with different
normalization settings or demo-noise settings
* Add true-peak limiter (based on x42-limiter dpl.lv2)
* Optionally use a limiter for loudness normalization
* Fall back to short-term loudness when normalizing
material too short for integrating loudness.
2021-04-12 23:15:30 +02:00
Robin Gareus
8f5c3fcddb
Fix non-layered record-undo
...
Previously an empty RegionList was used (auto-partition
changes were never collected at rec-stop), furthermore
auto-partitioned regions do not have an old ARDOUR::AutomationList
(fade in/out) property (_have_old is false).
2021-04-12 23:14:13 +02:00
Edgar Aichinger
5d12aa15f5
update german translation
2021-04-11 17:44:17 +02:00
Robin Gareus
5cd6c261b7
Revert "Fix MIDI capture alignment"
...
This reverts commit 3fe87b9fa1 .
This commit incorrectly overcompensated MIDI. The DW already
aligns to _first_recordable_sample.
2021-04-11 15:15:33 +02:00
Robin Gareus
635d83709b
Fix MIDI source write-names
...
This follows bb50925998 ,
Prevent leaking "recorder:" into the file-name, and fixes
a related bug setting the "captured for" ID for MIDI
2021-04-11 15:15:29 +02:00
Robin Gareus
8661aa1809
ALSA: Fix swapped systemic latencies
...
This went unnoticed since measured systemic latency
is equally distributes between input and output.
2021-04-11 15:15:17 +02:00
Robin Gareus
bc1d19ab39
Increase process-thread stack size (same value as jack2)
2021-04-09 22:00:11 +02:00
Robin Gareus
5e01275d0e
Set default master-bus meter-point to output
...
For master-bus measuring the signal directly at the
output is preferable. This includes the panner, mute,
and loudness gain.
2021-04-08 01:18:09 +02:00
Robin Gareus
72db091619
Fix crash at exit with classic Faderport
...
FaderPort::~FaderPort () can be called while
FaderPort::map_gain() is called from FaderPort::periodic()
```
Thread 71 Crashed:
0 libardour_faderport.dylib 0x0000000110539c3a ArdourSurface::FaderPort::map_gain() + 138
1 libardour_faderport.dylib 0x000000011053996d ArdourSurface::FaderPort::periodic() + 109
2 libglibmm-2.4.1.dylib 0x000000010bf21da8 Glib::TimeoutSource::dispatch(sigc::slot_base*) + 56
3 libglibmm-2.4.1.dylib 0x000000010bf20c97 Glib::Source::dispatch_vfunc(_GSource*, int (*)(void*), void*) + 39
4 libglib-2.0.0.dylib 0x000000010c012496 g_main_context_dispatch + 326
5 libglib-2.0.0.dylib 0x000000010c01281a g_main_context_iterate + 474
6 libglib-2.0.0.dylib 0x000000010c012b3f g_main_loop_run + 191
7 libpbd.dylib 0x000000010bcee42e BaseUI::main_thread() + 254
8 libglibmm-2.4.1.dylib 0x000000010bf16373 (anonymous namespace)::call_thread_entry_slot(void*) + 35
9 libglib-2.0.0.dylib 0x000000010c03dd0a g_thread_proxy + 90
10 libsystem_pthread.dylib 0x00007fff759e42eb _pthread_body + 126
11 libsystem_pthread.dylib 0x00007fff759e7249 _pthread_start + 66
12 libsystem_pthread.dylib 0x00007fff759e340d thread_start + 13
```
While the GUI thread has already closed the MIDI ports in ~FaderPort
and proceeded to take down the FP GUI.
```
Thread 0:: Dispatch queue: com.apple.main-thread
47 libgtkmm-2.4.1.dylib 0x000000010ca69a56 Gtk::ComboBox::~ComboBox() + 22
48 libardour_faderport.dylib 0x000000011055a6e5 ArdourSurface::FPGUI::~FPGUI() + 149
49 libardour_faderport.dylib 0x000000011055a8b5 ArdourSurface::FPGUI::~FPGUI() + 21
50 libardour_faderport.dylib 0x0000000110551396 ArdourSurface::FaderPort::tear_down_gui() + 70
51 libardour_faderport.dylib 0x0000000110536507 ArdourSurface::FaderPort::~FaderPort() + 535
52 libardour_faderport.dylib 0x0000000110536b9e ArdourSurface::FaderPort::~FaderPort() + 14
53 libardour.dylib 0x000000010ac13f08 ARDOUR::ControlProtocolManager::drop_protocols() + 168
54 libardour.dylib 0x000000010b0ba7e4 ARDOUR::Session::destroy() + 212
55 libardour.dylib 0x000000010b0bbe01 ARDOUR::Session::~Session() + 113
56 libardour.dylib 0x000000010b0bdb5e ARDOUR::Session::~Session() + 14
2021-04-07 02:25:52 +02:00
Robin Gareus
c1d98ca3c8
Export analysis: log loudness / time
2021-04-07 01:46:02 +02:00