13
0
Commit Graph

14966 Commits

Author SHA1 Message Date
5395a557d2
Another try at C++11/boost spinlock initialization 2019-09-26 02:48:17 +02:00
468731c14b goodbye Profile->...trx 2019-09-25 13:02:31 -06:00
5ec5bc4523 goodbye USE_TRACKS_CODE_FEATURES and is_tracks_build 2019-09-25 12:16:13 -06:00
86187514d9
Some reasonable default config changes 2019-09-25 15:27:02 +02:00
99b3bde7f6
Print LADSPA ID with debug message 2019-09-25 15:16:34 +02:00
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
09acad190b
Faderport: use well-known-controls API 2019-09-25 14:02:45 +02:00
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
c1abc6e1f1 Add/remove source(s) in our MSVC project (libardour) 2019-09-24 10:19:38 +01:00
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
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
2a221ae21b improve debug output 2019-09-22 12:23:54 -06:00
0b033a320d move all bundle-related session methods into their own file 2019-09-22 12:23:54 -06:00
86b23c0f19 add direct access API for transportFSM and session transport speed 2019-09-22 12:23:54 -06:00
9f8b8d192b remove unused PostTransportDuration and enumeration-writing for Adjust(Playback|Capture)Buffering 2019-09-22 12:23:54 -06:00
228fbd3192 correct problem with some locates that would keep rolling after they are finished 2019-09-22 12:23:54 -06:00
d7c91b5322 split session-bundled-related methods to their own file 2019-09-22 12:23:54 -06:00
ba9e6ab869 add const and tweak variable name 2019-09-22 12:23:54 -06:00
0869f63866 transport master deletion is no longer in parallel with process() 2019-09-22 12:23:54 -06:00
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
99c072660b
NO-OP: whitespace 2019-09-22 04:58:32 +02:00
0e68d3f742
Optimize Audio-buffer summing
* skip silent buffers
* use vectorized copy
* prefer memset for zero-gain
2019-09-22 04:54:28 +02:00
a1c48e0a80
Remove unused method 2019-09-22 04:52:26 +02:00
3ae46256c8
Properly initialize BusSendEnable min/max 2019-09-22 04:15:36 +02:00
7dc52e009f
NO-OP: cleanup code 2019-09-22 04:15:01 +02:00
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
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
bddde1337e better initial value 2019-09-20 12:36:23 -06:00
7383fbbe48 remove debug output 2019-09-20 12:26:49 -06:00
b374eb7658 fix crash when doing rapid (ongoing-locate-interrupting) locates 2019-09-20 12:26:49 -06:00
84f8e23027 move TransportFSM::enqueue() into .cc file 2019-09-20 12:26:49 -06:00
b04788407a at transport stop, reset FSM's idea of the last locate target (also removes const from method) 2019-09-20 12:26:49 -06:00
3f9d79e7ab
Handle an unused edge-case
In practice PanControllable::owner cannot be NULL, but in theory it
could be (and might be for Mixbus6 internal panning).
2019-09-20 19:41:06 +02:00
467795f467
Fix Latency Measurement without device re-start
This handles a case when the engine was started normally
(not for latency measurement), and measurement is performed later.
This resulted in a duplicate backend start
2019-09-20 19:41:05 +02:00
4d2ccdd905 const-ify TransportFSM 2019-09-20 09:44:15 -06:00
30a1cffcdc rename TransportFSM::FSMEvent to TransportFSM::Event (c/o the Department of Redundancy Department) 2019-09-20 09:38:17 -06:00
6b12264d40 add an important comment about transportFSM being single-thread and synchronous 2019-09-20 09:38:17 -06:00
b075c67e51 use boost::intrusive to manage FSM events (this is all RT code) 2019-09-20 09:38:17 -06:00
ea8ec74565 expand comment 2019-09-20 09:38:17 -06:00
61afcb8e2b replace boost::msm - based FSM for transport with one written in "plain C++"
Still need to use boost::intrusive to managed qeued/deferred containers
2019-09-19 22:34:18 -06:00
e698a1b2fa
Fix LV2 state:loadDefaultState
lilv_state_restore() needs to be called unconditionally (regardless
if a plugin actually has a state-interface) to set port and properties.
It has to be called after ports are enumerated and supported
properties are loaded.
2019-09-18 18:42:34 +02:00
401ace0c67 don't bother following playhead priority during session loading 2019-09-18 10:08:42 -06:00
beafb5b572 deepen stack trace when checking non-RT RT calls 2019-09-18 10:08:42 -06:00
e0d5c1426c
NO-OP: fix some Wimplicit-fallthrough
gcc can recognize various regexps in comments. Since C++17 provides
[[fallthrough]], using /* fallthrough */ consistently seems
appropriate until we switch to C++17.

see also https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
2019-09-18 17:37:54 +02:00
37194ec805 Introduce the BOOST_MPL stuff (though it all seems a bit flaky with MSVC...) 2019-09-18 15:08:26 +01:00
cb3afb6981 Remove a (no longer needed) source file from our MSVC project (evoral) 2019-09-18 15:05:16 +01:00
00a8e7c9e0 Add/remove source(s) in our MSVC project (libardour) 2019-09-18 15:03:51 +01:00
b2ff2b86fa
Fix OSX builds: undef Apples's odd nil macro 2019-09-18 06:23:40 +02:00
52021bc3ca
Consistent use of abort() /* NOTREACHED */
This fixes some static analysis warnings:
PBD::fatal transmitter needs to be connected to a function
that aborts. This is usually the case with GUI
2019-09-18 05:57:26 +02:00
60bce78c7e
Fix Wdeprecated, dynamic exception
Dynamic exception specifications are deprecated in C++11,
and were removed in C++17.
2019-09-18 04:43:09 +02:00