Commit graph

742 commits

Author SHA1 Message Date
Robin Gareus
87c36aba60 use new error-messages 2015-10-02 17:51:17 +02:00
Robin Gareus
3f99c44ff6 improve CoreAudio error reporting 2015-10-02 17:28:28 +02:00
Robin Gareus
6b4e5f1d47 ALSA: update error-codes for HW initialization. 2015-10-01 12:42:05 +02:00
Tim Mayberry
dcf327f86a Return meaningful error codes when ALSA backend fails to start
Unfortunately it seems that in zita-alsa-pcmi doesn't set state() correctly in
some cases. Setting an invalid SR doesn't display the correct error message,
first guess would be that set_hwpar is failing and state() is not
representative of the actual error.
2015-10-01 09:10:19 +10:00
Tim Mayberry
aa713fcd83 Return meaningful error codes when PortaudioBackend fails to start
So they can be used to give a contextual error message in the GUI
2015-10-01 09:10:19 +10:00
Tim Mayberry
f178152114 Use portaudio error codes in the PortaudioIO class.
Having error codes defined in PortaudioIO means it is not dependent on the
ErrorCodes in AudioBackend but it doesn't really make sense to have another
set, so just use the PA ones until they become insufficient.
2015-10-01 09:10:19 +10:00
Robin Gareus
bd5b97e964 Dummy: add a CC only test-sequence 2015-09-19 19:00:43 +02:00
John Emmas
44ea59495c MSVC projects - accommodate some modules that recently got moved or removed
(mostly these got moved out of the PortAudio backend and into libpbd)
2015-09-18 10:25:11 +01:00
Robin Gareus
1691e965a5 update reported DSP load for ALSA & Dummy 2015-09-16 18:24:57 +02:00
Robin Gareus
1c43383e92 CoreAudio: use libardour provided DSP load calc. 2015-09-16 18:24:57 +02:00
Tim Mayberry
faa38a0d29 Use ARDOUR::DSPLoadCalculator in DummyBackend 2015-09-16 11:22:17 +10:00
Tim Mayberry
305f1d73bb Use PBD::get_microseconds() from pbd/windows_timer_utils.h in DummyBackend 2015-09-16 11:22:17 +10:00
Tim Mayberry
782dbf0e3f Set max time of DSPLoadCalculator in every cycle in ALSA backend 2015-09-16 11:22:17 +10:00
Tim Mayberry
ccfe3e1015 Use ARDOUR::DSPLoadCalculator in ALSA Backend 2015-09-16 11:22:17 +10:00
Tim Mayberry
d007fc05b1 De/Initialize MMCSS on windows in PBD::init/cleanup instead of in PA Backend 2015-09-16 11:22:16 +10:00
Tim Mayberry
091c4ed3a7 Move Windows MMCSS related utility functions into libpbd 2015-09-16 11:22:16 +10:00
Tim Mayberry
d76fe212b7 Move MMCSS related utility functions into PBD namespace
In preparation for moving to libpbd
2015-09-16 11:22:16 +10:00
Tim Mayberry
3f5c01e4eb Move Windows timer utility functions from PA backend into libpbd 2015-09-16 11:22:16 +10:00
Tim Mayberry
4ffe8ffc0f Put Windows timer functions into PBD namespace in preparation for moving them to libpbd
Add functions for get/set the Multimedia timer resolution, although we are
really only interested in the minimum, this will facilitate testing

