13
0
Commit Graph

67 Commits

Author SHA1 Message Date
GZharun
3f5bf264c3 [Summary] Fixed crash on MAC when MIDI device name is 0 ref 2015-03-31 17:29:41 -04:00
Greg Zharun
85b4577d7a [Summary] Removed useless output 2015-03-31 17:29:41 -04:00
Greg Zharun
a2f82f8c5d [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

Conflicts:
	libs/ardour/ardour/audioengine.h
	libs/ardour/engine_state_controller.cc
	libs/backends/wavesaudio/waves_midi_device.cc
2015-03-31 17:29:41 -04:00
Greg Zharun
ce069da682 [Summary] Made device control panel open request synchronized with other critical device operations. Made device reset correctly when control panel is closed.
Conflicts:
	gtk2_ardour/tracks_control_panel.logic.cc
	libs/ardour/ardour/audioengine.h
	libs/backends/wavesaudio/wavesapi/devicemanager/WCMRPortAudioDeviceManager.cpp
2015-03-31 17:29:41 -04:00
Valeriy Kamyshniy
91ae97d5c9 [Summary] Following review Paul did after 9b0fc7b743219b8daecbef91c9772937fd874822 [9b0fc7b] and 72e1510766608180fc7975fde35c9155494a8b5d [72e1510]. 2015-03-31 17:29:41 -04:00
nick_m
bdf9b2f47c Backend - change midi optons string.
Multimedia Extensions -> System MIDI (MME)
2015-03-28 03:35:45 +11:00
99260742d2 mingw: all code is position independent 2015-03-11 14:58:02 +01:00
1acbd7c488 fix for previous checkin; should allow waves midi backend to work 2015-03-04 10:23:19 -06:00
e3dd226ffa Change order of midi entries so a new backend will default to a working midi system.
Needs testing on all platforms.
2015-03-03 15:57:08 -06:00
dcf69ab3e6 fix erroneous merge for wavesaudio backend 2015-02-20 13:21:44 -05:00
Valeriy Kamyshniy
d5e375f784 [Summary] In internal Waves backend API, switching sample time from 32 bits to 64 bits.
Conflicts:
	libs/backends/wavesaudio/wavesapi/devicemanager/WCMRCoreAudioDeviceManager.cpp
2015-02-20 13:05:43 -05:00
VKamyshniy
3b5da657af [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 13:03:09 -05:00
76f6ff178e fix incorrect type for Waves' backend's _sample_time_at_cycle_start 2015-02-19 18:23:17 -05:00
582138f280 change Audio backend sample time methods to use a 64 bit timeline 2015-02-19 17:44:01 -05:00
8a93a87db0 remove lib versioning for internal plugins
Those objects do not have a versioned API by themselves.
This fixes issues with duplicate deployment (OSX, Linux bundles: cp) and
ardour listing control-surfaces multiple times (file index plugin dir).
2015-02-16 17:32:56 +01:00
ae09d7132d fix 192k rate 2015-02-06 13:57:22 -06:00
b0a5245ef0 Hotfix crash in OSX engine dialog.
This is not really a fix, just some quick hack
to make ardour start at all if there’s no prior
CoreAudio EngineState in the config.
2015-01-19 17:50:50 +01:00
05a612b563 ASIO devices have a preferred buffersize.
pass this value up so it can be used by the engine dialog.
if for some reason the engine dialog still doesn't have a buffersize selected, print an error and try 512 instead of crashing.
2015-01-16 17:15:26 -06:00
Valeriy Kamyshniy
1b89055526 [Summary] Bug fix: mistakenly set states of freewheeling thread. 2014-12-18 17:07:37 -05:00
02d735ff00 waves/coreaudio PPC support 2014-11-17 09:07:39 +01:00
d991bb10ca add 'available' interface to the AudioBackendInfo
If a backend can be loaded, it does not mean that it can be used;
e.g. weak-linked jack-backend if libjack is not available.
2014-10-23 16:53:14 +02:00
730e09ce65 another round of compiler warning fixes 2014-10-23 05:31:40 +02:00
c6a3d6bc48 small round of compiler warning fixes 2014-10-23 03:43:04 +02:00
68458cde69 fix all 4 backends' failure to include the main "backend" thread when computing ::in_process_thread() 2014-10-22 17:07:11 -04:00
b4cf5e279b 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-09 09:48:54 +02:00
4af4938c25 fix wavesbackend midi timing 2014-10-09 09:43:53 +02:00
000609901b 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:17:34 -04:00
0af091edf3 fix ming32 build&install for asio backend 2014-10-03 00:46:34 +02:00
3d12a4da82 fix deep obscure problem with loading multiple backends on OS X
all backends export a symbol declared as "extern "C" ARDOURBACKEND_API ARDOUR::AudioBackendInfo* descriptor ()".
dlopen'ing the backend apparently pushes the symbol "descriptor" into the single flat global namespace that we use
to be like other unix-like systems. this means that if a backend calls its OWN function named "descriptor", it
is indeterminate which one it will be, since the symbol will refer to the function first loaded by the runtime
linker. If the backend is not the first one discovered, this call to its own "descriptor" function will invoke
the function defined by another backend, even though these are supposed to have local scope only according
to our arguments to dlopen().

This fix doesn't try to fix the linker or namespace - it just makes sure that the WavesAudio backend doesn't
invoke its own descriptor() function, which it never really needed to do anyway.
2014-09-30 22:57:05 -04:00
cd60fd9dfe untested fix for compiling waves audiobackend on case-sensitive FS with mingw. 2014-10-01 04:02:30 +02:00
a927b79c26 Implement the new pthread macros (for the Waves audio backend) 2014-09-30 21:00:35 -04:00
3033c1cc54 Re-introduce our pthread macros (after fixing an earlier typo)
these are so we can differentiate between 'libpthread' and 'libpthread-win32' (whose implementation is subtlely - though annoyingly! - different)
2014-09-30 21:00:35 -04:00
8d59afb048 copy over current Waves version of their backend, along with minor changes in libs/ardour and libs/backend/jack to fit with API changes 2014-09-30 21:00:34 -04:00
8e01b411b2 copy over current Waves version of their backend, along with minor changes in libs/ardour and libs/backend/jack to fit with API changes-a 2014-09-30 20:23:45 -04:00
16b25a3028 Implement the new pthread macros (for the Waves audio backend) 2014-09-09 12:05:14 +01:00
61e0705a94 Re-introduce our pthread macros (after fixing an earlier typo)
these are so we can differentiate between 'libpthread' and 'libpthread-win32' (whose implementation is subtlely - though annoyingly! - different)
2014-09-09 12:03:52 +01:00
83b6825bd0 Revert "Add a couple of pthread helper macros"
This reverts commit 8d0ec2403f.
2014-09-09 08:26:26 +01:00
3f776ce7d9 fix incorrect cut-n-paste across synergy 2014-06-25 12:30:57 -04:00
9b7b5fc9bc wscript fix for wavesaudio backend - use correct name for CoreM[iI][dD][iI] framework on Lion and other versions 2014-06-25 08:29:23 -04:00
da912f7ed4 add AudioEngine API to configure individual MIDI devices 2014-06-13 11:47:51 +02:00
10a52f1d19 enforce style-guide #3, #26 and #27 2014-05-21 02:25:45 +02:00
9d6cfd67c3 CoreMidi is also needed on OSX.6 2014-05-21 02:17:35 +02:00
81d8eaa216 fix type typo 2014-05-21 00:19:15 +02:00
827388ffdd outline portable implementation to replace clock_gettime() 2014-05-16 18:19:41 +02:00
ad40a9008b Add some more missing #includes 2014-05-06 17:00:35 +01:00
18245b06d0 '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-05-06 09:41:40 +01:00
b9fab9ea28 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-05-06 09:33:54 +01:00
8d0ec2403f 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)
2014-05-06 09:31:11 +01:00
41fe637e80 Add the 'porttime' source file for Windows 2014-05-06 09:25:27 +01:00
051ceffc5d Add some type guards to 'wstdint.h' (in case we previously #included some headers which already define those types) 2014-05-06 09:23:00 +01:00