13
0
Commit Graph

9026 Commits

Author SHA1 Message Date
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