ardour.git
10 years agoAdd JACK utility functions in libardour and test
Paul Davis [Mon, 15 Jul 2013 16:46:35 +0000 (12:46 -0400)]
Add JACK utility functions in libardour and test

This contains much of the code present in the GUI EngineDialog class
but refactored with some added windows bits.

10 years agoUse g_stat in AudioSource::initialize_peakfile for portability
Paul Davis [Mon, 15 Jul 2013 16:41:53 +0000 (12:41 -0400)]
Use g_stat in AudioSource::initialize_peakfile for portability

10 years agoUse g_rename in AudioSource::rename_peakfile for portability
Paul Davis [Mon, 15 Jul 2013 16:41:24 +0000 (12:41 -0400)]
Use g_rename in AudioSource::rename_peakfile for portability

10 years agoUse g_utime for portability in AudioSource::touch_peakfile
Paul Davis [Mon, 15 Jul 2013 16:41:01 +0000 (12:41 -0400)]
Use g_utime for portability in AudioSource::touch_peakfile

10 years agoUse g_stat in AudioSource::touch_peakfile for portability
Paul Davis [Mon, 15 Jul 2013 16:40:34 +0000 (12:40 -0400)]
Use g_stat in AudioSource::touch_peakfile for portability

10 years agoAdd basic test for PluginManager and LADSPA plugins
Paul Davis [Mon, 15 Jul 2013 16:40:06 +0000 (12:40 -0400)]
Add basic test for PluginManager and LADSPA plugins

10 years ago Use ARDOUR::ladspa_search_path and PBD::find_matching_files to find LADSPA modules
Paul Davis [Mon, 15 Jul 2013 16:38:03 +0000 (12:38 -0400)]
 Use ARDOUR::ladspa_search_path and PBD::find_matching_files to find LADSPA modules

10 years agoAdd ARDOUR::ladspa_search_path function to get LADSPA module directories
Paul Davis [Mon, 15 Jul 2013 12:08:09 +0000 (08:08 -0400)]
Add ARDOUR::ladspa_search_path function to get LADSPA module directories

10 years agoFix finding panner modules on windows by looking for files with *.dll extension
Paul Davis [Mon, 15 Jul 2013 12:07:12 +0000 (08:07 -0400)]
Fix finding panner modules on windows by looking for files with *.dll extension

10 years agoAdd ladspa directory name to directory names
Paul Davis [Mon, 15 Jul 2013 12:06:39 +0000 (08:06 -0400)]
Add ladspa directory name to directory names

10 years ago Don't include jack/weakjack.h header when compiling for windows
Paul Davis [Mon, 15 Jul 2013 12:06:09 +0000 (08:06 -0400)]
 Don't include jack/weakjack.h header when compiling for windows

10 years agoFix portability of Session::source_search_path
Paul Davis [Mon, 15 Jul 2013 12:05:37 +0000 (08:05 -0400)]
Fix portability of Session::source_search_path

10 years agoFix reading and writing of files on windows in PBD::FileManager
Paul Davis [Mon, 15 Jul 2013 11:55:36 +0000 (07:55 -0400)]
Fix reading and writing of files on windows in PBD::FileManager

10 years agoDon't use errno after g_file_test on windows
Paul Davis [Mon, 15 Jul 2013 11:55:01 +0000 (07:55 -0400)]
Don't use errno after g_file_test on windows

10 years agoUse g_open instead of ::open in PBD::FileManager
Paul Davis [Mon, 15 Jul 2013 11:54:29 +0000 (07:54 -0400)]
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.

10 years agoUse ::write instead of pwrite in AudioSource::compute_and_write_peaks for portability
Paul Davis [Mon, 15 Jul 2013 11:53:45 +0000 (07:53 -0400)]
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)

10 years agoUse ::read instead of pread in AudioSource::read_peaks for portability
Paul Davis [Mon, 15 Jul 2013 11:52:37 +0000 (07:52 -0400)]
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)

10 years agoMerge branch 'master' into windows
Paul Davis [Sun, 14 Jul 2013 12:27:22 +0000 (08:27 -0400)]
Merge branch 'master' into windows

10 years agoimprove caching of metric and tick patters
Robin Gareus [Sun, 14 Jul 2013 09:34:31 +0000 (11:34 +0200)]
improve caching of metric and tick patters

* selectively clear cache (meterbridge, mixer)
* free memory of patterns on clear

