fix drawing of zero-length notes
[ardour.git] / gtk2_ardour / wscript
index 6b0b4037c453d64f26fa0d495bcf188a716ae6c3..b6709329405d780b4c5f40ce288590951a7507d2 100644 (file)
@@ -33,13 +33,21 @@ gtk2_ardour_sources = [
         'analysis_window.cc',
         'ardour_dialog.cc',
         'ardour_http.cc',
+        'ardour_message.cc',
         'ardour_ui.cc',
         'ardour_ui2.cc',
+        'ardour_ui3.cc',
+        'ardour_ui_access_web.cc',
         'ardour_ui_dependents.cc',
         'ardour_ui_dialogs.cc',
         'ardour_ui_ed.cc',
+        'ardour_ui_engine.cc',
+        'ardour_ui_keys.cc',
         'ardour_ui_mixer.cc',
         'ardour_ui_options.cc',
+        'ardour_ui_session.cc',
+        'ardour_ui_startup.cc',
+        'ardour_ui_video.cc',
         'ardour_window.cc',
         'audio_clock.cc',
         'audio_region_editor.cc',
@@ -53,6 +61,7 @@ gtk2_ardour_sources = [
         'automation_time_axis.cc',
         'axis_view.cc',
         'big_clock_window.cc',
+        'big_transport_window.cc',
         'bundle_manager.cc',
         'clock_group.cc',
         'color_theme_manager.cc',
@@ -90,6 +99,7 @@ gtk2_ardour_sources = [
         'editor_rulers.cc',
         'editor_selection.cc',
         'editor_snapshots.cc',
+        'editor_sources.cc',
         'editor_summary.cc',
         'editor_tempodisplay.cc',
         'editor_timefx.cc',
@@ -108,13 +118,14 @@ gtk2_ardour_sources = [
         'fft_graph.cc',
         'fft_result.cc',
         'floating_text_entry.cc',
+        'foldback_strip.cc',
         'sfdb_freesound_mootcher.cc',
         'gain_meter.cc',
         'generic_pluginui.cc',
         'ghostregion.cc',
         'global_port_matrix.cc',
         'group_tabs.cc',
-        'gtk_pianokeyboard.c',
+        'pianokeyboard.cc',
         'gui_object.cc',
         'idleometer.cc',
         'insert_remove_time_dialog.cc',
@@ -164,6 +175,7 @@ gtk2_ardour_sources = [
         'mouse_cursors.cc',
         'nag.cc',
         'new_plugin_preset_dialog.cc',
+        'new_user_wizard.cc',
         'normalize_dialog.cc',
         'note.cc',
         'note_base.cc',
@@ -178,14 +190,20 @@ gtk2_ardour_sources = [
         'panner_interface.cc',
         'panner_ui.cc',
         'patch_change.cc',
+        'patch_change_widget.cc',
         'piano_roll_header.cc',
         'pingback.cc',
         'playlist_selector.cc',
+        'plugin_display.cc',
         'plugin_eq_gui.cc',
         'plugin_pin_dialog.cc',
+        'plugin_presets_ui.cc',
+        'plugin_scan_dialog.cc',
         'plugin_setup_dialog.cc',
         'plugin_selector.cc',
         'plugin_ui.cc',
+        'plugin_dspload_ui.cc',
+        'plugin_dspload_window.cc',
         'port_group.cc',
         'port_insert_ui.cc',
         'port_matrix.cc',
@@ -199,6 +217,7 @@ gtk2_ardour_sources = [
         'processor_selection.cc',
         'patch_change_dialog.cc',
         'progress_reporter.cc',
+        'pt_import_selector.cc',
         'public_editor.cc',
         'quantize_dialog.cc',
         'rc_option_editor.cc',
@@ -217,7 +236,9 @@ gtk2_ardour_sources = [
         'route_ui.cc',
         'ruler_dialog.cc',
         'save_as_dialog.cc',
+        'save_template_dialog.cc',
         'search_path_option.cc',
+        'screensaver.cc',
         'script_selector.cc',
         'selection.cc',
         'selection_memento.cc',
@@ -232,7 +253,7 @@ gtk2_ardour_sources = [
         'soundcloud_export_selector.cc',
         'splash.cc',
         'speaker_dialog.cc',
-        'startup.cc',
+        'startup_fsm.cc',
         'step_editor.cc',
         'step_entry.cc',
         'stereo_panner.cc',
@@ -246,7 +267,7 @@ gtk2_ardour_sources = [
         'template_dialog.cc',
         'tempo_curve.cc',
         'tempo_dialog.cc',
-        'tempo_lines.cc',
+        'grid_lines.cc',
         'time_axis_view.cc',
         'time_axis_view_item.cc',
         'time_fx_dialog.cc',
@@ -256,11 +277,15 @@ gtk2_ardour_sources = [
         'track_selection.cc',
         'track_view_list.cc',
         'transform_dialog.cc',
+        'transport_control.cc',
+        'transport_control_ui.cc',
+        'transport_masters_dialog.cc',
         'transpose_dialog.cc',
         'ui_config.cc',
         'utils.cc',
         'vca_master_strip.cc',
         'verbose_cursor.cc',
+        'virtual_keyboard_window.cc',
         'visibility_group.cc',
         'window_manager.cc',
 # video-timeline related sources:
@@ -275,8 +300,7 @@ gtk2_ardour_sources = [
         'video_server_dialog.cc',
         'utils_videotl.cc',
         'export_video_dialog.cc',
-        'export_video_infobox.cc',
-        'video_tool_paths.cc'
+        'export_video_infobox.cc'
 ]
 
 def enoify (major, minor):
@@ -331,10 +355,26 @@ def enoify (major, minor):
             return "\\n\\\"More Music for Films\\\"" # 1983
         elif minor == 12:
             return "\\n\\\"Working Backwards\\\"" # 1984 Compilation
-        elif minor == 13:
+    elif major == 6:
+        if minor == 0:
             return "\\n\\\"The Pearl\\\"" # 1984 Collaborative
-        elif minor == 14:
+        elif minor == 1:
             return "\\n\\\"Begegnungen\\\"" # 1984 Compilation
+        ### From now on, no more compilations, names are not suitable
+        elif minor == 2:
+            return "\\n\\\"Thursday Afternoon\\\"" # 1985
+        elif minor == 3:
+            return "\\n\\\"Music for Films III\\\"" # 1988 Collaborative
+        elif minor == 4:
+            return "\\n\\\"Wrong Way Up\\\"" # 1990 Collaborative
+        elif minor == 5:
+            return "\\n\\\"Nerve Net\\\"" # 1992
+        elif minor == 6:
+            return "\\n\\\"The Shutov Assembly\\\"" # 1992
+        elif minor == 7:
+            return "\\n\\\"Neroli\\\"" # 1993
+        elif minor == 8:
+            return "\\n\\\"Headcandy\\\"" # 1994
     return "\\\"\\\""
 
 def options(opt):
@@ -349,8 +389,6 @@ def configure(conf):
 
     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',
@@ -364,6 +402,12 @@ def configure(conf):
     autowaf.check_pkg(conf, 'pangoft2', uselib_store='PANGOFT2', atleast_version='1.36.8', mandatory=False)
     autowaf.check_pkg(conf, 'fontconfig', uselib_store='FONTCONFIG')
 
+    if conf.env.CC_NAME == 'gcc' and Options.options.strict:
+        conf.define('GLIB_DISABLE_DEPRECATION_WARNINGS', 1)
+        for var in ['CFLAGS', 'CXXFLAGS']:
+            for lib in ['GTK', 'GTKMM']:
+                for d in conf.env['INCLUDES_' + lib]:
+                    conf.env.append_value(var, ['-isystem', d])
 
     if sys.platform == 'darwin':
         retval = conf.run_c_code (code='#include <AppKit/NSWindow.h>\n\
@@ -477,10 +521,11 @@ def build(bld):
                 'libpbd',
                 'libardour',
                 'libardour_cp',
-                'libtimecode',
+                'libtemporal',
                 'libmidipp',
                 'libgtkmm2ext',
                 'libcanvas',
+                'libwaveview',
                 'libwidgets',
                 'libptformat',
                 ]
@@ -516,7 +561,7 @@ def build(bld):
 #                'libpbd',
 #                'libardour',
 #                'libardour_cp',
-#                'libtimecode',
+#                'libtemporal',
 #                'libmidipp',
 #                'libgtkmm2ext',
 #                'libcanvas',
@@ -548,11 +593,12 @@ def build(bld):
                              'libmidipp',
                              'libardour',
                              'libardour_cp',
-                             'libtimecode',
+                             'libtemporal',
                              'libmidipp',
                              'libgtk2_ardour',
                              'libgtkmm2ext',
                              'libcanvas',
+                             'libwaveview',
                              'libwidgets',
                              'libptformat',
                              ]
@@ -571,7 +617,7 @@ def build(bld):
         obj.includes  = [ '../libs/fst', '.' ]
         obj.name      = 'libgtk2_ardour'
         obj.target    = 'gtk2_ardour'
-        obj.cflags  = [ '-fPIC' ]
+        obj.cflags = [ bld.env['compiler_flags_dict']['pic'] ]
 
     else:
         # just the normal executable version of the GTK GUI
@@ -595,10 +641,11 @@ def build(bld):
     obj.use      = [ 'libpbd',
                      'libardour',
                      'libardour_cp',
-                     'libtimecode',
+                     'libtemporal',
                      'libmidipp',
                      'libgtkmm2ext',
                      'libcanvas',
+                     'libwaveview',
                      'libwidgets',
                      'libptformat',
                      ]
@@ -729,21 +776,19 @@ def build(bld):
                 '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 = {
-            'MONOSPACE' : 'Monaco',
-            'CLOCKFONT' : 'Lucida Grande',
-        }
-    else: # Linux/X11 fonts
+        if bld.env['build_target'] in ['panther', 'tiger', 'leopard'] or (Options.options.ppc and bld.env['build_target'] == 'snowleopard'):
+            # CTFontManagerRegisterFontsForURL for ArdourMono is 10.6 or newer
+            # "Lucida Grande" is not mono-spaced, but works for most cases, except big-clock-window
+            font_names = {
+                    'MONOSPACE' : 'Monaco',
+                    'CLOCKFONT' : 'Lucida Grande',
+                    }
+        else:
+            font_names = {
+                    'MONOSPACE' : 'Monaco',
+                    'CLOCKFONT' : 'ArdourMono',
+                    }
+    else: # Linux/X11 & Windows fonts
         basefont = '' # unspecified - use system defaults
         font_sizes = {
                 'SMALLER' : '6',
@@ -784,6 +829,7 @@ def build(bld):
         key = font_sym
         font_subst_dict[key] = text
 
+    font_subst_dict['FONTFAMILY'] = ''
     # RC file
 
     obj              = bld(features = 'subst')
@@ -792,6 +838,14 @@ def build(bld):
     obj.install_path = bld.env['CONFDIR']
     set_subst_dict(obj, font_subst_dict)
 
+    font_subst_dict['FONTFAMILY'] = 'ArdourSans'
+
+    obj              = bld(features = 'subst')
+    obj.source       = [ 'clearlooks.rc.in' ]
+    obj.target       = 'clearlooks.ardoursans.rc'
+    obj.install_path = bld.env['CONFDIR']
+    set_subst_dict(obj, font_subst_dict)
+
     obj              = bld(features = 'subst')
     obj.source       = [ 'default_ui_config.in' ]
     obj.target       = 'default_ui_config'
@@ -805,6 +859,9 @@ def build(bld):
     else:
         menus_argv = [ '-E', '-P' ]
 
+    if bld.is_defined('MIXBUS'):
+        menus_argv += [ '-DMIXBUS' ]
+
     if bld.is_defined('PTFORMAT'):
         menus_argv += [ '-DPTFORMAT' ]
 
@@ -816,7 +873,7 @@ def build(bld):
         obj.command_is_external = True
         obj.no_inputs = True
         obj.argv = menus_argv
-        obj.dep_vars = ['PTFORMAT', 'GTKOSX', 'WINDOWS']
+        obj.dep_vars = ['PTFORMAT', 'MIXBUS', 'WINDOWS']
         obj.stdin = program + '.menus.in'
         obj.stdout = program + '.menus'
         bld.install_files (bld.env['CONFDIR'], program + '.menus')
@@ -826,6 +883,7 @@ def build(bld):
                     'ARDOUR_EXEC' : str (bld.env['lwrcase_dirname']),
                     'ARDOUR_ICON' : str (bld.env['lwrcase_dirname']),
                     'VERSION': str (bld.env['VERSION']),
+                    'DATE': str (bld.env['DATE']),
     }
 
     if bld.env['FREEDESKTOP']:
@@ -868,6 +926,7 @@ def build(bld):
     # Icons/Images
     bld.install_files(os.path.join (bld.env['DATADIR'], 'icons'), bld.path.ant_glob('icons/*.png'))
     bld.install_files(bld.env['DATADIR'], 'ArdourMono.ttf')
+    bld.install_files(bld.env['DATADIR'], 'ArdourSans.ttf')
 
     # Application/Product specific resources (icon, splash)
     pgmname = bld.env['PROGRAM_NAME']