Commit graph

15135 commits

Author SHA1 Message Date
Robin Gareus
e99fe62137
Optimize default case: no delay 2019-10-02 01:54:08 +02:00
Robin Gareus
ec2628f2ca
Fix thinko in cd5f70e69a (delayline buffer resize)
The delay-time itself can change arbitrarily, but the buffer-size
never shrinks.

If the buffersize grows it means that the new delay is longer than
the current one (or at least as large as any pending, not yet
active delay).

This is important for the mechanism that adjusts the read-pointer
to the new buffer-size.
2019-10-01 13:42:34 +02:00
Robin Gareus
07905f0776
Update Fluidsynth to v2.0.7 2019-09-30 23:12:32 +02:00
Robin Gareus
ecc2597870
Fix remaining doxygen warnings (!) 2019-09-30 21:03:29 +02:00
Robin Gareus
bfec73b8c3
NO-OP: whitespace, indent 2019-09-30 21:03:20 +02:00
Robin Gareus
feb5d1261e
Fix use of doxygen documented parameters in running text 2019-09-30 06:30:11 +02:00
Robin Gareus
ee54b13d6d
Fix some more doxygen warnings 2019-09-30 05:33:44 +02:00
Robin Gareus
6c83b6f47d
NO-OP: whitespace (use tab to indent) 2019-09-30 04:52:20 +02:00
Robin Gareus
959a37144b
Fix a few hundred doxygen warnings..
There are still over a hundred left, but this addresses many already.
In particular @param references to undocumented parameters.
Most notably in audio_backend.h
2019-09-30 04:45:59 +02:00
Robin Gareus
0daee87803
Ardour::IO is not latent by itself 2019-09-29 18:25:14 +02:00
Robin Gareus
f417bc07d0
Fix port-insert default latency 2019-09-29 18:25:14 +02:00
Robin Gareus
cd5f70e69a
Fix issues when delay-buffers are re-allocated
Previously buffers were dropped, and data was not copied to
newly allocated buffers. As side-effect the read-offset was not
adjusted either.

The distance between read and write-pointer needs to be maintained
(delay does not change). This needs to be accounted for, when the
buffer increases while read->write wraps around the old (smaller)
buffer. Previously this triggered an assert (in line 180)
2019-09-29 17:00:27 +02:00
Robin Gareus
1c680f116a
Emit signal when session latency was updated 2019-09-29 01:27:35 +02:00
Robin Gareus
16066786e3
Add Lua bindings related to latency compensation 2019-09-29 01:26:54 +02:00
Robin Gareus
430dae6250
Add Signal to indicate global delay compensation status 2019-09-29 01:26:52 +02:00
Robin Gareus
e1378e7be5
Handle case where an audio-port is added to a MIDI only delayline 2019-09-27 14:50:40 +02:00
Paul Davis
903c3ec5a0 rename BufferSet::get* to BufferSet::get_available*
This tries to make it clear what the BufferSet limit semantics really are
2019-09-26 18:39:56 -06:00
Paul Davis
f5f452bf9c Don't try to process MIDI input in a DiskWriter if it has no _midi_buf
... which implies it has no MIDI input port(s) either.

