13
0
Commit Graph

30 Commits

Author SHA1 Message Date
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
3d5ea7dfab
ALSA: set min/max sizes before the debug message 2020-04-29 01:16:23 +02:00
8e482ef0fb
Con't work on ALSA nperiod selection (see also d3d120fa) 2020-04-28 17:56:17 +02:00
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
531fa74eb1
Suffix complete hw: ID to make ALSA card names unique 2019-08-16 20:00:29 +02:00
316880b9cf
Don't print usage to stdout for invalid parameters 2019-08-15 01:09:26 +02:00
47a62b2850
Update backend GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
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
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
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
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
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
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
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
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
ec06f2c49f spelling error fixes (notably "overriden" => "overidden") from IOhannes m zmölnig 2015-09-11 09:23:43 -04:00
40661f7d1f add API to query ALSA supported parameters 2015-08-11 18:18:19 +02:00
acd95215a4 allow to scan for half-duplex ALSA devices 2015-06-14 22:26:06 +02:00
404a77adb8 get installdir for libardouralsautil correct 2014-09-06 14:42:25 -04:00
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
359a968e61 alsa sequencer device/port listing 2014-06-21 11:51:11 +02:00
443ccb866f fix edge case - handle error in device owner request 2014-06-15 21:07:19 +02:00
4651530d6f ARD: proper cleanup 2014-06-15 21:07:19 +02:00
5288de3dc0 install libardouralsautil into the normal libdir, not a subdir 2014-06-07 08:30:35 -04:00
475e24f1d9 don't build a-r-d if alsa backend is not built 2014-06-05 18:19:55 +02:00
27af0f2d4b add default timeout for old dbus headers 2014-06-05 18:19:54 +02:00
de6a1ab701 make alsa/ardour dbus-device request tool generally useful. 2014-06-05 18:02:43 +02:00
27f8fc90cf mark dbus reservation tool optional 2014-06-05 03:26:52 +02:00
742282b7e9 proper dbus device reservation 2014-06-05 02:22:12 +02:00
a907d3455e break out ALSA related functions into libardouralsautil 2014-06-04 19:16:37 +02:00