Commit graph

389 commits

Author SHA1 Message Date
GZharun
ed993ce23a [Summary] If Float values are compared as difference, module of this difference should be taken
[Reviewed by] YPozdnyakov
2015-05-08 18:02:49 +03:00
Greg Zharun
2e763add60 [Summary] Added optimized AVX function for sample processing
[Details] Added AVX versions of existing 5 SSE functions. Added 6th AVX function to copy vectors which is 1.5 times faster then memcpy.
Data consistency and validness  is fully tested after processing with new AVX functions on aligned and non aligned buffers.
2015-04-16 15:52:04 +03:00
Greg Zharun
7cc7b15070 [Summary] AudioPort buffer does not need 64 byte alignment which cache_aligned_malloc provides.
Added new function which accepts argument to specify required alignment.

AudioPort buffer requires 32 byte alignment

[Review Required] YPosdnyakov
2015-04-10 18:08:13 +03:00
Greg Zharun
ef1fd2b67e [Summary] Added user defined extended alignment for WavesAudioPort.
[Revieded by] YPozdnyakov
2015-04-09 13:47:35 +03:00
Greg Zharun
438bdbfba5 [Summary] Used SSE optimized function to mix port buffer data 2015-04-08 16:53:49 +03:00
GZharun
766f35e41b [Summary] Disabled debug logs for MIDI device 2015-03-03 18:16:53 +02:00
Greg Zharun
ddc9c7210b [Summary] Removed unnecessary line of code 2015-03-03 17:50:13 +02:00
Greg Zharun
8b9cf13a7f [Summary] Disabled logs 2015-03-03 16:21:31 +02:00
VKamyshniy
ec9accf1f8 [Summary] Adding log output 2015-03-03 15:44:55 +02:00
VKamyshniy
01f130a666 [Summary] Adding log output 2015-03-03 15:38:54 +02:00
VKamyshniy
2938108eb6 [Summary] Adding log outputs 2015-03-03 14:34:18 +02:00
VKamyshniy
73a594c35b [Summary] Adding log output 2015-03-03 13:26:52 +02:00
Greg Zharun
4cc89cd165 Revert "[Summary] Added stream abortion in case of unsuccessful stop"
This reverts commit ca61d7129a.
2015-03-03 00:23:54 +02:00
Greg Zharun
ca61d7129a [Summary] Added stream abortion in case of unsuccessful stop 2015-03-02 23:48:23 +02:00
YPozdnyakov
5263292eb4 [Summary]: rewprk methods WavesMidiDevice::open () and WavesMidiDevice::close (). There were some logical mistakes. 2015-03-02 23:47:41 +02:00
Valeriy Kamyshniy
821c031052 [Summary] Audio Backend code cleanup - PORTION B 2015-03-02 20:19:50 +02:00
Greg Zharun
9a5ff32da2 [Summary] Added missing close on non successful port opening 2015-03-02 15:45:10 +02:00
Valeriy Kamyshniy
a1451c1abd [Summary] Audio Backend code cleanup - PORTION A 2015-03-02 14:44:04 +02:00
Greg Zharun
71dfae063a [Summary] Changed midi stop order related to audio 2015-03-02 03:54:40 +02:00
Greg Zharun
45144ada2e [Summary] Removed unnecessary abortion 2015-03-02 00:07:15 +02:00
Greg Zharun
b7d650c880 [Summary] Very seldom crash. Cleared temp data gave almost stable work 2015-03-01 23:34:15 +02:00
Greg Zharun
f71aca0d1e Revert "[Summary] Windows MIDI fixes: moved MIDI queue initialization before opening device; Made MIDI not reset during backend restart"
This reverts commit 6b77218f80.
2015-03-01 20:51:37 +02:00
Greg Zharun
2baa401f81 [Summary] Fixed several backend issues: made reset counter check atomic, removed copy/paste mistakes 2015-03-01 14:49:55 +02:00
Greg Zharun
6b77218f80 [Summary] Windows MIDI fixes: moved MIDI queue initialization before opening device; Made MIDI not reset during backend restart 2015-03-01 14:49:53 +02:00
GZharun
3ea3319e3b [Summary] Fixed crash on MAC when MIDI device name is 0 ref 2015-03-01 14:36:06 +02:00
Greg Zharun
b9889bf4bc [Summary] Removed useless output 2015-02-28 19:55:21 +02:00
Greg Zharun
99e4cc9cb4 [Summary] Added actions to handle abnormal behavior during stream stop for MIDI and Audio devices.
Made correct error handling for cases we didn't see before.
Removed redundant and experimental code I forgot to remove months ago.
Added debug output which will help in future testing
2015-02-28 18:39:13 +02:00
Greg Zharun
0eb56c77b6 [Summary] Further reset requests must not be ignored even if current is in progress. This redundant request filtering was done by mistake. 2015-02-24 23:02:53 +02:00
Greg Zharun
0a78297b02 [Summary] Made device control panel open request synchronized with other critical device operations. Made device reset correctly when control panel is closed. 2015-02-24 23:01:16 +02:00
GZharun
190e9778aa [Summary] Added possibility to identify IO thread which does not have required resources initialized during process callback handling 2015-02-24 14:27:48 +02:00
Valeriy Kamyshniy
48c5cf1e6c [Summary] Following review Paul did after 9b0fc7b743 [9b0fc7b] and 72e1510766 [72e1510]. 2015-02-20 20:19:33 +02:00
Valeriy Kamyshniy
9b0fc7b743 [Summary] In internal Waves backend API, switching sample time from 32 bits to 64 bits. 2015-02-20 13:48:14 +02:00
VKamyshniy
72e1510766 [Summary] In internal Waves backend API, switching sample time from 32 bits to 64 bits. Fixing logical inconsistency: None device always brought sample time=0 to the audio engine callback. 2015-02-20 12:52:47 +02:00
Paul Davis
b4c73a358f fix incorrect type for Waves' backend's _sample_time_at_cycle_start 2015-02-19 18:21:14 -05:00
Paul Davis
f24be24b1b change Audio backend sample time methods to use a 64 bit timeline
Conflicts:
	libs/ardour/ardour/audioengine.h
