Commit graph

5232 commits

Author SHA1 Message Date
Paul Davis
542c4b024e Don't use errno after g_file_test on windows 2013-07-15 07:55:01 -04:00
Paul Davis
5131b8300f Use g_open instead of ::open in PBD::FileManager
g_open is a macro that evaluates to ::open on linux(and mac) so this
is only a change for windows.
2013-07-15 07:54:29 -04:00
Paul Davis
db3edc4018 Use ::write instead of pwrite in AudioSource::compute_and_write_peaks for portability
This destroys the atomicity of pwrite() and thus suggests that we should do something else to ensure
that multithread access to peakfiles (if it does in fact exist) is safe. OTOH, there may be no
such thing, since they are designed for the GUI, which is single threaded (for now)
2013-07-15 07:53:45 -04:00
Paul Davis
13a0f14db7 Use ::read instead of pread in AudioSource::read_peaks for portability
This destroys the atomicity of pread() and thus suggests that we should do something else to ensure
that multithread access to peakfiles (if it does in fact exist) is safe. OTOH, there may be no
such thing, since they are designed for the GUI, which is single threaded (for now)
2013-07-15 07:52:37 -04:00
Paul Davis
0aac62e013 Merge branch 'master' into windows 2013-07-14 08:27:22 -04:00
Paul Davis
394f2b3ca7 Use boost::scoped_array in AudioSource::compute_and_write_peaks 2013-07-13 17:44:16 -04:00
Paul Davis
90c2a1c69d Use boost::scoped_array in AudioSource::build_peaks_from_scratch 2013-07-13 17:43:36 -04:00
Paul Davis
ebdf73a077 Remove use of goto in AudioSource::read_peaks 2013-07-13 17:43:00 -04:00
Paul Davis
e5cc56a523 Use boost::scoped_array for controlling scope of peak data in AudioSource::read_peaks 2013-07-13 17:42:34 -04:00
Paul Davis
b84d032b3a Use boost::scoped_array in AudioSource::read_peaks 2013-07-13 17:41:48 -04:00
Paul Davis
f754e1c0bb Use boost::scoped_ptr to control scope of peakfile descriptor 2013-07-13 17:40:42 -04:00
Paul Davis
1bd570c276 Replace conditional peak debugging with DEBUG_TRACE macro usage
Also add some extra debugging info
2013-07-13 17:39:55 -04:00
Paul Davis
ac16da8ea6 Fix saving sessions on windows by using g_rename instead of ::rename 2013-07-13 17:33:30 -04:00
Paul Davis
868b06efd6 Revert "Fix saving sessions on windows by using g_rename instead of ::rename"
This reverts commit 2e2c22ad3c.
2013-07-13 17:10:11 -04:00
Paul Davis
2e2c22ad3c Fix saving sessions on windows by using g_rename instead of ::rename 2013-07-13 17:01:47 -04:00
Paul Davis
e8ecd32732 Add test for Glib::Mutex::trylock
Behaviour of this method is different on WIN32
2013-07-13 17:00:18 -04:00
Paul Davis
6542ce76d0 Don't use trylock in assertions on windows as it will fail
glib uses TryEnterCriticalSection on windows which will return true
if the lock as able to be locked *or* is already locked by the current
thread.
2013-07-13 16:57:04 -04:00
Paul Davis
1fd2412f5b Add config/data filesystem paths to search on windows 2013-07-13 16:56:12 -04:00
Paul Davis
ccdc6fcd6a Add DEBUG_TRACE output to file utility functions in libpbd 2013-07-13 16:55:40 -04:00
Paul Davis
550eeecc63 Add header include required by mingw compiler 2013-07-13 16:44:59 -04:00
Paul Davis
48f8863b2c Use g_mkstemp in audiographer for portability 2013-07-13 16:44:37 -04:00
Paul Davis
3be0f0aa0b Use pthread_name instead of pthread_self for portability 2013-07-13 16:44:03 -04:00
Paul Davis
57066732ca Use pthread_name instead of pthread_self for portability 2013-07-13 16:43:50 -04:00
Paul Davis
ad89d1e031 Use custom comparator in threadmap for pthread impl with mingw 2013-07-13 08:44:58 -04:00
Paul Davis
eddcc868ba Disable non-realtime midi ports in windows build - THIS NEEDS FIXING 2013-07-13 08:26:54 -04:00
Robin Gareus
5bae4373c7 implement visual-sensitivity (gray out) for faders
Note: bar-controller sensitivity state is not yet set if
automation-mode changes to/from play, but the widget now
supports that.
2013-07-12 19:07:07 +02:00
Robin Gareus
e0bbc0b435 minor peak-meter performance tweak
* redraw only missing parts of the outside rectangle,
* don't redraw RMS meter if value has not changed
2013-07-12 17:56:42 +02:00
Paul Davis
01ed4f3388 undef SearchPath where needed as it is defined via windows.h 2013-07-11 15:24:36 -04:00
Paul Davis
f80859f3bd Use uint32_t type instead of uint 2013-07-11 15:16:50 -04:00
Paul Davis
b8c369fe2d Include pbd/timersub.h for mingw build 2013-07-11 15:16:11 -04:00
Paul Davis
965883bc22 Use Glib functions to create tmp file path 2013-07-11 15:15:40 -04:00
Paul Davis
ef3ea6c6a6 Work around badly chosen argument name in giomm/dbusmessage.h
interface is defined in windows/mingw headers. hopefully this will
be fixed in giomm at some point and this crap can be removed
2013-07-11 15:14:51 -04:00
Paul Davis
abd478d1c8 Include pthread.h in butler.h for mingw build
Jack2 on windows doesn't include pthread headers so it is necessary
to include them explicitly.
2013-07-11 15:11:22 -04:00
Paul Davis
9f7e293c3b Use Glib::usleep for portability 2013-07-11 15:10:10 -04:00
Paul Davis
01a4c3186a Use PBD::pthread_name in debug output for portability 2013-07-11 15:09:29 -04:00
Paul Davis
2b93c878d0 Disable some non-portable code that is only used for debugging 2013-07-11 15:08:47 -04:00
Paul Davis
fa2dcea820 Use jack_native_thread_t for portability
Requires future attention in AudioEngine due to timbyr's use JACK2 extension to JACK API
2013-07-11 15:08:10 -04:00
Paul Davis
a69847b671 Include pbd/localtime_r.h for mingw build 2013-07-11 15:00:56 -04:00
Paul Davis
c43ff1113d Add ::localtime_r implementation for mingw 2013-07-11 15:00:22 -04:00
Paul Davis
5d125e1eae Use PBD::pthread_name in debug output 2013-07-11 14:58:00 -04:00
Paul Davis
09e471545b remove direct of realpath(2), replace with canonical_path() which is a no-op on windows 2013-07-11 14:57:16 -04:00
Paul Davis
2ddab2d2f6 Use PBD::GlibSemaphore in Butler to signal requests on windows 2013-07-11 14:41:08 -04:00
Robin Gareus
75f0dfb4a8 fix compiler warning 2013-07-11 20:39:24 +02:00
Paul Davis
29f178aa4b Add PBD::GlibSemaphore class that uses PBD::atomic_counter etc.
PBD::Semaphore can really be used instead of this class now,
but it didn't exist when I needed this class and it is header only, which
causes some problems because windows.h is included
2013-07-11 14:38:53 -04:00
Paul Davis
57f3ba6a1f Add wrapping class for glib atomic counter 2013-07-11 14:37:27 -04:00
Paul Davis
dd55df80f0 Refactor the non-portable parts of Butler thread into new functions 2013-07-11 14:36:43 -04:00
Paul Davis
0f1ed673d0 Move request pipe setup into separate function 2013-07-11 14:35:26 -04:00
Paul Davis
6a8901eb8d Include pbd/timersub.h in session_midi.cc 2013-07-11 14:31:15 -04:00
Paul Davis
2218a70d37 Add timersub macro for platforms where it isn't defined 2013-07-11 14:30:38 -04:00
Paul Davis
b6afce39a4 Undef SearchPath where needed as it is defined via windows.h
This is pretty annoying, might even be worth renaming the class
2013-07-11 14:27:24 -04:00