import time
from waflib.Task import Task
-# Version of this package (even if built as a child)
-MAJOR = '3'
-MINOR = '0'
-MICRO = '0'
-GTK2_ARDOUR_VERSION = "%s.%s.%s" % (MAJOR, MINOR, MICRO)
-
-# Variables for 'waf dist'
-APPNAME = 'gtk2_ardour3'
-VERSION = GTK2_ARDOUR_VERSION
I18N_PACKAGE = 'gtk2_ardour3'
# Mandatory variables
'automation_streamview.cc',
'automation_time_axis.cc',
'axis_view.cc',
+ 'big_clock_window.cc',
'bundle_manager.cc',
'button_joiner.cc',
- 'canvas-flag.cc',
- 'canvas-hit.cc',
- 'canvas-note-event.cc',
- 'canvas-note.cc',
- 'canvas_patch_change.cc',
- 'canvas-simpleline.c',
- 'canvas-simplerect.c',
- 'canvas-sysex.cc',
- 'canvas-waveview.c',
'clock_group.cc',
'configinfo.cc',
'control_point.cc',
'control_point_dialog.cc',
'curvetest.cc',
'debug.cc',
- 'diamond.cc',
'edit_note_dialog.cc',
'editing.cc',
'editor.cc',
'fft.cc',
'fft_graph.cc',
'fft_result.cc',
+ 'sfdb_freesound_mootcher.cc',
'gain_meter.cc',
'generic_pluginui.cc',
'ghostregion.cc',
'insert_time_dialog.cc',
'interthread_progress_window.cc',
'io_selector.cc',
+ 'hit.cc',
'keyboard.cc',
'keyeditor.cc',
'latency_gui.cc',
'led.cc',
'level_meter.cc',
- 'lineset.cc',
'location_ui.cc',
'main.cc',
'main_clock.cc',
'mixer_group_tabs.cc',
'mixer_strip.cc',
'mixer_ui.cc',
+ 'meterbridge.cc',
+ 'meter_strip.cc',
+ 'meter_patterns.cc',
'monitor_section.cc',
'mono_panner.cc',
'mono_panner_editor.cc',
'nag.cc',
'new_plugin_preset_dialog.cc',
'normalize_dialog.cc',
+ 'note.cc',
+ 'note_base.cc',
'note_player.cc',
+ 'nsm.cc',
+ 'nsmclient.cc',
'option_editor.cc',
'opts.cc',
'panner2d.cc',
'panner_editor.cc',
'panner_interface.cc',
'panner_ui.cc',
+ 'patch_change.cc',
'piano_roll_header.cc',
+ 'pingback.cc',
'playlist_selector.cc',
'plugin_eq_gui.cc',
'plugin_selector.cc',
'session_option_editor.cc',
'sfdb_ui.cc',
'shuttle_control.cc',
- 'simpleline.cc',
- 'simplerect.cc',
'splash.cc',
'speaker_dialog.cc',
'startup.cc',
'stereo_panner_editor.cc',
'streamview.cc',
'strip_silence_dialog.cc',
+ 'sys_ex.cc',
'tape_region_view.cc',
'tempo_dialog.cc',
'tempo_lines.cc',
'version.cc',
'visibility_group.cc',
'volume_controller.cc',
- 'waveview.cc',
- 'window_proxy.cc'
+ 'window_manager.cc',
+# video-timeline related sources:
+ 'video_image_frame.cc',
+ 'add_video_dialog.cc',
+ 'editor_videotimeline.cc',
+ 'video_timeline.cc',
+ 'system_exec.cc',
+ 'video_monitor.cc',
+ 'transcode_ffmpeg.cc',
+ 'transcode_video_dialog.cc',
+ 'video_server_dialog.cc',
+ 'utils_videotl.cc',
+ 'export_video_dialog.cc',
+ 'export_video_infobox.cc'
]
def options(opt):
def configure(conf):
conf.load('misc')
conf.load('compiler_cxx')
+ # we don't use hard-coded micro versions with ardour, so hard code it to zero
autowaf.build_version_files(
path_prefix + 'version.h',
path_prefix + 'version.cc',
- 'gtk2_ardour', MAJOR, MINOR, MICRO)
+ 'gtk2_ardour', conf.env['MAJOR'], conf.env['MINOR'], 0)
autowaf.configure(conf)
- if re.search ("linux", sys.platform) != None:
- autowaf.check_pkg(conf, 'alsa', uselib_store='ALSA')
+ if Options.options.dist_target == 'auto':
+ if re.search ("linux", sys.platform) != None:
+ autowaf.check_pkg(conf, 'alsa', uselib_store='ALSA')
# TODO: Insert a sanity check for on OS X to ensure CoreAudio is present
atleast_version='2.18')
autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM',
atleast_version='2.18')
- autowaf.check_pkg(conf, 'libgnomecanvas-2.0',
- uselib_store='GNOMECANVAS', atleast_version='2.30')
- autowaf.check_pkg(conf, 'libgnomecanvasmm-2.6',
- uselib_store='GNOMECANVASMM', atleast_version='2.16')
autowaf.check_pkg(conf, 'ogg', uselib_store='OGG', atleast_version='1.1.2')
autowaf.check_pkg(conf, 'x11', uselib_store='X11', atleast_version='1.1', mandatory=False)
autowaf.check_pkg(conf, 'fontconfig', uselib_store='FONTCONFIG')
def build(bld):
+ VERSION = "%s.%s" % (bld.env['MAJOR'], bld.env['MINOR'])
+
if bld.is_defined('WINDOWS_VST_SUPPORT'):
# If we require VST support we build a stub main() and the FST library
# here using winegcc, and link it to the GTK front-end library
'libardour_cp',
'libgtk2_ardour',
'libgtkmm2ext',
- 'libtaglib' ]
- obj.target = 'ardour-3.0-vst.exe.so'
+ 'libtaglib',
+ 'libcanvas'
+ ]
+ obj.target = 'ardour-' + bld.env['VERSION'] + '-vst.exe.so'
obj.includes = [ '../libs/fst', '.' ]
- obj.linkflags = ['-mwindows', '-Wl,--export-dynamic', '-lpthread']
+ obj.linkflags = ['-mwindows', '-Wl,--export-dynamic']
obj.defines = ['_POSIX_SOURCE', 'USE_WS_PREFIX']
obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
# end of the wine executable
# just the normal executable version of the GTK GUI
obj = bld(features = 'cxx c cxxprogram')
obj.source = gtk2_ardour_sources
- obj.target = 'ardour-3.0'
+ obj.target = 'ardour-' + bld.env['VERSION']
obj.includes = ['.']
# continue with setup of obj, which could be a shared library
obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
- obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG ALSA CURL DL'
- obj.uselib += ' GTKMM GNOMECANVASMM GNOMECANVAS '
- obj.uselib += ' AUDIOUNITS OSX GTKOSX '
+ obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG ALSA CURL DL GTKMM LO'
obj.use = [ 'libpbd',
'libmidipp',
'libtaglib',
'libardour',
'libardour_cp',
'libgtkmm2ext',
- 'libtaglib' ]
+ 'libtaglib',
+ 'libcanvas'
+ ]
+ if bld.env['build_target'] == 'mingw':
+ if bld.env['DEBUG'] == False:
+ obj.linkflags = ['-mwindows']
if sys.platform == 'darwin':
- obj.use += ' libappleutility'
+ obj.uselib += ' AUDIOUNITS OSX GTKOSX'
+ obj.use += ' libappleutility'
obj.defines = [
'PACKAGE="' + I18N_PACKAGE + '"',
'VERSIONSTRING="' + bld.env['VERSION'] + '"',
obj.source += [ 'lv2_plugin_ui.cc' ]
obj.use += [ 'SUIL' ]
- if bld.is_defined('FREESOUND'):
- obj.source += [ 'sfdb_freesound_mootcher.cc' ]
- obj.defines += [ 'FREESOUND' ]
-
if bld.is_defined('NEED_INTL'):
obj.linkflags = ' -lintl'
'DATADIR' : os.path.normpath(bld.env['DATADIR']),
'SYSCONFDIR' : os.path.normpath(bld.env['SYSCONFDIR']),
'LIBS' : 'build/libs',
- 'VERSION' : '3.0',
- 'EXECUTABLE' : 'build/gtk2_ardour/ardour-3.0'
+ 'VERSION' : bld.env['VERSION'],
+ 'EXECUTABLE' : 'build/gtk2_ardour/ardour-' + bld.env['VERSION']
}
def set_subst_dict(obj, dict):
'SMALLER' : '9',
'SMALL' : '10',
'NORMAL' : '11',
- 'BIG' : '12',
- 'BIGGER' : '14',
+ 'BIG' : '13',
+ 'BIGGER' : '17',
'LARGE' : '18',
'LARGER' : '28',
'HUGER' : '36',
'MASSIVE' : '60',
}
+
+ # There is no acceptable monospace font available on older versions of OS X
+ # and no API on those versions to load TTF files that will work with
+ # GTK/fontconfig/pango.
+ #
+ # In addition, the ArdourMono font gets clipped for some reason on OS X
+ #
+ # Moreover, Lucida Grande just seems to work even though it is not monospace
+ # so just use it.
+ #
font_names = {
- 'BOLD_MONOSPACE' : 'monospace'
+ 'MONOSPACE' : 'Lucida Grande',
}
else: # Linux/X11 fonts
basefont = '' # unspecified - use system defaults
'SMALL' : '9',
'NORMAL' : '10',
'BIG' : '14',
- 'BIGGER' : '16',
+ 'BIGGER' : '17',
'LARGE' : '18',
'LARGER' : '24',
'HUGER' : '34',
'MASSIVE' : '60',
}
font_names = {
- 'BOLD_MONOSPACE' : 'ArdourMono'
+ 'MONOSPACE' : 'ArdourMono',
}
# Set up font substitution dictionary
# Menus
menus_argv = []
if bld.is_defined('GTKOSX'):
- menus_argv = [ '-E', '-P', '-DGTKOSX' ]
+ menus_argv = [ '-E', '-P', '-DGTKOSX', '-DNOVIDEOTIMELINE' ]
else:
menus_argv = [ '-E', '-P' ]
+
obj = bld(features = 'command-output')
obj.command = 'cpp'
obj.command_is_external = True
obj.argv = menus_argv
obj.stdin = 'ardour.menus.in'
obj.stdout = 'ardour.menus'
+ obj.dep_vars = ['GTKOSX']
bld.install_files(os.path.join(bld.env['SYSCONFDIR'], 'ardour3'),
'ardour.menus')