fix up wscript/build issues in exportvis after merge with master
authorPaul Davis <paul@linuxaudiosystems.com>
Tue, 3 Dec 2013 16:51:25 +0000 (11:51 -0500)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 3 Dec 2013 16:51:25 +0000 (11:51 -0500)
21 files changed:
1  2 
gtk2_ardour/wscript
libs/ardour/ardour/audio_backend.h
libs/ardour/ardour/audio_buffer.h
libs/ardour/ardour/audioengine.h
libs/ardour/ardour/audiofile_tagger.h
libs/ardour/ardour/buffer.h
libs/ardour/ardour/midi_ui.h
libs/ardour/ardour/plugin.h
libs/ardour/ardour/port_engine.h
libs/ardour/ardour/route.h
libs/ardour/ardour/session.h
libs/ardour/ardour/slave.h
libs/ardour/wscript
libs/audiographer/audiographer/general/silence_trimmer.h
libs/libltc/wscript
libs/midi++2/midi++/ipmidi_port.h
libs/midi++2/midi++/mmc.h
libs/midi++2/midi++/port.h
libs/midi++2/midi++/types.h
libs/midi++2/wscript
libs/timecode/wscript

index e96fdc1388a3358c0d0885c5f7cc5839171bda21,b657e5fcd5306c77cce442f8c8d8c38d130bc363..417814fbb4acc7e6e1948eda1cc1ad3bdbe99768
@@@ -377,15 -378,16 +379,6 @@@ def build(bld)
                  ../libs/fst/vstwin.c
                  ../vst/winmain.c
          '''
-         obj.uselib = 'ALSA'
--        obj.use          = [ 'libpbd',
--                             'libmidipp',
--                             'libtaglib',
--                             'libardour',
--                             'libardour_cp',
 -                             'libtimecode',
 -                             'libmidipp',
--                             'libgtk2_ardour',
--                             'libgtkmm2ext',
--                             'libtaglib']
          obj.target = 'ardour-' + bld.env['VERSION'] + '-vst.exe.so'
          obj.includes  = [ '../libs/fst', '.' ]
          obj.linkflags = ['-mwindows', '-Wl,--export-dynamic']
      # continue with setup of obj, which could be a shared library
      # or an executable.
  
-     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
++    obj.use      = [ 'libpbd',
++                     'libardour',
++                     'libardour_cp',
++                     'libtimecode',
++                     'libmidipp',
++                     'libgtk2_ardour',
++                     'libgtkmm2ext',
++                     ]
 +
-     obj.uselib       = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG ALSA CURL DL'
-     obj.uselib       += ' GTKMM GNOMECANVASMM GNOMECANVAS '
+     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+     obj.uselib       = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG CURL DL'
+     obj.uselib       += ' GTKMM GNOMECANVASMM GNOMECANVAS FFTW3F'
      obj.uselib       += ' AUDIOUNITS OSX GTKOSX LO '
-     obj.use          = [ 'libpbd',
-                          'libmidipp',
-                          'libtaglib',
-                          'ardour',
-                          'libardour_cp',
-                          'libgtkmm2ext',
-                          'libtaglib',
-                          'timecode_includes'
-                          ]
+     if bld.is_defined('USE_EXTERNAL_LIBS'):
+         obj.uselib += ' TAGLIB'
+     else:
+         obj.use.append('libtaglib')
      if sys.platform == 'darwin':
          obj.use += ' libappleutility'
 -    obj.defines     = [
 +    obj.defines     += [
          'PACKAGE="' + I18N_PACKAGE + '"',
          'VERSIONSTRING="' + bld.env['VERSION'] + '"',
          'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"',
index 175fc5bbf3477d2f9760861747efc0b213f3f096,17d7cd4010413023b8733d336f13348f8f3305bd..267d3acb70c872afb3b7b153fe668add1b705695
@@@ -458,11 -470,28 +471,28 @@@ class LIBARDOUR_API AudioBackend : publ
  
      virtual void update_latencies () = 0;
  
+     /** Set @param speed and @param position to the current speed and position
+      * indicated by some transport sync signal.  Return whether the current
+      * transport state is pending, or finalized.
+      *
+      * Derived classes only need implement this if they provide some way to
+      * sync to a transport sync signal (e.g. Sony 9 Pin) that is not
+      * handled by Ardour itself (LTC and MTC are both handled by Ardour).
+      * The canonical example is JACK Transport.
+      */
+      virtual bool speed_and_position (double& speed, framepos_t& position) {
+            speed = 0.0;
+            position = 0;
+            return false;
+      }
    protected:
      AudioEngine&          engine;
+     virtual int _start (bool for_latency_measurement) = 0;
  };
  
 -struct AudioBackendInfo {
 +struct LIBARDOUR_API AudioBackendInfo {
      const char* name;
  
      /** Using arg1 and arg2, initialize this audiobackend.
Simple merge
Simple merge
index 9b24ffade345bc44fe1e5510cfa5bb0306677faa,656626a5f36feaa6657d79942763174a4c1279be..88789f9036545c39d7a9654f2c15afcccf25c2f8
  
  #include <string>
  
- #include "taglib/tag.h"
- #include "taglib/taglib.h"
- #include "taglib/xiphcomment.h"
+ #include <taglib/tag.h>
+ #include <taglib/taglib.h>
+ #include <taglib/xiphcomment.h>
  
 +#include "ardour/libardour_visibility.h"
 +
  namespace ARDOUR
  {
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 5b0cf755a72597a5a4563b3f03c583b8ad5f2819,9b4fbef77499b5081e27691e77cadf6f9000e4cf..ade8fa79049e4886a7a3b61c25a8d55db5e757fb
@@@ -36,6 -36,8 +36,8 @@@
  
  #include <glibmm/threads.h>
  
 -#include <ltc.h>
++#include <ltc/ltc.h>
  #include "pbd/error.h"
  #include "pbd/event_loop.h"
  #include "pbd/rcu.h"
index faeb3be357c51dd7285451521f9d6fa03154db99,ca3f618af1de1ed5363d6f971a12b73cc86a91f5..8c50aea5d3d525a5f11969f135b75cb5b8ec0964
  #include <glibmm/threads.h>
  
  #include <jack/jack.h>
 -#include <ltc.h>
++#include <ltc/ltc.h>
  
  #include "pbd/signals.h"
  
  #include "timecode/time.h"
- #include "ltc/ltc.h"
  
 +#include "ardour/libardour_visibility.h"
  #include "ardour/types.h"
  #include "midi++/parser.h"
  #include "midi++/types.h"
index 82a4af63881a9d8e633a7999f5d66379e3dba8f3,2a3c998ca1893ff4009034bce0777d4675ab86e0..435213b5f92d5d850d5a6cbe6040d23148971ada
@@@ -339,12 -333,17 +339,21 @@@ def build(bld)
      obj.uselib       = ['GLIBMM','GTHREAD','AUBIO','SIGCPP','XML','UUID',
                          'SNDFILE','SAMPLERATE','LRDF','AUDIOUNITS',
                          'OSX','BOOST','CURL','DL']
-     obj.use          = ['libpbd','libmidipp','libevoral','libvamphost',
-                         'libvampplugin','libtaglib','librubberband',
-                         'libaudiographer', 'ltc', 'timecode_includes' ]
 -    obj.use          = ['libpbd','libmidipp','libevoral','libvampplugin',
 -                        'libaudiographer','libltc','libtimecode']
++    obj.use          = ['libpbd','libmidipp','libevoral', 'libvampplugin',
++                        'libaudiographer', 
++                        'libltc_includes',
++                        'libltc',
++                        'libtimecode_includes',
++                        ]
+     if bld.is_defined('USE_EXTERNAL_LIBS'):
 -        obj.uselib.extend(['RUBBERBAND', 'TAGLIB', 'LIBLTC', 'VAMPSDK',
++        obj.uselib.extend(['RUBBERBAND', 'TAGLIB', 'VAMPSDK',
+                            'VAMPHOSTSDK'])
+     else:
 -        obj.use.extend(['libltc', 'librubberband', 'libtaglib', 'libvamphost'])
++        obj.use.extend(['librubberband', 'libtaglib', 'libvamphost'])
      obj.vnum         = LIBARDOUR_LIB_VERSION
      obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
 -    obj.defines      = [
 +    obj.defines      += [
          'PACKAGE="' + I18N_PACKAGE + '"',
          'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"',
          'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"',
index c0b2057298e2ff00d7be10b3b1b34a3b7c7b9383,88f1c2f570278e5ee0e623e72a611a1619961495..7938cd18fdf9fa17b2dbd892cd3c8eda938a1102
@@@ -29,20 -29,30 +29,25 @@@ def options(opt)
      autowaf.set_options(opt)
  
  def configure(conf):
-     conf.load('compiler_c')
-     autowaf.configure(conf)
+     if conf.is_defined('USE_EXTERNAL_LIBS'):
+         autowaf.check_pkg(conf, 'ltc', uselib_store='LIBLTC', atleast_version=LIBLTC_LIB_VERSION, mandatory=True)
+     else:
+         conf.load('compiler_c')
+         autowaf.configure(conf)
  
  def build(bld):
 -    obj = bld(features = 'c cshlib')
 -    obj.source = '''
 -              ltc.c
 -              timecode.c
 -              encoder.c
 -              decoder.c
 -    '''
 -
 -    obj.export_includes = ['./ltc']
 -    obj.includes     = ['.']
 -    obj.name         = 'libltc'
 -    obj.target       = 'ltc'
 -    obj.vnum         = LIBLTC_LIB_VERSION
 -    obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
 -    obj.defines     = ['PACKAGE="' + I18N_PACKAGE + '"']
+     if bld.is_defined('USE_EXTERNAL_LIBS'):
+         return
-          name = 'ltc_includes'
 +    bld (export_includes = ['.'],
 +         includes     = ['.'],
-                target = 'ltc',
-                use    = 'ltc_includes'
++         name = 'libltc_includes'
 +         )
 +
 +    bld.stlib (source = ['ltc.c', 'timecode.c', 'encoder.c', 'decoder.c'],
 +               cflags = [ '-fPIC' ],
++               target = 'libltc',
++               use    = 'libltc_includes'
 +               )
  
  def shutdown():
      autowaf.shutdown()
Simple merge
Simple merge
Simple merge
index a731855daa1a12b3dc4166e98ab1795751e8712d,598bb8ab5a5a26442c25755c596eb897a8f2c43b..92858eaa601c7f89d18bf172d1fc572a1923de40
  #ifndef __midi_types_h__
  #define __midi_types_h__
  
- #include <jack/jack.h>
  #include <inttypes.h>
  
 +#include "midi++/libmidi_visibility.h"
 +
  namespace MIDI {
  
        typedef char           channel_t;
index c05075a5f180b03990643d58c496c9960dc64b1a,000cc39e5fc2fcaca29b04b68d91eeb6f4a0f883..a42d909e65e487810df8de019b5065ba9efc22e5
@@@ -47,10 -47,9 +47,9 @@@ def options(opt)
  def configure(conf):
      conf.load('compiler_cxx')
      autowaf.build_version_files(path_prefix+'midi++/version.h', path_prefix+'version.cc',
 -                    'midipp', MAJOR, MINOR, MICRO)
 +                    'midipp', MAJOR, MINOR, MICRO, 'LIBMIDIPP_API', 'midi++/libmidi_visibility.h')
      autowaf.configure(conf)
      autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False)
-     autowaf.check_pkg(conf, 'jack', uselib_store='JACK', atleast_version='0.118.2')
      autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML')
      autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0')
  
@@@ -62,21 -61,16 +61,21 @@@ def build(bld)
      # Library
      if bld.is_defined ('INTERNAL_SHARED_LIBS'):
          obj              = bld.shlib(features = 'cxx cxxshlib', source=libmidi_sources)
 +        obj.defines      = [ 'LIBMIDIPP_DLL_EXPORTS=1' ]
 +        obj.cxxflags     = [ '-fvisibility=hidden' ]
 +        obj.cflags       = [ '-fvisibility=hidden' ]
      else:
          obj              = bld.stlib(features = 'cxx cxxstlib', source=libmidi_sources)
-         obj.cxxflags     = [ '-fPIC', '-DWITH_JACK_MIDI' ]
 -        obj.cxxflags = [ '-fPIC' ]
++        obj.cxxflags     = [ '-fPIC' ]
 +        obj.defines      = []
 +
      # everybody loves JACK
      obj.export_includes = ['.']
      obj.includes     = ['.', '../surfaces/control_protocol', '../ardour' ]
      obj.name         = 'libmidipp'
      obj.target       = 'midipp'
-     obj.uselib       = 'GLIBMM SIGCPP XML JACK OSX'
-     obj.use          = 'libpbd libevoral timecode'
+     obj.uselib       = 'GLIBMM SIGCPP XML OSX'
 -    obj.use          = 'libpbd libevoral libtimecode'
++    obj.use          = 'libpbd libevoral libtimecode libtimecode_includes'
      obj.vnum         = LIBMIDIPP_LIB_VERSION
      obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
  
index 756feb618538b1e5e1c904d8a4fe20d4f279e1c8,034292b1ddd01951e63a38583194cfeeec3c4606..6bbf9493bd16f736a72ab8a857642a8600bdb368
@@@ -15,16 -30,15 +15,16 @@@ def configure(conf)
      autowaf.configure(conf)
  
  def build(bld):
 -    # Library
 -    obj = bld(features = 'cxx cxxshlib')
 -    obj.source         = [ 'src/time.cc', 'src/bbt_time.cc' ]
 -    obj.export_includes = ['.']
 -    obj.includes       = ['.', './src']
 -    obj.name           = 'libtimecode'
 -    obj.target         = 'timecode'
 -    obj.vnum           = TIMECODE_LIB_VERSION
 -    obj.install_path   = os.path.join(bld.env['LIBDIR'], 'ardour3')
 +    bld (export_includes = ['.'],
 +         includes        = ['.'],
-          name            = 'timecode_includes'
++         name            = 'libtimecode_includes'
 +         )
 +
 +    bld.stlib (cxxflags = [ '-fPIC' ],
 +               source   = [ 'src/time.cc', 'src/bbt_time.cc' ],
-                target   = 'timecode',
-                use      = 'timecode_includes'
++               target   = 'libtimecode',
++               use      = 'libtimecode_includes'
 +               )
  
  def shutdown():
      autowaf.shutdown()