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
2437bbbe23
Fix state restoration in Engine dialog for Backends with driver selection
...
Connect to the backend_combo changed signal after setting state as calling
backend_combo.set_active_text() in set_state was triggering backend_changed(),
which would then see the driver_combo had not been set and set it to the
incorrect value.
The value/name of the backend needs to be restored first then we can populate
the driver combo and set the correct active entry from the saved state. After
which backend_changed() will populate the device combo's etc so they can then
be set to the correct active values from the saved state.
2015-07-31 09:59:53 +10:00
b2817bfac5
make it easier to get errors out of GTK + Glib
2015-07-30 19:05:12 +02: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
0bfdc82034
use “CPU family” to match ppc, ppc7400, etc.
2015-07-30 03:17:33 +02:00
b715ef7e93
prepare for MB/PPC
2015-07-30 00:00:19 +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
a021da9a9d
oops.
2015-07-29 03:34:27 +02:00
36f6aa9356
work-around OSX loadlocale thread safety.
...
This is not a real fix; just a stop-gap for the worst offender.
iostream on OSX is not thread safe.
Sadly no crash report so far managed to catch the 2nd thread in action.
looks like the GUI thread is preempted, 2nd thread succeeds, and the
crash occurs later).
see also https://discussions.apple.com/thread/3479591
crash in
s << c->internal_to_user (c->get_value ());
ardour-4.1.335(5000,0x7fff777f5300) malloc: *** error for object 0x7fe2f3e06170: pointer being freed was not allocated
1 libsystem_c.dylib abort + 129
2 libsystem_malloc.dylib free + 428
3 libsystem_c.dylib __numeric_load_locale + 544
4 libsystem_c.dylib loadlocale + 216
5 libstdc++.6.dylib std::__convert_from_v(int* const&, char*, int, char const*, ...) + 193
6 libstdc++.6.dylib std::ostreambuf_iterator<char, std::char_traits<char> > std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_float<double>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, char, double) const + 193
7 libstdc++.6.dylib std::ostream& std::ostream::_M_insert<double>(double) + 221
8 ardour-4.1.335 ProcessorEntry::Control::set_tooltip() + 854 (processor_box.cc:578)
9 ardour-4.1.335 ProcessorEntry::Control::control_changed() + 446 (processor_box.cc:637)
10 ibpbd.dylib PBD::StandardTimer::on_elapsed()
2015-07-28 20:54:43 +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
ab4263bff9
Merge branch 'ovenwerks-master'
2015-07-27 16:17:51 -04: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
938f365cc1
Added MasterPosition value=0 to all mcp device files as this is saved and will not default
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