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
daaa59b533
Revert "When writing '.jackdrc' make sure we enclose any device names in
...
quotation marks". This patch is incorrect. The string quoting must be done ONLY
when creating a string to be written to ~/.jackdrc or similar, not when
constructing an argument list.
This reverts commit 5626ea2b1f
.
2014-06-03 20:08:26 -04:00
5626ea2b1f
When writing '.jackdrc' make sure we enclose any device names in quotation marks
...
(in Windows, device names almost always contain whitespace)
2014-06-03 14:04:10 +01:00
458d4dc6de
(Windows) Add support for finding the bundled version of Jack which comes with Mixbus
...
A few things need to be tested / completed:-
1) The code is currently guarded by #ifdef COMPILER_MSVC. This is just precautionary. If it builds okay with MinGW ,the guard can be removed.
2) Windows Playback and Capture devices almost always have different names. This needs to get accommodated in our Backend dialog (as in Mixbus)
3) Windows Playback and Capture devices will almost always contain spaces. We need to accommodate this when writing to .jackdrc (surround them in quote marks)
2014-05-27 14:48:44 +01:00
5b4cb15dfc
Remove an unnecessary #define
2014-05-27 13:24:51 +01:00
e2cecadd01
Use PLATFORM_WINDOWS (in preference to WIN32) for consistency with the other libraries
2014-05-27 09:51:39 +01:00
66559cd795
Add AudioBackend::info() method to retrieve AudioBackendInfo object
...
Goal is to be able to call AudioBackendInfo::already_configured() from the right place.
2014-05-01 09:14:25 -04:00
058986f77b
finish unfinished work at basing all install paths on the program name
2014-04-28 21:11:08 -04:00
e6b56f3447
fix undefined value, support netjack2
2014-03-23 02:26:37 +01:00
9dbdac2a19
remove unused and unimplementable audio engine sample format code
2014-02-24 14:46:19 -05:00
658bb3ccd4
finished merge of cairocanvas with windows and windows+cc branches
2014-01-10 17:11:10 -05:00
3020b224fa
Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there
2014-01-10 16:07:57 -05:00
36c233fe6c
Merge branch 'master' into cairocanvas
2014-01-07 21:37:48 -05:00
2163467d31
add M-Audio 2496 as a recognized card for the mudita24 control panel/app.
...
(Yes, this hard coding thing is awful)
2014-01-06 11:35:57 -05:00
1676789907
fix merge conflicts from master
2013-12-12 10:06:59 -05:00
Nils Philippsen
a86b66181a
ignore "unofficial" states in jack_sync_callback()
2013-12-09 17:56:06 +01:00
59da788793
Merge branch 'master' into cairocanvas
2013-12-05 17:50:28 -05:00
2ba2a50dec
Merge branch 'master' into windows
2013-12-04 11:50:36 -05:00
ce7bfb489c
change "cpu" in cpu load backend functions
2013-12-04 11:48:31 -05:00