finished merge of cairocanvas with windows and windows+cc branches
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 10 Jan 2014 22:11:10 +0000 (17:11 -0500)
committerPaul Davis <paul@linuxaudiosystems.com>
Fri, 10 Jan 2014 22:11:10 +0000 (17:11 -0500)
21 files changed:
1  2 
gtk2_ardour/ardour_ui.cc
gtk2_ardour/automation_line.cc
gtk2_ardour/main.cc
gtk2_ardour/plugin_eq_gui.cc
gtk2_ardour/system_exec.cc
gtk2_ardour/system_exec.h
gtk2_ardour/wscript
libs/ardour/ardour/debug.h
libs/ardour/ardour/directory_names.h
libs/ardour/ardour/session_event.h
libs/ardour/audio_buffer.cc
libs/ardour/audio_diskstream.cc
libs/ardour/panner_search_path.cc
libs/ardour/wscript
libs/backends/jack/wscript
libs/gtkmm2ext/wscript
libs/pbd/fpu.cc
libs/pbd/pbd/abstract_ui.h
tools/autowaf.py
waf
wscript

index a2a5f0a385e12981b0fa790adc959e85a44a5780,c99c2c39d4485ea039d9787838398847f8a94b4f..a771ed48b990831201d988541847bf7bca5ba8f0
@@@ -757,9 -753,8 +757,9 @@@ ARDOUR_UI::starting (
                        // wait for announce reply from nsm server
                        for ( i = 0; i < 5000; ++i) {
                                nsm->check ();
 +
                                Glib::usleep (i);
-                               if (nsm->is_active())
+                               if (nsm->is_active()) {
                                        break;
                                }
                        }
index 2551b40c753abbb330705c1134349481aa3ff652,7e60bff2e34ffc0c98a125780eef574dea03776b..9fe1e0fa19cf61beee1b2fe81757dd9d37dfe431
  
  */
  
- // 'std::isinf()' and 'std::isnan()' are not available in MSVC.
 +#ifdef COMPILER_MSVC
 +#include <float.h>
- #else
- using std::isnan;
- using std::isinf;
++/* isinf() & isnan() are C99 standards, which older MSVC doesn't provide */
 +#define isinf(val) !((bool)_finite((double)val))
 +#define isnan(val) (bool)_isnan((double)val)
 +#endif
 +
  #include <cmath>
  #include <climits>
  #include <vector>
Simple merge
index 4bf2a5f87913e8143b67c0bc9aa61446c84e9632,631fb7be716f50d17993048ce134b3e51cc8b7f5..9a91d0c124dea0647c2183f481b6b704e036cdb5
  
  */
  
- // 'std::isinf()' and 'std::isnan()' are not available in MSVC.
 +#ifdef COMPILER_MSVC
 +#include <float.h>
- #else
- using std::isnan;
- using std::isinf;
++/* isinf() & isnan() are C99 standards, which older MSVC doesn't provide */
 +#define isinf(val) !((bool)_finite((double)val))
 +#define isnan(val) (bool)_isnan((double)val)
 +#endif
 +
  #include "plugin_eq_gui.h"
  #include "fft.h"
  
Simple merge
Simple merge
Simple merge
index c26710b62095a124c3a20627b4608704d6dd2e56,47eee69df56fea6c3163765f70985f2bb1a19cd3..d5d81b87729ece5b4051ac6d0654f0f14b0d198d
  
  namespace PBD {
        namespace DEBUG {
 -              extern uint64_t MidiSourceIO;
 -              extern uint64_t MidiPlaylistIO;
 -              extern uint64_t MidiDiskstreamIO;
 -              extern uint64_t SnapBBT;
 -              extern uint64_t Configuration;
 -              extern uint64_t Latency;
 -              extern uint64_t Peaks;
 -              extern uint64_t Processors;
 -              extern uint64_t ProcessThreads;
 -              extern uint64_t Graph;
 -              extern uint64_t Destruction;
 -              extern uint64_t MTC;
 -              extern uint64_t LTC;
 -              extern uint64_t Transport;
 -              extern uint64_t Slave;
 -              extern uint64_t SessionEvents;
 -              extern uint64_t MidiIO;
 -              extern uint64_t MackieControl;
 -              extern uint64_t MidiClock;
 -              extern uint64_t Monitor;
 -              extern uint64_t Solo;
 -              extern uint64_t AudioPlayback;
 -              extern uint64_t Panning;
 -              extern uint64_t LV2;
 -              extern uint64_t CaptureAlignment;
 -              extern uint64_t PluginManager;
 -              extern uint64_t AudioUnits;
 -              extern uint64_t ControlProtocols;
 -              extern uint64_t CycleTimers;
 -              extern uint64_t MidiTrackers;
 -              extern uint64_t Layering;
 -              extern uint64_t TempoMath;
 -              extern uint64_t TempoMap;
 -              extern uint64_t OrderKeys;
 -              extern uint64_t Automation;
 -              extern uint64_t WiimoteControl;
 -              extern uint64_t Ports;
 +              LIBARDOUR_API extern uint64_t MidiSourceIO;
 +              LIBARDOUR_API extern uint64_t MidiPlaylistIO;
 +              LIBARDOUR_API extern uint64_t MidiDiskstreamIO;
 +              LIBARDOUR_API extern uint64_t SnapBBT;
 +              LIBARDOUR_API extern uint64_t Configuration;
 +              LIBARDOUR_API extern uint64_t Latency;
++              LIBARDOUR_API extern uint64_t Peaks;
 +              LIBARDOUR_API extern uint64_t Processors;
 +              LIBARDOUR_API extern uint64_t ProcessThreads;
 +              LIBARDOUR_API extern uint64_t Graph;
 +              LIBARDOUR_API extern uint64_t Destruction;
 +              LIBARDOUR_API extern uint64_t MTC;
 +              LIBARDOUR_API extern uint64_t LTC;
 +              LIBARDOUR_API extern uint64_t Transport;
 +              LIBARDOUR_API extern uint64_t Slave;
 +              LIBARDOUR_API extern uint64_t SessionEvents;
 +              LIBARDOUR_API extern uint64_t MidiIO;
 +              LIBARDOUR_API extern uint64_t MackieControl;
 +              LIBARDOUR_API extern uint64_t MidiClock;
 +              LIBARDOUR_API extern uint64_t Monitor;
 +              LIBARDOUR_API extern uint64_t Solo;
 +              LIBARDOUR_API extern uint64_t AudioPlayback;
 +              LIBARDOUR_API extern uint64_t Panning;
 +              LIBARDOUR_API extern uint64_t LV2;
 +              LIBARDOUR_API extern uint64_t CaptureAlignment;
 +              LIBARDOUR_API extern uint64_t PluginManager;
 +              LIBARDOUR_API extern uint64_t AudioUnits;
 +              LIBARDOUR_API extern uint64_t ControlProtocols;
 +              LIBARDOUR_API extern uint64_t CycleTimers;
 +              LIBARDOUR_API extern uint64_t MidiTrackers;
 +              LIBARDOUR_API extern uint64_t Layering;
 +              LIBARDOUR_API extern uint64_t TempoMath;
 +              LIBARDOUR_API extern uint64_t TempoMap;
 +              LIBARDOUR_API extern uint64_t OrderKeys;
 +              LIBARDOUR_API extern uint64_t Automation;
 +              LIBARDOUR_API extern uint64_t WiimoteControl;
 +              LIBARDOUR_API extern uint64_t Ports;
        }
  }
  
index 9eb2254219cf6c084d9a5a00fb1c40620fe0e8f4,72a456efe670c8ab6ec653aeea1b5e90f0ff2029..db5d770739765e80632523522841671dff6ca2b9
  #ifndef __ardour_directory_names_h__
  #define __ardour_directory_names_h__
  
 +#include "ardour/libardour_visibility.h"
 +
  namespace ARDOUR {
  
 -extern const char* const old_sound_dir_name;
 -extern const char* const sound_dir_name;
 -extern const char* const midi_dir_name;
 -extern const char* const midi_patch_dir_name;
 -extern const char* const video_dir_name;
 -extern const char* const dead_dir_name;
 -extern const char* const interchange_dir_name;
 -extern const char* const peak_dir_name;
 -extern const char* const export_dir_name;
 -extern const char* const export_formats_dir_name;
 -extern const char* const templates_dir_name;
 -extern const char* const route_templates_dir_name;
 -extern const char* const surfaces_dir_name;
 -extern const char* const ladspa_dir_name;
 -extern const char* const user_config_dir_name;
 -extern const char* const panner_dir_name;
 -extern const char* const backend_dir_name;
 +      LIBARDOUR_API extern const char* const old_sound_dir_name;
 +      LIBARDOUR_API extern const char* const sound_dir_name;
++      LIBARDOUR_API extern const char* const ladspa_dir_name;
 +      LIBARDOUR_API extern const char* const midi_dir_name;
 +      LIBARDOUR_API extern const char* const midi_patch_dir_name;
 +      LIBARDOUR_API extern const char* const video_dir_name;
 +      LIBARDOUR_API extern const char* const dead_dir_name;
 +      LIBARDOUR_API extern const char* const interchange_dir_name;
 +      LIBARDOUR_API extern const char* const peak_dir_name;
 +      LIBARDOUR_API extern const char* const export_dir_name;
 +      LIBARDOUR_API extern const char* const export_formats_dir_name;
 +      LIBARDOUR_API extern const char* const templates_dir_name;
 +      LIBARDOUR_API extern const char* const route_templates_dir_name;
 +      LIBARDOUR_API extern const char* const surfaces_dir_name;
 +      LIBARDOUR_API extern const char* const user_config_dir_name;
 +      LIBARDOUR_API extern const char* const panner_dir_name;
 +      LIBARDOUR_API extern const char* const backend_dir_name;
  
  };
  
index d4102a62eff2b779043e2ea548e092a02a8b7ab1,8629f83c855a12bf8f67d2770d836a1912ab7e4f..1283f320040eb2ba3c58929bd69e86df51c1f7f7
@@@ -109,7 -109,7 +109,7 @@@ public
  
        boost::shared_ptr<Region> region;
  
--    SessionEvent (Type t, Action a, framepos_t when, framepos_t where, double spd, bool yn = false, bool yn2 = false, bool yn3 = false)
++      SessionEvent (Type t, Action a, framepos_t when, framepos_t where, double spd, bool yn = false, bool yn2 = false, bool yn3 = false)
                : type (t)
                , action (a)
                , action_frame (when)
index b4e2a55ac2e7d38452e4dda3a7517dbaf03880fa,a36ad81c2ae118d39195a9e874e92e6eb1b38f67..aa4f64755aeb9399d31e402b8703eae2dd1a4d1d
@@@ -85,17 -85,3 +85,17 @@@ AudioBuffer::check_silence (pframes_t n
        }
        return true;
  }
