Commit graph

166 commits

Author SHA1 Message Date
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
YPozdnyakov
bd1848dbf1 [Summary]: bug fix and small refactoring 2014-11-21 17:58:00 +02:00
Paul Davis
3f5cee742f fix bug that prevents 2 byte MIDI messages (e.g. program change) from being considered as legal.
I suspect that this parsing code is still deeply suspect, but I do not have the time to fully investigate
the problems it may have. This commit fixes a very basic bug, and allows program change messages to
be passed through to higher levels in the software
2014-10-29 23:19:54 -04:00
Paul Davis
3b12ea8a9f improve debug trace output usability from waves_midi_device.cc 2014-10-29 23:18:13 -04:00
Paul Davis
2ed2ba28ec extend DEBUG_TRACE to waves_midi_event 2014-10-29 23:17:30 -04:00
Paul Davis
2c1c92e8de move new Waves backend debug bits into libs/pbd/debug.cc because backends are dynamically loaded AFTER command line parsing.
See comments in libs/pbd/debug.cc for more details
2014-10-29 22:34:12 -04:00
Paul Davis
4bc383e663 make previous commit actually build (bit rot w.r.t. _pm_device_id, and more) 2014-10-29 22:08:53 -04:00
Paul Davis
8e60c59e5d convert "COMMENTED DBG LOGS" noise into DEBUG_TRACE messages, and std::cerr/cout messages into PBD::error 2014-10-29 21:52:54 -04:00
Paul Davis
cdc46cef1e add new debug bit definitions and declarations for Waves backend 2014-10-29 21:52:54 -04:00
Robin Gareus
332cb302c3 fix dup free in waves/midi:
The PortMidi queue just holds a pointer to the midi events.
The same Midi events are free()d during WavesMidiBuffer::clear()
which is called at cycle start for every buffer and in the dtor
of the WavesMidiBuffer.
2014-10-10 14:05:27 -04:00
Robin Gareus
da481b2930 fix wavesbackend midi timing 2014-10-10 14:05:27 -04:00
Paul Davis
a4aa74a5ee add correct copyright statements to all files in Waves backend except those derived from portaudio/portmidi
This follows the letter sent from Waves Audio Ltd. to Paul Davis dated February 20th 2014 agreeing to release this code
under the GNU Public License, version 2, with copyright owned by Waves Audio Ltd
2014-10-07 16:09:29 -04:00
Greg Zharun
574e646e8c [Summary] Added small sleep pause after sample rate change on Windows to give port audio some time to process the change 2014-09-23 15:16:56 +03:00
Greg Zharun
71c83e7382 [Summary] Added cleanup actions when backend cannot start 2014-09-23 13:46:12 +03:00
Greg Zharun
7288316336 [Summary] Extended list of available sample rates on Windows 2014-09-23 13:13:31 +03:00
GZharun
7d5e2bc0cb [Summary] Extended list of supported sample rates on MAC and for None device according to PRD 2014-09-23 12:41:05 +03:00
Greg Zharun
3cc0c8d569 [Summary] Added handlers for events in Port Audio which where not handled. For all "Resynck Request", "Latency Changed" and "Buffer size Changed" events restart is required.
NOTE: Other devices, unlike Sound Grid, trigger "Restart Request" event for all above cases.
2014-09-11 11:12:19 +03:00
Greg Zharun
3d7a062215 [Summary] Fixed main callback input data size issue: incorrect size of the buffer was provided during memory copy procedure 2014-09-10 19:18:24 +03:00
GZharun
ccc2f07fb3 [Summary] Corrected comment 2014-09-09 12:35:50 +03:00
Paul Davis
bd1cb0ce46 Revert "Add a couple of pthread helper macros"
This reverts commit 6dd4d411b3.

Conflicts:
	libs/pbd/MSVCpbd/pbd.vcproj
2014-09-08 10:41:51 -04:00
Paul Davis
8f213aefb0 missed merge conflict resolution, now fixed 2014-09-05 07:49:53 -04:00
Paul Davis
65dd500200 Revert "[Summary] Fixed broken windows backend build. Made wavesaudio the only backend for Tracks"
The wavesaudio backend only runs on OS X and Windows. This change
makes it impossible to run Tracks on Linux.

