13
0
Commit Graph

8752 Commits

Author SHA1 Message Date
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
2a0365cbef don't crash if taglib cannot open file 2015-07-28 00:45:09 +02:00
1a51f19493 Clean up extra white space added by editor. 2015-07-27 16:17:38 -04:00
8b4a237ee3 Handle the 4 common encoder types. 2015-07-27 16:17:38 -04:00
d3b4ef4eed Add enc to midi map for mcp style encoders. 2015-07-27 16:17:38 -04:00
ae3d4efce0 Make program change toggle or 1 only. 2015-07-27 16:17:38 -04:00
6ab04a27c3 Allow any one midi event to control only one thing. 2015-07-27 16:17:38 -04:00
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
22bc62ed43 debug/fix LV2 state loading on OSX 10.5/PPC 2015-07-27 17:11:52 +02:00
c55b659f39 add Session::routes_solo_changed(), a plural method which makes changing many route solo states much faster.
Code originally by Grygorii Zharun in Tracks
2015-07-27 09:41:57 -04:00
949a45b748 fixes/updates for move to ::open() 2015-07-27 00:41:28 +02:00
009a06a773 Move ARDOUR::touch_file to pbd/file_utils.h 2015-07-26 12:15:19 +10:00
1a520b376f Use g_open instead of ::open in ARDOUR::touch_file for portability 2015-07-26 11:18:20 +10:00
d91efa7f54 Use g_open and sf_open_fd in SndFileSource for portability 2015-07-25 23:14:52 +10:00
ba14063463 Use g_open and sf_open_fd in SndFileImportable instead of sf_open and Glib::locale_from_utf8 2015-07-25 23:14:51 +10:00
ecb4a76095 Use g_open instead of ::open in translation related utility functions
This is for portability on Windows
2015-07-25 23:14:51 +10:00
544be3ebe8 Use g_open instead of ::open in AudioSource for portability
This is only really for Windows as g_open and ::open are the same thing on
other platforms
2015-07-25 23:14:51 +10:00
e88f74cbb0 Use GStatBuf in AudioSource::initialize_peakfile for portability
This was initially part of f89a976f that got reverted
2015-07-25 23:14:51 +10:00
0d356174ae Revert "When peakfiles get opened using a non-glib function (in a non-English locale) make sure that we pass locale-specific paths"
This reverts commit f89a976f1a.
2015-07-25 23:14:51 +10:00
44cba53219 Revert "When saving a session (in a non-English locale) make sure that we use a locale-specific path"
This reverts commit cf5a8651d8.
2015-07-25 23:14:50 +10:00
e3c303d72f Revert "A few more instances of non-glib 'open()' getting used without locale-specific input paths"
This reverts commit 52ef02b387.
2015-07-25 23:14:50 +10:00
b2ff1e1734 Add unit test to check that libxml2 expects utf-8 encoded file paths on Windows 2015-07-25 23:14:50 +10:00
226087d06a Only create one test output directory in file copy test
Rather than one directory for each file
2015-07-25 23:14:50 +10:00
dfe2ac1d38 Add unit test to assert that using locale_from_utf8/::open will fail for some file paths on Windows 2015-07-25 23:14:45 +10:00
545fd78a14 Remove sse optimization sources from test applications
These are already built and included in libardour
2015-07-25 17:19:17 +10:00
6c87a43f0e VST info: use g_fopen() for Windows compat. 2015-07-24 18:05:08 +02:00
64baed2b97 coreaudio aggregate device fix for 10.5 2015-07-24 01:34:57 +02:00
52ef02b387 A few more instances of non-glib 'open()' getting used without locale-specific input paths
(noticed by Todd. probably more to come...)
2015-07-23 18:27:00 +01:00
cf5a8651d8 When saving a session (in a non-English locale) make sure that we use a locale-specific path 2015-07-23 17:55:13 +01:00
f89a976f1a When peakfiles get opened using a non-glib function (in a non-English locale) make sure that we pass locale-specific paths 2015-07-23 17:55:13 +01:00
2cc64168d3 signed/unsigned comparison 2015-07-23 16:15:51 +02:00
97de33d199 amend a73a039a3a, separate VST cache for 32/64bit 2015-07-23 16:15:26 +02:00
2524115992 avoid llabs ambiguity
(old gcc has a built-in)
2015-07-23 13:06:43 +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
f7e10d0fe8 VST plugin title fix #6467 2015-07-21 21:49:34 +02:00
a3c21aee84 bye bye Unix.
An IPv4 or IPv6 address query for the name localhost must always resolve to the respective loopback address [rfc6761].

According to several users, apparently chromebook and OSX `host localhost` fails but configuring 127.0.0.1 works. (maybe a DNS/DHCP issue?! or ipv6)
2015-07-21 01:12:39 +02:00
7198908a00 do not call playhead priority (auto-return) code after selections change, unless doing the
Tracks playhead priority thing
2015-07-20 12:57:19 -04:00
a81cba17a6 fix auditioning on systems with larger disk read chunk sizes.
This really brings into focus the question of whether any of the "varifill" code should
really remain. This was probably one of the only remaining places where a partial-fill
operation was done and the code was broken for this case. What we know about disk i/o
streaming doesn't support varifill much at all. Something to think about.
2015-07-20 12:10:38 -04:00
5e5e56f589 use power of 2 log-scale for parameters. 2015-07-20 16:18:34 +02:00
3f4acaef80 copy AU parameters with plugin
fixes AU-plugin transfer function display.

