Commit Graph

41 Commits

Author SHA1 Message Date
Mads Kiilerich 88cecdfaef wscript: drop repeated autowaf.set_options - it is enough to set at top level 2023-10-15 10:47:16 -06:00
Mads Kiilerich f1bb18ae53 wscript: drop unused path_prefix
It is not referenced anywhere, and also not set consistently.
2023-09-17 07:34:55 -06:00
Mads Kiilerich d220f477ed wscript: drop unused "mandatory variables" 'top' and 'out' in libs
Variables by these names are only used from the local wscript and when
running "waf configure", which already for other reasons only can run at
the top-level.

These variables are thus not mandatory and not used.
2023-09-17 07:34:55 -06:00
Robin Gareus d899441df1
ALSA: disambiguate multiple soundcards with the same name 2023-07-02 00:17:58 +02:00
Robin Gareus 64b480dd65
ARD: shutdown message is not an error 2023-04-27 15:35:22 +02:00
Robin Gareus f85b4fef15
Distinct stderr messages from ARD 2022-09-12 16:15:10 +02:00
Mads Kiilerich 49855e52aa wscript: consistently have at most one empty separator line 2022-04-09 12:16:40 +02:00
Mads Kiilerich 8bb91099c5 wscript: drop configure statements already present in the top level wscript
Avoid repeated pointless configure messages like:
Checking for 'g++' (C++ compiler!)                   : /usr/lib64/ccache/g++
Checking for 'gcc' (C compiler)                      : /usr/lib64/ccache/gcc
2022-01-22 22:19:03 +01:00
Robin Gareus 2c8916310a
Consistent env variable naming (see also 6801c2cac2) 2021-06-10 03:17:49 +02:00
David Robillard 7e9d4f9e73 Fix C function prototypes
This fixes Wstrict-prototypes warnings.
2020-12-01 12:08:09 +01:00
Robin Gareus 52f62f0c14
Possible fix for linking with new libdbus
libdbus_1_la-dbus-sysdeps-pthread.o): in function _dbus_platform_condvar_new':
undefined reference to pthread_condattr_setclock’
2020-11-26 00:50:56 +01:00
Robin Gareus 3a6a9cfa6c
Tweak ALSA nperiod setting, fallback to nearest
This is mainly for RME RayDAT that has a fixed buffersize of 16k:

  dev_name : hw:HDSPMxc2f6c5,0
  channels : 36
  min_rate : 32000
  max_rate : 192000
  min_bufz : 16384
  max_bufz : 16384
  min_nper : 4
  max_nper : 512

However nperiod configuration determines the effective latency
regardless.

This is similar to https://github.com/jackaudio/jack1/blob/master/drivers/alsa/alsa_driver.c#L476-L486
2020-04-29 23:56:24 +02:00
Robin Gareus 3d5ea7dfab
ALSA: set min/max sizes before the debug message 2020-04-29 01:16:23 +02:00
Robin Gareus 8e482ef0fb
Con't work on ALSA nperiod selection (see also d3d120fa) 2020-04-28 17:56:17 +02:00
Robin Gareus d3d120fa28
Prepare to allow using ALSA backend with nperiods > 3
This will still need an update for Alsa_pcmi::set_hwpar() capture
channel (which is fixed at 2, unless FRAG_NEAR is used).
2020-04-28 03:28:34 +02:00
Robin Gareus 531fa74eb1
Suffix complete hw: ID to make ALSA card names unique 2019-08-16 20:00:29 +02:00
Robin Gareus 316880b9cf
Don't print usage to stdout for invalid parameters 2019-08-15 01:09:26 +02:00
Robin Gareus 47a62b2850
Update backend GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
Robin Gareus 0fe3cba8b1
Fix ALSA available buffersize detection:
buffer-size = periods * period-size

Previously, buffersize was used for period-size.

This fixes an issue with a dedicated .asoundrc configuring a specific
period-size or buffer-size that has to be exact.
Ardour's device configuration failed in this case.