10 years agoUse boost::scoped_array in AudioSource::compute_and_write_peaks
Paul Davis [Sat, 13 Jul 2013 21:44:16 +0000 (17:44 -0400)]
Use boost::scoped_array in AudioSource::compute_and_write_peaks

10 years agoUse boost::scoped_array in AudioSource::build_peaks_from_scratch
Paul Davis [Sat, 13 Jul 2013 21:43:36 +0000 (17:43 -0400)]
Use boost::scoped_array in AudioSource::build_peaks_from_scratch

10 years agoRemove use of goto in AudioSource::read_peaks
Paul Davis [Sat, 13 Jul 2013 21:43:00 +0000 (17:43 -0400)]
Remove use of goto in AudioSource::read_peaks

10 years agoUse boost::scoped_array for controlling scope of peak data in AudioSource::read_peaks
Paul Davis [Sat, 13 Jul 2013 21:42:34 +0000 (17:42 -0400)]
Use boost::scoped_array for controlling scope of peak data in AudioSource::read_peaks

10 years agoUse boost::scoped_array in AudioSource::read_peaks
Paul Davis [Sat, 13 Jul 2013 21:41:48 +0000 (17:41 -0400)]
Use boost::scoped_array in AudioSource::read_peaks

10 years ago Use boost::scoped_ptr to control scope of peakfile descriptor
Paul Davis [Sat, 13 Jul 2013 21:40:42 +0000 (17:40 -0400)]
 Use boost::scoped_ptr to control scope of peakfile descriptor

10 years agoReplace conditional peak debugging with DEBUG_TRACE macro usage
Paul Davis [Sat, 13 Jul 2013 21:39:55 +0000 (17:39 -0400)]
Replace conditional peak debugging with DEBUG_TRACE macro usage

Also add some extra debugging info

10 years agoFix saving sessions on windows by using g_rename instead of ::rename
Paul Davis [Sat, 13 Jul 2013 21:33:30 +0000 (17:33 -0400)]
Fix saving sessions on windows by using g_rename instead of ::rename

10 years agoRevert "Fix saving sessions on windows by using g_rename instead of ::rename"
Paul Davis [Sat, 13 Jul 2013 21:10:11 +0000 (17:10 -0400)]
Revert "Fix saving sessions on windows by using g_rename instead of ::rename"

This reverts commit 2e2c22ad3c0af34b311024b1f8cb4571c1e3c48f.

10 years agoFix saving sessions on windows by using g_rename instead of ::rename
Paul Davis [Sat, 13 Jul 2013 21:01:47 +0000 (17:01 -0400)]
Fix saving sessions on windows by using g_rename instead of ::rename

10 years agoAdd test for Glib::Mutex::trylock
Paul Davis [Sat, 13 Jul 2013 21:00:18 +0000 (17:00 -0400)]
Add test for Glib::Mutex::trylock

Behaviour of this method is different on WIN32

10 years agoDon't use trylock in assertions on windows as it will fail
Paul Davis [Sat, 13 Jul 2013 20:57:04 +0000 (16:57 -0400)]
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.

10 years agoAdd config/data filesystem paths to search on windows
Paul Davis [Sat, 13 Jul 2013 20:56:12 +0000 (16:56 -0400)]
Add config/data filesystem paths to search on windows

10 years agoAdd DEBUG_TRACE output to file utility functions in libpbd
Paul Davis [Sat, 13 Jul 2013 20:55:40 +0000 (16:55 -0400)]
Add DEBUG_TRACE output to file utility functions in libpbd

10 years agoAdd header include required by mingw compiler
Paul Davis [Sat, 13 Jul 2013 20:44:59 +0000 (16:44 -0400)]
Add header include required by mingw compiler

10 years agoUse g_mkstemp in audiographer for portability
Paul Davis [Sat, 13 Jul 2013 20:44:37 +0000 (16:44 -0400)]
Use g_mkstemp in audiographer for portability

10 years agoUse pthread_name instead of pthread_self for portability
Paul Davis [Sat, 13 Jul 2013 20:44:03 +0000 (16:44 -0400)]
Use pthread_name instead of pthread_self for portability

10 years agoUse pthread_name instead of pthread_self for portability
Paul Davis [Sat, 13 Jul 2013 20:43:50 +0000 (16:43 -0400)]
Use pthread_name instead of pthread_self for portability

10 years agoignore mouse-scroll if scroll-bar is not present.
Robin Gareus [Sat, 13 Jul 2013 12:58:23 +0000 (14:58 +0200)]
ignore mouse-scroll if scroll-bar is not present.