(LADSPA & LV2 do not need this, connect&run pushes the
parameters)
2015-07-20 16:17:29 +02:00
61a084e0ad configure Analysis Plugin
required for variable I/O count plugins
2015-07-20 13:31:12 +02:00
7742d07b3a fix compilation w/o posix_malign 2015-07-19 23:24:19 +02:00
2f10fb5b96 OSX 10.5/PPC compat
posix_memalign is 10.6 or later
2015-07-19 23:02:24 +02:00
e29fd9a2fd Minor changes to ensure that MSVC knows about 'CaptureStackBackTrace()' 2015-07-18 15:22:43 +01:00
8587fef16a do not carry out a size check on peakfiles for files still being recorded.
The size check (and possible rebuild) causes a crash with MSVC. It would be nice to know
more about why.
2015-07-17 11:52:58 -04:00
a78cb6b341 print name instead of ID for skipped AUs 2015-07-17 16:08:32 +02:00
9da934ff29 reworked variant of john’s soundfile locale fix
see 87b89a6

IMPORTANT NOTE: In theory, the correct glibmm function should have been Glib::filename_from_utf8() but I couldn't make that work on Windows and 
ended up using Glib::locale_from_utf8() instead. sfdb import will therefore
need to get re-tested on the other platforms (especially in a non-English locale).


If this fix doesn't work we should probably revert to the previous strategy
but using the global specifier "::g_open()" explicitly…
… and only on PLATFORM_WINDOWS  (POSIX #define g_open open) fails regardless.
2015-07-17 16:03:24 +02:00
46c8369328 merge fix 2015-07-16 16:13:24 -05:00
1ed63c5247 clarify splash message (plugin scan/discover) 2015-07-16 20:01:11 +02:00
700c7b225f prevent multiple concurrent plugin scans. 2015-07-16 19:49:55 +02:00
87b89a605f Revert "Possible fix for http://tracker.ardour.org/view.php?id=6332"
This reverts commit 1a619472ca.

On Unix systems "#define g_open open" interferes with class member function
IMHO this is the wrong approach, the filename should be converted using
glib::filename_from_utf8().
2015-07-16 19:29:45 +02:00
1a619472ca Possible fix for http://tracker.ardour.org/view.php?id=6332
For sfdb stuff, use glib file functions in preference to ANSI or libsndfile handling. On Windows, we need functions which understand UTF-8 (so that we'll be able to import sound files, even in a non-English locale).
2015-07-16 18:27:52 +02:00
93b90396d2 rework AU scanning/discovery
Scan-only: “Iterate over all plugins. skip the ones where there's no
 io-cache entry

Discover: cache new plugins info, update cache if needed.
2015-07-16 16:54:57 +02:00
8a686632a0 separate solo isolate into two components (self-solo-isolate and solo-isolated-by-upstream) 2015-07-16 10:11:04 -04:00
782aa6aa47 add missing return value 2015-07-16 15:34:37 +02:00
6c10ddc339 Revert "AU discover: remember discover-at-start setting"
This reverts commit 7c3c213d45.
2015-07-16 15:19:02 +02:00
7c3c213d45 AU discover: remember discover-at-start setting
Prior to this every successful discovery enabled
auto-discovery at application start.
2015-07-16 14:59:02 +02:00
6dbe10dcfd -Wabsolute-value fix 2015-07-15 23:52:05 +02:00
9bf381db0a amend 3a5ac7f 2015-07-15 23:40:45 +02:00
3a5ac7f37f update existing dpm meter-falloff config to new fastest. 2015-07-15 23:18:13 +02:00
aa87e52c3b VST-info hotfix for 32/64 parallel installs.
In the long-run this needs a better solution: Dedicated cache
folders..
2015-07-15 19:36:49 +02:00
42bfc63d7a fix pre-fader insert mute. 2015-07-15 16:53:29 +02:00
b7b1f9a0a6 fix “missing operator<< for PBD::ID” (clang) 2015-07-15 01:21:19 +02:00
d8f3f9f02d Move learned midi binding reload after midi map load (fixes #6405) 2015-07-13 13:47:00 -07:00
fa3896a483 use “1” as small-step for integer controls. 2015-07-13 15:33:46 +02:00
56ba08b7cb implement scroll-wheel support for ClickBoxes 2015-07-13 15:33:15 +02:00
f4229968d9 keep invisible processors enabled.
fixes issues with --disable-plugins disabling internal returns
(and breaking existing aux-sends).
2015-07-13 13:19:24 +02:00
5e7d9d30e2 fix verbose plugin scan 2015-07-11 22:16:33 +02:00
deedb25ab6 add pingback URL for windows 2015-07-11 21:46:25 +02:00
4baf634a67 prepare verbose plugin scanning (log VST details) 2015-07-11 21:46:25 +02:00
937ed39c45 fix PBD::ID string format 2015-07-11 05:17:02 +02:00
ed8ab2c80a Fixed pb in toggle mode to switch at half way (fixes #6424) 2015-07-10 16:52:43 -04:00
a29b050883 Fixed generic MIDI program change event size to two bytes (fixes #6426) 2015-07-10 16:52:43 -04:00
6349570fb2 Add debug for generic midi control 2015-07-10 16:52:43 -04:00
4c608b6e04 assign new IDs to plugin copies on paste.
when copying a plugin the state is transferred by serializing
XML and setting state from XML. This state includes the unique ID.

This ID needs to be identical at first in order to load
the state from <session-dir>/plugins/<ID>/*
2015-07-10 22:09:18 +02:00