X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fwscript;h=9831069d295dc1fddf9fd2e94784a2d0ab2b7e49;hb=5e7c7e52bd482dbdf8629b284781543975672766;hp=4cfcde79ef3e55d5b24fe8844ac3325d9f121edd;hpb=113bc3b38ec01f742752f4be8ddf1c24630ccd2d;p=ardour.git diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript index 4cfcde79ef..9831069d29 100644 --- a/gtk2_ardour/wscript +++ b/gtk2_ardour/wscript @@ -10,8 +10,6 @@ import time from waflib.Task import Task from waflib.Tools import winres -I18N_PACKAGE = 'gtk2_ardour3' - # Mandatory variables top = '.' out = 'build' @@ -63,6 +61,7 @@ gtk2_ardour_sources = [ 'editor.cc', 'editor_actions.cc', 'editor_audio_import.cc', + 'editor_pt_import.cc', 'editor_audiotrack.cc', 'editor_canvas.cc', 'editor_canvas_events.cc', @@ -108,7 +107,8 @@ gtk2_ardour_sources = [ 'group_tabs.cc', 'gtk_pianokeyboard.c', 'gui_object.cc', - 'insert_time_dialog.cc', + 'insert_remove_time_dialog.cc', + 'instrument_selector.cc', 'interthread_progress_window.cc', 'io_selector.cc', 'hit.cc', @@ -145,6 +145,7 @@ gtk2_ardour_sources = [ 'meter_strip.cc', 'meter_patterns.cc', 'monitor_section.cc', + 'monitor_selector.cc', 'mono_panner.cc', 'mono_panner_editor.cc', 'mouse_cursors.cc', @@ -200,6 +201,7 @@ gtk2_ardour_sources = [ 'route_time_axis.cc', 'route_ui.cc', 'ruler_dialog.cc', + 'save_as_dialog.cc', 'search_path_option.cc', 'selection.cc', 'selection_memento.cc', @@ -230,13 +232,15 @@ gtk2_ardour_sources = [ 'time_fx_dialog.cc', 'time_info_box.cc', 'time_selection.cc', + 'timers.cc', + 'tooltips.cc', 'track_selection.cc', 'track_view_list.cc', + 'transform_dialog.cc', 'transpose_dialog.cc', 'ui_config.cc', 'utils.cc', 'verbose_cursor.cc', - 'version.cc', 'visibility_group.cc', 'volume_controller.cc', 'window_manager.cc', @@ -251,27 +255,44 @@ gtk2_ardour_sources = [ 'video_server_dialog.cc', 'utils_videotl.cc', 'export_video_dialog.cc', - 'export_video_infobox.cc' + 'export_video_infobox.cc', + 'video_tool_paths.cc' ] +def enoify (major, minor): + if major == 3: + return "\\n\\\"E-No\\\"" + elif major == 4: + if minor == 0: + return "\\n\\\"No Pussyfooting\\\"" + elif minor == 1: + return "\\n\\\"Here Come the Warm Jets\\\"" + elif minor == 2: + return "\\n\\\"Taking Tiger Mountain\\\"" + elif minor == 3: + return "\\n\\\"Lady June's Linguistic Leprosy\\\"" + elif minor == 4: + return "\\n\\\"Discreet Music\\\"" + elif minor == 5: + return "\\n\\\"Another Green World\\\"" + elif minor == 6: + return "\\n\\\"Evening Star\\\"" + return "\\\"\\\"" + def options(opt): autowaf.set_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', conf.env['MAJOR'], conf.env['MINOR'], 0, - '', '') autowaf.configure(conf) # TODO: Insert a sanity check for on OS X to ensure CoreAudio is present autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F', mandatory=True) + autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW35F', + atleast_version='3.3.5', mandatory=False) autowaf.check_pkg(conf, 'flac', uselib_store='FLAC', atleast_version='1.2.1') autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', @@ -288,7 +309,8 @@ def configure(conf): bak = conf.env['define_key'] conf.define('VERSIONSTRING', str (conf.env['VERSION'])) - conf.env['define_key'] = ['VERSIONSTRING'] + conf.define('CODENAME', enoify(int(conf.env['MAJOR']), int(conf.env['MINOR']))) + conf.env['define_key'] = ['VERSIONSTRING', 'CODENAME' ] conf.write_config_header('gtk2ardour-version.h') conf.env['define_key'] = bak; @@ -365,16 +387,14 @@ def build_color_scheme(path, prefix): def build(bld): VERSION = "%s.%s" % (bld.env['MAJOR'], bld.env['MINOR']) + I18N_PACKAGE = 'gtk2_ardour' + bld.env['MAJOR'] if bld.is_defined('WINDOWS_VST_SUPPORT') and bld.env['build_target'] != 'mingw': # Windows VST support w/wine # 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 obj = bld (features = 'cxx c cxxprogram wine') - obj.source = ( - '../libs/fst/vstwin.c', - '../vst/winmain.c', - ) + obj.source = ( '../libs/fst/vstwin.c', '../vst/winmain.c' ) # # XXX do we really need to explicitly link to all of these for the wine executable? # @@ -386,11 +406,13 @@ def build(bld): 'libmidipp', 'libgtk2_ardour', 'libgtkmm2ext', - 'libcanvas' + 'libcanvas', + 'libptformat', ] obj.target = 'ardour-' + str (bld.env['VERSION']) + '-vst.exe.so' obj.includes = [ '../libs/fst', '.' ] obj.linkflags = ['-mwindows', '-Wl,--export-dynamic'] + obj.linkflags += bld.env['LDFLAGS'] obj.defines = ['_POSIX_SOURCE', 'USE_WS_PREFIX'] obj.install_path = bld.env['DLLDIR'] # end of the wine executable @@ -401,6 +423,7 @@ def build(bld): obj.includes = [ '../libs/fst', '.' ] obj.name = 'libgtk2_ardour' obj.target = 'gtk2_ardour' + else: # just the normal executable version of the GTK GUI if bld.env['build_target'] == 'mingw': @@ -426,6 +449,7 @@ def build(bld): 'libmidipp', 'libgtkmm2ext', 'libcanvas', + 'libptformat', ] obj.defines = [ @@ -435,6 +459,7 @@ def build(bld): 'LOCALEDIR="' + os.path.normpath(bld.env['LOCALEDIR']) + '"', ] obj.install_path = bld.env['DLLDIR'] + obj.linkflags = '' obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG CURL DL' obj.uselib += ' GTKMM CANVAS FFTW3F' obj.uselib += ' AUDIOUNITS OSX GTKOSX LO ' @@ -452,16 +477,20 @@ def build(bld): obj.includes += ['../libs'] + obj.use += 'libptformat' + if bld.env['build_target'] == 'mingw': - if bld.env['DEBUG'] == False: - obj.linkflags = ['-mwindows'] + obj.linkflags += ' -mwindows' if bld.is_defined('HAVE_SUIL'): obj.source += [ 'lv2_plugin_ui.cc' ] obj.use += [ 'SUIL' ] + if bld.is_defined('HAVE_FFTW35F') and bld.env['build_target'] != 'mingw': + obj.linkflags += ' -lfftw3f_threads' + if bld.is_defined('NEED_INTL'): - obj.linkflags = ' -lintl' + obj.linkflags += ' -lintl' if bld.is_defined('WINDOWS_VST_SUPPORT'): obj.source += [ 'windows_vst_plugin_ui.cc' ] @@ -495,7 +524,7 @@ def build(bld): 'DATADIR' : os.path.normpath(bld.env['DATADIR']), 'CONFDIR' : os.path.normpath(bld.env['CONFDIR']), 'LIBS' : 'build/libs', - 'VERSION' : bld.env['VERSION'], + 'VERSION' : str (bld.env['VERSION']), 'EXECUTABLE' : 'build/gtk2_ardour/ardour-' + str (bld.env['VERSION']) } @@ -503,7 +532,7 @@ def build(bld): for i in dict: setattr(obj, i, dict[i]) - obj = bld(features = 'subst', rule= 'chmod 0755 ${TGT}') + obj = bld(features = 'subst') obj.source = 'ardev_common.sh.in' obj.target = 'ardev_common_waf.sh' obj.chmod = Utils.O755 @@ -512,7 +541,7 @@ def build(bld): obj = bld(features = 'subst') obj.source = 'ardour.sh.in' - obj.target = 'ardour3' + obj.target = 'ardour' + str (bld.env['MAJOR']) obj.chmod = Utils.O755 obj.dict = wrapper_subst_dict obj.install_path = bld.env['BINDIR'] @@ -521,7 +550,7 @@ def build(bld): if bld.is_defined('WINDOWS_VST_SUPPORT'): obj = bld(features = 'subst') obj.source = '../vst/ardourvst.in' - obj.target = 'ardourvst3' + obj.target = 'ardourvst' + str (bld.env['MAJOR']) obj.chmod = Utils.O755 obj.dict = wrapper_subst_dict obj.install_path = bld.env['BINDIR'] @@ -558,7 +587,8 @@ def build(bld): # so just use it. # font_names = { - 'MONOSPACE' : 'Lucida Grande', + 'MONOSPACE' : 'Monaco', + 'CLOCKFONT' : 'Lucida Grande', } else: # Linux/X11 fonts basefont = '' # unspecified - use system defaults @@ -575,6 +605,7 @@ def build(bld): } font_names = { 'MONOSPACE' : 'ArdourMono', + 'CLOCKFONT' : 'ArdourMono', } # Set up font substitution dictionary @@ -621,6 +652,9 @@ def build(bld): else: menus_argv = [ '-E', '-P' ] + if bld.is_defined('PTFORMAT'): + menus_argv += [ '-DPTFORMAT' ] + # always build all versions of the menu definitions # so that we can try them out with different program builds. for program in [ 'ardour', 'trx' ]: @@ -629,11 +663,30 @@ def build(bld): obj.command_is_external = True obj.no_inputs = True obj.argv = menus_argv - obj.dep_vars = ['GTKOSX'] + obj.dep_vars = ['PTFORMAT', 'GTKOSX', 'WINDOWS'] obj.stdin = program + '.menus.in' obj.stdout = program + '.menus' bld.install_files (bld.env['CONFDIR'], program + '.menus') + # Freedesktop + freedesktop_subst_dict = { + 'ARDOUR_EXEC' : str (bld.env['lwrcase_dirname']), + 'ARDOUR_ICON' : str (bld.env['lwrcase_dirname']) + } + + if bld.env['FREEDESKTOP']: + obj = bld(features = 'subst') + obj.source = 'ardour.desktop.in' + obj.target = str (bld.env['lwrcase_dirname']) + '.desktop' + obj.chmod = Utils.O644 + obj.dict = freedesktop_subst_dict + set_subst_dict(obj, freedesktop_subst_dict) + + obj = bld(features = 'subst') + obj.source = 'ardour-mime-info.xml' + obj.target = 'ardour.xml' + obj.chmod = Utils.O644 + # Keybindings # 'SAE-de-keypad', 'SAE-de-nokeypad', 'SAE-us-keypad', @@ -663,13 +716,19 @@ def build(bld): bld.install_files(bld.env['DATADIR'], 'small-splash.png') bld.install_files(bld.env['DATADIR'], 'ArdourMono.ttf') + if bld.env['build_target'] == 'mingw': + # These icons need to overwrite the files already installed in the icons + # directory above. Do this in the external packaging scripts for now. + #bld.install_files(os.path.join (bld.env['DATADIR'], 'icons'), bld.path.ant_glob('icons/cursor_square/*.png')) + bld.install_files(os.path.join (bld.env['DATADIR'], 'icons'), 'icons/cursor_square/hotspots') + # Default UI configuration bld.install_files(bld.env['CONFDIR'], 'default_ui_config') # Color Themes bld.install_files(bld.env['CONFDIR'], 'dark.colors') # Default export stuff - bld.install_files(os.path.join(bld.env['CONFDIR'],' export'), bld.path.ant_glob('export/*.format')) + bld.install_files(os.path.join(bld.env['CONFDIR'], 'export'), bld.path.ant_glob('export/*.format')) # i18n if bld.is_defined('ENABLE_NLS'): @@ -680,17 +739,21 @@ def build(bld): mo) def i18n(bld): - autowaf.build_i18n(bld, top, 'gtk2_ardour', I18N_PACKAGE, gtk2_ardour_sources, - 'Paul Davis') - + I18N_PACKAGE = 'gtk2_ardour' + bld.env['MAJOR'] + autowaf.build_i18n(bld, top, 'gtk2_ardour', I18N_PACKAGE, gtk2_ardour_sources, + 'Paul Davis') + def i18n_pot(bld): - autowaf.build_i18n_pot(bld, top, 'gtk2_ardour', I18N_PACKAGE, gtk2_ardour_sources, - 'Paul Davis') + I18N_PACKAGE = 'gtk2_ardour' + bld.env['MAJOR'] + autowaf.build_i18n_pot(bld, top, 'gtk2_ardour', I18N_PACKAGE, gtk2_ardour_sources, + 'Paul Davis') def i18n_po(bld): - autowaf.build_i18n_po(bld, top, 'gtk2_ardour', I18N_PACKAGE, gtk2_ardour_sources, - 'Paul Davis') - + I18N_PACKAGE = 'gtk2_ardour' + bld.env['MAJOR'] + autowaf.build_i18n_po(bld, top, 'gtk2_ardour', I18N_PACKAGE, gtk2_ardour_sources, + 'Paul Davis') + def i18n_mo(bld): - autowaf.build_i18n_mo(bld, top, 'gtk2_ardour', I18N_PACKAGE, gtk2_ardour_sources, - 'Paul Davis') + I18N_PACKAGE = 'gtk2_ardour' + bld.env['MAJOR'] + autowaf.build_i18n_mo(bld, top, 'gtk2_ardour', I18N_PACKAGE, gtk2_ardour_sources, + 'Paul Davis')