fixes http://tracker.ardour.org/view.php?id=5557

10 years agoWork around DELETE defined via windows.h
Paul Davis [Sat, 13 Jul 2013 12:45:27 +0000 (08:45 -0400)]
Work around DELETE defined via windows.h

10 years agoUse custom comparator in threadmap for pthread impl with mingw
Paul Davis [Sat, 13 Jul 2013 12:44:58 +0000 (08:44 -0400)]
Use custom comparator in threadmap for pthread impl with mingw

10 years agodisable pingback on win32, until we have a replacement for utsname stuff (system ID)
Paul Davis [Sat, 13 Jul 2013 12:38:17 +0000 (08:38 -0400)]
disable pingback on win32, until we have a replacement for utsname stuff (system ID)

10 years agoDon't call pango_ft2* functions on windows
Paul Davis [Sat, 13 Jul 2013 12:30:27 +0000 (08:30 -0400)]
Don't call pango_ft2* functions on windows

10 years agoUse PBD::GlibSemaphore on windows to signal peak
Paul Davis [Sat, 13 Jul 2013 12:27:56 +0000 (08:27 -0400)]
Use PBD::GlibSemaphore on windows to signal peak

10 years agoDisable non-realtime midi ports in windows build - THIS NEEDS FIXING
Paul Davis [Sat, 13 Jul 2013 12:26:54 +0000 (08:26 -0400)]
Disable non-realtime midi ports in windows build - THIS NEEDS FIXING

10 years agoAssume no filesystem links on windows
Paul Davis [Sat, 13 Jul 2013 12:20:45 +0000 (08:20 -0400)]
Assume no filesystem links on windows

10 years agoFix for small identifier being defined on windows/mingw
Paul Davis [Sat, 13 Jul 2013 12:20:01 +0000 (08:20 -0400)]
Fix for small identifier being defined on windows/mingw

10 years agoInclude pbd/timersub.h for mingw build
Paul Davis [Sat, 13 Jul 2013 12:19:32 +0000 (08:19 -0400)]
Include pbd/timersub.h for mingw build

10 years agoInclude pbd/localtime_r.h for mingw build
Paul Davis [Sat, 13 Jul 2013 12:19:03 +0000 (08:19 -0400)]
Include pbd/localtime_r.h for mingw build

10 years agoimplement visual-sensitivity (gray out) for faders
Robin Gareus [Fri, 12 Jul 2013 17:07:07 +0000 (19:07 +0200)]
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.

10 years agominor peak-meter performance tweak
Robin Gareus [Fri, 12 Jul 2013 15:56:42 +0000 (17:56 +0200)]
minor peak-meter performance tweak

* redraw only missing parts of the outside rectangle,
* don't redraw RMS meter if value has not changed

10 years agoremove *&@?!+%@ question :)
Robin Gareus [Fri, 12 Jul 2013 10:47:12 +0000 (12:47 +0200)]
remove *&@?!+%@ question :)

I would like to record, edit and mix,...
..but I don't need software to hold my hand and ask
childish questions if I would like to "open a session".

10 years agoclean up plugin-ui meter layout
Robin Gareus [Thu, 11 Jul 2013 18:38:52 +0000 (20:38 +0200)]
clean up plugin-ui meter layout

10 years agoDon't install signal handler for SIGPIPE in windows
Paul Davis [Fri, 12 Jul 2013 02:34:59 +0000 (22:34 -0400)]
Don't install signal handler for SIGPIPE in windows

10 years agoundef SearchPath where needed as it is defined via windows.h
Paul Davis [Fri, 12 Jul 2013 02:34:16 +0000 (22:34 -0400)]
undef SearchPath where needed as it is defined via windows.h

10 years agoUse Glib::usleep in export_dialog.cc for portability
Paul Davis [Fri, 12 Jul 2013 02:07:25 +0000 (22:07 -0400)]
Use Glib::usleep in export_dialog.cc for portability

10 years ago Add windows equivalent of hack in timefx
Paul Davis [Fri, 12 Jul 2013 02:06:20 +0000 (22:06 -0400)]
 Add windows equivalent of hack in timefx

10 years agoWork around DELETE defined via windows.h
Paul Davis [Fri, 12 Jul 2013 02:05:06 +0000 (22:05 -0400)]
Work around DELETE defined via windows.h

10 years agoFix ambiguous type CheckMenuItem that is also defined via windows.h
Paul Davis [Thu, 11 Jul 2013 19:32:31 +0000 (15:32 -0400)]
Fix ambiguous type CheckMenuItem that is also defined via windows.h