This reverts commit a6e33a0e25.
2014-09-05 07:47:57 -04:00
Greg Zharun
a6e33a0e25 [Summary] Fixed broken windows backend build. Made wavesaudio the only backend for Tracks 2014-09-05 14:34:00 +03:00
Paul Davis
58698640af fix 2nd argument to audio backend constructor for Waves backend; remove 2nd definition of descriptor() function 2014-09-03 09:32:20 -04:00
Paul Davis
c7af2444a7 Merge branch 'master' into ardour-merge
Conflicts:
	gtk2_ardour/time_axis_view_item.cc
	libs/backends/wavesaudio/waves_audiobackend.h
	libs/backends/wavesaudio/wavesapi/devicemanager/WCMRPortAudioDeviceManager.cpp
2014-09-02 10:28:52 -04:00
GZharun
bb54afa59f [Summary] Removed redundant output 2014-09-02 14:23:11 +03:00
Greg Zharun
6e204c337c [Summary] Cleaned up temporary code 2014-08-31 16:37:19 +03:00
Greg Zharun
91fcacd150 [Summary] Improved backend workflow, added synchronization for cases when device reset happens on device parameter change 2014-08-31 13:42:18 +03:00
Paul Davis
9c24d10862 Merge branch 'master' into ardour-merge
Conflicts:
	gtk2_ardour/editor.cc
	gtk2_ardour/editor_mouse.cc
	gtk2_ardour/public_editor.h
	gtk2_ardour/time_axis_view_item.cc
	gtk2_ardour/time_axis_view_item.h
2014-08-28 10:58:49 -04:00
GZharun
6009b609f6 [Summary] Simplified device information retrieving. Previous complicity was related to previous workflow which has nothing to do with current workflow. 2014-08-28 10:47:01 +03:00
Robin Gareus
0e6b9e25c3 add AudioEngine API to configure individual MIDI devices 2014-08-17 15:19:55 -04:00
Robin Gareus
050618c5da enforce style-guide #3, #26 and #27
Conflicts:
	libs/backends/wavesaudio/wscript
2014-08-16 17:01:40 -04:00
Robin Gareus
f3b2c02749 fix type typo 2014-08-16 17:00:01 -04:00
Robin Gareus
6eaa121474 outline portable implementation to replace clock_gettime() 2014-08-16 16:49:11 -04:00
John Emmas
cc944dd940 Add some more missing #includes 2014-08-16 16:34:48 -04:00
John Emmas
4c10034682 'atomic_ops' to use glib, rather than Waves's inbuilt atomic operations
Note that the following source files can be removed once we know this works on all platforms:-
backends/wavesaudio/wavesapi/akupara/threading/atomic_ops.hpp
backends/wavesaudio/wavesapi/akupara/threading/atomic_ops_gcc_x96.hpp
backends/wavesaudio/wavesapi/akupara/basics.hpp
backends/wavesaudio/wavesapi/akupara/compiletime_functions.hpp
2014-08-16 16:34:40 -04:00
John Emmas
e15ba3cd69 Add a return value to 'WCMRPortAudioDeviceManager::getDeviceAvailableSampleRates()'
(whilst technically, it doesn't report any encountered errors, it should nevertheless be returning some kind of error status)
2014-08-16 16:34:33 -04:00
John Emmas
6dd4d411b3 Add a couple of pthread helper macros
(to accommodate the fact that in ptw-win32, 'pthread_t' is subtlely different from its non-Windows counterparts)

Conflicts:
	libs/pbd/MSVCpbd/pbd.vcproj
2014-08-16 16:34:17 -04:00
John Emmas
fbc9d19cb2 Add the 'porttime' source file for Windows
Conflicts:
	libs/backends/wavesaudio/portmidi/src/porttime/ptwinmm.c
2014-08-16 16:33:49 -04:00
John Emmas
3dd30eef03 Add some type guards to 'wstdint.h' (in case we previously #included some headers which already define those types) 2014-08-16 16:33:27 -04:00
John Emmas
7d80809c3d Add some casting and namespace specifiers to keep MSVC happy 2014-08-16 16:33:22 -04:00
John Emmas
216d8d5a00 Add a couple of missing header files (needed for cin /cout etc) 2014-08-16 16:33:17 -04:00