summaryrefslogtreecommitdiff
path: root/libs/backends
AgeCommit message (Collapse)Author
2016-02-12Accommodate newly introduced source(s) in our MSVC project (portaudio_backend)John Emmas
2016-02-11Add debugging output for WinMME midi device namesTim Mayberry
2016-02-11Only build one version of the Portaudio backend that supports both blocking ↵Tim Mayberry
and callback API
2016-02-11Implement new AudioBackend API in PA backend to choose between callback and ↵Tim Mayberry
blocking API
2016-02-11Add a missing include from portaudio WINMME source fileTim Mayberry
Apparently this is now required by my version of gcc/mingw
2016-02-11Implement MIDI device enumeration and latency offset/calibration in ↵Tim Mayberry
portaudio backend
2016-01-12remove wavesaudio backendPaul Davis
2016-01-11name ALSA midi ports after device4.6Robin Gareus
2016-01-11fix warning message typoRobin Gareus
2016-01-10coremidi: do not clear port buffer for every call to parse_events()Paul Davis
This was limiting the data flow to 1 MIDI event per process cycle.
2016-01-09add explanatory comment regarding coremidi data flowPaul Davis
2016-01-09coremidi: be sure to mark _event._pending false after queueing, so that it ↵Paul Davis
doesn't get queued up again later
2016-01-08coreaudio: remove debug outputPaul Davis
2016-01-08coreaudio: remove debug outputPaul Davis
2016-01-08NOOP: fix whitespace/indendentation in coreaudio backend codePaul Davis
2016-01-08coreaudio: reset MIDI parsers when entering and leaving freewheelingPaul Davis
2016-01-07coreaudio: correctly clear MIDI port buffersPaul Davis
2016-01-07coreaudio: factor out common code for stuffing MIDI data into a CoreMidiPort ↵Paul Davis
buffer
2016-01-07coreaudio: per-port parser for incoming MIDI, copied from ALSA Raw MIDI supportPaul Davis
2016-01-07nitpickRobin Gareus
2016-01-07fix missing symbol on OS XPaul Davis
2015-12-23#define BACKEND_NAME when building with MSVC (portaudio_backend)John Emmas
N.B. We aren't yet building the blocking PortAudio backend but that can be added quite easily, if needed.
2015-12-21ship both blocking and callback PA backends (for debug purposes)Robin Gareus
this just works (no symbol conflicts)
2015-12-08standardize port-namesRobin Gareus
2015-12-08fix previous commit.Robin Gareus
2015-12-08portaudio connect & graph-changed callbacks (untested)Robin Gareus
2015-12-05JACK: expose --nperiods optionRobin Gareus
2015-12-05fix -WreorderRobin Gareus
2015-12-05update ALSA backend: separate playback/capture periodsRobin Gareus
fixed: 2 for capture, configurable 2,3 for playback.
2015-12-04ALSA: allow to dynamically add/remove midi devices & update their latency.Robin Gareus
2015-12-04ALSA: allow to measure & set systemic audio latency w/o restart.Robin Gareus
(MIDI needs a bit more work)
2015-12-04implement ALSA period/cycle settingRobin Gareus
2015-12-02Fix latency compensation for audio data in portaudio backendTim Mayberry
For drivers that correctly report latency values(ASIO) this should result a much closer alignment of audio in a loopback test. Measurement and adjustment may still be needed, especially for non-ASIO drivers. Testing with the RME HDSP Multiface and Yamaha AG06 using ASIO drivers results in maximum offset of a couple of samples.
2015-12-02Use portaudio callback API by default in portaudio backendTim Mayberry
2015-12-02Rename member variables in Portaudio Backend for consistencyTim Mayberry
2015-12-02Rename blocking process function in portaudio backendTim Mayberry
2015-12-02Rename blocking thread function in portaudio backendTim Mayberry
2015-11-29NOOP, remove trailing whitespace, replace tabs in python scriptsRobin Gareus
2015-11-28add some midi-debug printf() to the dummy backendRobin Gareus
2015-11-19Fix windows build when using pthreads-win32 libraryTim Mayberry
2015-11-19Use a range of values for ASIO buffer sizes if provided by driverTim Mayberry
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-19Add support for callback API to portaudio backend but keep blocking API as ↵Tim Mayberry
default Don't use the callback API for now until further and wider testing.
2015-11-12fix edge-case in Dummy-backend random number generator initializationRobin Gareus
2015-10-28fix JACK/windows compilationRobin Gareus
2015-10-28use weak-jack's jack_port_rename wrapperRobin Gareus
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-10coreaudio: reset freewheeling after exportRobin Gareus
fixes lively with session-fadeout
2015-10-07Fix handling of Sysex messages with WinMME midi driverTim Mayberry
2015-10-06more debugging for MIDI input via WinMMEPaul Davis
2015-10-06add more debugging to portaudio/MME MIDI backendPaul Davis
2015-10-06Fix WinMME midi driver shutdown with sysex enabledTim Mayberry
midiInReset triggers the sysex callback to tell the application that it has finished with the buffer. Calling midiInAddBuffer results in an infinite loop so just return during shutdown.