10 years agoWork around badly chosen argument name in giomm/dbusmessage.h
Paul Davis [Thu, 11 Jul 2013 19:29:28 +0000 (15:29 -0400)]
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

10 years agoundef SearchPath where needed as it is defined via windows.h
Paul Davis [Thu, 11 Jul 2013 19:24:36 +0000 (15:24 -0400)]
undef SearchPath where needed as it is defined via windows.h

10 years agoInclude pbd/localtime_r.h for mingw build
Paul Davis [Thu, 11 Jul 2013 19:23:12 +0000 (15:23 -0400)]
Include pbd/localtime_r.h for mingw build

10 years agoChange/improve enum as IN and OUT are defined via windows.h
Paul Davis [Thu, 11 Jul 2013 19:22:33 +0000 (15:22 -0400)]
Change/improve enum as IN and OUT are defined via windows.h

10 years agoDisable checking for memory locking support on windows
Paul Davis [Thu, 11 Jul 2013 19:18:31 +0000 (15:18 -0400)]
Disable checking for memory locking support on windows

not sure if this is needed on windows, can implement later in PBD

10 years agoUse uint32_t type instead of uint
Paul Davis [Thu, 11 Jul 2013 19:16:50 +0000 (15:16 -0400)]
Use uint32_t type instead of uint

10 years agoInclude pbd/timersub.h for mingw build
Paul Davis [Thu, 11 Jul 2013 19:16:11 +0000 (15:16 -0400)]
Include pbd/timersub.h for mingw build

10 years agoUse Glib functions to create tmp file path
Paul Davis [Thu, 11 Jul 2013 19:15:40 +0000 (15:15 -0400)]
Use Glib functions to create tmp file path

10 years agoWork around badly chosen argument name in giomm/dbusmessage.h
Paul Davis [Thu, 11 Jul 2013 19:14:51 +0000 (15:14 -0400)]
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

10 years agoInclude pthread.h in butler.h for mingw build
Paul Davis [Thu, 11 Jul 2013 19:11:22 +0000 (15:11 -0400)]
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.

10 years agoUse Glib::usleep for portability
Paul Davis [Thu, 11 Jul 2013 19:10:10 +0000 (15:10 -0400)]
Use Glib::usleep for portability

10 years agoUse PBD::pthread_name in debug output for portability
Paul Davis [Thu, 11 Jul 2013 19:09:29 +0000 (15:09 -0400)]
Use PBD::pthread_name in debug output for portability

10 years agoDisable some non-portable code that is only used for debugging
Paul Davis [Thu, 11 Jul 2013 19:08:47 +0000 (15:08 -0400)]
Disable some non-portable code that is only used for debugging

10 years agoUse jack_native_thread_t for portability
Paul Davis [Thu, 11 Jul 2013 19:08:10 +0000 (15:08 -0400)]
Use jack_native_thread_t for portability

Requires future attention in AudioEngine due to timbyr's use JACK2 extension to JACK API

10 years agoInclude pbd/localtime_r.h for mingw build
Paul Davis [Thu, 11 Jul 2013 19:00:56 +0000 (15:00 -0400)]
Include pbd/localtime_r.h for mingw build

10 years agoAdd ::localtime_r implementation for mingw
Paul Davis [Thu, 11 Jul 2013 19:00:22 +0000 (15:00 -0400)]
Add ::localtime_r implementation for mingw

10 years agoUse PBD::pthread_name in debug output
Paul Davis [Thu, 11 Jul 2013 18:58:00 +0000 (14:58 -0400)]
Use PBD::pthread_name in debug output

10 years agoremove direct of realpath(2), replace with canonical_path() which is a no-op on windows
Paul Davis [Thu, 11 Jul 2013 18:57:16 +0000 (14:57 -0400)]
remove direct of realpath(2), replace with canonical_path() which is a no-op on windows

10 years agoUse PBD::GlibSemaphore in Butler to signal requests on windows
Paul Davis [Thu, 11 Jul 2013 18:41:08 +0000 (14:41 -0400)]
Use PBD::GlibSemaphore in Butler to signal requests on windows

10 years agomake config-window suitable for small[er] screens
Robin Gareus [Thu, 11 Jul 2013 14:42:26 +0000 (16:42 +0200)]
make config-window suitable for small[er] screens

10 years agochange default color of plugin-UI gauge/meter
Robin Gareus [Thu, 11 Jul 2013 13:52:08 +0000 (15:52 +0200)]
change default color of plugin-UI gauge/meter

