Paul Davis
ce03b02a79
in a CrossThread object, ensure destruction of the channel and source used on Posix
...
The source holds a reference to the channel; both must be unref'ed/destroyed in order to
fully clean up resources
2015-10-08 21:55:37 -04:00
Robin Gareus
14932d1b86
allow to load huge VST plugin states -fixes #6623
...
by default libxml has a XML_MAX_TEXT_LENGTH of 10M
with base64 encoding that allows at most 2.5MB state.
set XML_PARSE_HUGE to read large sessions
2015-10-07 14:36:32 +02:00
Robin Gareus
2397429e99
use quotes for in-tree pbd/glib wrapper include
2015-10-05 22:15:18 +02:00
Robin Gareus
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
Paul Davis
4178db5f63
globally remove all trailing whitespace from .cpp and .hpp files missed by previous commit
2015-10-04 15:11:15 -04:00
Paul Davis
4dc63966f0
globally remove all trailing whitespace from ardour code base.
...
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Robin Gareus
e344d379d2
update semantics of PBD::remove_directory()
...
Remove the directory recursively including itself. The function
is used in two places only:
* LV2Plugin::add_state() -- no change, remove tmp. state
* Session::save_as() -- on error, remove target
In both cases removing the folder itself is correct.
2015-09-27 12:44:54 +02:00
Robin Gareus
f5b3ad18cf
PBD::Debug to stdout
...
fixes debug output on windows. std::cerr is lost,
only std::cout, printf() and fprintf(stderr, ..) work.
2015-09-21 23:08:45 +02:00
Tim Mayberry
2e9e8d3b33
Fix windows test to also pass under wine
...
It looks as if the default timer resolution for applications running under wine
is different than Windows so just test that the minimum timer resolution is
below a certain amount rather than checking before and after calling
timeBeginPeriod
2015-09-19 10:59:39 +10:00
John Emmas
d609217c55
Make sure that those recently moved functions will be visible if they're needed outside of libpbd
2015-09-18 10:27:27 +01:00
John Emmas
44ea59495c
MSVC projects - accommodate some modules that recently got moved or removed
...
(mostly these got moved out of the PortAudio backend and into libpbd)
2015-09-18 10:25:11 +01:00
Paul Davis
c1d6a2fd92
add string_compose argument specializations so that empty std::string and empty C strings are handled as intended
2015-09-17 17:16:23 -04:00
Tim Mayberry
e44212321e
Add test to libpbd to check PBD::touch_file and pbd/gstdio_compat.h
...
GStatBuf is not usable on 32 bit Windows without the redefinition in
pbd/gstdio_compat.h so add a test to check for the correct behavior of
g_stat and g_utime on all platforms now that the issue is fixed.
2015-09-17 23:26:38 +10:00
Robin Gareus
95b55c7346
fix g_lstat()
2015-09-17 15:01:26 +02:00
Robin Gareus
7ac691ec82
use pbd's gstdio compatibility wrapper
2015-09-17 14:37:57 +02:00
Robin Gareus
c90bab4d4e
add glib/stdio compat wrapper for mingw64-w32
2015-09-17 14:36:47 +02:00
Tim Mayberry
119e56e7eb
Add PBD::QPC::initialize to initialize timer and call it from PBD::init
...
Check timer for invalid frequency
Precalculate timer tick rate to save a few instructions
Don't use static variables inside functions to avoid checking for initialization
Use static functions inside anonymous namespace for internal linkage
2015-09-16 23:59:38 +10:00
Tim Mayberry
9bd893a6a2
Make sure the QPC frequency is cached so the timer can be used
2015-09-16 22:50:37 +10:00
Tim Mayberry
35a1c3b6a5
Put functions inside anonymous namespace and use static for internal linkage
2015-09-16 11:22:17 +10:00
Tim Mayberry
5d9144173b
Mark strings intended for developers/debugging as not for translation
2015-09-16 11:22:17 +10:00
Tim Mayberry
d007fc05b1
De/Initialize MMCSS on windows in PBD::init/cleanup instead of in PA Backend
2015-09-16 11:22:16 +10:00
Tim Mayberry
091c4ed3a7
Move Windows MMCSS related utility functions into libpbd
2015-09-16 11:22:16 +10:00
Tim Mayberry
76a0c823ca
Add PBD::DebugBit for debugging thread related debugging output
2015-09-16 11:22:16 +10:00
Tim Mayberry
f58e3abdbe
Perform QPC timer check on windows in PBD::init when PBD_TEST_TIMERS env is defined
2015-09-16 11:22:16 +10:00
Tim Mayberry
f4cb4e479d
Rename PBD::QPC::get_timer_valid to check_timer_valid and perform timer test
...
I'm not sure if this test is going to be effective as I don't have hardware to
test on at the moment. As noted in the documentation, Windows XP should be the
only OS where QPC uses a timer source that is non-monotonic(multi-core with
non-syncronized TSC).
2015-09-16 11:22:16 +10:00
Tim Mayberry
cd05d46c00
Add windows specific test for pbd/windows_timer_utils.h API
2015-09-16 11:22:16 +10:00
Tim Mayberry
a88b2da6a9
Fix PBD::MMTIMER::reset_resolution and add some documentation
...
timeEndPeriod must be called with the same timer resolution value used in
timeBeginPeriod. When the process exits the timer resolution is restored anyway
so this is not very important.
2015-09-16 11:22:16 +10:00
Tim Mayberry
62f75b8b16
Remove glib timer test from pbd testsuite
...
There are no test assertions and it takes a long time to execute the test so
just leave it disabled for now.
2015-09-16 11:22:16 +10:00
Tim Mayberry
3f5c01e4eb
Move Windows timer utility functions from PA backend into libpbd
2015-09-16 11:22:16 +10:00
Robin Gareus
8e8f8d92c2
allow to run unit-test under wine from srcdir.
2015-09-13 15:30:00 +02:00
Robin Gareus
eb998b3264
plug some memory leaks in libs
2015-09-12 20:05:25 +02:00
Robin Gareus
a5e3371b80
Event Pool usage debugging, see also 6ade16b38
2015-09-12 02:18:38 +02:00
Robin Gareus
ebfd0782e1
add missing include
2015-09-05 11:36:16 +02:00
Robin Gareus
b66bf67030
fix bitwise enum parsing
2015-09-05 00:00:16 +02:00
Tim Mayberry
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
Tim Mayberry
463cf1cf9c
Add PBD::DebugBit for debugging issues with undo history
2015-08-19 13:56:06 +10:00
Tim Mayberry
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
Tim Mayberry
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
John Emmas
1d2938b162
Add '_xgetbv()' for MSVC-9 and earlier
2015-08-16 13:14:54 +01:00
Paul Davis
f77a409b0c
tweaks for AVX detection
2015-08-14 08:53:06 -04:00
Robin Gareus
5a304e9e33
fix PPC builds
2015-08-12 19:16:01 +02:00
Paul Davis
c86b82aa8a
comment tweak to show that the __cpuid() intrinsic belongs to MSVC and mingw
2015-08-11 23:45:52 -04:00
Robin Gareus
94b6e7ffe4
fix mingw compilation
2015-08-12 05:25:29 +02:00
Paul Davis
b6f9bbeb2f
can't use xgetbv instruction with apple gcc under OS X Lion
2015-08-11 23:06:47 -04:00
Paul Davis
41ccfee7a4
clean up FPU code with some ideas from Chromium and the web
2015-08-11 23:00:13 -04:00
Paul Davis
bb399c8787
fix stupid logic error in testing separate bits required for AVX support
2015-08-11 20:18:38 -04:00
Paul Davis
bb5c969ac0
improved solution for xgetbv() on windows and linux with all compilers
2015-08-11 17:45:41 -04:00
Paul Davis
53bc2ba2c1
#ifdef out AVX detection on APPLE
2015-08-11 17:30:33 -04:00
Paul Davis
c0ad97c179
add required test of OS support for AVX register use
2015-08-11 17:23:11 -04:00
Paul Davis
4079855507
add test for CPU/FPU AVX capabilities
2015-08-11 16:36:46 -04:00