3d166c7789
Consolidate stack-size and priority of rt-threads
2020-04-23 01:28:58 +02:00
1e996ca45f
add port connect/add/remove callbacks to CoreAudio backend
2020-04-10 10:01:04 -06:00
3188fe00aa
fix return value
2020-04-08 18:13:13 -06:00
78a66b7180
improved port cleanup as backend is destroyed
2020-04-07 23:26:51 -06:00
ff41232d16
fix CoreAudio backend to use shared_ptr
2020-04-07 13:52:35 -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
30766c75e8
buildable version of CoreAudio backend using PortEngineSharedImpl
2020-04-02 19:45:31 -06:00
a31d3689bf
tentative changes to extend port engine shared impl to coreaudio
2020-04-02 19:45:31 -06:00
a8ff35accb
Reset DSP load on backend re-start and after freewheeling
2020-03-30 16:58:55 +02:00
c365c6cdb2
Set thread-names (libs)
2020-03-29 14:56:22 +02:00
140a3f4a10
Fix Coreaudio buffersize changes
2020-03-06 05:52:55 +01:00
a9c75f9760
Fix CoreAudio systemic latency, implement hw latency report
2020-02-24 04:24:50 +01: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
47a62b2850
Update backend GPL boilerplate and (C) from git log
2019-08-03 15:53:16 +02:00
78fc6d6651
Prefix all env variable with "ARDOUR_"
...
In particular "CONCURRENCY" can be problematic. But in general
it's good practice to use a namespace prefix for app-specifics.
2019-07-26 16:44:29 +02:00
2f91bdfa53
NO-OP: <tab> after <space> fixes in libs
2019-04-13 19:19:29 +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
37df98d0af
CoreAudio/MIDI: add locks for port-registration
...
CoreMIDI ports are dynamic. When dis/connecting a device CoreAudio's
AudioHardware-PropertyListener triggers a callback which can
add/remove ports.
This can not happen concurrently with processing, but it may happen
concurrently with a user creating tracks using Ardour's UI
and/or session-load/setup.
2018-03-29 18:15:20 +02:00
7671268bc3
strlen is not a member of std.
2018-01-03 18:06:55 +01:00
4ebcef53f8
Relax max MIDI msg size to 256 (for long sysex)
...
(win-mme already used 256, CoreMIDI can handle up to 256 as can ALSA)
2017-12-19 17:41:57 +01:00
c0dbe8eaaf
Move coreaudio_set_realtime_policy into libpbd
2017-10-30 16:31:38 +01:00
ab3889fff8
Propagate Latency to backend/system ports
...
Set accumulated capture-latency for physical-outputs
and accumulated playback-latency for physical-inputs
after Ardour is done setting all non-physical port latencies.
This will be needed for latency-compensation of the complete graph.
2017-09-23 00:34:01 +02:00
666aa5a557
More Coreaudio SDK fixes, after 30b087ab3
2017-09-19 05:20:05 +02:00
1ec471c961
partially revert 30b087ab3
, CoreAudio SDK uses "Frames"
2017-09-19 04:47:10 +02:00
30b087ab3d
globally change all use of "frame" to refer to audio into "sample".
...
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
7258c6334d
Namespace PBD::RingBuffer
...
class RingBuffer<> is a very generic name and should not pollute the
global namespace.
2017-09-16 16:37:29 +02:00
467c801ce8
Abstract definition of rt-scheduler policy
...
pthread-w32 does not support pthread_setschedparam() with
SCHED_FIFO and bails out. While pthread_create() simply ignores the policy
and sets the priority regadless.
This only affects ctrl-surface event-loops & AutomationWatch on Windows.
2017-08-29 20:35:36 +02:00
df659e91f1
Consolidate _realtime_pthread_create() into libpbd.
2017-08-29 17:25:23 +02:00
e0a83a758e
Redesign Session+Route Template Meta Script API
...
Remove special-cased script types. Allow Action-Scripts to be re-used
for session-setup or route-templates.
2017-08-18 20:42:55 +02:00
8c61c7f14a
amend f4c76f89d3a; fix blind coding typos
2017-08-05 16:06:15 +02:00
f4c76f89d3
Coreaudio backend RT-safe MIDI buffer allocation
2017-08-05 15:36:36 +02:00
2b7c585dba
Update backend API: read-only MIDI input buffers
2017-08-05 15:36:36 +02:00
c125cd2647
Reduce DSP thread priority (main-i/o > midi i/o > computation)
2017-08-05 01:28:11 +02:00
38c5e9de6d
CoreAudio: Set MachThread RT Priority
2017-08-04 06:25:23 +02:00
6b5d374352
Some more assert() debugging
2017-08-03 23:46:05 +02:00
f9db9bf5fd
Retain order of concurrent MIDI events
...
This fixes an issue with FaderPort8 (and maybe other surfaces or synths).
2017-04-08 23:43:50 +02:00
43bd7f5db1
fix const-cast
2016-11-12 16:20:43 +01:00
56711b99c9
Work around OSX MIDI devices that send no timestamps
2016-10-19 19:45:53 +02:00
355fa64c79
fix Coreaudio Aggregate for separate devices with identical names
2016-08-28 13:44:30 +02:00
957f59f351
print a warning if CoreAudio falls back to non realtime priority
2016-08-22 17:38:45 +02:00
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
8444837b71
properly sort port-names
2016-07-14 16:52:43 +02:00
ac923be7af
fix port-sort order for good.
...
TODO find out how to make std::set::find() work with custom sort order,
as std::find may only be O(N) and not O(log (N)).
2016-07-08 21:37:42 +02:00
f84a7605d8
pre-sort port-names
2016-07-08 20:44:21 +02:00
43e620504a
port 93eac8b0
to ALSA and CoreAudio
2016-04-26 18:19:48 +02:00
2169de3975
keep portmap & portindex in sync when renaming ports
...
Fixes crash on session re-load (introduced in 800c8182
and fde99e68
)
2016-04-26 02:26:20 +02:00
fde99e68f7
..and CoreAudio.
2016-04-24 20:45:50 +02:00
9840a11537
implement metadata-set for remaining backends
2016-04-18 00:35:51 +02:00
5dbfca9953
Fix build on El Capitan
...
In which Apple once again changed the name of the MIDI kit from CoreMidi to CoreMIDI, something
they did for the Lion release of OS X
2016-03-01 12:20:59 -05:00