10 years agofix compiler warning
Robin Gareus [Thu, 11 Jul 2013 13:44:35 +0000 (15:44 +0200)]
fix compiler warning

10 years agoupdate plugin UIs at reasonable rate (25Hz)
Robin Gareus [Thu, 11 Jul 2013 12:54:28 +0000 (14:54 +0200)]
update plugin UIs at reasonable rate (25Hz)

10 years agoNOOP - prevent headaches and remove cruft
Robin Gareus [Thu, 11 Jul 2013 12:50:33 +0000 (14:50 +0200)]
NOOP - prevent headaches and remove cruft

Every "point zero one" seconds is only 25 Hz in ardour..

10 years agoAdd PBD::GlibSemaphore class that uses PBD::atomic_counter etc.
Paul Davis [Thu, 11 Jul 2013 18:38:53 +0000 (14:38 -0400)]
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

10 years agoAdd wrapping class for glib atomic counter
Paul Davis [Thu, 11 Jul 2013 18:37:27 +0000 (14:37 -0400)]
Add wrapping class for glib atomic counter

10 years agoRefactor the non-portable parts of Butler thread into new functions
Paul Davis [Thu, 11 Jul 2013 18:36:43 +0000 (14:36 -0400)]
Refactor the non-portable parts of Butler thread into new functions

10 years agoMove request pipe setup into separate function
Paul Davis [Thu, 11 Jul 2013 18:35:26 +0000 (14:35 -0400)]
Move request pipe setup into separate function

10 years agoInclude pbd/timersub.h in session_midi.cc
Paul Davis [Thu, 11 Jul 2013 18:31:15 +0000 (14:31 -0400)]
Include pbd/timersub.h in session_midi.cc

10 years agoAdd timersub macro for platforms where it isn't defined
Paul Davis [Thu, 11 Jul 2013 18:30:38 +0000 (14:30 -0400)]
Add timersub macro for platforms where it isn't defined

10 years agoUndef SearchPath where needed as it is defined via windows.h
Paul Davis [Thu, 11 Jul 2013 18:27:24 +0000 (14:27 -0400)]
Undef SearchPath where needed as it is defined via windows.h

This is pretty annoying, might even be worth renaming the class

10 years agoAdd cast for mingw compiler
Paul Davis [Thu, 11 Jul 2013 18:23:20 +0000 (14:23 -0400)]
Add cast for mingw compiler

10 years agoDon't require liblrdf on windows
Paul Davis [Thu, 11 Jul 2013 18:20:02 +0000 (14:20 -0400)]
Don't require liblrdf on windows

This removes dependence on liblrdf, libraptor and libxslt

10 years agoFix for ambiguity of UUID type on windows
Paul Davis [Thu, 11 Jul 2013 18:13:55 +0000 (14:13 -0400)]
Fix for ambiguity of UUID type on windows

10 years agoUse glibmm for modules instead of dlfch.h
Paul Davis [Thu, 11 Jul 2013 17:58:48 +0000 (13:58 -0400)]
Use glibmm for modules instead of dlfch.h

10 years agoDisable increasing open file limit on windows
Paul Davis [Thu, 11 Jul 2013 17:55:03 +0000 (13:55 -0400)]
Disable increasing open file limit on windows

10 years agoAdd necessary header include for int64_t type
Paul Davis [Thu, 11 Jul 2013 17:53:35 +0000 (13:53 -0400)]
Add necessary header include for int64_t type

10 years agoInclude header that declares ::free for mingw build
Paul Davis [Thu, 11 Jul 2013 17:53:12 +0000 (13:53 -0400)]
Include header that declares ::free for mingw build

10 years ago Disable peakfile reading and writing on windows for now
Paul Davis [Thu, 11 Jul 2013 17:52:29 +0000 (13:52 -0400)]
 Disable peakfile reading and writing on windows for now

There is no point trying to implement this until it can be tested

10 years agoINFINITE is defined via windows.h so undefine it
Paul Davis [Thu, 11 Jul 2013 17:05:24 +0000 (13:05 -0400)]
INFINITE is defined via windows.h so undefine it

10 years agoFix for mingw compiler
Paul Davis [Thu, 11 Jul 2013 17:04:39 +0000 (13:04 -0400)]
Fix for mingw compiler

10 years agoFix evoral test to compile with mingw
Paul Davis [Thu, 11 Jul 2013 17:03:55 +0000 (13:03 -0400)]
Fix evoral test to compile with mingw