Commit graph

8819 commits

Author SHA1 Message Date
Tim Mayberry
66cafd10d5 Use ASIO specific device channel names for port properties/pretty names 2015-08-05 13:21:30 +10:00
Tim Mayberry
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
Tim Mayberry
7295bb6454 Refactor methods in PortaudioBackend to get ASIO buffer sizes 2015-08-05 13:21:26 +10:00
Tim Mayberry
6ca1c8164f Add ASIO specific code to query preferred buffer size for device 2015-08-05 10:52:03 +10:00
Robin Gareus
a9b6277d50 Dummy -> Audio system: "None"
check if gettext() static initialization works with all compilers.
2015-08-05 00:45:08 +02:00
Robin Gareus
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
Robin Gareus
ca2d536a30 self-test add missing newline 2015-08-04 18:25:10 +02:00
Robin Gareus
c8b207d911 Proper solution to replace 9cabc1b hack.
Initialize uninitialized variable (m_started), remove cruft.
2015-08-04 01:03:57 +02:00
Robin Gareus
e057b873b5 amend e09c620; now with semicolon :) 2015-08-03 23:09:51 +02:00
Robin Gareus
e09c62052d fix backslashes in quotes (windows), fixes VST scan 2015-08-03 23:06:08 +02:00
Robin Gareus
847afa3f64 close file before unlink 2015-08-03 23:05:33 +02:00
Robin Gareus
2443fd1d79 VST cache file transition. 2015-08-03 23:03:48 +02:00
Robin Gareus
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
Robin Gareus
c6a02503b4 Windows XP compat 2015-08-03 22:53:53 +02:00
Tim Mayberry
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
Robin Gareus
712b709e2a dump VST blacklist at end of scan 2015-08-03 15:45:31 +02:00
Robin Gareus
1fe6c19329 translatable VST error/info messages 2015-08-03 15:17:39 +02:00
Robin Gareus
30dc3b871c fix byte-order detection for gcc < v4.4. 2015-08-03 15:16:50 +02:00
Tim Mayberry
469ead78f7 Fix typo in 8c45d4 preventing compile 2015-08-03 13:00:00 +10:00
Robin Gareus
f6fa4581b0 sha1: cleanup & separate unit test 2015-08-03 02:13:44 +02:00
Robin Gareus
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
Robin Gareus
d9de55ae93 add sha1-hash calc. 2015-08-03 00:14:06 +02:00
John Emmas
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
John Emmas
3015be533f Add some newly introduced sources to our MSVC project (portaudio_backend) 2015-07-31 13:45:18 +01:00
John Emmas
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
John Emmas
0428f2e4c9 Use BOOL (rather than WINBOOL) for compatibility with MSVC
(WINBOOL is MinGW specific)
2015-07-31 13:41:16 +01:00
Robin Gareus
f9f01104c6 add missing pthread.h includes 2015-07-31 02:28:12 +02:00
Tim Mayberry
cfbd9dd6d4 Add functionality to show ASIO control panel 2015-07-31 09:59:54 +10:00
Tim Mayberry
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
Tim Mayberry
e9d00f5cfb Add MMCSS related code for raising thread priority on Windows 2015-07-31 09:59:54 +10:00
Tim Mayberry
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
Tim Mayberry
6a0e46352c Add extra DEBUG_TRACE output to PortaudioBackend 2015-07-31 09:59:54 +10:00
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
6b7875de1e Support selecting separate input and output devices in portaudio backend 2015-07-31 09:59:54 +10:00
Tim Mayberry
ff1d4d5c67 Refactor PortAudioIO::discover into three private methods 2015-07-31 09:59:54 +10:00
Tim Mayberry
4e370feeb1 Set default input/output device based on selected host api rather than global default 2015-07-31 09:59:54 +10:00
Tim Mayberry
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
Tim Mayberry
b6db19a5c6 Add host api/driver selection to PortaudioBackend 2015-07-31 09:59:54 +10:00
Robin Gareus
ca0c9b3636 Replace "%z" modifier with glib macro for portability. 2015-07-30 17:00:03 +02:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
2a0365cbef don't crash if taglib cannot open file 2015-07-28 00:45:09 +02:00
Len Ovens
1a51f19493 Clean up extra white space added by editor. 2015-07-27 16:17:38 -04:00
Len Ovens
8b4a237ee3 Handle the 4 common encoder types. 2015-07-27 16:17:38 -04:00
Len Ovens
d3b4ef4eed Add enc to midi map for mcp style encoders. 2015-07-27 16:17:38 -04:00
Len Ovens
ae3d4efce0 Make program change toggle or 1 only. 2015-07-27 16:17:38 -04:00
Len Ovens
6ab04a27c3 Allow any one midi event to control only one thing. 2015-07-27 16:17:38 -04:00
Robin Gareus
fee54fb155 fix LV2 freewheeling port, explicit cast bool to float.
http://lv2plug.in/ns/lv2core/#freeWheeling mentions "true"
and http://lv2plug.in/ns/lv2core/#toggled defines true as > 0.
false as <= 0.
2015-07-27 19:08:29 +02:00