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
cb7bac5599
Fix include style of system header
2015-09-02 12:07:58 +10:00
5448c229d9
Extract main processing section of PortAudioBackend into new method
2015-09-02 12:07:58 +10:00
f27d8e1e23
Extract freewheel processing in PortAudioBackend into new method
2015-09-02 12:07:58 +10:00
cf81caa798
Don't update unused dsp timer variable in freewheel process in PortaudioBackend
2015-09-02 12:07:58 +10:00
7b23f80b03
Refactor port change handling part of PA Backend process function into new method
2015-09-02 12:07:58 +10:00
684701427e
Rename variables in PortaudioBackend in preparation for using PA callback API
2015-09-02 12:07:58 +10:00
56b5e04c3b
Fix copy and paste error in debug output message in WINMME Midi Output
2015-09-02 12:07:58 +10:00
ac5eac471d
Signal WinMME Midi output thread so the thread wakes up and terminates properly
2015-09-02 12:07:15 +10:00
d520b9c878
Stop WINMME midi driver/devices when PortAudio backend is stopped
2015-09-02 12:07:15 +10:00
2dbdaaa8f5
Refactor part of PortAudioBackend::_start/stop into new methods
2015-09-02 12:07:15 +10:00
f58282844d
Don't add "None" devices for ASIO driver in PortaudioBackend
2015-09-02 12:07:15 +10:00
0396df963f
Implement new AudioBackend API for force updating devices in PortaudioBackend
2015-09-02 12:07:15 +10:00
16f8c3ce85
Add API to AudioBackend to request update to devices
2015-09-02 12:07:15 +10:00
585930f058
Update devices in PortaudioBackend when setting the driver
...
Reinitialize portaudio to pick up changes in devices and ASIO buffer settings
2015-09-02 12:07:15 +10:00
8c2b9dac59
Rename several methods in PortAudioIO class
...
return ErrorCode's and handle them where necessary
2015-09-02 12:07:15 +10:00
82f84d6203
Refactor part of PortAudioIO::pcm_setup into new method
2015-09-02 12:07:15 +10:00
1cb36108bb
Change the functions related to initializing the Portaudio library
2015-09-02 12:07:15 +10:00
3b71674eee
Remove unused and cryptic _state member from PortAudioIO
2015-09-02 12:07:15 +10:00
fd0b54f459
Use PortAudioIO::ErrorCode as return value from PortAudioIO::pcm_setup
2015-09-02 12:07:15 +10:00
4e75220661
Define some error codes in PortAudioIO class
2015-09-02 12:07:15 +10:00
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
764df82e85
Add debug bit for AudioBackends for port related debug output
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
94f3e3029a
Add enums to AudioBackend class for getting standard error and device name strings
...
These could also be used for return values but are initially intended for
shared translations of error messages between backends. Ideally IMO translation
should occur in the GUI(as there may be more than one) in response to these(or
similar) error codes but that would take agreement and a fair bit of
refactoring. As it is there are errors that occur in the backends that users
will want to know about this at least allows consistent translations to be
shared between backends.
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
c6d6f038b4
handle waveform drawing thread shutdown
2015-09-02 01:46:31 +02:00
531e71b485
Prepare option to disable Plugins completely
...
old behavior to only bypassed plugins is being renamed.
2015-09-01 13:26:31 +02:00
a1b387ad9a
fix AU port count - NI Reaktor5
2015-09-01 12:45:59 +02:00
dca0e6fbe2
fix crash with missing .mid
...
assert in ARDOUR::MidiRegion::control() boost::shared_ptr<ARDOUR::MidiModel>::operator-> invalid ptr.
see http://pastebin.com/dTV10Zu6
2015-08-28 18:48:40 +02:00
b0147a7767
fix possible deadlock on session-close
2015-08-28 15:45:52 +02:00
b6f51b2497
coreaudio: re-classify port-errors as warnings
2015-08-28 15:41:33 +02:00
3a3d5c41be
synchronous shutdown of process graph.
2015-08-28 15:39:06 +02:00
9458fce148
pre-seed session-state-version.
...
copying/paste of many objects use ::set_state(, version) to set the
the state of the copy. Stateful::loading_state_version is used for
state-version in those cases.
This fails for a New Session (version==0) or when creating a New Session
after loading an Ardour2 session.
2015-08-28 14:08:32 +02:00
20fb2bec75
Don't truncate pretty port names when setting up port bundles
...
This was causing truncation in the mixer strip input/output popup menus and the
channel number identifier was truncated
2015-08-28 10:43:17 +10:00
e2902a0b76
clarify midi-iterator comment
2015-08-27 14:43:28 +02:00
ada32733c5
Modify some functions to alleviate overflow / precision errors
...
'session_frame_to_track_frame()' and its complement, 'track_frame_to_session_frame()' both accept a double and an ARDOUR::framepost_t (int64_t). For convenience these both get converted to long double. However, the functions are often called with very large values (ARDOUR::max_framepos). When this happens, rounding and precision errors can cause overflow issues. This is an attempt to alleviate that problem. Not sure if it's strictly necessary to accommodate negative values - but I'm assuming these could happen if 'speed' was negative (reverse play?)
This is the reason why 'Select All Objects' (and similar functionality) don't work for some users.
2015-08-27 12:28:45 +01:00
1387e756de
fix linked midi-regions on different tracks #6541
...
A somewhat hacky solution to address missing note-off events when a
linked midi-region is used on separate tracks at the same time.
see the source-code comment for further info.
2015-08-25 03:48:54 +02:00
f0db0f0862
Exclude empty CC-params from "Show Existing Automation"
2015-08-24 03:35:41 +02:00
cc9c38ce5e
Do not send non-automated MIDI-CCs on locate.
...
If a "CC" automation lane was visible at least once, a Control Object
is created and henceforth saved with the session:
<Object id="automation TrackID TYPE" ../>
It is currently not possible to remove this object. (Automation > clear
will only zero all events, but not remove the Control itself.
The bug:
After showing a MIDI-CC lane at least once Events are sent for this CC.
If there is no corresponding value in the .mid, it will be zero after
session reload.
see also 7e2c8ac
Still ToDo: "Show existing automation" shows the lane even if there
are no values nor any automation at all for the given CC.
2015-08-24 02:42:31 +02:00
f1c21367f2
Fix auditioner underrun when seeking.
...
prevents "disk too slow" message when seeking in the auditioner.
2015-08-22 16:37:08 +02:00
2aee69d6d9
fix some compiler warnings (float/double)
2015-08-22 04:33:51 +02:00
e69368cc8f
clear out some SessionHandleRef's on close.
2015-08-20 22:27:35 +02:00
6b8b4bb986
potential fix for #6515 - stall/crash during route deletion
...
introduced in 4.1-78-g11e371c
2015-08-20 03:38:22 +02:00
63e3f326e9
clear waveform cache when shape changes - fixes #6525
2015-08-20 03:01:51 +02:00
b8b6f61d6c
save/load generic-midi motorized setting - fixes #5296
2015-08-20 00:19:32 +02:00
b4e13cbbb7
Add undo history related debug output for debugging Undo/Redo issues
2015-08-19 13:56:11 +10:00
463cf1cf9c
Add PBD::DebugBit for debugging issues with undo history
2015-08-19 13:56:06 +10:00
f36f03fcb4
fix error-level
2015-08-19 04:09:22 +02:00
cf1ab3391f
code consistency and hints for static analysis
2015-08-19 04:07:39 +02:00
a2fbce0e7f
Change return type and name of get_win_special_folder
...
Rename it get_win_special_folder_path to indicate what it is returning
Move documentation for the function into the header and use doxygen style
comments.
Fixes a couple of memory leaks in ArdourVideoToolPaths class although it looks
as if there are more.
2015-08-18 15:33:03 +10:00
36e4c11a2a
Add utility function to get windows packaging directory to avoid memory leaks
...
There were a few other small leaks in pbd and evoral test code but I didn't
bother changing them. Perhaps this function would be better off in PBD:: so it
can be used everywhere.
2015-08-18 15:10:55 +10:00
ea32eecf3d
Fix Searchpath::operator+ to return by value rather than reference and not modify *this
...
ladspa_search_path was the only function using this API and it is unaffected by
the change
2015-08-18 15:09:44 +10:00
a46c84d72f
update comment regarding lv2 buffersizes
2015-08-17 00:07:32 +02:00
1d2938b162
Add '_xgetbv()' for MSVC-9 and earlier
2015-08-16 13:14:54 +01:00
f65bcc6e74
compat for old sessions with missing plugins (+doc)
2015-08-16 03:46:45 +02:00
e7bbed3150
Update Route to handle UnknownProcessors as Stubs.
2015-08-15 23:29:05 +02:00
f7a670bc79
implement stub UnknownProcessor
2015-08-15 23:28:50 +02:00
3dd3c35dfe
fix a typo
2015-08-15 19:58:37 +02:00
50f0e59087
save [actual] plugin i/o-configuration
...
for use with placeholder stub in case the plugin becomes n/a.
2015-08-15 19:58:04 +02:00
a99fa7170c
use buf-size.h only with lv2-1.2 or later
2015-08-14 22:42:35 +02:00
98e991c939
relax LV2 buffersize restrictions
...
check only required features, not optional ones.
2015-08-14 19:24:40 +02:00
e72c0b81a7
don't even list LV2 plugins that cannot be used.
2015-08-14 18:13:05 +02:00
4129b8865c
Fixed Mackie control port naming for extender use ( fixes #6500 )
2015-08-14 08:57:13 -07:00
ac1065b43b
refuse to load LV2 plugins if buffersize requirements cannot be satisfied.
2015-08-14 17:51:26 +02:00
dace872af8
fix Dummy backend API. Already_configured means "externally".
2015-08-14 16:26:44 +02:00
f77a409b0c
tweaks for AVX detection
2015-08-14 08:53:06 -04:00
c342769925
allow to export loop-range w/o looping. fixes #6508
2015-08-14 02:32:29 +02:00
962ba01cfd
Fixed feedback for MCP buttons and LEDs not working.
2015-08-13 13:00:04 -07:00
39240c9d37
Added end of line to debug statment
2015-08-13 09:55:32 -07:00
c59c85209a
update german translation (from Edgar Aichinger)
2015-08-13 09:00:24 -04:00
056b9af695
fix live resampling (auditioning, embedded src)
2015-08-13 04:30:06 +02:00
1df1a883e7
clarify variable name
...
TODO: use a central shared location for this, and Do not allow
disk_read_chunk_frames/set_disk_write_chunk_frames to exceed it.
2015-08-13 04:28:34 +02:00
0cc2e3b370
fix import resampling (don’t cut end short)
2015-08-13 03:23:38 +02:00
1c2c5634c2
fix resampling (auditioning)
2015-08-13 00:52:37 +02:00
ba319b4568
punctuation nitpick
2015-08-12 22:21:22 +02:00
5a304e9e33
fix PPC builds
2015-08-12 19:16:01 +02:00
4332c5e6ca
limit bounce processing size (fixes crashes in plugins)
...
compare to LV2_BUF_SIZE__maxBlockLength
2015-08-12 18:59:45 +02:00
864b557a3d
another waf/regexp issue (amend 4666711
)
2015-08-12 07:39:12 +02:00
6de707b3fc
correctly switch between windows and (other) when deciding whether to use AVX code
2015-08-12 00:01:02 -04:00
c86b82aa8a
comment tweak to show that the __cpuid() intrinsic belongs to MSVC and mingw
2015-08-11 23:45:52 -04:00
94b6e7ffe4
fix mingw compilation
2015-08-12 05:25:29 +02:00
b6f9bbeb2f
can't use xgetbv instruction with apple gcc under OS X Lion
2015-08-11 23:06:47 -04:00
1e58033ab4
remove unnecessary namespace forward decl
2015-08-11 23:00:13 -04:00
3a69ff680e
use new FPU singleton pattern in libs/ardour
2015-08-11 23:00:13 -04:00
41ccfee7a4
clean up FPU code with some ideas from Chromium and the web
2015-08-11 23:00:13 -04:00
3a1a978541
Fix for crash when loading DrumGizmo VST editor on Windows
2015-08-12 11:39:28 +10:00
bb399c8787
fix stupid logic error in testing separate bits required for AVX support
2015-08-11 20:18:38 -04:00
ec5eccd3a3
the AVX functions for linux are stubs - they just use non-optimized code. Don't consider using them.
...
Someone needs to port the AVX assembler away from mingw/windows calling conventions and back to linux
2015-08-11 17:52:39 -04:00
548340eb05
remove -Woverload-virtual ambiguity (from 1d3690d
)
...
this breaks compilation in engine_dialog.cc
2015-08-11 23:50:56 +02:00
bb5c969ac0
improved solution for xgetbv() on windows and linux with all compilers
2015-08-11 17:45:41 -04:00
53bc2ba2c1
#ifdef out AVX detection on APPLE
2015-08-11 17:30:33 -04:00
c0ad97c179
add required test of OS support for AVX register use
2015-08-11 17:23:11 -04:00
4079855507
add test for CPU/FPU AVX capabilities
2015-08-11 16:36:46 -04:00
2e38cb81fe
fix deadlock at exit on SMP systems
...
graph process-threads won't terminate properly while active.
2015-08-11 20:22:20 +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
40661f7d1f
add API to query ALSA supported parameters
2015-08-11 18:18:19 +02:00
9bc85a553c
add API to get combobox option count.
...
The data model needs to be checked to count available options.
Directly using ComboBoxText::children()::size() counts widgets.
2015-08-11 15:38:26 +02:00
8f10b38275
coreaudio backend: SR/BS query for separate devices
2015-08-11 15:38:04 +02:00
1d3690d845
Backend API to query rates&sizes for separate I/O.
2015-08-11 12:50:05 +02:00
e8b2d7a85b
fix coreaudio half-duplex buffersize query
2015-08-11 04:43:07 +02:00
914495949d
fix unbelievable typo that broke solo propagation
2015-08-10 18:37:07 -04:00
3a64809820
convert Route::_solo_isolated from counter to a boolean.
...
This correctly manages the semantics - the counting part is only intended to cover
upstream/downstream effects, not "am i solo-isolated" (similar to self-soloed)
2015-08-10 18:14:08 -04:00
f83327fecb
Oops - forgot I'd need to add an entry to 'ptformat/wscript'
2015-08-10 18:17:31 +01:00
71ce0f3879
Hmmm... not sure why it didn't add my new files. Trying again.
2015-08-10 17:18:13 +01:00
7d9069032e
Add support for building the new 'ptformat' library with MSVC
2015-08-10 17:15:53 +01:00
adc84271ba
Merge branch 'pt5-fix' of https://github.com/zamaudio/ardour
2015-08-10 05:23:32 +02:00
2a3f5d0107
Make MCP MasterPosition match MIDI port number.
2015-08-09 22:27:40 -04:00
223a6c155e
Remove printf
2015-08-10 12:25:03 +10:00
d3eb2f6e69
Make sure that the ostream operator << (for class ChanCount) gets correctly exported from libardour
2015-08-09 15:32:52 +01:00
d0eac58737
Fix to PT5 format, (stereo tracks still not fully supported)
...
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2015-08-09 21:54:38 +10:00
76cb365a3d
MSVC doesn't define __LITTLE_ENDIAN__
2015-08-09 12:50:04 +01:00
947f97c537
Add a newly introduced source file to our MSVC project (libardour)
2015-08-09 12:46:22 +01:00
d72c111ccf
Add a newly introduced #define to our MSVC build project (portaudio backend)
2015-08-09 12:44:31 +01:00
7800673329
remember actual processor configuration
...
Prepare for proper processor-box wire-display:
Don't replicate connection-logic in the GUI, allow to query the
actual configured configuration (which may differ from the processor
i/o-streams)
2015-08-09 08:37:22 +02:00
84938f31cf
Fix more warnings
...
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2015-08-09 01:42:22 +10:00
72041726fb
Added pt5 pt7 ptx initial format support
...
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2015-08-09 00:48:16 +10:00
67cd32a822
amend 0e3991e
(can_support.. AND configure..)
2015-08-08 02:08:27 +02:00
0e3991e828
AU: discard relationship with master-bus channel count.
2015-08-08 01:43:57 +02:00
ea0b1e704f
AU: fix debug output
2015-08-08 01:41:44 +02:00
7a3b6e6d08
remove more cruft (dead assignments)
2015-08-07 21:16:14 +02:00
9e918563df
remove cruft
2015-08-07 21:10:47 +02:00
69ac138bf2
give copy_vector() another chance.
...
last arguments in nsamples, not bytes
2015-08-07 21:00:35 +02:00
aabcbf7bad
VST use scratch buffers for processing.
2015-08-07 20:10:15 +02:00
249dadd08c
fix VST plugin crash (from 35a9c63
)
...
depending on offset, the audio-buffer may not be
memory aligned, use memcpy() not SSE copy_vector.
2015-08-07 03:07:50 +02: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
1d6e8f6681
Fixed pt import start offsets and samplerate mismatch offsets
...
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2015-08-06 17:35:17 +10:00
b75a38089b
fix ptf library deplyoment
2015-08-06 01:02:13 +02:00
d686cb213f
Added PT .ptf session audio import functionality
...
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2015-08-06 00:28:35 +02:00
8a08d99058
rework VST processing/buffering (no more alloca).
...
TODO: check Bufferset/VSTBuffer, eventually remove
the VST_IN_PLACE ifdef’s
2015-08-05 23:24:52 +02:00
35a9c631c1
VST replaceProcessing () != in-place processing.
2015-08-05 22:14:57 +02:00
093df74a9c
update unit-tests (new Dummy backend name since a9b6277
)
2015-08-05 20:24:57 +02:00
7aeead630a
adjust click box size - fixes #6499
2015-08-05 19:53:33 +02: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
53e969e925
pass complete blocksize range to LV2 plugin. fixes #6498
...
the buffersize may change anytime (split cycles),
also plugin analysis uses a 4096 sample window.
2015-08-05 00:02:55 +02:00
ca2d536a30
self-test add missing newline
2015-08-04 18:25:10 +02:00
c8b207d911
Proper solution to replace 9cabc1b
hack.
...
Initialize uninitialized variable (m_started), remove cruft.
2015-08-04 01:03:57 +02:00
e057b873b5
amend e09c620; now with semicolon :)
2015-08-03 23:09:51 +02:00
e09c62052d
fix backslashes in quotes (windows), fixes VST scan
2015-08-03 23:06:08 +02:00
847afa3f64
close file before unlink
2015-08-03 23:05:33 +02:00
2443fd1d79
VST cache file transition.
2015-08-03 23:03:48 +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
712b709e2a
dump VST blacklist at end of scan
2015-08-03 15:45:31 +02:00
1fe6c19329
translatable VST error/info messages
2015-08-03 15:17:39 +02:00
30dc3b871c
fix byte-order detection for gcc < v4.4.
2015-08-03 15:16:50 +02:00
469ead78f7
Fix typo in 8c45d4 preventing compile
2015-08-03 13:00:00 +10:00
f6fa4581b0
sha1: cleanup & separate unit test
2015-08-03 02:13:44 +02:00
8c45d446ad
VST cache rework (part one)
...
Don’t clutter up actual vst-plugin dirs with additional files.
Use dedicated folder for VST info-cache; use sha1-hash (of absolute dll
path) for .fsi file.
Use a single blacklist file (one path per line) instead of individual
.fsb files per plugin.
2015-08-03 00:25:19 +02:00
d9de55ae93
add sha1-hash calc.
2015-08-03 00:14:06 +02: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
ca0c9b3636
Replace "%z" modifier with glib macro for portability.
2015-07-30 17:00:03 +02:00
67c75c5a33
fix file metadata tagging on windows.
...
This allows TagLib to open the file and create a Tag object (see 2a0365c
)
Tagging still fails later (taglib seek/SetFilePointer fails when writing)
2015-07-30 05:28:43 +02:00
0113de9b92
Don’t create MTC debug string if it’s not needed.
...
Removes periodic call to operator<< (and eventually loadlocale)
in RT-thread in the debug version.
2015-07-29 17:54:56 +02:00
64af6c880c
Revert "debug/fix LV2 state loading on OSX 10.5/PPC"
...
This reverts commit 22bc62ed43
.
forwarded upstream: http://dev.drobilla.net/ticket/1073
2015-07-28 18:58:17 +02:00