Put timer utility functions inside nested namespaces as they are platform
specific
2015-09-16 11:22:16 +10:00
Tim Mayberry
4330db1aa7 Update timestamp types in CycleTimer class to be signed 2015-09-16 11:22:16 +10:00
Tim Mayberry
b2a7393553 Change types in DSPLoadCalculator to signed integer after change in utils::get_microsecond 2015-09-16 11:22:16 +10:00
Tim Mayberry
a974659504 Check return value of windows timer functions and handle errors
Change return type of utils::get_microseconds to signed int and return -1 when
failing to read timer
2015-09-16 11:22:16 +10:00
Paul Davis
ec06f2c49f spelling error fixes (notably "overriden" => "overidden") from IOhannes m zmölnig 2015-09-11 09:23:43 -04:00
John Emmas
d2e083397c Add support for newly introduced class ARDOUR::DSPLoadCalculator (when building with MSVC) 2015-09-10 10:22:38 +01:00
Tim Mayberry
28803fface Remove DSPLoadCalculator class in portaudio backend source 2015-09-10 12:12:56 +10:00
Tim Mayberry
c2e5bdedff Use ARDOUR::DSPLoadCalculator in PortAudioBackend 2015-09-10 12:12:56 +10:00
Robin Gareus
d11b15fbca dummy, allow 8k buffer-size. 2015-09-08 15:14:02 +02:00
Robin Gareus
788234e317 fix dummy-backend driver state
When loading previous state, set_driver() is called before
enumerate_drivers(). 
The available driver list must be available early on.
2015-09-06 10:42:29 +02:00
Robin Gareus
3fc5bf617a mode dummy speeds 2015-09-06 00:46:05 +02:00
Robin Gareus
4ef62a0d6d add dummy-backend speed-selection 2015-09-06 00:33:24 +02:00
John Emmas
7e589dcda2 Add some newly introduced sources to our MSVC project (portaudio_backend) 2015-09-05 18:04:29 +01:00
Robin Gareus
d6df63ed91 Dummy-Backend: special case unit-test 2015-09-05 01:15:28 +02:00
Robin Gareus
fa32fa1abe replace "None" with DeviceNone in ALSA/Coreaudio
TODO: separate MidiSystemNone
2015-09-02 13:33:40 +02:00
Tim Mayberry
7521028831 Add debug output for errors when setting MMCSS thread characteristics 2015-09-02 12:07:59 +10:00
Tim Mayberry
3618689103 Use MMCSS utility functions in PortaudioBackend 2015-09-02 12:07:59 +10:00
Tim Mayberry
b288a40220 Add utility functions in PortaudioBackend for re/setting MMCSS thread characteristics 2015-09-02 12:07:59 +10:00
Tim Mayberry
77ce989dfa Pass input and output audio buffers into PortaudioBackend blocking process function
This makes it possible to reuse the method for callback based processing
2015-09-02 12:07:59 +10:00
Tim Mayberry
a6fb71022f Add audio_utils.h header in PortaudioBackend for de/interleaving audio data 2015-09-02 12:07:59 +10:00
Tim Mayberry
23a490c906 Add two utility methods to abstract PortAudioBackend state
These may change as support for callback API is added
2015-09-02 12:07:58 +10:00
Tim Mayberry
f143d76523 Extract MIDI input/output processing in PortAudioBackend into new methods 2015-09-02 12:07:58 +10:00
Tim Mayberry
a65b1ddedc Add a DSPLoadCalculator class to the PortAudioBackend for DSP load calculation
The class uses the same algorithm as in the coreaudio and alsa backends and
should probably go into libardour at some point
2015-09-02 12:07:58 +10:00
Tim Mayberry
cb7bac5599 Fix include style of system header 2015-09-02 12:07:58 +10:00
Tim Mayberry
5448c229d9 Extract main processing section of PortAudioBackend into new method 2015-09-02 12:07:58 +10:00
Tim Mayberry
f27d8e1e23 Extract freewheel processing in PortAudioBackend into new method 2015-09-02 12:07:58 +10:00
Tim Mayberry
cf81caa798 Don't update unused dsp timer variable in freewheel process in PortaudioBackend 2015-09-02 12:07:58 +10:00
Tim Mayberry
7b23f80b03 Refactor port change handling part of PA Backend process function into new method 2015-09-02 12:07:58 +10:00
Tim Mayberry
684701427e Rename variables in PortaudioBackend in preparation for using PA callback API 2015-09-02 12:07:58 +10:00
Tim Mayberry
56b5e04c3b Fix copy and paste error in debug output message in WINMME Midi Output 2015-09-02 12:07:58 +10:00
Tim Mayberry
ac5eac471d Signal WinMME Midi output thread so the thread wakes up and terminates properly 2015-09-02 12:07:15 +10:00
Tim Mayberry
d520b9c878 Stop WINMME midi driver/devices when PortAudio backend is stopped 2015-09-02 12:07:15 +10:00