This fixes behaviour caused by BufferSet::get...() returning a valid MidiBuffer because it was
based on using the _available count within the BufferSet, even though the _count value
indicated there was no buffer available (to match the I/O configuration of the Route).
2019-09-26 18:39:56 -06:00
Robin Gareus
55e03e5c68
Try auto-start engine by default
Ardour auto-connects to JACK already if jackd is running. Let
other users benefit from a similar experience.
2019-09-26 20:15:09 +02:00
Robin Gareus
5395a557d2
Another try at C++11/boost spinlock initialization 2019-09-26 02:48:17 +02:00
Paul Davis
468731c14b goodbye Profile->...trx 2019-09-25 13:02:31 -06:00
Paul Davis
5ec5bc4523 goodbye USE_TRACKS_CODE_FEATURES and is_tracks_build 2019-09-25 12:16:13 -06:00
Robin Gareus
86187514d9
Some reasonable default config changes 2019-09-25 15:27:02 +02:00
Robin Gareus
99b3bde7f6
Print LADSPA ID with debug message 2019-09-25 15:16:34 +02:00
Robin Gareus
d10c4c651c
Consolidate and extend "well-known" controls:
* Add new common strip controls (inspired from Mixbus)
* Remove duplicate documentation, document virtual API only.
* "azimuth" not "azi"
2019-09-25 14:02:45 +02:00
Robin Gareus
09acad190b
Faderport: use well-known-controls API 2019-09-25 14:02:45 +02:00
Robin Gareus
0eebc8b894
Prepare for plugin-control groups
This is in preparation to allow groups of "well known" controls,
the parameter ID of which is not known a-priori.
2019-09-24 19:50:54 +02:00
John Emmas
c1abc6e1f1 Add/remove source(s) in our MSVC project (libardour) 2019-09-24 10:19:38 +01:00
Paul Davis
e0069fe0f5 various changes to transportFSM, mostly to try to keep track of whether to roll-after-locate (more) accurately 2019-09-22 12:23:54 -06:00
Paul Davis
21ba7fb844 change the way we clear post transport work as the butler and post-butler methods get things done
This avoids the blanket "set_post_transport_work (PostTransportWork(0));" that never really looked right
2019-09-22 12:23:54 -06:00
Paul Davis
2a221ae21b improve debug output 2019-09-22 12:23:54 -06:00
Paul Davis
0b033a320d move all bundle-related session methods into their own file 2019-09-22 12:23:54 -06:00
Paul Davis
86b23c0f19 add direct access API for transportFSM and session transport speed 2019-09-22 12:23:54 -06:00
Paul Davis
9f8b8d192b remove unused PostTransportDuration and enumeration-writing for Adjust(Playback|Capture)Buffering 2019-09-22 12:23:54 -06:00
Paul Davis
228fbd3192 correct problem with some locates that would keep rolling after they are finished 2019-09-22 12:23:54 -06:00
Paul Davis
d7c91b5322 split session-bundled-related methods to their own file 2019-09-22 12:23:54 -06:00
Paul Davis
ba9e6ab869 add const and tweak variable name 2019-09-22 12:23:54 -06:00
Paul Davis
0869f63866 transport master deletion is no longer in parallel with process() 2019-09-22 12:23:54 -06:00
Paul Davis
057ce33563 use internal seek to implement DiskReader::seek() when possible.
This still needs a check that the amount of readable data left in the buffe is adequate.
2019-09-22 12:23:54 -06:00
Robin Gareus
99c072660b
NO-OP: whitespace 2019-09-22 04:58:32 +02:00
Robin Gareus
0e68d3f742
Optimize Audio-buffer summing
* skip silent buffers
* use vectorized copy
* prefer memset for zero-gain
2019-09-22 04:54:28 +02:00
Robin Gareus
a1c48e0a80
Remove unused method 2019-09-22 04:52:26 +02:00
Robin Gareus
3ae46256c8
Properly initialize BusSendEnable min/max 2019-09-22 04:15:36 +02:00
Robin Gareus
7dc52e009f
NO-OP: cleanup code 2019-09-22 04:15:01 +02:00
Robin Gareus
e8822e76d6
Add abstract API for latency compensated sends
This is in preparation for MixbusSends that are not derived from
Delivery : IOProcessor.
2019-09-20 21:27:16 +02:00
Paul Davis
361727716f do not abort in the event that we cannot internal-seek to align with the playhead.
There are no good options here, but treating it like a regular underrun seems as good as anything
2019-09-20 13:02:46 -06:00
Paul Davis
bddde1337e better initial value 2019-09-20 12:36:23 -06:00
Paul Davis
7383fbbe48 remove debug output 2019-09-20 12:26:49 -06:00
Paul Davis
b374eb7658 fix crash when doing rapid (ongoing-locate-interrupting) locates 2019-09-20 12:26:49 -06:00
Paul Davis
84f8e23027 move TransportFSM::enqueue() into .cc file 2019-09-20 12:26:49 -06:00