2015-02-19 18:21:14 -05:00
GZharun
02813f6ec3 [Summary] Error during device list generation does not mean we should abort, it does mean we couldn't interact with some CoreAudio devices which is quite possible situation.
[Deatils] Waves SG sometimes does not respond without errors on information requests when it's been freed. We need just switch to None in this case.
2015-02-18 17:56:14 +02:00
GZharun
e482d83de6 [Summary] Fixed bug 46338: Crash if stem export was canceled on high sample rate
[Details] WavesAudioBackend::freewheel (bool start_stop) which starts/stops freewheeling must not return until freewheeling thread is started or activate a device until the thread is stopped.
[Reviewed by] PDavis
2015-02-14 20:38:15 +02:00
GZharun
7d467ecc66 [Summary] Fixed issue when device supports only 0 sample rate
[Details] Removed commented out code
2015-02-14 11:56:22 +02:00
GZharun
457931affd [Summary] Cosmetic fix 2015-02-13 18:01:38 +02:00
GZharun
cb9f19baca [Summary] Backend Improvements
[Details] Fixed error handling
Fixed switching to None device when something goes wrong with the current device
Backend now takes care when device ID changes - Sound Grid does this when the amount of channel changes and it's not going to change in the neared future.
Fixed sample rate changes notification from device to DAW - Some devices can respond with such updates, we must correctly process them.
2015-02-12 11:39:25 +02:00
GZharun
8da1ad9fcf [Summary] Fixed issue when Audio Callback thread is changed
[Reviewed by] PDavis, VKamyshniy
2015-02-12 11:39:25 +02:00
Greg Zharun
f1171b79ce [Summary] Improved Port Audio event processing: Now redundant events will be filtered untill they are useful again 2015-02-10 23:43:50 +02:00
Greg Zharun
88810bc7be [Summary] Changed buffer sizes retrieving
[Details] There is no need to Initialize/Deinitialize PA and each time take buffers from the device. Buffer size will be assigned on device activation and application will be notified about buffer changes when it's required. This appears to be the correct workflow with buffer size on ASIO devices.
2015-02-10 23:43:48 +02:00
VKamyshniy
cada6ed65a [Summary] Removing annoying warning as we can do nothing with the reason for which this warning occurs . 2015-02-10 12:52:21 +02:00
Greg Zharun
314236e1c6 [Summary] Fixed bug with per thread pool error on Windows, when opening device control panel 2015-02-03 12:32:56 +02:00
VKamyshniy
cbc05574cc [Summary] Removed dbg output 2014-12-19 14:27:01 +02:00
VKamyshniy
a4691b4f72 [Summary] Corrected contents of dbg output 2014-12-19 10:49:17 +02:00
Valeriy Kamyshniy
4c7bd48284 [Summary] Bug fix: mistakenly set states of freewheeling thread. 2014-12-18 21:16:24 +02:00
Valeriy Kamyshniy
33349b260d [Summary] Fixing bug: disconnect_all did not wipe input port’s buffer. 2014-12-02 15:51:51 +02:00
Greg Zharun
53391399c4 [Summary] Added error reporting for MIDI device initialization on Windows 2014-11-23 18:47:06 +02:00