Houston4444
36a2fb1ba8
JACK: re-create backend when re-connecting to the server
...
This updates the client-name when re-connecting to the
server, which is apparently useful with NSM.
2021-12-04 14:39:22 +01:00
83225886a1
Fix gcc4 builds ('EEXIST' was not declared in this scope)
2021-11-15 19:12:00 +01:00
79330f909e
Work around connection loss when re-starting JACK backend
...
If connecting ports using the port-engine fails,
ardour forgets the connection.
Internal backends only produced an error if a port was already
connected, when using ::connect (handle, other), but
ignore already existing connection when using port-names.
Various ports are connected twice when the engine connects
at session load. This worked fine for as long as the engine
was never stopped (saving the session asks the port-engine),
but failed when the engine went away and internal representation
is used.
2021-11-01 23:11:41 +01:00
8bada4b5e1
remove public ::bbt_at (INTEGER) methods, because of superclock_t/samplepos_t confusion
...
libtemporal still needs ::bbt_at (superclock_t) fairly often so retain it as a private method, but public
interfaces take either Beats or timepos_t
2021-08-13 12:51:35 -06:00
bed76798f3
manual fixups after rebase against master (general libs edition)
2021-08-13 12:51:31 -06:00
79763893b3
remove/hide Session::tempo_map() and use TempoMap::use() instead (thread local shared ptr)
2021-08-13 12:51:30 -06:00
f67029bd02
random commit to facilitate trivial move of work from laptop back to main system
2021-08-13 12:51:29 -06:00
f4490f54c5
change Timecode::BBT_Time to use Temporal namespace, plus a couple of other minor changes to enable compilation
...
This still uses the tempo map object in libs/ardour, not the new one in libs/temporal, and isn't likely to be functional
(though it could be)
2021-08-13 12:51:28 -06:00
ad9ac0911e
remove some timing stats that it seems unlikely we will use
2021-06-15 14:03:55 -06:00
e511cd2cb7
JACK backend: "fix" RunLoop timing
2021-06-13 11:11:03 -06:00
a5f7c793e3
add a new "Run Loop" timing stats for ALSA and JACK backends
2021-06-13 10:28:51 -06:00
95215ff405
JACK backend: avoid deadlock if a port is unregistered that is not known to Ardour
2021-06-13 07:59:14 -06:00
8afc994177
add some DSP stats to the JACK backend
2021-06-12 09:20:28 -06:00
a67a475480
dramtically improve performance of ::get_port_by_name() for JACK backend
2021-06-11 10:41:41 -06:00
bc4ef3ff3d
Update weakjack, alternative macOS libjack paths
...
see also https://github.com/x42/weakjack/pull/13
2021-06-02 17:42:01 +02:00
5957e14259
Remove unused #include<> (2/2)
...
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:57:16 +02:00
291de1d277
Fix OSX and non GCC builds
2021-03-01 16:20:38 +01:00
7195ca20e0
Update weak_libjack - https://github.com/x42/weakjack/
...
This fixes an issue with recent MSVC causing a compile-error
due to __attribute__((constructor))
2021-02-28 16:27:22 +01:00
0c81ba33d2
JACK latency compensation for newly created tracks #8472
...
Ardour native backends trigger a latency-callback when ports_changed.
This was lost for JACK when the shared port engine was implemented.
2021-01-14 03:22:25 +01:00
5e76d63c06
Resolve some Xcode12 C++11, sigc++ issues
2020-12-12 04:46:22 +01:00
bb468ee4de
Update jackd.exe registry key
...
This ensures compatibility with upcoming jack > 1.9.16,
current jack 1.9.16, as well as older versions.
2020-11-09 20:06:49 +01:00
7896c30508
Fix cmdline parameter escape
2020-10-31 13:42:14 +01:00
John Emmas
40ed19767a
In a Windows build, support launching both older and newer versions of Jack (Stephane's + Filipe's)
2020-10-31 08:01:55 +00:00
f7cc5e1f38
Search for JACK on windows using the registry
2020-10-24 04:01:54 +02:00
472ce90fab
JACK backend allows to calibrate latency
...
However, if jackd is running, we should test if jackd is using
a full-duplex device to establish if latency calibration is
possible -- fix 92f54b3e98
.
2020-09-20 17:16:01 +02:00
481cf37052
RT-safe jack transport time-master
...
Prefer a try-lock, instead of locking the tempo-map.
2020-08-19 19:07:41 +02:00
Stefan Westerfeld
ad8eb4d05b
Set JACK transport bar_start_tick field.
2020-08-19 19:04:11 +02:00
92f54b3e98
Add API to query if systemic latency can be measured
2020-06-30 03:34:26 +02:00
8e482ef0fb
Con't work on ALSA nperiod selection (see also d3d120fa
)
2020-04-28 17:56:17 +02:00
70f13a3ff3
use RCU to manage JACK backend's container of ports
2020-04-08 19:56:33 -06:00
78a66b7180
improved port cleanup as backend is destroyed
2020-04-07 23:26:51 -06:00
ede8b9995a
fix another explicit return val for ::get_port_by_name() if JACK has died
2020-04-07 18:57:24 -06:00
2591c81c1a
fix explicit return val for ::get_port_by_name() if JACK has died
2020-04-07 18:54:57 -06:00
d827f3fdae
fix up shared_ptr<> use in JACK backend
2020-04-07 13:23:49 -06:00
b9cb306e8b
use shared_ptr to manage backend port lifetimes (Pulse,ALSA,Dummy,JACK)
...
JACK is not yet finished.
Changes also include minor reformatting and a spelling correction (latecies to latencies)
2020-04-07 13:23:49 -06:00
nia
74ef32ec31
Only show the Sun driver on NetBSD and sun-ish systems.
2020-03-26 09:58:34 -06:00
nia
5a1514de33
Add Sun backend option for JACK
2020-03-26 09:58:34 -06:00
06b2eb1c27
Explicitly use OSX
...
Previously this was inherited via PBD.
On MacOS/X, this adds
"-undefined dynamic_lookup -flat_namespace"
and various "-framework .." options to linkflags
Without this flag, .dylibs fail to link usually because
of missing `-lintl` (Undefined symbols: "_libintl_dgettext")
On other systems this is a NO-OP:
CFLAGS_OSX, CXXFLAGS_OSX and LINKFLAGS_OSX
are only set on the darwin platform.
2020-01-25 04:07:41 +01:00
bca825e515
NO-OP: whitespace
2020-01-14 00:52:24 +01:00
0b52ea7a9c
add a bit of debugging to JACK transport code
2019-11-15 16:06:04 -07:00
c69227fd8d
eliminate hacky design for being able to deliver the correct time as JACK timebase master
2019-11-15 16:04:58 -07:00
47a62b2850
Update backend GPL boilerplate and (C) from git log
2019-08-03 15:53:16 +02:00
076e9fddd4
Remove ambiguous API implementation
...
* PortEngine::available() implementation
* AudioEngine::connected() wrapper
Eventually we may re-introduce PortEngine::available along
with a libardour internal port-engine.
2018-11-28 15:32:40 +01:00
e047b01aa2
add new API for retrieving port flags from backend
2018-10-17 14:11:37 -04:00
8ed33f1bc7
remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead
2018-10-14 22:06:11 -04:00
94e6164bc3
Add API to query backend realtime thread priority
2018-10-11 15:29:40 +02:00
0c3531efe7
Fix gcc4 builds "GCC diagnostic not allowed inside functions"
2017-12-16 17:08:36 +01:00
ca979ee606
Sync weakjack with upstream https://github.com/x42/weakjack/
2017-12-15 21:56:46 +01:00
94e2bce740
Add & implement PortEngine::externally_connected() API
2017-10-30 19:41:42 +01:00
16b4535281
Add missing header (-Wmissing-prototypes)
2017-10-30 19:39:42 +01:00