This has not been an issues since most hardware devices offer a wide
range: 8 < period-size < 262144 ; 16 < buffer-size < 524288.
Only a subset of which (32 .8192) is allowed by Ardour.
2019-07-24 16:40:32 +02:00
Robin Gareus 34b671911c
Skip name-suffix for first ALSA sub-device
This fixes an issue when a device has more than one
playback sub-device, but only a single capture sub-device (or vice
versa).
2019-06-04 19:20:26 +02:00
Robin Gareus f777d8389d
List available ALSA sub-devices
Previously Ardour only listed the first audio sub-device in the
for ALSA and JACK backend device selection dialog.
2019-06-01 15:49:46 +02:00
Robin Gareus 7e56812c55
Fix ALSA MIDI device naming
The backend will replace the information in the last bracket (IO)
of the name with (In/Out) when creating pretty port-names from the
device-name. -- see replace_name_io().

This fixes an issue with device-name number suffixes in brackets.
2019-05-10 13:21:22 +02:00
Robin Gareus 4185ad80a6
Prepare for Ardour/ALSA multiple identical MIDI devices
The engine setup identifies devices by name (device list is a map<>
with the device-name as key). To support multiple devices with the
same name, the name needs to be unique.

So far this is achieved by simply adding a number suffix starting with
the 2nd device (this allows to re-use configurations).

Ideally we'd use UUIDs or unique device IDs to handle this, and also
somehow clarify which device is which...
2019-05-08 19:58:53 +02:00
Tim Mayberry 0de5722fb1 Use PBD::to_string() from pbd/string_convert.h in ardour ALSA 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. The formatting is
equivalent
2017-04-19 09:37:00 +10:00
Robin Gareus 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
Paul Davis 3cc4ee8029 alsa: allow environment variable ARDOUR_ALSA_DEVICE to identify a single, arbitrary ALSA PCM name as the only available/allowed device 2016-02-21 12:44:54 -05:00
Paul Davis ec06f2c49f spelling error fixes (notably "overriden" => "overidden") from IOhannes m zmölnig 2015-09-11 09:23:43 -04:00
Robin Gareus 40661f7d1f add API to query ALSA supported parameters 2015-08-11 18:18:19 +02:00
Robin Gareus acd95215a4 allow to scan for half-duplex ALSA devices 2015-06-14 22:26:06 +02:00
Paul Davis 404a77adb8 get installdir for libardouralsautil correct 2014-09-06 14:42:25 -04:00
Robin Gareus c1ae35242b update ARD - allow to release it as standalone tool.
see https://github.com/x42/alsa_request_device
2014-06-29 21:19:04 +02:00
Robin Gareus 359a968e61 alsa sequencer device/port listing 2014-06-21 11:51:11 +02:00
Robin Gareus 443ccb866f fix edge case - handle error in device owner request 2014-06-15 21:07:19 +02:00
Robin Gareus 4651530d6f ARD: proper cleanup 2014-06-15 21:07:19 +02:00
Paul Davis 5288de3dc0 install libardouralsautil into the normal libdir, not a subdir 2014-06-07 08:30:35 -04:00
Robin Gareus 475e24f1d9 don't build a-r-d if alsa backend is not built 2014-06-05 18:19:55 +02:00
Robin Gareus 27af0f2d4b add default timeout for old dbus headers 2014-06-05 18:19:54 +02:00
Robin Gareus de6a1ab701 make alsa/ardour dbus-device request tool generally useful. 2014-06-05 18:02:43 +02:00
Robin Gareus 27f8fc90cf mark dbus reservation tool optional 2014-06-05 03:26:52 +02:00
Robin Gareus 742282b7e9 proper dbus device reservation 2014-06-05 02:22:12 +02:00
Robin Gareus a907d3455e break out ALSA related functions into libardouralsautil 2014-06-04 19:16:37 +02:00