e42f9d649b
Refactor parts of PortAudioIO class into new method
2015-09-02 12:07:15 +10:00
c857008b93
Refactor part of PortAudioIO::pcm_setup into 2 new methods
2015-09-02 12:07:14 +10:00
41211c984c
Make two private methods in PortAudioIO const
2015-09-02 12:07:14 +10:00
8e0e3fcdee
Refactor part of PortAudioIO::pcm_setup into new method
2015-09-02 12:07:14 +10:00
58cfd00e5a
Add utility method to PortAudioIO class to remove goto from pcm_setup
2015-09-02 12:07:14 +10:00
d6f7066e80
Remove apple specific fixes from PortaudioBackend now that it is windows only
2015-09-02 12:07:14 +10:00
dd93aec029
Don't query supported sample rates for ASIO devices in PortaudioBackend
...
There has been reports this can take several minutes on some devices so just
return the default rates(and fail to open the device when a SR is specified
that isn't supported)
2015-09-02 12:07:14 +10:00
519f97b91d
Use two private utility functions in PortaudioIO class for default SR's and buffer sizes
2015-09-02 12:07:14 +10:00
cc7e97f296
Reindent and reformat switch statements in PortaudioBackend
...
This is more readable and consistent with the rest of the source files
2015-09-02 12:07:14 +10:00
71a1e9e90d
Use translated error messages in PortaudioBackend when SR or i/o channel counts don't match requested
...
These errors are probably preventable but currently they do occur so at least
tell the user about them(and hope they check the error log window)
2015-09-02 12:07:14 +10:00
ba4f685d2d
Use a translated error message in PortaudioBackend when unable to open audio device
2015-09-02 12:07:14 +10:00
432e0073f6
Convert some error output to debug output in PortaudioBackend
2015-09-02 12:07:14 +10:00
9185978d2f
Use translated error message in PortaudioBackend with failing to aquire RT perms
2015-09-02 12:07:14 +10:00
9d67d22e70
Use debug output rather than sending errors for developer relevant port errors
...
Most of these are not errors that are intended for the user, they are only
intended for developers so don't send them to PBD::error. The errors that may
be relevant to users should be handled in libardour or the GUI in response to
return values
2015-09-02 12:07:14 +10:00
a272c50597
Move AudioBackend related debug bits into libardour
...
I put these in libpbd as that is where the debug bits are for the Waves backend
but I think it makes more sense for them to be in libardour as that is where
the AudioBackend class is defined
I left the Waves debug bits in libpbd for now.
2015-09-02 12:07:14 +10:00
201d91aedd
Use PortaudioIO::get_current_host_api_type utility function in PortaudioIO class
2015-09-02 12:07:14 +10:00
c6c0654b5a
Add Utility function to get host API type in PortaudioIO class
2015-09-02 12:07:14 +10:00
08d6dd153e
Add "None" devices to PortaudioBackend
...
This allows for disabling either input or output, but not both
2015-09-02 12:07:14 +10:00
440e6cd591
Use AudioBackend standard device names for "Default" in PortaudioBackend
2015-09-02 12:07:14 +10:00
3a3d811e82
Use StandardDevices enum in PortaudioIO for default devices
...
This just makes it a bit easier to read through the code rather than using
magic numbers.
2015-09-02 12:07:14 +10:00
5a5226dded
Add StandardDevice enum to portaudio_io.h header
2015-09-02 12:07:14 +10:00
7537a992b3
Use translated error message in PortaudioBackend for audio device I/O error
2015-09-02 12:07:14 +10:00
07f3dae936
Use translated error message for failing to set thread priorities in PortaudioBackend
2015-09-02 12:07:14 +10:00
ee77a7a883
Use AudioBackend::get_standard_device_name for "None" midi device in PortaudioBackend
2015-09-02 12:07:14 +10:00
451e35002c
Use pretty name infrastructure to display MIDI device name
2015-09-02 12:07:14 +10:00
b6f51b2497
coreaudio: re-classify port-errors as warnings
2015-08-28 15:41:33 +02:00
dace872af8
fix Dummy backend API. Already_configured means "externally".
2015-08-14 16:26:44 +02:00
548340eb05
remove -Woverload-virtual ambiguity (from 1d3690d
)
...
this breaks compilation in engine_dialog.cc
2015-08-11 23:50:56 +02:00
679903fd22
fix jack startup on OSX (w/midi)
2015-08-11 19:43:57 +02:00
a226c4ce38
ALSA backend: query and cache available device-parameters
2015-08-11 19:01:52 +02:00
8f10b38275
coreaudio backend: SR/BS query for separate devices
2015-08-11 15:38:04 +02:00
e8b2d7a85b
fix coreaudio half-duplex buffersize query
2015-08-11 04:43:07 +02:00
d72c111ccf
Add a newly introduced #define to our MSVC build project (portaudio backend)
2015-08-09 12:44:31 +01:00
71e7b2fbd6
Set the default host api in PortaudioBackend when initializing portaudio
...
Not setting a default driver causes issues with the EngineControl dialog
2015-08-07 01:25:14 +10:00
529a625c39
Remove "Default" devices from the PortaudioBackend
...
These are not really necessary now that input and output devices can be
selected separately.
2015-08-05 23:37:50 +10:00
66cafd10d5
Use ASIO specific device channel names for port properties/pretty names
2015-08-05 13:21:30 +10:00
61e851da08
Add code to use ASIO supplied min/max buffer sizes but don't use it
...
RME HDSP: min == max == preferred size with granularity == 0
Focusrite scarlett 2i2: min = current ASIO setting and max = max buffersize the
device supports with a granularity of 1 which means hundreds of entries in the
dropdown menu.
2015-08-05 13:21:30 +10:00
7295bb6454
Refactor methods in PortaudioBackend to get ASIO buffer sizes
2015-08-05 13:21:26 +10:00
6ca1c8164f
Add ASIO specific code to query preferred buffer size for device
2015-08-05 10:52:03 +10:00
a9b6277d50
Dummy -> Audio system: "None"
...
check if gettext() static initialization works with all compilers.
2015-08-05 00:45:08 +02:00
c8b207d911
Proper solution to replace 9cabc1b
hack.
...
Initialize uninitialized variable (m_started), remove cruft.
2015-08-04 01:03:57 +02:00
55cd20d862
don’t set paClipOff, have portaudio clip to -1,+1
...
Fixes issues with some integer drivers where overflow wraps
(values > 1.0 end up at -1, producing a hard click)
2015-08-03 22:57:10 +02:00
c6a02503b4
Windows XP compat
2015-08-03 22:53:53 +02:00
9cabc1bb9a
Fix MIDI input on Portaudio Backend with 32bit Windows release/optimized builds
...
MIDI input doesn't work with -O3 or -O2 optimization levels, no real idea why
at this point. So just append -O0 to CXXFLAGS to override previous optimization
flags for compiling the PortaudioBackend files
2015-08-04 00:15:59 +10:00
5122b7f8e1
Specifically #include <mmsystem.h> to get us TIMECAPS
...
(not sure why windows.h isn't already #including this for us - but it doesn't seem to be)
2015-07-31 13:48:25 +01:00
3015be533f
Add some newly introduced sources to our MSVC project (portaudio_backend)
2015-07-31 13:45:18 +01:00
f3d3082872
Use llabs (rather than std::abs) for compatibility with MSVC
...
MSVC doesn't offer an override which accepts int64_t (at least, the 32-bit compiler doesn't)
2015-07-31 13:43:22 +01:00
0428f2e4c9
Use BOOL (rather than WINBOOL) for compatibility with MSVC
...
(WINBOOL is MinGW specific)
2015-07-31 13:41:16 +01:00
f9f01104c6
add missing pthread.h includes
2015-07-31 02:28:12 +02:00
cfbd9dd6d4
Add functionality to show ASIO control panel
2015-07-31 09:59:54 +10:00
acd17a9b53
Use MMCSS to elevate the thread priorities for audio and MIDI threads
...
use AVRT_PRIORITY_NORMAL for audio threads and AVRT_PRIORITY_HIGH for MIDI
threads
2015-07-31 09:59:54 +10:00
e9d00f5cfb
Add MMCSS related code for raising thread priority on Windows
2015-07-31 09:59:54 +10:00
fe50d06876
Implement AudioBackend::driver_name() in PortaudioBackend
...
This was missing and is necessary for EngineControl dialog to work properly
2015-07-31 09:59:54 +10:00
6a0e46352c
Add extra DEBUG_TRACE output to PortaudioBackend
2015-07-31 09:59:54 +10:00
e258c827e2
WinMME based midi input/output for portaudio backend
...
TODO:
Use MMCSS to elevate thread priorities
Enable/test and fix SYSEX related code
2015-07-31 09:59:54 +10:00
b12f865a4a
Fix for PortAudioBackend::available_sample_rates
...
Was being called without initializing PA. PA should probably be initialized in
ctor but PA backend also needs to support hot-plugging devices at some point so
this will do for now
2015-07-31 09:59:54 +10:00
6b7875de1e
Support selecting separate input and output devices in portaudio backend
2015-07-31 09:59:54 +10:00
ff1d4d5c67
Refactor PortAudioIO::discover into three private methods
2015-07-31 09:59:54 +10:00
4e370feeb1
Set default input/output device based on selected host api rather than global default
2015-07-31 09:59:54 +10:00
e2001ac4f3
Fix crash when unable to open portaudio stream
...
Calling Pa_Terminate after failing to open stream causes an assertion
2015-07-31 09:59:54 +10:00
b6db19a5c6
Add host api/driver selection to PortaudioBackend
2015-07-31 09:59:54 +10:00
64baed2b97
coreaudio aggregate device fix for 10.5
2015-07-24 01:34:57 +02:00
c0aa5a8d6b
fix typo in old (pre 10.6) coreaudio API wrapper
...
fixes aggregate device support for PPC builds.
2015-07-22 20:20:11 +02:00
40c603c7e9
UTF8 encode windows device names - potential fix for #6418
2015-07-08 11:34:57 +02:00
4f81b17e85
another float/double -Wabsolute-value fix
2015-07-05 16:13:08 +02:00
fa7bb93329
fix jack_port_get_aliases return value (if n/a)
2015-07-04 12:54:41 +02:00
a68221e323
fix jack/pthread windows condition
2015-07-04 11:49:44 +02:00
9ccfb921d4
synchronize with https://github.com/x42/weakjack/
2015-07-04 11:46:09 +02:00
416ef93635
use a trick to compile JACK/win with new and old headers
...
jack/systemdeps.h is jack2-only and contains many
windows-specific typedefs (native windows threads, ptw32 threads, MSVC
special cases etc etc.) which are not present in jack1/shared headers.
2015-07-04 09:52:04 +02:00
58a7b0e137
fix side-effect of moving to jack1 headers
2015-07-04 05:59:37 +02:00
278cd98799
fix compilation with mingw + pthreads
2015-07-04 05:48:42 +02:00
efb9da770d
fix use of += in waf variable
2015-07-04 05:43:34 +02:00
c905be691d
only compile, don’t link & run jack checks
2015-07-04 04:24:22 +02:00
d48a5f7068
fix weak jack w/new jack_port_rename()
2015-07-04 00:20:12 +02:00
35ab6e9075
fix error in type definition for weak jack handling of jack_port_rename
2015-07-02 14:24:49 -04:00
aaab192436
add conditional use of jack_port_rename(), a newly added public API for JACK
2015-07-02 14:02:07 -04:00
f814045f80
MSVC doesn't have 'sleep()' (it uses 'Sleep()' with a capital 'S') so let's make sure it'll still compile
...
(see the note about possibly using 'Glib::usleep()' ??)
2015-07-02 08:23:38 +01:00
2d098c346a
add a raw CoreMidi data debug mode
2015-07-01 22:14:30 +02:00
b687ed9339
consolidate & document Coreaudio midi parser
2015-07-01 18:14:48 +02:00
da0ca57539
NOOP, reindent & whitespace
2015-07-01 01:18:52 +02:00
b86cf68e1f
add an explicit midi parser/chunker to CoreAudio
2015-07-01 01:12:30 +02:00
5296a364c4
pthread_equal returns non-zero if equal. amend 5ab0288
2015-06-30 09:17:43 +02:00
5ab0288c99
at least make it compile with mingw.
2015-06-30 09:11:05 +02:00
93a64cb4fc
new PBD::DEBUG API changes for Waves backend
2015-06-29 14:18:15 -04:00
GZharun
40ddbc6195
Fixed up types mismatch in AudioCallback and AudioCllbackData struct
2015-06-29 14:18:15 -04:00
76f066f40c
fix typo in wavesbackend code
2015-06-29 14:18:15 -04:00
GZharun
51d2804535
Waves Backend MERGED from Tracks
...
[To be reviewed by] Paul Davis
2015-06-29 14:18:14 -04:00
GZharun
5d4f1c3419
Backend MERGE:
...
Paul Davis' change 3d12a4da82
[To be reviewed by] Paul Davis
2015-06-29 14:18:14 -04:00
GZharun
edbbc8344a
Reverted Ben's default buffer size function implementation.
...
Related to eeca7f7
2015-06-29 14:18:14 -04:00
GZharun
21b9e180bd
Reverted Ben's m_DefaultBufferSize stuff as it looks redundant. Will be put back if we establish the opposite
2015-06-29 14:18:14 -04:00
6485300479
remove more explicit compiler flags by placing them in the compiler flags dictionary
2015-06-29 14:18:14 -04:00
3adfa9ef57
minor fix for wavesaudio backend after earlier changes + merge/meld madness
2015-06-29 14:18:14 -04:00
237f255fb5
meld-driven unification of current ardour-ish WavesAudio backend and current tracks WavesAudio backend.
...
May be incomplete, and may not compile (testing to follow)
2015-06-29 14:18:14 -04:00
GZharun
0fca07fa9d
cosmetic fix (grygorii)
2015-06-29 14:18:14 -04:00
6410aa896f
Added optimized AVX function for sample processing
...
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-06-29 14:18:13 -04:00
GZharun
939e7c2d52
Fixed f65026f0a1cbc64862a82109c28f5d493fc45f2e merged commit related to waves backend
...
[Reviewed] PDavis
2015-06-29 14:18:12 -04:00
7fae6bcd87
copy all XCode project files from Tracks.
...
Rationale: the Waves team maintains the XCode project files, the Ardour crew doesn't. Thus, the Waves'
version is more canonical
2015-06-29 14:18:10 -04:00
GZharun
ef59fbffa1
[Summary] Added possibility to identify IO thread which does not have required resources initialized during process callback handling
...
Conflicts:
libs/ardour/ardour/audioengine.h
libs/backends/wavesaudio/waves_audiobackend.cc
libs/pbd/pbd/pool.h
2015-06-29 14:16:42 -04:00
dc2030cfd7
ALSA backend: add support for half-duplex devices
2015-06-14 22:26:06 +02:00
94c146c780
prepare ALSA backend for half-duplex
2015-06-14 22:26:06 +02:00
573ec69a9a
probe buffersize if jackd is already running.
2015-06-14 18:10:31 +02:00
9563e75cca
hide the aggregate device, again
...
further amends to 17453ec
debugging.
2015-06-10 03:00:00 +02:00
df840cec13
undo debug ( 17453ec
) info.
...
The problem was: OSX i386 builds used --dist-target=leopard
which forced the deprecated 10.5 CoreAudio API.
(build-host config has been changed now).
There is currently insufficient support in ardour’s
CoreAudioPCM::create_aggregate_device() for the old API,
COREAUDIO_108 needs to be defined or aggregate devices stop
working on OSX 10.8 or later.
2015-06-10 02:46:10 +02:00
9a8d5583f4
fix OSX optimized builds (NDEBUG)
2015-06-09 22:24:46 +02:00
17453ec855
debug aggregate device issue - i386/10.8 only
2015-06-09 21:34:16 +02:00
70a0ee504c
coreaudio: initialize [output] variable.
...
possible fix for 32bit/10.8,
AudioObjectGetPropertyDataSize error
2015-06-09 19:18:59 +02:00
801af5df9e
Add the new (UINTSDEFINED) preprocessor directive to all out MSVC projects (just to be on the safe side)
2015-06-09 13:18:42 +01:00
e801155dde
Coreaudio: ignore [expected] SR changes.
...
Don’t disconnect from engine if sample-rate change
happens during initialization.
2015-06-07 02:33:21 +02:00
b36d95d971
half-duplex Coreaudio support.
2015-06-04 02:44:58 +02:00
1fe738a36e
coreaudio support for multiple devices
2015-06-01 01:02:38 +02:00
56cc3e2407
fix portengin get_ports() flags API
...
require all flags to be present (same as jack)
2015-05-03 22:34:52 +02:00
Christopher Arndt
a9bc95a911
Fix mixed spaces/tabs in wscripts
2015-05-03 19:52:38 +02:00
2f432c3be7
dummy: ignore first cycle timing.
2015-05-01 15:58:17 +02:00
fe3aafec1c
When testing for x86 / x64 architecture, don't forget the symbols that MSVC can understand
2015-04-30 18:17:23 +01:00
49ffcd0d9d
clamp DSP load displsy 100% & relax LPF.
2015-04-30 02:00:50 +02:00
e3cd57ecb6
DSP load calculation: favor peak over average.
2015-04-29 21:27:37 +02:00
82cc394705
fix jack-metadata for weak-jack linking
2015-04-23 20:19:22 +02:00
52a58f1ad2
fix JACK metadata configure check.
...
Trying to explicitly specify linkflags is (a) not portable (b) doesn't honor order-sensitive linkers
2015-04-23 13:48:18 -04:00
f755185825
add a real check for functioning JACK metadata API; remove configure time option for this
2015-04-23 09:29:45 -04:00
7ee9726c89
another merge fix
2015-04-21 08:37:54 -05:00
91fac4c96d
merge fix for tempo branch
2015-04-21 08:35:20 -05:00
88f7c76134
allow coreaudio backend to build on OS X Lion
2015-04-20 23:12:35 -04:00
bb4576b700
Dummy: fix sine/square frequency sweep
2015-04-17 17:09:52 +02:00
9391da0c24
portaudio backend: allow Pa_GetDeviceInfo to fail.
2015-04-15 03:05:09 +02:00
c89f24e207
fixes for recent waves tracks => ardour cherry-picks of the wavesaudio backend
2015-03-31 18:03:51 -04:00
458fc3ad75
manually merge current version of WavesMidiDevice::{open,close}()
2015-03-31 17:29:42 -04:00
Valeriy Kamyshniy
83001e7e52
[Summary] Audio Backend code cleanup - PORTION B
...
Conflicts:
libs/backends/wavesaudio/waves_midi_device.cc
2015-03-31 17:29:42 -04:00
Valeriy Kamyshniy
91f5eb9fef
[Summary] Audio Backend code cleanup - PORTION A
...
Conflicts:
libs/backends/wavesaudio/waves_midi_device.cc
2015-03-31 17:29:42 -04:00
Greg Zharun
47adf3ba37
[Summary] Changed midi stop order related to audio
2015-03-31 17:29:42 -04:00
Greg Zharun
708f4bf12b
[Summary] Removed unnecessary abortion
2015-03-31 17:29:42 -04:00
Greg Zharun
22d68d14ce
[Summary] Very seldom crash. Cleared temp data gave almost stable work
...
Conflicts:
libs/backends/wavesaudio/waves_midi_device.cc
2015-03-31 17:29:42 -04:00
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
16be88cdb6
Skeleton backend for brave volunteers.
...
callback based backend based on CoreAudio/Midi
backend (sans the actual system/HW _pcmio,
_midiio)
2015-03-30 21:23:52 +02:00
cde15cb3ad
coreaudio: swap default aggregate clock source.
...
Thanks to Stephane & the JACK2 team.
2015-03-30 13:18:51 +02:00
nick_m
bdf9b2f47c
Backend - change midi optons string.
...
Multimedia Extensions -> System MIDI (MME)
2015-03-28 03:35:45 +11:00
39e5f7b94b
Add a new MSVC project for building the Portaudio backend
2015-03-22 11:54:58 +00:00
a563007fcc
add missing return value
2015-03-20 16:17:07 +01:00
26ce7b5f1b
add a non-interleaved mode to the Portaudio backend
2015-03-20 11:45:56 +01:00
d8d9f9b486
proper port unregistration (just some refactoring, noop)
2015-03-14 22:59:07 +01:00
5090934a2c
clean out cruft from CoreAudio Backend
2015-03-13 14:05:12 +01:00
7a4f1cb98f
only jack+windows use portaudio.
...
fixes missing lib if portaudio-backend is used on on non-windows
platforms (pkg-config defines HAVE_PORTAUDIO)
2015-03-13 13:32:14 +01:00
1cca79258a
call me Mr. Backend
...
simple blocking (no callback) PortAudio Backend
2015-03-13 13:32:14 +01:00
47b1c2889c
Include windows.h in Dummy backend for LARGE_INTEGER
...
This is necessary for a native build using MSYS2 and mingw-w64
2015-03-12 23:03:45 +10:00
087b5dc43b
interpret CoreMidi unique ID as unsigned for consistency.
...
coremidi specifies it as SInt32 but system:midi_playback_-126632214 ,
even if only used internally, just does not seem right.
2015-03-11 20:06:41 +01:00
99260742d2
mingw: all code is position independent
2015-03-11 14:58:02 +01:00
6d2189f9e3
reasonably sized CoreMidi Buffers
2015-03-11 12:23:05 +01:00
c3d7654884
coreaudio backend: switch threads early
2015-03-11 00:27:14 +01:00
a6b9e81ed1
10ms = 1e7 nsec
2015-03-10 00:09:01 +01:00
22a91f47bb
rework/optimize CoreMidi
2015-03-09 23:28:57 +01:00
efbc00651f
NOOP, add header-guards and namespace to CA backend
2015-03-09 23:28:57 +01:00
52e99750a0
ALSA: fix thinko in sample time calc.
2015-03-09 17:17:50 +01:00
0446ff64f4
implement samples_since cycle start.
2015-03-09 17:17:50 +01:00
2d6e48fb0b
Define NO_JACK_METADATA when building the jack backend with MSVC
...
Jack (on Windows) doesn't seem to have a header file called 'metadata.h' - so hopefully, this'll be correct?
2015-03-09 11:43:05 +00:00
f2592df842
fix typo in 72ed785
2015-03-09 05:59:46 +01:00
09dd3fc369
some backends can handle incorrectly ordered midi events.
...
(that can happen if multiple sources send to the same
ouput port, in particular async midi events)
2015-03-09 05:41:36 +01:00
72ed785940
allow hotplugging CoreMidi devices.
2015-03-09 00:26:01 +01:00
bc7be6fd3e
there’s no jack_creator_thread on windows
2015-03-09 00:09:42 +01:00
9107a4b7fe
add a no-jack-metadata option for poor 12.04 souls
...
(jack does have metadata support but ubuntu packaged
a version with a wrong header)
2015-03-08 21:31:08 +01:00
8fd67c5a88
coremidi separate ID and Name, use fixed IDs.
2015-03-08 19:02:31 +01:00
0cf11acc27
add backend support for port properties (CoreAudio)
2015-03-08 19:02:31 +01:00
20cd14cf36
add backend support for port properties (jack)
2015-03-08 19:02:31 +01:00
2657992ebb
CoreAudio fwheelin’ state-machine cleanup etc.
2015-03-08 19:02:30 +01:00
95558b5878
update https://github.com/x42/weakjack/
2015-03-08 16:22:14 +01:00
c3430e5884
Cluster Frak String Reference
2015-03-08 02:51:09 +01:00
50041cb450
avoid non-integer loop conditions.
2015-03-08 02:01:48 +01:00
95631cdc25
properly handle empty CFStringRefs.
2015-03-08 01:40:39 +01:00
7edc7a8d28
CoreAudio: fix allocation alignment
2015-03-07 23:27:33 +01:00
d47ad23fe8
no more gcc/ppc complaints
2015-03-07 16:10:45 +01:00
7af3fdb99a
fix various -Wformat
2015-03-07 15:04:17 +01:00
f88e566576
fix copy/edit in 659a8a2
2015-03-07 14:50:02 +01:00
659a8a26ae
fix latency report, take buffersize changes into account.
2015-03-07 14:35:32 +01:00
ce3adfd3d4
Hard Core Audio
...
* allow to change buffersizes
* subscribe to buffersize & samplerate changes
* add support for half-duplex devices.
* aggregate Devices (not yet used) code from JACK2
* unify deprecated API wrappers
* properly keep track of MIDI ports
* disable MidiI/O during freewheeling
* various small fixes & cleanup
2015-03-07 14:35:32 +01:00
13bad670fa
more ongoing work on the coreaudio backend
...
* audio port names
* latency compensation
* xrun reporting
* various fixes and cleanup
2015-03-06 23:26:05 +01:00
3b941fc0fa
build system tweaks for coreaudio/waves-coreaudio
2015-03-06 23:26:05 +01:00
6b87e706eb
cont’d work on the coreaudio backend & cleanup
2015-03-06 06:24:56 +01:00
f6f64d3f81
get started on coreaudio/midi backend
2015-03-05 16:46:20 +01:00
2ab26bd86d
fix another screwup/typo in 782dd70
2015-03-05 02:10:21 +01:00
7ef22e5e71
remove unused devel.variable in prev commit
2015-03-05 02:04:14 +01:00
782dd70875
alsa: implement timing callback
2015-03-05 01:59:59 +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
714677f036
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:52:44 -06:00
bf1d12708d
dummy: add square wave frequency sweep generators
2015-02-21 05:05:48 +01: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
e148ee52ab
add a nonsense-midi test sequence:
...
system:midi_capture_6
duplicate on/off, zero-velocity note-on
2015-02-19 21:58:30 +01: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
0018ee2b02
fix “invalid use of incomplete type jack_client_t”
...
introduced in 66eef25
2015-01-30 11:02:07 +01:00
66eef257d8
fix jack thread joining
...
at the time the graph gets around to takes down
client threads, the jack-backend’s jack_client has been reset.
But never mind: libjack does not care about it, anyway.
2015-01-30 01:28:52 +01:00
cf8e7bc135
ALSA-backend separate report for error and x-run
2015-01-28 13:47:24 +01:00
397ce4ccc7
ALSA-Backend prefer ppoll()
2015-01-28 13:47:24 +01:00
db28eefc49
ALSA backend: synchronous switch to/from freewheeling
2015-01-24 23:39:41 +01:00
f2ea059db3
DummyBackend: sync switch to freewheeling
2015-01-24 22:45:42 +01: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
37f351ccdd
JACK: add support for device names with whitespace
...
This is backwards compatible, quotes are only added if needed.
JACK1 < 0.123.1-30 and JACK2 < 1.9.10-25 fail with either
whitespace or quotes, so nothing is lost.
2015-01-14 19:29:55 +01:00
95091a52a0
When building with MSVC make sure any backends / panners etc get copied to the correct target folder
...
(i.e. 'lib/ardour3' or 'lib/mixbus3' as appropriate)
These changes are MSVC specific and shouldn't affect the other builds
2015-01-12 14:43:22 +00:00
4d370b8942
add a midi->audio dummy backend mode.
...
this allows to easily debug latency compensation
as well as visualize lost midi events.
2015-01-11 20:51:57 +01:00
f499f4cfd2
don't take temporary copy of MIDI sequence
...
fixes potential boost shared_ptr double free.
2014-12-31 03:19:00 +01:00
805d4dd731
add a MIDI loopback mode to the Dummy Backend
2014-12-30 22:55:14 +01:00
47d083d02d
update numbering of midi-test sequences
2014-12-29 14:36:39 +01:00
95fcf18245
add a midi-CC sustain-pedal test sequence
2014-12-29 14:32:03 +01:00
6e38d3777e
add 'size' field to midi-sequences
2014-12-29 14:09:46 +01:00
c3c6f619c3
make it easier to add new midi sequences
2014-12-29 13:58:15 +01:00
Valeriy Kamyshniy
1b89055526
[Summary] Bug fix: mistakenly set states of freewheeling thread.
2014-12-18 17:07:37 -05:00
9268d2e699
allow to auto-start dummy backend (needed for tests)
2014-12-03 18:24:56 +01:00
7aab4be5e4
alsa-backend: drop midi during freewheel processing.
2014-12-02 17:03:29 +01:00
b9be8d2652
Replace individual waf options for enabling backends with one --with-backends option
2014-11-26 22:47:05 +07:00
0fb91e10b4
allow dummy backend for any product
2014-11-18 17:04:23 -06:00
f2273dc3b6
remove dead assignment
2014-11-18 02:15:06 +01:00
02d735ff00
waves/coreaudio PPC support
2014-11-17 09:07:39 +01:00
bd46de779f
check alsa midi ringbuffer
2014-11-17 06:50:48 +01:00
4ba4677b45
yet another copy/paste typo :(
2014-11-13 22:19:22 +01:00
9301ffafab
fix typo in b9fc616538
2014-11-13 21:46:30 +01:00
b376f6bc45
auto-initialize weak-jack
...
(not needed with ardour - but keep code in sync with
https://github.com/x42/weakjack )
2014-11-13 21:31:09 +01:00
b9fc616538
prepare for JACK meta-data API
2014-11-13 21:30:13 +01:00
65fa38103d
make new jack thread API functions optional
2014-11-13 21:29:34 +01:00
7b39e0893a
add symbol debug information to weak-jack
2014-11-13 21:28:33 +01:00
3e702c5520
yet another build fix
...
on x86_64 weak_libjack.c needs -fPIC which needs cflags which need 'c' :)
2014-11-13 01:02:09 +01:00
929d3fe6ed
fix signed/unsigned compiler warning
2014-11-10 22:21:39 +01:00
a37ffd1f0c
improve random seed (for dummy generators)
2014-11-10 22:20:36 +01:00
159cb4d2f9
another hack for windows timers, DSP load calculation
2014-11-07 12:17:15 +01:00
6cda13fad4
possible fix for DSP load calculation on windows
2014-11-06 17:29:35 +01:00
8d4cbc4cc1
fix Dummy DSP load on win32 & low-pass filter load
...
g_get_monotonic_time() has millisecond granularity,
use performance Counter if available
2014-10-31 22:51:47 +01:00
973d40e3ac
Add support for USE_CAIRO_IMAGE_SURFACE when building with MSVC
...
(new preprocessor directive - greatly improves CPU loading)
2014-10-29 17:36:30 +00:00
a6ceff61dd
proper solution for variable-args jack_client_open()
2014-10-25 17:28:13 +02:00
85eda0a5f3
Add some newly introduced source files to our MSVC project (jack_audiobackend)
2014-10-24 18:45:52 +01:00
3d39689769
Some minor bits of casting to keep MSVC happy when building 'backends/jack/weak_libjack.c'
2014-10-24 18:45:51 +01:00
b52304661f
fix screwup in prev commit-diff
2014-10-24 17:19:28 +02:00
5e7f935a27
add explicit construction (for MSVC) and some debug messages
2014-10-24 17:15:03 +02:00
25a6aa57a3
fix jack transport return value
2014-10-24 16:19:44 +02:00
e025cc008c
use x-macros to simplify weak-jack implementation
2014-10-24 15:18:38 +02:00
ad09be8c78
fix libjack names
2014-10-24 14:36:04 +02:00
1e357b5109
fix 64bit compile with old gcc
2014-10-23 20:42:02 +02: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
f3ff1b9669
weak/runtime jack linking: load libjack dynamically at runtime
2014-10-23 16:53:13 +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
f7211ff8f7
fix jack/mingw compilation
2014-10-22 23:57:55 +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
76edbdf5dc
make backend selection by product name more explicit
2014-10-14 16:58:11 -04:00
8525a0b258
add a Dummy Backend Loopback mode:
2014-10-11 14:47:35 +02: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
2d04ac9796
Add a newly introduced header file to our MSVC project (dummy_audiobackend)
2014-10-08 15:11:25 +01: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
aeda6cbea9
add --with-wavesbackend config option (disabled by default)
2014-10-01 18:28:47 +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
32e05fa640
update backends for API change in 8d59afb048
2014-10-01 03:24:54 +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
38e975d6b1
tweak backends wscript for cross-compiling with mingw
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
186493687b
DummyBackend: symmetric freq sweep: up/down
2014-09-24 18:46:54 +02:00
6dfb8c5c8a
DummyBackend: add sine-sweep generators
2014-09-24 17:24:25 +02:00
86672a5c5c
fix some double promotion
2014-09-24 17:18:20 +02:00
3f9e916fe2
DummyBackend: two more audio-signal generators (useful for waveform check)
2014-09-24 01:26:51 +02:00
b355f01aa5
DummyBackend: MIDI Event Generators
2014-09-24 01:26:51 +02:00
99a484f193
ALSA backend: initial device selection
2014-09-24 01:26:51 +02:00
076bb0b488
change dummy backend to default to _("Silence").
2014-09-13 22:51:42 +02: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
b1da9af8de
ALSA|Dummy: ignore port unregistration when engine is stopped
...
When changing Engine parameters, ardour first stops
the engine and only later when re-etablishing ports
unregisters/re-registers them.
ALSA: silently ignore port unregs and silently accept registrations
Dummy: print a PBD::info message,
2014-09-08 01:25:56 +02:00
dc318e6e74
ALSA|Dummy Backend: do as jack does:
...
when the backend is closed, unregister all ports.
2014-09-07 22:50:57 +02:00
6408d90258
fix waf thinko in backends wscript
2014-09-03 18:44:34 -04:00
65715dd298
Make sure all our VC projects agree that the product is called 'Mixbus3' (as opposed to just 'Mixbus')
...
It'd be nice if we could use 'ARDOUR::config_dir_name' for this purpose (or perhaps 'PROGRAM_VERSION'). However, neither is implemented widely enough at present to make this practical. Keep an eye on them though, as possible future strategies.
2014-08-28 07:57:20 +01:00
126d6d3aae
fix new backends wscript to work correctly in the Ardour case
2014-08-08 11:00:30 -04:00
16e37d975f
use some structured code to decide which backends to build (should have cherry picked from waves' code but ...)
2014-08-08 10:57:20 -04:00
45afed5e9a
Modify our VC project files to work with msvc32-fixup.pl
2014-08-04 09:02:17 +01:00
928881b24a
Update vcproj files for changed LILV config define.
2014-07-15 15:50:12 -04:00
4af088c251
DummyBackend: add Uniform White Noise Generator.
2014-07-11 18:05:59 +02:00
2d63489196
Dummy Backend: optimize random-number implementation
2014-07-08 18:40:51 +02:00
941701574e
fix and optimize DummyBackend generators
...
* use Wavetable for sine
* lock generator (concurrency issue)
* always initialize variables
2014-07-08 18:40:51 +02:00
185f06e7f7
add signal generator modules to Dummy Backend.
2014-07-07 16:31:58 +02:00
cd12698b9c
Rename PBD::find_file_in_search_path to just PBD::find_file
...
saves a bit of typing and not necessary if you look at how it is used.
2014-06-25 12:40:10 -04:00
8d0cba3384
Use PBD::find_files_matching_pattern instead of other variations
2014-06-25 12:40:10 -04: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
07fafac36e
don't let enumerated device list strings go out of scope.
2014-06-23 12:16:35 +02:00
fb51bdb892
statically allocate midi-options
...
fixes possible segfault when the data in the vector
goes out of scope due to RVO.
2014-06-23 11:56:58 +02:00
16ffff10cd
ALSA-backend: dedicated Midi-Buffer n-periods (only use for HW output)
2014-06-22 18:28:24 +02:00
88caf84b81
Rename all 3 backends for the MSVC sln file
2014-06-22 13:29:17 +01:00
436302fd16
Rename dummy backend to match Tim's name
2014-06-22 13:11:59 +01:00
f46a1508d9
Rename jack backend to match Tim's name
2014-06-22 12:53:13 +01:00
07b71fd005
Rename waves backend to match Tim's name
2014-06-22 12:51:43 +01:00
6648074a13
virtual abstraction of Alsa Raw+Seq
2014-06-21 13:51:46 +02:00
5e436fc8fc
prepare ALSA sequencer
2014-06-21 11:51:11 +02:00
bc67e47048
rework raw-midi drain strategy (workaround for sync devices)
2014-06-19 19:44:14 +02:00
e426c603b6
remove debug output
2014-06-16 23:58:52 +02:00
019e987944
more alsa-midi debugging
2014-06-16 22:08:52 +02:00
ff39a42581
ALSA backend: set latencies to zero when measuring latency
2014-06-13 13:51:42 +02:00
ecb92f474f
update ALSA backend, MIDI device config
2014-06-13 12:02:03 +02:00
da912f7ed4
add AudioEngine API to configure individual MIDI devices
2014-06-13 11:47:51 +02:00
266953cb96
add latency callback to dummy backend
2014-06-11 22:01:21 +02:00
8fe593fcca
some misc tweaks to the ALSA Backend
2014-06-08 21:04:30 +02:00
b3a44ea32b
ALSA Backend: align midi output buffer with n_periods (currently 2)
2014-06-08 15:53:15 +02:00
8f17b7c309
ALSA backend: separate systemic audio+midi latency
2014-06-07 17:28:47 +02:00
c452cd9be2
ALSA rt-thread priority fixes
2014-06-07 17:28:46 +02:00
b68d2e25b2
ALSA backend: prevent possible crash destruction of a-r-d
2014-06-07 17:28:46 +02:00
960a5347f0
ALSA & Dummy: implement port [un]registration_callback
2014-06-07 17:28:46 +02:00
6b3e7cf07d
Don't use module versioning with dummy backend when building with mingw
2014-06-07 14:31:32 +10:00
67c43d4b49
Don't use module versioning with jack backend in the mingw build
2014-06-07 14:31:32 +10:00
d7fc573cb8
alsa + dummy backend, proper [re]initialization
2014-06-06 03:43:39 +02:00
1c87f6adec
properly setup port system latency for Dummy & ALSA backend
2014-06-06 00:58:11 +02:00
748c137461
pass ardour's pid to the device reservation script.
...
terminate a-r-d when ardour crashes or exits unexpectedly.
2014-06-05 19:49:23 +02:00
8d6183bff5
ALSA backend: require both in+output.
2014-06-05 03:27:19 +02:00
822c460d15
DBus ALSA device reservation
2014-06-05 02:22:13 +02:00
a907d3455e
break out ALSA related functions into libardouralsautil
2014-06-04 19:16:37 +02:00
40cfe86569
ALSA: tentative hack to request audio-device.
2014-06-04 17:17:15 +02:00
6b781f72f2
ALSA backend: engine.halted_callback if the process thread dies
2014-06-04 17:17:15 +02:00
104adebea6
if the user chooses to stop the jack-backend, mark it as stopped. Don't display the "..was shutdown .. was not fast enough.." message.
2014-06-04 17:17:14 +02:00
aec7ea4613
Revert "Revert "ALSA backend: separate flags for is-running and should-be-running""
...
sorry, c/p error
This reverts commit 9658b77327
.
2014-06-04 02:39:39 +02:00
9658b77327
Revert "ALSA backend: separate flags for is-running and should-be-running"
...
Theoretically one could alter the plugins after a delivery even on a
frozen track. ..or even change settings, the ordering and add/remove
plugins after the frozen part of a track.
We won't go there. Frozen is frozen. this API is not needed after all.
This reverts commit 6d89488d64
.
2014-06-04 02:34:58 +02:00
6d89488d64
ALSA backend: separate flags for is-running and should-be-running
2014-06-04 02:23:41 +02:00
03cb44f814
ALSABackend: elaborate on start-up error cases
2014-06-04 02:19:46 +02:00
daaa59b533
Revert "When writing '.jackdrc' make sure we enclose any device names in
...
quotation marks". This patch is incorrect. The string quoting must be done ONLY
when creating a string to be written to ~/.jackdrc or similar, not when
constructing an argument list.
This reverts commit 5626ea2b1f
.
2014-06-03 20:08:26 -04:00
5626ea2b1f
When writing '.jackdrc' make sure we enclose any device names in quotation marks
...
(in Windows, device names almost always contain whitespace)
2014-06-03 14:04:10 +01:00
01cedf0e05
ALSA backend: tweak midi parser (fix start mid sequence)
2014-06-03 01:00:58 +02:00
b050f91323
ALSA backend: device detection
2014-06-03 00:50:26 +02:00
432f54db24
make ALSA backend optional and disable by default
2014-06-02 20:33:12 +02:00
c79a56a08f
ALSA backend: add raw midi parser
2014-06-02 19:23:07 +02:00
5cd2010c79
ALSA backend: raw midi prototype
2014-06-02 19:23:07 +02:00
8e9b02cfa2
ALSA backend (based on Dummy backend and zita-alsa-pcmi)
2014-06-02 19:23:07 +02:00
f6d29abfc7
DummyBackend: fix midi event mux+sorting
2014-06-02 12:20:40 +02:00
1c60652bd8
fix --with-dummy config option
2014-06-01 18:18:32 +02:00
dc1a7a15fa
Dummy backend, revise small things
2014-06-01 18:18:08 +02:00
b800a01ea6
dummy-backend, fix physical ports in/out convention.
2014-06-01 18:16:15 +02:00
796f4e9711
make building the dummy backend be a configure-time option. defaults to False for the time being
2014-05-28 22:30:06 -04:00
458d4dc6de
(Windows) Add support for finding the bundled version of Jack which comes with Mixbus
...
A few things need to be tested / completed:-
1) The code is currently guarded by #ifdef COMPILER_MSVC. This is just precautionary. If it builds okay with MinGW ,the guard can be removed.
2) Windows Playback and Capture devices almost always have different names. This needs to get accommodated in our Backend dialog (as in Mixbus)
3) Windows Playback and Capture devices will almost always contain spaces. We need to accommodate this when writing to .jackdrc (surround them in quote marks)
2014-05-27 14:48:44 +01:00
5b4cb15dfc
Remove an unnecessary #define
2014-05-27 13:24:51 +01:00
e2cecadd01
Use PLATFORM_WINDOWS (in preference to WIN32) for consistency with the other libraries
2014-05-27 09:51:39 +01:00
c022f32bcd
allow to switch from/to dummy-backend
...
partos of this may become unnecessary once
libardour handles backend changes properly^Wdifferently.
2014-05-25 00:23:14 +02:00
2b9fa31241
DummyBackend: implement port connect_callback()
2014-05-25 00:21:44 +02:00
43b4577212
waves_backend (MSVC project) - Adapt for using Waves's (customized) portaudio_x86 library (Windows)
2014-05-21 12:50:31 +01:00
e36a8df16e
jack_backend (MSVC project) - Adapt for using portaudio_x86 library (Windows)
2014-05-21 12:49:24 +01: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
0de7c8920b
Merge branch 'mingw-updates' of https://github.com/mojofunk/ardour into cairocanvas
2014-05-19 17:19:43 -04:00
827388ffdd
outline portable implementation to replace clock_gettime()
2014-05-16 18:19:41 +02:00
4ece16be8e
replace gettimeofday() with g_get_monotonic_time()
2014-05-16 18:13:08 +02:00
51d0792f14
DummyAudioBackend: configurable number of MIDI ports
2014-05-16 00:41:35 +02:00
cf8399c1c1
DummyAudioBackend: prepare configurable number of midi ports
2014-05-15 01:18:16 +02:00
6bf8249b4b
Use Glib::usleep in DummyAudioBackend rather than ::usleep
2014-05-14 09:48:43 +10:00
b565357bf4
Remove incorrect code for mingw in DummyAudioBackend::in_process_thread
...
I'm assuming this section was copied from the JackAudioBackend where the
thread type is not pthread_t for mingw, but in the DummyAudioBackend it
is.
2014-05-14 09:48:33 +10: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
1a1a05fa1c
Add 'waves_backend.vcproj'
2014-05-06 09:26:59 +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
9cf2cf55f5
Add some casting and namespace specifiers to keep MSVC happy
2014-05-06 09:20:03 +01:00
0277c8c8d1
Add a couple of missing header files (needed for cin /cout etc)
2014-05-06 09:16:59 +01:00
cd00429672
fix install path for ./waf install of waves backend
2014-05-01 10:18:30 -04:00
fa139421b9
second part of windows/osx macro change - forgot *.cpp files
2014-05-01 09:39:11 -04:00
49423427a6
alter platform-dependent preprocessor macros to use the same names as the rest of the ardour codebase
2014-05-01 09:32:18 -04:00
49ad78659b
fix compile for waves backend, after recent API change
2014-05-01 09:22:59 -04:00
66559cd795
Add AudioBackend::info() method to retrieve AudioBackendInfo object
...
Goal is to be able to call AudioBackendInfo::already_configured() from the right place.
2014-05-01 09:14:25 -04:00
ca08e4c7c7
more previously applied changes required to build Waves audio/midi backend
2014-04-30 14:24:32 -04:00
c90fef1b4c
second part of (previously applied) change to be able to use -fms-extensions with C compiler
2014-04-30 13:48:25 -04:00
19d21045af
2nd attempt at updated Waves audio backend, with added -fms-extensions as previously applied (but not updated in Waves' repo) to allow anonymous unions, as used by PortMidi
2014-04-30 13:46:41 -04:00
8a6762f189
Revert "update wavesaudio backend, now supports Windows (ASIO) as well as OS X (CoreAudio)"
...
This reverts commit f374ce69a6
.
The code does not compile on OS X, and includes changes to ARDOUR::AudioEngine
that have not landed in git.
2014-04-29 16:30:56 -04:00
f374ce69a6
update wavesaudio backend, now supports Windows (ASIO) as well as OS X (CoreAudio)
2014-04-29 16:06:39 -04:00
1f70e9472a
DummyAudioBackend: fix freewheelin' typo
2014-04-29 13:32:13 +02:00
eaafc3394a
DummyAudioBackend: implement /fake/ system ports
2014-04-29 13:32:13 +02:00
19e0383c3b
DummyAudioBackend: NOOP, white-space, clarify variable name & casts
2014-04-29 13:32:13 +02:00
058986f77b
finish unfinished work at basing all install paths on the program name
2014-04-28 21:11:08 -04:00
b945cda558
DummyAudioBackend: port-engine, midi-buffers and the rest of it
2014-04-28 23:00:40 +02:00
2fccbe1a6c
DummyAudioBackend: basic process threads and support structure
2014-04-28 22:59:19 +02:00
9907d25ea5
skeleton dummy audio-engine
2014-04-28 21:29:35 +02:00
077a194430
Add the main VC project files for building Ardour3 with Microsoft Visual Studio
...
Note that there's no 'VS Solution' file at present and some targets haven't been built yet (e.g. 'fst')
2014-04-08 09:49:35 +01:00
e6b56f3447
fix undefined value, support netjack2
2014-03-23 02:26:37 +01:00
1c402f943f
remove unnecessary files from native audio backend
2014-02-24 21:19:17 -05:00
a17f797c52
add waves audio backend when building on apple
2014-02-24 15:17:18 -05:00
6666599e7b
add -fms-extensions to allow earlier apple gcc to support anonymous union, as used by PortMidi
2014-02-24 15:16:46 -05:00
dd55b7894e
remove SampleFormat code from waves audio backend
2014-02-24 14:49:14 -05:00
1de00ab6bb
new audio engine backend for native CoreAudio audio I/O, and PortMIDI for MIDI.
...
Code builds, runs and functions. Full code review still pending, and some possibly changes to organization of code within the backend is possible
2014-02-24 14:49:13 -05:00
57ffd6c404
changes to wscript to build new audio engine backend
2014-02-24 14:49:13 -05:00
9dbdac2a19
remove unused and unimplementable audio engine sample format code
2014-02-24 14:46:19 -05:00
658bb3ccd4
finished merge of cairocanvas with windows and windows+cc branches
2014-01-10 17:11:10 -05:00
3020b224fa
Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there
2014-01-10 16:07:57 -05:00
36c233fe6c
Merge branch 'master' into cairocanvas
2014-01-07 21:37:48 -05:00
2163467d31
add M-Audio 2496 as a recognized card for the mudita24 control panel/app.
...
(Yes, this hard coding thing is awful)
2014-01-06 11:35:57 -05:00
1676789907
fix merge conflicts from master
2013-12-12 10:06:59 -05:00
Nils Philippsen
a86b66181a
ignore "unofficial" states in jack_sync_callback()
2013-12-09 17:56:06 +01:00
59da788793
Merge branch 'master' into cairocanvas
2013-12-05 17:50:28 -05:00
2ba2a50dec
Merge branch 'master' into windows
2013-12-04 11:50:36 -05:00