Commit graph

820 commits

Author SHA1 Message Date
Tim Mayberry
180b705643 Fix whitespace in pbd/debug.h 2015-02-12 22:10:51 +10:00
Tim Mayberry
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
Tim Mayberry
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
Paul Davis
e8b6f852f6 make two obvously const methods actually be const 2015-02-05 16:36:09 -05:00
Paul Davis
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
John Emmas
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
Ben Loftis
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
John Emmas
8900d7d9ea On Windows, #include <shellapi.h> so we can use ShellExecute() 2015-01-18 18:52:24 +00:00
Ben Loftis
a994dbaa0c fix open_uri for windows 2015-01-18 11:16:28 -06:00
Ben Loftis
d3227ac0d0 Dramatically improve windows session-save-time by avoiding recursive calls to set_locale. 2015-01-18 09:43:21 -06:00
John Emmas
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
Robin Gareus
0367aa5825 remove cruft (old unused pre-git version files) 2015-01-09 06:11:57 +01:00
John Emmas
7f486e146d Accommodate some newly introduced source files for building with MSVC (libpbd) 2015-01-02 15:31:39 +00:00
Tim Mayberry
d606a37204 Add PBD debug macros for recording timing data 2015-01-01 19:04:14 +07:00
Tim Mayberry
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
Tim Mayberry
b959b3fb87 Add PBD::Timer/StandardTimer/BlinkTimer classes for convenient timeouts 2015-01-01 18:59:01 +07:00
Tim Mayberry
770c190ccf Add Timing, TimingData and Timed classes for time measurement to pbd/timing.h 2015-01-01 18:58:57 +07:00
John Emmas
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
John Emmas
8eba7c5c0a Add some newly introduced source files to our MSVC project (libpbd) 2014-12-26 09:15:17 +00:00
Robin Gareus
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
Paul Davis
280910fd53 new file, derived from old libs/ardour/configuration.cc 2014-12-22 19:48:30 -05:00
Paul Davis
d854c5d93c move ARDOUR::Configuration and ARDOUR::ConfigVariable into libpbd 2014-12-22 19:48:30 -05:00
David Robillard
64490e88e4 No need to yell. 2014-12-18 02:26:34 -05:00
John Emmas
9a454ab3d4 Add a newly introduced header file to our MSVC project (libpbd) 2014-12-15 10:26:06 +00:00
Paul Davis
0fa5643d20 move ScopedFileDescriptor into libpbd and use it 2014-12-14 12:26:00 -05:00
John Emmas
ec0a74276a Remove (no longer needed) sources from our MSVC project (libpbd) 2014-12-12 09:08:16 +00:00
Paul Davis
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
Paul Davis
635578b30b use correct conditional to choose between different DEBUG_THREAD_SELF macros 2014-12-10 11:07:18 -05:00
Paul Davis
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
Paul Davis
246a4f3018 correct install location for .mo files (i18n) and cleanup LOCALEDIR use a bit 2014-12-09 08:19:11 -05:00
John Emmas
17ad6a5078 Add 'pbd/crossthread.cc' to the MSVC build 2014-12-05 08:40:47 +00:00
Robin Gareus
55c4889c9a fix windows compilation 2014-12-04 17:13:43 +01:00
Paul Davis
b996f07122 add required header 2014-12-04 11:05:33 -05:00
Paul Davis
697c397f37 move WSAStartup() and WSACleanup() out of per-object methods into per-library init/cleanup methods 2014-12-04 10:07:11 -05:00
Paul Davis
4e8dfda880 clean up whitespace 2014-12-04 09:11:46 -05:00
Tim Mayberry
5f9e81b105 Include pbd/crossthread.cc in the mingw build 2014-12-04 16:16:06 +07:00
Tim Mayberry
12acce0d0e Use correct name for windows.h 2014-12-04 16:15:07 +07:00
Paul Davis
7ab3da66b5 fix up BaseUI to use crossthreadchannel on all platforms 2014-12-03 21:11:02 -05:00
Paul Davis
f72b87b448 new platform specific crossthreadchannel files 2014-12-03 20:47:59 -05:00
Paul Davis
5c51b302ce manually merge new CrossThreadChannel implementation for windows from Tracks 2014-12-03 20:47:27 -05:00
Tim Mayberry
0ec85a4164 Fix running libpbd unit tests when $TOP(in test scripts) is set as relative path
Add test for PBD::canonical_path that was used to track down silly mistake
in test code
2014-12-03 17:44:48 +07:00
Tim Mayberry
dd976d8c7a Add DEBUG_TRACE output to PBD::canonical_path 2014-12-03 17:31:05 +07:00
Tim Mayberry
d360bc3906 Add ability to set libpbd debug options via PBD_DEBUG environment var 2014-12-03 17:31:05 +07:00
Tim Mayberry
4b751f9e87 Move setting _fmode flag on windows into PBD::init
This moves setting of _fmode slightly later in the initialization
of the application via Ardour::init.
2014-12-03 17:31:05 +07:00
Tim Mayberry
dc4d76b1d4 Remove references in pbd test script to libs no longer in source tree 2014-12-03 17:31:04 +07:00
Tim Mayberry
01a17f296f Make pbd test script consistant with other test scripts
remove running script from pwd limitation
2014-12-03 17:31:04 +07:00
Tim Mayberry
aed58d6f39 Use test_output_directory() in pbd filesystem test
This prevents directory being created in pwd and means deletion of
directory is unnecessary
2014-12-03 17:31:04 +07:00