-       pframes_t n = 0;
 +
 +void
 +AudioBuffer::silence (framecnt_t len, framecnt_t offset) {
++
 +      if (!_silent) {
 +              assert(_capacity > 0);
 +              assert(offset + len <= _capacity);
 +              memset(_data + offset, 0, sizeof (Sample) * len);
 +              if (len == _capacity) {
 +                      _silent = true;
 +              }
 +      }
 +      _written = true;
 +}
index f4d10c2043041dc41e83926acb9aceed428a944e,0a9393e98010010b02f65c58bd4fe9c042ecc41a..dd2dcf324eac9db2e6dcf34d5a3d408f920cdd61
@@@ -1789,7 -1789,7 +1789,7 @@@ AudioDiskstream::get_state (
        LocaleGuard lg (X_("POSIX"));
  
        boost::shared_ptr<ChannelList> c = channels.reader();
-       snprintf (buf, sizeof(buf), "%zd", c->size());
 -      snprintf (buf, sizeof(buf), "%d", c->size());
++      snprintf (buf, sizeof(buf), "%u", (unsigned int) c->size());
        node.add_property ("channels", buf);
  
        if (!capturing_sources.empty() && _session.get_record_enabled()) {
index 2889063ca47f4156500dfd24a07d245427883c93,100c406edd6d37314c92054596f916ef5c2fe922..c400aa6c3bb4471e1617d1b6e7930c867b7ae94f
@@@ -35,14 -35,10 +35,11 @@@ Searchpat
  panner_search_path ()
  {
        Searchpath spath(user_config_directory ());
++
        spath += ardour_dll_directory ();
        spath.add_subdirectory_to_paths(panner_dir_name);
- <<<<<<< HEAD
-       spath += SearchPath(Glib::getenv(panner_env_variable_name));
- =======
--
        spath += Searchpath(Glib::getenv(panner_env_variable_name));
- >>>>>>> windows+cc
++
        return spath;
  }
  
Simple merge
Simple merge
index c87e1aa1d09690c38c6812bb1dc3c8abf656ca9c,494ec8b225a60aef5e2908fda499f2f0c863e5d0..bae2fbe4396f4f07df6fb5f5365e3ddad181ed7e
@@@ -86,10 -86,6 +86,10 @@@ def configure(conf)
  def build(bld):
      if bld.is_defined ('INTERNAL_SHARED_LIBS'):
          obj              = bld.shlib(features = 'c cxx cshlib cxxshlib', source=gtkmm2ext_sources)
-         obj.defines      = [ 'LIBGTKMM2EXT_DLL_EXPORTS=1' ]
 +        # defines for this library
++        obj.defines      = [ 'LIBGTKMM2EXT_DLL_EXPORTS', 'ABSTRACT_UI_EXPORTS' ]
 +        obj.cxxflags     = [ '-fvisibility=hidden' ]
 +        obj.cflags     = [ '-fvisibility=hidden' ]
      else:
          obj              = bld.stlib(features = 'c cxx cstlib cxxstlib', source=gtkmm2ext_sources)
          obj.cxxflags     = [ '-fPIC' ]
diff --cc libs/pbd/fpu.cc
Simple merge
index 1ceefe7b3b7a966b8c17824adc9013488ef723bb,ad97f25781fdf2420f87c94d6ca675e6165c578a..dc5620b2ef76354358862d03e8a1fcd594fb1c42
@@@ -52,7 -34,7 +52,7 @@@
  class Touchable;
  
  template<typename RequestObject>
- class /*ABSTRACT_UI_API*/ AbstractUI : public BaseUI /* see notes in visibility.h about why this is not LIBPBD_API */
 -class AbstractUI : public BaseUI
++class ABSTRACT_UI_API AbstractUI : public BaseUI
  {
    public:
        AbstractUI (const std::string& name);
Simple merge
diff --cc waf
index 9d2582a24ae88927c870031947139253f1c7b959,c29d226aff5dbe5b624ec83ccefdfb955308e9cf..d1d9ea72523d080ed943be74e8a1090e8689ca8f
Binary files differ
diff --cc wscript
index b302fe9d5a71168ab0b5ec3eeb619641a833a19e,d6410848f25a1dd3d51eed8c900003c14dcf5a62..a0b439e48c6f86a451f5696019dc0908c8ad20e0
+++ b/wscript
@@@ -123,20 -125,10 +126,20 @@@ def set_compiler_flags (conf,opt)
      #
  
      build_host_supports_sse = False
 +
 +    # Flags necessary for building
 +    compiler_flags = []     # generic
 +    c_flags = []            # C-specific
 +    cxx_flags = []          # C++-specific
 +    linker_flags = []
 +
 +    # Optimization flags (overridable)
      optimization_flags = []
 +
 +    # Debugging flags
      debug_flags = []
  
-     u = os.uname ()
+     u = PLATFORM.uname ()
      cpu = u[4]
      platform = u[0].lower()
      version = u[2]