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
7adb1297cd
Add weak linked symbol for "jack_port_is_mine"
2017-10-30 19:39:10 +01:00
59ccf91eea
Revert some more frame/sample API issues
2017-09-19 18:40:29 +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
Stefan Müller-Klieser
587a2dee55
backends: jack: display playback only devices
...
When starting ardour using the jack backend, playback only devices
currently do not get displayed. Mixing and Mastering only workspaces
with e.g. a single USB Dac should be a common use case. Take this use
case into account by adding them to the device list. Tested on Linux
with jack-alsa.
2017-08-23 02:17:51 +02:00
2b7c585dba
Update backend API: read-only MIDI input buffers
2017-08-05 15:36:36 +02:00
bf5864aaca
Use PBD::to_string() from pbd/string_convert.h in JACK utils
...
Use pbd/string_convert.h API instead of std::ostream for numeric formatting to
remain locale independent and not have to use a LocaleGuard.
2017-04-19 09:37:00 +10:00
nick_m
33e95a1577
rename Tempo _beats_per_minute to _note_types_per_minute, provide pulse helpers.
...
- adds quarter_notes_per_minute(), note_divisions_per_minute (double)
pulses_per_minute() and frames_per_quarter_note()
- this should be a no-op except for the use of tempo by
the vst callback which definitely uses quarter notes per minute.
- the XML node for TempoSection named 'beats-per-minute'
has been renamed.
2016-11-11 03:37:08 +11:00
d29d93f4cd
fix retrieval of port properties (metadata) when the value has no type
2016-10-18 16:46:33 -04:00
cdcccd8101
handle edge-case where jack-meta-data may be NULL, but the call succeeds
...
this fixes #6968
2016-08-19 14:38:37 +02:00
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
0ae634cb1e
fix jack_port_rename() detection
2016-07-01 19:08:52 +02:00
nick_m
34c9ac9dd7
Tempo ramps - rename bbt_time() -> bbt_at_frame(), frame_time() -> frame_at_bbt()
2016-05-27 23:38:17 +10:00
nick_m
7fc3b0c34c
Initial stab at tempo ramps.
...
Replaces the list of points in TempoMap with TempoSection functions, which
compute tempo-at or tick-at time relative to tempo section start.
TempoMap consults them additively to determine things like bbt_time(),
frame_time() get_grid() etc.
This has a marked effect on scrolling speed along with the code simplification
in the places it has been attempted.
Several things are broken here.
Currently every ramp except the last one is an exponential ramp. this may
be simple to fix :).
Mouse-over midi grid doesn't match mouse click grid. should also be simple.
Many things seem to work, but their accuracy should be in question until
each area has been addressed.
2016-05-27 23:38:09 +10:00
9840a11537
implement metadata-set for remaining backends
2016-04-18 00:35:51 +02:00
ba78359129
prepare for update to waf 1.8
...
uselib is no longer implicit (inherited by .use). This is still incomplete,
some uselibs for non-linux variants may be missing.
bld.is_defined("HAVE_XXX") also no longer works and will have to be
changed (I think to bld.env["HAVE_XXX"]) in countless places.
2016-02-28 21:16:44 +01:00
b7e06693be
nitpick
2016-01-07 20:44:59 +01:00
d735145969
fix missing symbol on OS X
2016-01-07 10:40:08 -05:00
7ad8ad8823
JACK: expose --nperiods option
2015-12-05 13:56:18 +01:00
73d1de3b75
NOOP, remove trailing whitespace, replace tabs in python scripts
2015-11-29 17:54:31 +01:00
661ffe7576
fix JACK/windows compilation
2015-10-28 14:11:17 +01:00
997f47360d
use weak-jack's jack_port_rename wrapper
...
This avoids "[ERROR]: JACK: jack_port_set_name: deprecated".
if libjack does not have jack_port_rename(), weak_libjack.def provides
a fallback using jack_port_set_name().
2015-10-28 01:21:24 +01:00
34d9b2148e
Remove an unnecessary boolean argument in jack utils
...
Specify latency in JackCommandLineOptions instead
2015-10-06 13:29:57 +10:00
97bd6db2b7
remove i/ofstream from libardour
...
except:
* audio-unit (ifstream is known to work on OSX)
* evoral curve algorithm debugger
* cycle-timer debug code
* export_handler's CDMarker -> TODO
2015-10-05 22:15:17 +02:00
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
4dc63966f0
globally remove all trailing whitespace from ardour code base.
...
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
679903fd22
fix jack startup on OSX (w/midi)
2015-08-11 19:43:57 +02:00
fa7bb93329
fix jack_port_get_aliases return value (if n/a)
2015-07-04 12:54:41 +02:00
a68221e323
fix jack/pthread windows condition
2015-07-04 11:49:44 +02:00
9ccfb921d4
synchronize with https://github.com/x42/weakjack/
2015-07-04 11:46:09 +02:00
416ef93635
use a trick to compile JACK/win with new and old headers
...
jack/systemdeps.h is jack2-only and contains many
windows-specific typedefs (native windows threads, ptw32 threads, MSVC
special cases etc etc.) which are not present in jack1/shared headers.
2015-07-04 09:52:04 +02:00
58a7b0e137
fix side-effect of moving to jack1 headers
2015-07-04 05:59:37 +02:00
278cd98799
fix compilation with mingw + pthreads
2015-07-04 05:48:42 +02:00
efb9da770d
fix use of += in waf variable
2015-07-04 05:43:34 +02:00
c905be691d
only compile, don’t link & run jack checks
2015-07-04 04:24:22 +02:00
d48a5f7068
fix weak jack w/new jack_port_rename()
2015-07-04 00:20:12 +02:00
35ab6e9075
fix error in type definition for weak jack handling of jack_port_rename
2015-07-02 14:24:49 -04:00
aaab192436
add conditional use of jack_port_rename(), a newly added public API for JACK
2015-07-02 14:02:07 -04:00
573ec69a9a
probe buffersize if jackd is already running.
2015-06-14 18:10:31 +02:00
Christopher Arndt
a9bc95a911
Fix mixed spaces/tabs in wscripts
2015-05-03 19:52:38 +02:00
fe3aafec1c
When testing for x86 / x64 architecture, don't forget the symbols that MSVC can understand
2015-04-30 18:17:23 +01:00
82cc394705
fix jack-metadata for weak-jack linking
2015-04-23 20:19:22 +02:00
52a58f1ad2
fix JACK metadata configure check.
...
Trying to explicitly specify linkflags is (a) not portable (b) doesn't honor order-sensitive linkers
2015-04-23 13:48:18 -04:00
f755185825
add a real check for functioning JACK metadata API; remove configure time option for this
2015-04-23 09:29:45 -04:00
nick_m
bdf9b2f47c
Backend - change midi optons string.
...
Multimedia Extensions -> System MIDI (MME)
2015-03-28 03:35:45 +11:00
7a4f1cb98f
only jack+windows use portaudio.
...
fixes missing lib if portaudio-backend is used on on non-windows
platforms (pkg-config defines HAVE_PORTAUDIO)
2015-03-13 13:32:14 +01:00
99260742d2
mingw: all code is position independent
2015-03-11 14:58:02 +01:00
bc7be6fd3e
there’s no jack_creator_thread on windows
2015-03-09 00:09:42 +01:00
9107a4b7fe
add a no-jack-metadata option for poor 12.04 souls
...
(jack does have metadata support but ubuntu packaged
a version with a wrong header)
2015-03-08 21:31:08 +01:00
20cd14cf36
add backend support for port properties (jack)
2015-03-08 19:02:31 +01:00
95558b5878
update https://github.com/x42/weakjack/
2015-03-08 16:22:14 +01:00
e3dd226ffa
Change order of midi entries so a new backend will default to a working midi system.
...
Needs testing on all platforms.
2015-03-03 15:57:08 -06:00
582138f280
change Audio backend sample time methods to use a 64 bit timeline
2015-02-19 17:44:01 -05:00
8a93a87db0
remove lib versioning for internal plugins
...
Those objects do not have a versioned API by themselves.
This fixes issues with duplicate deployment (OSX, Linux bundles: cp) and
ardour listing control-surfaces multiple times (file index plugin dir).
2015-02-16 17:32:56 +01:00
0018ee2b02
fix “invalid use of incomplete type jack_client_t”
...
introduced in 66eef25
2015-01-30 11:02:07 +01:00
66eef257d8
fix jack thread joining
...
at the time the graph gets around to takes down
client threads, the jack-backend’s jack_client has been reset.
But never mind: libjack does not care about it, anyway.
2015-01-30 01:28:52 +01:00
37f351ccdd
JACK: add support for device names with whitespace
...
This is backwards compatible, quotes are only added if needed.
JACK1 < 0.123.1-30 and JACK2 < 1.9.10-25 fail with either
whitespace or quotes, so nothing is lost.
2015-01-14 19:29:55 +01:00
4ba4677b45
yet another copy/paste typo :(
2014-11-13 22:19:22 +01:00
9301ffafab
fix typo in b9fc616538
2014-11-13 21:46:30 +01:00
b376f6bc45
auto-initialize weak-jack
...
(not needed with ardour - but keep code in sync with
https://github.com/x42/weakjack )
2014-11-13 21:31:09 +01:00
b9fc616538
prepare for JACK meta-data API
2014-11-13 21:30:13 +01:00
65fa38103d
make new jack thread API functions optional
2014-11-13 21:29:34 +01:00
7b39e0893a
add symbol debug information to weak-jack
2014-11-13 21:28:33 +01:00
3e702c5520
yet another build fix
...
on x86_64 weak_libjack.c needs -fPIC which needs cflags which need 'c' :)
2014-11-13 01:02:09 +01:00
a6ceff61dd
proper solution for variable-args jack_client_open()
2014-10-25 17:28:13 +02:00
3d39689769
Some minor bits of casting to keep MSVC happy when building 'backends/jack/weak_libjack.c'
2014-10-24 18:45:51 +01:00
b52304661f
fix screwup in prev commit-diff
2014-10-24 17:19:28 +02:00
5e7f935a27
add explicit construction (for MSVC) and some debug messages
2014-10-24 17:15:03 +02:00
25a6aa57a3
fix jack transport return value
2014-10-24 16:19:44 +02:00
e025cc008c
use x-macros to simplify weak-jack implementation
2014-10-24 15:18:38 +02:00
ad09be8c78
fix libjack names
2014-10-24 14:36:04 +02:00
1e357b5109
fix 64bit compile with old gcc
2014-10-23 20:42:02 +02:00
d991bb10ca
add 'available' interface to the AudioBackendInfo
...
If a backend can be loaded, it does not mean that it can be used;
e.g. weak-linked jack-backend if libjack is not available.
2014-10-23 16:53:14 +02:00
f3ff1b9669
weak/runtime jack linking: load libjack dynamically at runtime
2014-10-23 16:53:13 +02:00
f7211ff8f7
fix jack/mingw compilation
2014-10-22 23:57:55 +02:00
68458cde69
fix all 4 backends' failure to include the main "backend" thread when computing ::in_process_thread()
2014-10-22 17:07:11 -04:00
8d59afb048
copy over current Waves version of their backend, along with minor changes in libs/ardour and libs/backend/jack to fit with API changes
2014-09-30 21:00:34 -04:00
8d0cba3384
Use PBD::find_files_matching_pattern instead of other variations
2014-06-25 12:40:10 -04:00
da912f7ed4
add AudioEngine API to configure individual MIDI devices
2014-06-13 11:47:51 +02:00
67c43d4b49
Don't use module versioning with jack backend in the mingw build
2014-06-07 14:31:32 +10:00
a907d3455e
break out ALSA related functions into libardouralsautil
2014-06-04 19:16:37 +02:00
104adebea6
if the user chooses to stop the jack-backend, mark it as stopped. Don't display the "..was shutdown .. was not fast enough.." message.
2014-06-04 17:17:14 +02:00