13
0
livetrax/libs/backends/portaudio
Tim Mayberry ac301b998a Use a range of values for ASIO buffer sizes if provided by driver
This has been tested on four devices:

- A RME HDSP Multiface
- A Yamaha AG06
- A Focusrite 2i2
- A built-in soundcard running ASIO4ALL

The HDSP and the AG06 only return one buffer size when queried so the preferred
size is used as before.

The Focusrite returns a min corresponding to the position of the slider in the
control dialog and the max is 1024. The granularity is 1 so this means that the
number of values needs to be reduced for the current UI design with a combo
box so the granularity is increased until there are around 8-9 buffer sizes to
choose from evenly spaced between min and max(but we could easily change this
if the UI changes etc).

The ASIO4ALL driver returns a min of 64 and a max of 2048 and a granularity of
8. So where the minimum buffer size and granularity is a power of 2 use only
buffer sizes that are power of 2.

If the driver returns different values for min and max it is not currently
possible to indicate which is the driver preferred value. A checkbox or other
UI element could be added to the AudioSetup dialog to only use the preferred
value but that is more work and perhaps not necessary.
2015-11-19 10:23:26 +10:00
..
audio_utils.h Add audio_utils.h header in PortaudioBackend for de/interleaving audio data 2015-09-02 12:07:59 +10:00
cycle_timer.h Update timestamp types in CycleTimer class to be signed 2015-09-16 11:22:16 +10:00
debug.h Use debug output rather than sending errors for developer relevant port errors 2015-09-02 12:07:14 +10:00
midi_util.cc WinMME based midi input/output for portaudio backend 2015-07-31 09:59:54 +10:00
midi_util.h WinMME based midi input/output for portaudio backend 2015-07-31 09:59:54 +10:00
portaudio_backend.cc Add support for callback API to portaudio backend but keep blocking API as default 2015-11-19 10:23:26 +10:00
portaudio_backend.h Add support for callback API to portaudio backend but keep blocking API as default 2015-11-19 10:23:26 +10:00
portaudio_io.cc Use a range of values for ASIO buffer sizes if provided by driver 2015-11-19 10:23:26 +10:00
portaudio_io.h Use a range of values for ASIO buffer sizes if provided by driver 2015-11-19 10:23:26 +10:00
rt_thread.h
winmmemidi_input_device.cc Fix handling of Sysex messages with WinMME midi driver 2015-10-07 21:48:56 +10:00
winmmemidi_input_device.h Fix handling of Sysex messages with WinMME midi driver 2015-10-07 21:48:56 +10:00
winmmemidi_io.cc Move Windows timer utility functions from PA backend into libpbd 2015-09-16 11:22:16 +10:00
winmmemidi_io.h add missing pthread.h includes 2015-07-31 02:28:12 +02:00
winmmemidi_output_device.cc add more debugging to portaudio/MME MIDI backend 2015-10-06 11:01:58 -04:00
winmmemidi_output_device.h add missing pthread.h includes 2015-07-31 02:28:12 +02:00
wscript Add support for callback API to portaudio backend but keep blocking API as default 2015-11-19 10:23:26 +10:00