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
41ccfee7a4
clean up FPU code with some ideas from Chromium and the web
2015-08-11 23:00:13 -04:00
bb399c8787
fix stupid logic error in testing separate bits required for AVX support
2015-08-11 20:18:38 -04: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
9e918563df
remove cruft
2015-08-07 21:10:47 +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
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
009a06a773
Move ARDOUR::touch_file to pbd/file_utils.h
2015-07-26 12:15:19 +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
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
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
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
f1aa1a0a11
fix headers for case-sensitive FS.
2015-06-30 08:18:52 +02:00
3392c05779
volatile should not be used to describe non-hardware lvalues, and fix const cast warning (which removes need for mutable)
2015-06-29 14:18:16 -04:00
2e29e7ee62
increase debug bitset size to accomodate additional debug bits imported from Tracks
2015-06-29 14:18:15 -04:00
943394a49a
add PBD::DEBUG bits for WavesAudio and WavesMIDI
2015-06-29 14:18:14 -04:00
Greg Zharun
320da29922
[Summary] AudioPort buffer does not need 64 byte alignment which cache_aligned_malloc provides.
...
Added new function which accepts argument to specify required alignment.
AudioPort buffer requires 32 byte alignment
[Review Required] YPosdnyakov
2015-06-29 14:18:14 -04:00
480f1e4082
noop: fix indentation/whitespace
2015-06-29 14:18:14 -04:00
6410aa896f
Added optimized AVX function for sample processing
...
Added AVX versions of existing 5 SSE functions. Added 6th AVX function to copy vectors which is 1.5 times faster then memcpy.
Data consistency and validness is fully tested after processing with new AVX functions on aligned and non aligned buffers.
2015-06-29 14:18:13 -04:00
7fae6bcd87
copy all XCode project files from Tracks.
...
Rationale: the Waves team maintains the XCode project files, the Ardour crew doesn't. Thus, the Waves'
version is more canonical
2015-06-29 14:18:10 -04:00
Greg Zharun
92e4f227de
[Summary] Added correct memory alignment for Windows in ../pbd/malign.h
...
[Reviewed by] YPozdnyakov
2015-06-29 14:16:43 -04:00
GZharun
ef59fbffa1
[Summary] Added possibility to identify IO thread which does not have required resources initialized during process callback handling
...
Conflicts:
libs/ardour/ardour/audioengine.h
libs/backends/wavesaudio/waves_audiobackend.cc
libs/pbd/pbd/pool.h
2015-06-29 14:16:42 -04:00
017e580c9f
add stacktrace() support for Windows (Grygorii Zharun)
2015-06-29 14:16:42 -04:00
cc543280d9
We were 2 more debug "bits" away from overflow, so recast PBD::DEBUG mechanism away from a 64bit integer and toward std::bitset.
...
Clean up a few minor related PBD::DEBUG issues along the way
2015-06-12 18:14:09 -04:00
801af5df9e
Add the new (UINTSDEFINED) preprocessor directive to all out MSVC projects (just to be on the safe side)
2015-06-09 13:18:42 +01:00
2b294f0b43
add a sanity check
2015-04-30 21:15:35 +02:00
a3209b9b91
Correctly dereference 'fxbuf' when building with MSVC
2015-04-30 18:17:24 +01:00
fe3aafec1c
When testing for x86 / x64 architecture, don't forget the symbols that MSVC can understand
2015-04-30 18:17:23 +01:00
d75b27f6dc
allow to compile PBD::Signals w/o connection debugging
2015-04-27 17:19:58 +02:00
9687c756a6
const iterators
2015-04-27 17:19:57 +02:00
27dac7c31f
Expose “/route/trim” midi binding.
2015-04-26 19:07:45 +02:00
6cb742c289
windows 32bit asm/fpu support.
...
This still leaves cache_aligned_malloc() in
libs/pbd/malign.cc pending _aligned_free (windows crashes when using
free() on memory allocated with _aligned_malloc()).
So far however there seems to be no issue with default malloc
for audio+midi buffers on win32…
2015-04-24 02:43:52 +02:00
63b3d06fd7
add missing regexp support to pbd/wscript
2015-04-24 00:41:23 +02:00
91b9d6c063
separate build host & target (fix win32 asm)
2015-04-24 00:33:34 +02:00
27b64e481a
Remove a 'no longer needed' source from our MSVC project (libpbd)
...
(FPU functionality was recently merged into a single source file)
2015-04-22 10:44:23 +01:00
e015c57663
<intrin.h> is for windows only
2015-04-21 12:31:02 -04:00
e3156c2cc4
add required header for windows compile of FPU code
2015-04-21 12:25:21 -04:00
9241f58188
fix build of FPU code on OS X by reverting to use of _LP64 to identify 32/64 bit situation
2015-04-21 12:13:00 -04:00
a5d7e8446b
merge all mingw and msvc specific code for FPU information into libs/pbd/fpu.cc and remove msvc-specific version
2015-04-21 11:39:31 -04:00
Greg Zharun
8af992c449
[Summary] Added SSE sound processing functions support for Windows. Version 1.
...
Conflicts:
wscript
2015-04-21 10:49:00 -04:00
5188f02cfe
hide issues with g_close() not being available in somewhat older versions of glib
2015-03-16 13:34:35 -05:00
8ff477ab1a
add PBD::toggle_file_existence()
2015-03-16 13:00:28 -05:00
831f2989ac
Revert commit 635578b3
relating to pthread debugging
...
This breaks the build for windows builds that don't use the pthreads_win32
library. Using the opaque pthread_t type like this is probably not a great
idea. Using PBD::pthread_name is another option that I've used elsewhere
that seems more useful.
2015-03-12 23:05:31 +10:00
0f8da2d4cd
Define DEBUG_THREAD_SELF when debug is enabled
2015-03-12 23:04:25 +10:00
fe85575a12
fix “no per-thread pool” abort
...
For some backends the process thread can change (e.g.
switch coreaudio headphone + internal speakers)
If there are existing x-thread event calls this can lead to
the following situation:
1) SessionEvent::operator new
2) audioengine process thread change
3) SessionEvent::operator delete -> crash, wrong thread
SessionEvent::operator delete can safely push the event back to
the pool for later cleanup..
2015-03-11 00:25:10 +01:00
523f703b3b
Move 'poor_mans_glob()' into libpbd
2015-03-09 18:32:55 +00:00
3b57d246d7
Reduce run time/output of PBD::Timer unit test
2015-03-08 22:46:38 +10:00
f694b867c1
Fix PBD::copy_file on windows to work with non-ascii paths
...
This breakage was indicated by the filesystem unit tests.
2015-03-08 22:46:26 +10:00
cf7d5dbc2d
recursive regexp file search.
2015-03-03 19:54:27 +01:00
d7727a77e0
Xthread: blocking read + non-blocking write mode.
...
Needed for switching the butler to use Crossthreads.
2015-03-01 20:49:55 +01:00
32e23db665
In libpbd the sources 'localeguard.cc/.h' and 'locale_guard.cc/.h' are essentially identical now - so let's remove the former pair which were only ever needed when building with MSVC
...
(should hopefully avoid future confusion !!)
2015-02-28 12:59:00 +00:00
933e9c2919
Fix unnecessary const violation.
2015-02-27 14:21:45 -05:00
deb4687d5d
fix testPathIsWithin unit-test:
...
* use absolute path
* fix copy/paste typo: bar->jim for symlink test
2015-02-14 05:50:40 +01:00
180b705643
Fix whitespace in pbd/debug.h
2015-02-12 22:10:51 +10:00
0550ec31bc
Add local PwdReset class to reset pwd in event of test failure
...
This fixes subsequent tests that rely on pwd but not PBD::path_is_within
breakage caused by commit 2689848e
2015-02-12 20:06:47 +10:00
9a7ae1ad99
Add some more test assertions so that tests fail when they should
2015-02-12 20:06:47 +10:00
nick_m
b1dafe9a31
Properly deallocate memory when clearing selection_op_history and
...
before XMLNode*s.
Improve some comments.
2015-02-07 23:33:09 +11:00
nick_m
6b9415aedb
Make undo/redo work for:
...
undo (n) where n > 1
redo (m) where m < n
new transaction.
Previously the redo list was left untouched.
This would lead to utter nonsense in the redo list.
AFAICT this never worked.
2015-02-06 21:54:27 +11:00
e8b6f852f6
make two obvously const methods actually be const
2015-02-05 16:36:09 -05:00
4010884a5b
expand PBD::Pool API and add additional DEBUG_TRACE output.
...
Expanded API splits apart some CrossThreadPool functionality, and provides
access to current pool status information (available(), total(), used(), pending_size())
2015-02-05 16:32:10 -05:00
2689848ed7
Add an extra test to prevent 'PBD::path_is_within()' from looping infinitely on Windows
...
The infinite loop would happen if the 2 supplied paths were on different Windows drives - for example if one was on drive C:\ and the other on drive E:\
I don't think this new test will be detrimental to the other platforms but if it is, we could easily separate it out with a '#ifdef PLATFORM_WINDOWS' directive.
2015-02-03 11:57:38 +00:00
d2fa2450aa
use C locale, because POSIX locale is not supported on windows, and operation is undefined. C works on all platforms
2015-01-19 07:29:25 -06:00
8900d7d9ea
On Windows, #include <shellapi.h> so we can use ShellExecute()
2015-01-18 18:52:24 +00:00
a994dbaa0c
fix open_uri for windows
2015-01-18 11:16:28 -06:00
d3227ac0d0
Dramatically improve windows session-save-time by avoiding recursive calls to set_locale.
2015-01-18 09:43:21 -06:00
f598105966
Add support for the C99 function 'log2()' which is newly needed by 'gtk2_ardour/tempo_lines.cc' (but isn't available from MSVC).
...
These changes are MSVC specific and shouldn't affect the other builds.
(incidentally, libpbd already offers a function called 'fast_log2()'. Not sure if that could have been used instead...)
2015-01-10 11:56:24 +00:00
0367aa5825
remove cruft (old unused pre-git version files)
2015-01-09 06:11:57 +01:00
7f486e146d
Accommodate some newly introduced source files for building with MSVC (libpbd)
2015-01-02 15:31:39 +00:00
d606a37204
Add PBD debug macros for recording timing data
2015-01-01 19:04:14 +07:00
1da30faf7f
Add tests that show the timing differences between the Glib/mm based timeouts
...
This shows that PBD::Timer is pretty much identical in terms of timing and CPU
usage as Glib TimeoutSources.
They also show the differences on Windows when setting the minimum Multimedia Timer
resolution using timeBeginPeriod
2015-01-01 19:04:09 +07:00
b959b3fb87
Add PBD::Timer/StandardTimer/BlinkTimer classes for convenient timeouts
2015-01-01 18:59:01 +07:00
770c190ccf
Add Timing, TimingData and Timed classes for time measurement to pbd/timing.h
2015-01-01 18:58:57 +07:00
46d08595ff
class 'PBD::Configuration' doesn't actually get exported from libpbd - so make sure we don't decorate it with LIBPBD_API
2014-12-26 09:16:58 +00:00
8eba7c5c0a
Add some newly introduced source files to our MSVC project (libpbd)
2014-12-26 09:15:17 +00:00
f5f89d8c7e
fix for case-sensitive FS - aa80515f3
2014-12-23 23:43:25 +01:00
Greg Zharun
aa80515f3f
[Summary] Fixed audio export on Windows. Added support of windows platform for the function that calculated hardware concurrency.
...
Because there was no implementation for this function on windows it used to return 0. This meant that no thread was created to process the data.
2014-12-23 12:55:35 -05:00
280910fd53
new file, derived from old libs/ardour/configuration.cc
2014-12-22 19:48:30 -05:00
d854c5d93c
move ARDOUR::Configuration and ARDOUR::ConfigVariable into libpbd
2014-12-22 19:48:30 -05:00
64490e88e4
No need to yell.
2014-12-18 02:26:34 -05:00
9a454ab3d4
Add a newly introduced header file to our MSVC project (libpbd)
2014-12-15 10:26:06 +00:00
0fa5643d20
move ScopedFileDescriptor into libpbd and use it
2014-12-14 12:26:00 -05:00
ec0a74276a
Remove (no longer needed) sources from our MSVC project (libpbd)
2014-12-12 09:08:16 +00:00
294b99aabf
remove file manager LRU cache from code.
...
This was a very clever attempt to fix a non-problem. If the platform doesn't have enough file descriptors available
then the platform is broken and we're not going to hack around trying to fix it.
2014-12-10 18:28:55 -05:00
635578b30b
use correct conditional to choose between different DEBUG_THREAD_SELF macros
2014-12-10 11:07:18 -05:00
c06c15596b
add DEBUG_THREAD_SELF to allow use of DEBUG_TRACE with thread IDs on both normal pthreads platforms and PTW32
2014-12-10 09:34:32 -05:00
246a4f3018
correct install location for .mo files (i18n) and cleanup LOCALEDIR use a bit
2014-12-09 08:19:11 -05:00
17ad6a5078
Add 'pbd/crossthread.cc' to the MSVC build
2014-12-05 08:40:47 +00:00
55c4889c9a
fix windows compilation
2014-12-04 17:13:43 +01:00
b996f07122
add required header
2014-12-04 11:05:33 -05:00
697c397f37
move WSAStartup() and WSACleanup() out of per-object methods into per-library init/cleanup methods
2014-12-04 10:07:11 -05:00