summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-03-16 16:32:56 +0000
committerDavid Robillard <d@drobilla.net>2011-03-16 16:32:56 +0000
commit9850407bd9178de794a7507ad858bcdfa227c842 (patch)
treea7be155f9bc2162c9765b4923b64eb6919067c9a
parentb9113772fe73dd72e0d6aeab1f69f3780723c882 (diff)
Indent python files with spaces as per style guide.
git-svn-id: svn://localhost/ardour2/branches/3.0@9158 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/wscript836
-rw-r--r--libs/appleutility/wscript60
-rw-r--r--libs/ardour/wscript604
-rw-r--r--libs/audiographer/wscript166
-rw-r--r--libs/evoral/wscript202
-rw-r--r--libs/gnomecanvas/wscript30
-rw-r--r--libs/gtkmm2ext/wscript110
-rw-r--r--libs/midi++2/wscript70
-rw-r--r--libs/panners/1in2out/wscript26
-rw-r--r--libs/panners/2in2out/wscript26
-rw-r--r--libs/panners/vbap/wscript26
-rw-r--r--libs/panners/wscript14
-rw-r--r--libs/pbd/wscript178
-rw-r--r--libs/qm-dsp/wscript60
-rw-r--r--libs/rubberband/wscript40
-rw-r--r--libs/surfaces/control_protocol/wscript32
-rw-r--r--libs/surfaces/frontier/wscript36
-rw-r--r--libs/surfaces/generic_midi/wscript42
-rw-r--r--libs/surfaces/mackie/wscript64
-rw-r--r--libs/surfaces/osc/wscript40
-rw-r--r--libs/surfaces/powermate/wscript32
-rw-r--r--libs/surfaces/tranzport/wscript60
-rw-r--r--libs/surfaces/wiimote/wscript32
-rw-r--r--libs/surfaces/wscript82
-rw-r--r--libs/taglib/wscript92
-rw-r--r--libs/timecode/wscript26
-rw-r--r--libs/vamp-plugins/wscript56
-rw-r--r--libs/vamp-sdk/wscript76
-rwxr-xr-xtools/session_exchange.py1598
-rw-r--r--wscript1108
30 files changed, 2912 insertions, 2912 deletions
diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript
index fe4714ae07..84c5fe76d8 100644
--- a/gtk2_ardour/wscript
+++ b/gtk2_ardour/wscript
@@ -24,246 +24,246 @@ blddir = 'build'
path_prefix = 'gtk2_ardour/'
gtk2_ardour_sources = [
- 'about.cc',
- 'actions.cc',
- 'add_midi_cc_track_dialog.cc',
- 'add_route_dialog.cc',
- 'ambiguous_file_dialog.cc',
- 'analysis_window.cc',
- 'ardour_dialog.cc',
- 'ardour_ui.cc',
- 'ardour_ui2.cc',
- 'ardour_ui_dependents.cc',
- 'ardour_ui_dialogs.cc',
- 'ardour_ui_ed.cc',
- 'ardour_ui_mixer.cc',
- 'ardour_ui_options.cc',
- 'audio_clock.cc',
- 'audio_region_editor.cc',
- 'audio_region_view.cc',
- 'audio_streamview.cc',
- 'audio_time_axis.cc',
- 'automation_controller.cc',
- 'automation_line.cc',
- 'automation_region_view.cc',
- 'automation_streamview.cc',
- 'automation_time_axis.cc',
- 'axis_view.cc',
- 'bundle_manager.cc',
- 'cairo_widget.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',
+ 'about.cc',
+ 'actions.cc',
+ 'add_midi_cc_track_dialog.cc',
+ 'add_route_dialog.cc',
+ 'ambiguous_file_dialog.cc',
+ 'analysis_window.cc',
+ 'ardour_dialog.cc',
+ 'ardour_ui.cc',
+ 'ardour_ui2.cc',
+ 'ardour_ui_dependents.cc',
+ 'ardour_ui_dialogs.cc',
+ 'ardour_ui_ed.cc',
+ 'ardour_ui_mixer.cc',
+ 'ardour_ui_options.cc',
+ 'audio_clock.cc',
+ 'audio_region_editor.cc',
+ 'audio_region_view.cc',
+ 'audio_streamview.cc',
+ 'audio_time_axis.cc',
+ 'automation_controller.cc',
+ 'automation_line.cc',
+ 'automation_region_view.cc',
+ 'automation_streamview.cc',
+ 'automation_time_axis.cc',
+ 'axis_view.cc',
+ 'bundle_manager.cc',
+ 'cairo_widget.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',
- 'crossfade_edit.cc',
- 'crossfade_view.cc',
- 'curvetest.cc',
- 'debug.cc',
- 'diamond.cc',
- 'edit_note_dialog.cc',
- 'editing.cc',
- 'editor.cc',
- 'editor_actions.cc',
- 'editor_audio_import.cc',
- 'editor_audiotrack.cc',
- 'editor_canvas.cc',
- 'editor_canvas_events.cc',
- 'editor_component.cc',
- 'editor_cursors.cc',
- 'editor_drag.cc',
- 'editor_route_groups.cc',
- 'editor_export_audio.cc',
- 'editor_group_tabs.cc',
- 'editor_keys.cc',
- 'editor_locations.cc',
- 'editor_markers.cc',
- 'editor_mixer.cc',
- 'editor_mouse.cc',
- 'editor_nudge.cc',
- 'editor_ops.cc',
- 'editor_regions.cc',
- 'editor_routes.cc',
- 'editor_rulers.cc',
- 'editor_scrub.cc',
- 'editor_selection.cc',
- 'editor_snapshots.cc',
- 'editor_summary.cc',
- 'editor_tempodisplay.cc',
- 'editor_timefx.cc',
- 'engine_dialog.cc',
- 'enums.cc',
- 'export_channel_selector.cc',
- 'export_dialog.cc',
- 'export_file_notebook.cc',
- 'export_filename_selector.cc',
- 'export_format_dialog.cc',
- 'export_format_selector.cc',
- 'export_preset_selector.cc',
- 'export_timespan_selector.cc',
- 'fft.cc',
- 'fft_graph.cc',
- 'fft_result.cc',
- 'gain_meter.cc',
- 'generic_pluginui.cc',
- 'ghostregion.cc',
- 'global_port_matrix.cc',
- 'group_tabs.cc',
- 'gtk-custom-hruler.c',
- 'gtk-custom-ruler.c',
+ 'configinfo.cc',
+ 'control_point.cc',
+ 'control_point_dialog.cc',
+ 'crossfade_edit.cc',
+ 'crossfade_view.cc',
+ 'curvetest.cc',
+ 'debug.cc',
+ 'diamond.cc',
+ 'edit_note_dialog.cc',
+ 'editing.cc',
+ 'editor.cc',
+ 'editor_actions.cc',
+ 'editor_audio_import.cc',
+ 'editor_audiotrack.cc',
+ 'editor_canvas.cc',
+ 'editor_canvas_events.cc',
+ 'editor_component.cc',
+ 'editor_cursors.cc',
+ 'editor_drag.cc',
+ 'editor_route_groups.cc',
+ 'editor_export_audio.cc',
+ 'editor_group_tabs.cc',
+ 'editor_keys.cc',
+ 'editor_locations.cc',
+ 'editor_markers.cc',
+ 'editor_mixer.cc',
+ 'editor_mouse.cc',
+ 'editor_nudge.cc',
+ 'editor_ops.cc',
+ 'editor_regions.cc',
+ 'editor_routes.cc',
+ 'editor_rulers.cc',
+ 'editor_scrub.cc',
+ 'editor_selection.cc',
+ 'editor_snapshots.cc',
+ 'editor_summary.cc',
+ 'editor_tempodisplay.cc',
+ 'editor_timefx.cc',
+ 'engine_dialog.cc',
+ 'enums.cc',
+ 'export_channel_selector.cc',
+ 'export_dialog.cc',
+ 'export_file_notebook.cc',
+ 'export_filename_selector.cc',
+ 'export_format_dialog.cc',
+ 'export_format_selector.cc',
+ 'export_preset_selector.cc',
+ 'export_timespan_selector.cc',
+ 'fft.cc',
+ 'fft_graph.cc',
+ 'fft_result.cc',
+ 'gain_meter.cc',
+ 'generic_pluginui.cc',
+ 'ghostregion.cc',
+ 'global_port_matrix.cc',
+ 'group_tabs.cc',
+ 'gtk-custom-hruler.c',
+ 'gtk-custom-ruler.c',
'gtk_pianokeyboard.c',
- 'insert_time_dialog.cc',
- 'interthread_progress_window.cc',
- 'io_selector.cc',
- 'keyboard.cc',
- 'keyeditor.cc',
- 'latency_gui.cc',
+ 'insert_time_dialog.cc',
+ 'interthread_progress_window.cc',
+ 'io_selector.cc',
+ 'keyboard.cc',
+ 'keyeditor.cc',
+ 'latency_gui.cc',
'led.cc',
- 'level_meter.cc',
- 'lineset.cc',
- 'location_ui.cc',
- 'main.cc',
- 'marker.cc',
- 'midi_automation_line.cc',
- 'midi_channel_selector.cc',
- 'midi_cut_buffer.cc',
- 'midi_list_editor.cc',
- 'midi_port_dialog.cc',
- 'midi_region_view.cc',
- 'midi_scroomer.cc',
- 'midi_streamview.cc',
- 'midi_time_axis.cc',
- 'midi_tracer.cc',
+ 'level_meter.cc',
+ 'lineset.cc',
+ 'location_ui.cc',
+ 'main.cc',
+ 'marker.cc',
+ 'midi_automation_line.cc',
+ 'midi_channel_selector.cc',
+ 'midi_cut_buffer.cc',
+ 'midi_list_editor.cc',
+ 'midi_port_dialog.cc',
+ 'midi_region_view.cc',
+ 'midi_scroomer.cc',
+ 'midi_streamview.cc',
+ 'midi_time_axis.cc',
+ 'midi_tracer.cc',
'missing_file_dialog.cc',
- 'missing_plugin_dialog.cc',
- 'mixer_group_tabs.cc',
- 'mixer_strip.cc',
- 'mixer_ui.cc',
+ 'missing_plugin_dialog.cc',
+ 'mixer_group_tabs.cc',
+ 'mixer_strip.cc',
+ 'mixer_ui.cc',
'monitor_section.cc',
'mono_panner.cc',
- 'mouse_cursors.cc',
- 'nag.cc',
- 'new_plugin_preset_dialog.cc',
- 'normalize_dialog.cc',
+ 'mouse_cursors.cc',
+ 'nag.cc',
+ 'new_plugin_preset_dialog.cc',
+ 'normalize_dialog.cc',
'note_player.cc',
- 'option_editor.cc',
- 'opts.cc',
- 'panner2d.cc',
- 'panner_ui.cc',
- 'piano_roll_header.cc',
- 'playlist_selector.cc',
- 'plugin_eq_gui.cc',
- 'plugin_selector.cc',
- 'plugin_ui.cc',
- 'port_group.cc',
+ 'option_editor.cc',
+ 'opts.cc',
+ 'panner2d.cc',
+ 'panner_ui.cc',
+ 'piano_roll_header.cc',
+ 'playlist_selector.cc',
+ 'plugin_eq_gui.cc',
+ 'plugin_selector.cc',
+ 'plugin_ui.cc',
+ 'port_group.cc',
'port_insert_ui.cc',
- 'port_matrix.cc',
- 'port_matrix_body.cc',
- 'port_matrix_column_labels.cc',
- 'port_matrix_component.cc',
- 'port_matrix_grid.cc',
- 'port_matrix_labels.cc',
- 'port_matrix_row_labels.cc',
- 'processor_box.cc',
- 'patch_change_dialog.cc',
- 'progress_reporter.cc',
- 'prompter.cc',
- 'public_editor.cc',
- 'quantize_dialog.cc',
- 'rc_option_editor.cc',
- 'region_editor.cc',
- 'region_gain_line.cc',
- 'region_layering_order_editor.cc',
- 'region_selection.cc',
- 'region_view.cc',
- 'return_ui.cc',
- 'rhythm_ferret.cc',
- 'route_group_dialog.cc',
- 'route_group_menu.cc',
- 'route_params_ui.cc',
- 'route_processor_selection.cc',
- 'route_time_axis.cc',
- 'route_ui.cc',
+ 'port_matrix.cc',
+ 'port_matrix_body.cc',
+ 'port_matrix_column_labels.cc',
+ 'port_matrix_component.cc',
+ 'port_matrix_grid.cc',
+ 'port_matrix_labels.cc',
+ 'port_matrix_row_labels.cc',
+ 'processor_box.cc',
+ 'patch_change_dialog.cc',
+ 'progress_reporter.cc',
+ 'prompter.cc',
+ 'public_editor.cc',
+ 'quantize_dialog.cc',
+ 'rc_option_editor.cc',
+ 'region_editor.cc',
+ 'region_gain_line.cc',
+ 'region_layering_order_editor.cc',
+ 'region_selection.cc',
+ 'region_view.cc',
+ 'return_ui.cc',
+ 'rhythm_ferret.cc',
+ 'route_group_dialog.cc',
+ 'route_group_menu.cc',
+ 'route_params_ui.cc',
+ 'route_processor_selection.cc',
+ 'route_time_axis.cc',
+ 'route_ui.cc',
'search_path_option.cc',
- 'selection.cc',
- 'send_ui.cc',
- 'session_import_dialog.cc',
- 'session_metadata_dialog.cc',
- 'session_option_editor.cc',
- 'sfdb_ui.cc',
- 'simpleline.cc',
- 'simplerect.cc',
- 'splash.cc',
+ 'selection.cc',
+ 'send_ui.cc',
+ 'session_import_dialog.cc',
+ 'session_metadata_dialog.cc',
+ 'session_option_editor.cc',
+ 'sfdb_ui.cc',
+ 'simpleline.cc',
+ 'simplerect.cc',
+ 'splash.cc',
'speaker_dialog.cc',
- 'startup.cc',
+ 'startup.cc',
'step_editor.cc',
'step_entry.cc',
'stereo_panner.cc',
- 'streamview.cc',
- 'strip_silence_dialog.cc',
- 'tape_region_view.cc',
- 'tempo_dialog.cc',
- 'tempo_lines.cc',
- 'theme_manager.cc',
- 'time_axis_view.cc',
- 'time_axis_view_item.cc',
- 'time_fx_dialog.cc',
- 'time_selection.cc',
- 'track_selection.cc',
- 'track_view_list.cc',
- 'ui_config.cc',
- 'utils.cc',
- 'version.cc',
+ 'streamview.cc',
+ 'strip_silence_dialog.cc',
+ 'tape_region_view.cc',
+ 'tempo_dialog.cc',
+ 'tempo_lines.cc',
+ 'theme_manager.cc',
+ 'time_axis_view.cc',
+ 'time_axis_view_item.cc',
+ 'time_fx_dialog.cc',
+ 'time_selection.cc',
+ 'track_selection.cc',
+ 'track_view_list.cc',
+ 'ui_config.cc',
+ 'utils.cc',
+ 'version.cc',
'volume_controller.cc',
- 'waveview.cc',
- 'window_proxy.cc'
+ 'waveview.cc',
+ 'window_proxy.cc'
]
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.build_version_files(path_prefix+'version.h', path_prefix+'version.cc',
- 'gtk2_ardour', MAJOR, MINOR, MICRO)
- autowaf.configure(conf)
- conf.check_tool('compiler_cxx')
-
- 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 that CoreAudio is present....
- # Really shouldn't these checks be in AutoWaf?
- #
- autowaf.check_pkg(conf, 'flac', uselib_store='FLAC', atleast_version='1.2.1')
- autowaf.check_pkg(conf, 'gthread', uselib_store='GTHREAD', atleast_version='2.10.1')
- autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK', atleast_version='2.18')
- autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM', atleast_version='2.18')
- 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')
-
- conf.check_tool('misc') # subst tool
-
- conf.write_config_header('gtk2ardour-config.h')
-
- # Boost headers
- autowaf.check_header(conf, 'boost/shared_ptr.hpp')
- autowaf.check_header(conf, 'boost/weak_ptr.hpp')
+ autowaf.build_version_files(path_prefix+'version.h', path_prefix+'version.cc',
+ 'gtk2_ardour', MAJOR, MINOR, MICRO)
+ autowaf.configure(conf)
+ conf.check_tool('compiler_cxx')
+
+ 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 that CoreAudio is present....
+ # Really shouldn't these checks be in AutoWaf?
+ #
+ autowaf.check_pkg(conf, 'flac', uselib_store='FLAC', atleast_version='1.2.1')
+ autowaf.check_pkg(conf, 'gthread', uselib_store='GTHREAD', atleast_version='2.10.1')
+ autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK', atleast_version='2.18')
+ autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM', atleast_version='2.18')
+ 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')
+
+ conf.check_tool('misc') # subst tool
+
+ conf.write_config_header('gtk2ardour-config.h')
+
+ # Boost headers
+ autowaf.check_header(conf, 'boost/shared_ptr.hpp')
+ autowaf.check_header(conf, 'boost/weak_ptr.hpp')
# Add a waf `feature' to allow compilation of things using winegcc
from TaskGen import feature
@feature("wine")
def set_winegcc(self):
- self.env.LINK_CXX = self.env.LINK_CC = 'wineg++'
- self.env.CC = 'winegcc'
+ self.env.LINK_CXX = self.env.LINK_CC = 'wineg++'
+ self.env.CC = 'winegcc'
def build_color_scheme(path, prefix):
f = open (path, 'r')
@@ -284,218 +284,218 @@ def build_color_scheme(path, prefix):
def build(bld):
- # GTK front-end; if we're using VST we build this as a shared library, otherwise
- # it's a normal executabale
- if bld.env['VST_SUPPORT']:
- obj = bld.new_task_gen(features = 'cxx cc cshlib')
- else:
- obj = bld.new_task_gen(features = 'cxx cc cprogram')
-
- obj.includes = ['.']
- obj.source = gtk2_ardour_sources
- obj.name = 'gtk2_ardour'
- if bld.env['VST_SUPPORT']:
- obj.target = 'gtk2_ardour'
- obj.includes += ['../libs/fst']
- else:
- obj.target = 'ardour-3.0'
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
- obj.uselib = 'UUID FLAC GLIBMM GTHREAD GTK OGG ALSA CURL DL'
- obj.uselib += ' GTKMM GNOMECANVASMM '
- obj.uselib += ' AUDIOUNITS OSX GTKOSX '
- obj.uselib_local = '''libpbd libmidipp libtaglib libardour libardour_cp
- libgtkmm2ext libtaglib libgnomecanvas-2'''
+ # GTK front-end; if we're using VST we build this as a shared library, otherwise
+ # it's a normal executabale
+ if bld.env['VST_SUPPORT']:
+ obj = bld.new_task_gen(features = 'cxx cc cshlib')
+ else:
+ obj = bld.new_task_gen(features = 'cxx cc cprogram')
+
+ obj.includes = ['.']
+ obj.source = gtk2_ardour_sources
+ obj.name = 'gtk2_ardour'
+ if bld.env['VST_SUPPORT']:
+ obj.target = 'gtk2_ardour'
+ obj.includes += ['../libs/fst']
+ else:
+ obj.target = 'ardour-3.0'
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ obj.uselib = 'UUID FLAC GLIBMM GTHREAD GTK OGG ALSA CURL DL'
+ obj.uselib += ' GTKMM GNOMECANVASMM '
+ obj.uselib += ' AUDIOUNITS OSX GTKOSX '
+ obj.uselib_local = '''libpbd libmidipp libtaglib libardour libardour_cp
+ libgtkmm2ext libtaglib libgnomecanvas-2'''
if sys.platform == 'darwin':
obj.uselib_local + ' libappleutility'
- obj.cflags = ['-DPACKAGE="gtk2_ardour"']
- obj.cxxflags = ['-DPACKAGE="gtk2_ardour"']
- obj.cxxflags += ['-DVERSIONSTRING="' + bld.env['VERSION'] + '"']
- obj.cxxflags += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"']
- obj.cxxflags += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"']
- obj.cxxflags += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"']
- obj.cxxflags += ['-DLOCALEDIR="' + os.path.join(
- os.path.normpath(bld.env['DATADIR']), 'locale') + '"']
- obj.cxxflags += ['-DPROGRAM_NAME="' + bld.env['PROGRAM_NAME'] + '"']
- obj.cxxflags += ['-I../libs']
-
- if bld.env['HAVE_SLV2']:
- obj.source += [ 'lv2_plugin_ui.cc' ]
- obj.uselib += ' SLV2 '
-
- if bld.env['FREESOUND']:
- obj.source += [ 'sfdb_freesound_mootcher.cc' ]
-
- if bld.env['VST_SUPPORT']:
- obj.source += [ 'vst_pluginui.cc' ]
- obj.cxxflags += [ '-DVST_SUPPORT' ]
-
- if bld.env['PHONE_HOME']:
- obj.cxxflags += [ '-DPHONE_HOME' ]
-
- if bld.env['COREAUDIO']:
- TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cc']
- obj.source += [ 'cocoacarbon.mm', 'au_pluginui.mm' ]
- obj.uselib_local += ' libappleutility '
- else:
- obj.source += [ 'x11.cc' ]
-
- if bld.env['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
- obj = bld.new_task_gen (features = 'cxx cc cprogram wine')
- obj.source = '''
- ../libs/fst/fst.c
- ../libs/fst/fstinfofile.c
- ../libs/fst/vsti.c
- ../libs/fst/vstwin.c
- ../vst/winmain.c
- '''
- obj.includes = '../libs/fst'
- obj.target = 'ardour-3.0-vst'
- obj.linkflags = ['-mwindows', '-Wl,--export-dynamic', '-lpthread']
- obj.defines = ['_POSIX_SOURCE', 'USE_WS_PREFIX']
- obj.uselib = 'ALSA'
- obj.uselib_local = '''libpbd libmidipp libtaglib libardour libardour_cp libgtkmm2ext libtaglib gtk2_ardour'''
-
- # Wrappers
-
- wrapper_subst_dict = {
- 'INSTALL_PREFIX' : bld.env['PREFIX'],
- 'LIBDIR' : os.path.normpath(bld.env['LIBDIRNAME']),
- 'LIBS' : 'build/default/libs',
- 'VERSION' : '3.0',
- 'EXECUTABLE' : 'build/default/gtk2_ardour/ardour-3.0'
- }
-
- obj = bld.new_task_gen('subst')
- obj.source = 'ardev_common.sh.in'
- obj.target = 'ardev_common_waf.sh'
- obj.chmod = 0755
- obj.dict = wrapper_subst_dict
-
- obj = bld.new_task_gen('subst')
- obj.source = 'ardour.sh.in'
- obj.target = 'ardour3'
- obj.chmod = 0755
- obj.dict = wrapper_subst_dict
- obj.install_path = bld.env['BINDIR']
-
- # Font configuration
-
- dark_rc_subst_dict = {}
- light_rc_subst_dict = {}
- font_sizes = {}
- base_font = ""
-
- # Set up font sizes
- if bld.env['IS_OSX']: # OS X fonts
- basefont = "Lucida Grande"
- font_sizes = {
- 'TINY' : '7',
- 'SMALLER' : '9',
- 'SMALL' : '10',
- 'NORMAL' : '11',
- 'BIG' : '12',
- 'BIGGER' : '14',
- 'LARGE' : '18',
- 'LARGER' : '28',
- 'HUGER' : '36',
- 'MASSIVE' : '60'
- }
- else: # Linux/X11 fonts
- basefont = '' # unspecified - use system defaults
- font_sizes = {
- 'TINY' : '6',
- 'SMALLER' : '8',
- 'SMALL' : '9',
- 'NORMAL' : '10',
- 'BIG' : '14',
- 'BIGGER' : '16',
- 'LARGE' : '18',
- 'LARGER' : '24',
- 'HUGER' : '34',
- 'MASSIVE' : '60'
- }
-
- # Set up font substitution dictionary
- for style in ['', 'BOLD', 'ITALIC']:
- for sizename,points in iter(font_sizes.items()):
- if (len (style)):
- key = "_".join (['FONT',style,sizename])
- fontstyle = " ".join ([basefont,style.lower(),points])
- else:
- key = "_".join (['FONT',sizename])
- fontstyle = " ".join ([basefont,points])
-
- dark_rc_subst_dict[key] = fontstyle
- light_rc_subst_dict[key] = fontstyle
-
- # RC files
- dark_rc_subst_dict['COLOR_SCHEME'] = build_color_scheme ('gtk2_ardour/ardour3_ui_dark.rc.in', 'ARDOUR_DARK')
+ obj.cflags = ['-DPACKAGE="gtk2_ardour"']
+ obj.cxxflags = ['-DPACKAGE="gtk2_ardour"']
+ obj.cxxflags += ['-DVERSIONSTRING="' + bld.env['VERSION'] + '"']
+ obj.cxxflags += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"']
+ obj.cxxflags += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"']
+ obj.cxxflags += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"']
+ obj.cxxflags += ['-DLOCALEDIR="' + os.path.join(
+ os.path.normpath(bld.env['DATADIR']), 'locale') + '"']
+ obj.cxxflags += ['-DPROGRAM_NAME="' + bld.env['PROGRAM_NAME'] + '"']
+ obj.cxxflags += ['-I../libs']
+
+ if bld.env['HAVE_SLV2']:
+ obj.source += [ 'lv2_plugin_ui.cc' ]
+ obj.uselib += ' SLV2 '
+
+ if bld.env['FREESOUND']:
+ obj.source += [ 'sfdb_freesound_mootcher.cc' ]
+
+ if bld.env['VST_SUPPORT']:
+ obj.source += [ 'vst_pluginui.cc' ]
+ obj.cxxflags += [ '-DVST_SUPPORT' ]
+
+ if bld.env['PHONE_HOME']:
+ obj.cxxflags += [ '-DPHONE_HOME' ]
+
+ if bld.env['COREAUDIO']:
+ TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cc']
+ obj.source += [ 'cocoacarbon.mm', 'au_pluginui.mm' ]
+ obj.uselib_local += ' libappleutility '
+ else:
+ obj.source += [ 'x11.cc' ]
+
+ if bld.env['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
+ obj = bld.new_task_gen (features = 'cxx cc cprogram wine')
+ obj.source = '''
+ ../libs/fst/fst.c
+ ../libs/fst/fstinfofile.c
+ ../libs/fst/vsti.c
+ ../libs/fst/vstwin.c
+ ../vst/winmain.c
+ '''
+ obj.includes = '../libs/fst'
+ obj.target = 'ardour-3.0-vst'
+ obj.linkflags = ['-mwindows', '-Wl,--export-dynamic', '-lpthread']
+ obj.defines = ['_POSIX_SOURCE', 'USE_WS_PREFIX']
+ obj.uselib = 'ALSA'
+ obj.uselib_local = '''libpbd libmidipp libtaglib libardour libardour_cp libgtkmm2ext libtaglib gtk2_ardour'''
+
+ # Wrappers
+
+ wrapper_subst_dict = {
+ 'INSTALL_PREFIX' : bld.env['PREFIX'],
+ 'LIBDIR' : os.path.normpath(bld.env['LIBDIRNAME']),
+ 'LIBS' : 'build/default/libs',
+ 'VERSION' : '3.0',
+ 'EXECUTABLE' : 'build/default/gtk2_ardour/ardour-3.0'
+ }
+
+ obj = bld.new_task_gen('subst')
+ obj.source = 'ardev_common.sh.in'
+ obj.target = 'ardev_common_waf.sh'
+ obj.chmod = 0755
+ obj.dict = wrapper_subst_dict
+
+ obj = bld.new_task_gen('subst')
+ obj.source = 'ardour.sh.in'
+ obj.target = 'ardour3'
+ obj.chmod = 0755
+ obj.dict = wrapper_subst_dict
+ obj.install_path = bld.env['BINDIR']
+
+ # Font configuration
+
+ dark_rc_subst_dict = {}
+ light_rc_subst_dict = {}
+ font_sizes = {}
+ base_font = ""
+
+ # Set up font sizes
+ if bld.env['IS_OSX']: # OS X fonts
+ basefont = "Lucida Grande"
+ font_sizes = {
+ 'TINY' : '7',
+ 'SMALLER' : '9',
+ 'SMALL' : '10',
+ 'NORMAL' : '11',
+ 'BIG' : '12',
+ 'BIGGER' : '14',
+ 'LARGE' : '18',
+ 'LARGER' : '28',
+ 'HUGER' : '36',
+ 'MASSIVE' : '60'
+ }
+ else: # Linux/X11 fonts
+ basefont = '' # unspecified - use system defaults
+ font_sizes = {
+ 'TINY' : '6',
+ 'SMALLER' : '8',
+ 'SMALL' : '9',
+ 'NORMAL' : '10',
+ 'BIG' : '14',
+ 'BIGGER' : '16',
+ 'LARGE' : '18',
+ 'LARGER' : '24',
+ 'HUGER' : '34',
+ 'MASSIVE' : '60'
+ }
+
+ # Set up font substitution dictionary
+ for style in ['', 'BOLD', 'ITALIC']:
+ for sizename,points in iter(font_sizes.items()):
+ if (len (style)):
+ key = "_".join (['FONT',style,sizename])
+ fontstyle = " ".join ([basefont,style.lower(),points])
+ else:
+ key = "_".join (['FONT',sizename])
+ fontstyle = " ".join ([basefont,points])
+
+ dark_rc_subst_dict[key] = fontstyle
+ light_rc_subst_dict[key] = fontstyle
+
+ # RC files
+ dark_rc_subst_dict['COLOR_SCHEME'] = build_color_scheme ('gtk2_ardour/ardour3_ui_dark.rc.in', 'ARDOUR_DARK')
dark_rc_subst_dict['COLPREFIX'] = 'ARDOUR_DARK'
- light_rc_subst_dict['COLOR_SCHEME'] = build_color_scheme ('gtk2_ardour/ardour3_ui_light.rc.in', 'ARDOUR_LIGHT')
+ light_rc_subst_dict['COLOR_SCHEME'] = build_color_scheme ('gtk2_ardour/ardour3_ui_light.rc.in', 'ARDOUR_LIGHT')
light_rc_subst_dict['COLPREFIX'] = 'ARDOUR_LIGHT'
- obj = bld.new_task_gen('subst')
- obj.source = 'ardour3_ui_dark.rc.in'
- obj.target = 'ardour3_ui_dark.rc'
- obj.dict = dark_rc_subst_dict
- obj.install_path = os.path.join(bld.env['CONFIGDIR'], 'ardour3')
-
- obj = bld.new_task_gen('subst')
- obj.source = 'ardour3_ui_light.rc.in'
- obj.target = 'ardour3_ui_light.rc'
- obj.dict = light_rc_subst_dict
- obj.install_path = os.path.join(bld.env['CONFIGDIR'], 'ardour3')
-
- # Menus
- menus_argv = []
- if bld.env['GTKOSX']:
- menus_argv = [ '-E', '-P', '-DGTKOSX' ]
- else:
- menus_argv = [ '-E', '-P' ]
- obj = bld.new_task_gen('command-output')
- obj.command = 'cpp'
- obj.command_is_external = True
- obj.no_inputs = True
- obj.argv = menus_argv
- obj.stdin = 'ardour.menus.in'
- obj.stdout = 'ardour.menus'
- bld.install_files(os.path.join(bld.env['CONFIGDIR'], 'ardour3'), 'ardour.menus')
-
- # Keybindings
+ obj = bld.new_task_gen('subst')
+ obj.source = 'ardour3_ui_dark.rc.in'
+ obj.target = 'ardour3_ui_dark.rc'
+ obj.dict = dark_rc_subst_dict
+ obj.install_path = os.path.join(bld.env['CONFIGDIR'], 'ardour3')
+
+ obj = bld.new_task_gen('subst')
+ obj.source = 'ardour3_ui_light.rc.in'
+ obj.target = 'ardour3_ui_light.rc'
+ obj.dict = light_rc_subst_dict
+ obj.install_path = os.path.join(bld.env['CONFIGDIR'], 'ardour3')
+
+ # Menus
+ menus_argv = []
+ if bld.env['GTKOSX']:
+ menus_argv = [ '-E', '-P', '-DGTKOSX' ]
+ else:
+ menus_argv = [ '-E', '-P' ]
+ obj = bld.new_task_gen('command-output')
+ obj.command = 'cpp'
+ obj.command_is_external = True
+ obj.no_inputs = True
+ obj.argv = menus_argv
+ obj.stdin = 'ardour.menus.in'
+ obj.stdout = 'ardour.menus'
+ bld.install_files(os.path.join(bld.env['CONFIGDIR'], 'ardour3'), 'ardour.menus')
+
+ # Keybindings
# 'SAE-de-keypad', 'SAE-de-nokeypad', 'SAE-us-keypad', 'SAE-us-nokeypad', 'ergonomic-us'
- for b in [ 'mnemonic-us' ] :
- obj = bld.new_task_gen (
- target = b + '.bindings',
- source = b + '.bindings.in',
- rule = '../tools/fmt-bindings --winkey="%s" --accelmap <${SRC} >${TGT}' % bld.env['WINDOWS_KEY']
- )
- obj.install_path = os.path.join(bld.env['CONFIGDIR'], 'ardour3')
+ for b in [ 'mnemonic-us' ] :
+ obj = bld.new_task_gen (
+ target = b + '.bindings',
+ source = b + '.bindings.in',
+ rule = '../tools/fmt-bindings --winkey="%s" --accelmap <${SRC} >${TGT}' % bld.env['WINDOWS_KEY']
+ )
+ obj.install_path = os.path.join(bld.env['CONFIGDIR'], 'ardour3')
# not modified at present
- bld.install_files(os.path.join(bld.env['CONFIGDIR'], 'ardour3'), 'step_editing.bindings')
-
- # Icons/Images
- bld.install_files('${DATADIR}/ardour3/icons', 'icons/*.png')
- bld.install_files('${DATADIR}/ardour3/pixmaps', 'pixmaps/*.xpm')
- bld.install_files('${DATADIR}/ardour3', 'splash.png')
-
- # Default UI configuration
- bld.install_files('${CONFIGDIR}/ardour3', 'ardour3_ui_default.conf')
-
- # Default export stuff
- bld.install_files('${CONFIGDIR}/ardour3/export', 'export/*.format')
-
- # i18n
- if bld.env['ENABLE_NLS']:
- mo_files = glob.glob (os.path.join (bld.get_curdir(), 'po/*.mo'))
- for mo in mo_files:
- lang = os.path.basename (mo).replace ('.mo', '')
- bld.install_as (os.path.join (bld.env['PREFIX'], 'share', 'locale', lang, 'LC_MESSAGES', APPNAME + '.mo'), mo)
+ bld.install_files(os.path.join(bld.env['CONFIGDIR'], 'ardour3'), 'step_editing.bindings')
+
+ # Icons/Images
+ bld.install_files('${DATADIR}/ardour3/icons', 'icons/*.png')
+ bld.install_files('${DATADIR}/ardour3/pixmaps', 'pixmaps/*.xpm')
+ bld.install_files('${DATADIR}/ardour3', 'splash.png')
+
+ # Default UI configuration
+ bld.install_files('${CONFIGDIR}/ardour3', 'ardour3_ui_default.conf')
+
+ # Default export stuff
+ bld.install_files('${CONFIGDIR}/ardour3/export', 'export/*.format')
+
+ # i18n
+ if bld.env['ENABLE_NLS']:
+ mo_files = glob.glob (os.path.join (bld.get_curdir(), 'po/*.mo'))
+ for mo in mo_files:
+ lang = os.path.basename (mo).replace ('.mo', '')
+ bld.install_as (os.path.join (bld.env['PREFIX'], 'share', 'locale', lang, 'LC_MESSAGES', APPNAME + '.mo'), mo)
def i18n(bld):
- autowaf.build_i18n (bld, srcdir, 'gtk2_ardour', APPNAME, gtk2_ardour_sources)
+ autowaf.build_i18n (bld, srcdir, 'gtk2_ardour', APPNAME, gtk2_ardour_sources)
diff --git a/libs/appleutility/wscript b/libs/appleutility/wscript
index 9bcecd06df..2d164a025a 100644
--- a/libs/appleutility/wscript
+++ b/libs/appleutility/wscript
@@ -2,43 +2,43 @@ import autowaf
import os
libappleutility_sources = [
- 'AUOutputBL.cpp',
- 'AUParamInfo.cpp',
- 'CAAudioChannelLayout.cpp',
- 'CAAudioChannelLayoutObject.cpp',
- 'CAAudioFile.cpp',
- 'CAAudioUnit.cpp',
- 'CAAUParameter.cpp',
- 'CABufferList.cpp',
- 'CACFDictionary.cpp',
- 'CACFNumber.cpp',
- 'CACFString.cpp',
- 'CAComponent.cpp',
- 'CAComponentDescription.cpp',
- 'CADebugMacros.cpp',
- 'CAStreamBasicDescription.cpp',
- 'CAXException.cpp'
+ 'AUOutputBL.cpp',
+ 'AUParamInfo.cpp',
+ 'CAAudioChannelLayout.cpp',
+ 'CAAudioChannelLayoutObject.cpp',
+ 'CAAudioFile.cpp',
+ 'CAAudioUnit.cpp',
+ 'CAAUParameter.cpp',
+ 'CABufferList.cpp',
+ 'CACFDictionary.cpp',
+ 'CACFNumber.cpp',
+ 'CACFString.cpp',
+ 'CAComponent.cpp',
+ 'CAComponentDescription.cpp',
+ 'CADebugMacros.cpp',
+ 'CAStreamBasicDescription.cpp',
+ 'CAXException.cpp'
]
def set_options(opt):
- autowaf.set_options(opt)
-
+ autowaf.set_options(opt)
+
def configure(conf):
- autowaf.configure(conf)
-
+ autowaf.configure(conf)
+
def build(bld):
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.uselib = 'AUDIOUNITS OSX'
- obj.source = libappleutility_sources
- obj.export_incdirs = ['.']
- obj.includes = ['.']
- obj.name = 'libappleutility'
- obj.target = 'appleutility'
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'appleutility')
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.uselib = 'AUDIOUNITS OSX'
+ obj.source = libappleutility_sources
+ obj.export_incdirs = ['.']
+ obj.includes = ['.']
+ obj.name = 'libappleutility'
+ obj.target = 'appleutility'
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'appleutility')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
def i18n(bld):
- pass
+ pass
diff --git a/libs/ardour/wscript b/libs/ardour/wscript
index 46ad56ed70..8f06330771 100644
--- a/libs/ardour/wscript
+++ b/libs/ardour/wscript
@@ -32,359 +32,359 @@ blddir = 'build'
path_prefix = 'libs/ardour/'
libardour_sources = [
- 'amp.cc',
- 'analyser.cc',
- 'audio_buffer.cc',
- 'audio_diskstream.cc',
- 'audio_library.cc',
- 'audio_playlist.cc',
- 'audio_playlist_importer.cc',
- 'audio_port.cc',
- 'audio_region_importer.cc',
- 'audio_track.cc',
- 'audio_track_importer.cc',
- 'audioanalyser.cc',
- 'audioengine.cc',
- 'audiofile_tagger.cc',
- 'audiofilesource.cc',
- 'audioregion.cc',
- 'audiosource.cc',
- 'auditioner.cc',
- 'automatable.cc',
- 'automation.cc',
- 'automation_control.cc',
- 'automation_list.cc',
- 'beats_frames_converter.cc',
- 'broadcast_info.cc',
- 'buffer.cc',
- 'buffer_manager.cc',
- 'buffer_set.cc',
- 'bundle.cc',
- 'butler.cc',
+ 'amp.cc',
+ 'analyser.cc',
+ 'audio_buffer.cc',
+ 'audio_diskstream.cc',
+ 'audio_library.cc',
+ 'audio_playlist.cc',
+ 'audio_playlist_importer.cc',
+ 'audio_port.cc',
+ 'audio_region_importer.cc',
+ 'audio_track.cc',
+ 'audio_track_importer.cc',
+ 'audioanalyser.cc',
+ 'audioengine.cc',
+ 'audiofile_tagger.cc',
+ 'audiofilesource.cc',
+ 'audioregion.cc',
+ 'audiosource.cc',
+ 'auditioner.cc',
+ 'automatable.cc',
+ 'automation.cc',
+ 'automation_control.cc',
+ 'automation_list.cc',
+ 'beats_frames_converter.cc',
+ 'broadcast_info.cc',
+ 'buffer.cc',
+ 'buffer_manager.cc',
+ 'buffer_set.cc',
+ 'bundle.cc',
+ 'butler.cc',
'callback.cc',
'capturing_processor.cc',
- 'chan_count.cc',
- 'chan_mapping.cc',
- 'configuration.cc',
- 'config_text.cc',
- 'control_protocol_manager.cc',
- 'control_protocol_search_path.cc',
- 'crossfade.cc',
- 'cycle_timer.cc',
- 'default_click.cc',
- 'debug.cc',
- 'delivery.cc',
- 'directory_names.cc',
- 'diskstream.cc',
- 'element_import_handler.cc',
- 'element_importer.cc',
- 'enums.cc',
- 'event_type_map.cc',
- 'export_channel.cc',
- 'export_channel_configuration.cc',
- 'export_failed.cc',
- 'export_filename.cc',
- 'export_format_base.cc',
- 'export_format_manager.cc',
- 'export_format_specification.cc',
- 'export_formats.cc',
- 'export_graph_builder.cc',
- 'export_handler.cc',
- 'export_preset.cc',
- 'export_profile_manager.cc',
- 'export_status.cc',
- 'export_timespan.cc',
- 'file_source.cc',
- 'filename_extensions.cc',
- 'filesystem_paths.cc',
- 'filter.cc',
- 'find_session.cc',
- 'gain.cc',
- 'globals.cc',
- 'graph.cc',
- 'graphnode.cc',
- 'import.cc',
- 'internal_return.cc',
- 'internal_send.cc',
- 'interpolation.cc',
- 'io.cc',
- 'io_processor.cc',
- 'jack_slave.cc',
- 'ladspa_plugin.cc',
- 'location.cc',
- 'location_importer.cc',
- 'meter.cc',
- 'midi_automation_list_binder.cc',
- 'midi_buffer.cc',
- 'midi_clock_slave.cc',
- 'midi_diskstream.cc',
- 'midi_model.cc',
- 'midi_patch_manager.cc',
- 'midi_playlist.cc',
- 'midi_port.cc',
- 'midi_region.cc',
- 'midi_ring_buffer.cc',
- 'midi_source.cc',
- 'midi_state_tracker.cc',
- 'midi_stretch.cc',
- 'midi_track.cc',
- 'midi_ui.cc',
- 'mix.cc',
+ 'chan_count.cc',
+ 'chan_mapping.cc',
+ 'configuration.cc',
+ 'config_text.cc',
+ 'control_protocol_manager.cc',
+ 'control_protocol_search_path.cc',
+ 'crossfade.cc',
+ 'cycle_timer.cc',
+ 'default_click.cc',
+ 'debug.cc',
+ 'delivery.cc',
+ 'directory_names.cc',
+ 'diskstream.cc',
+ 'element_import_handler.cc',
+ 'element_importer.cc',
+ 'enums.cc',
+ 'event_type_map.cc',
+ 'export_channel.cc',
+ 'export_channel_configuration.cc',
+ 'export_failed.cc',
+ 'export_filename.cc',
+ 'export_format_base.cc',
+ 'export_format_manager.cc',
+ 'export_format_specification.cc',
+ 'export_formats.cc',
+ 'export_graph_builder.cc',
+ 'export_handler.cc',
+ 'export_preset.cc',
+ 'export_profile_manager.cc',
+ 'export_status.cc',
+ 'export_timespan.cc',
+ 'file_source.cc',
+ 'filename_extensions.cc',
+ 'filesystem_paths.cc',
+ 'filter.cc',
+ 'find_session.cc',
+ 'gain.cc',
+ 'globals.cc',
+ 'graph.cc',
+ 'graphnode.cc',
+ 'import.cc',
+ 'internal_return.cc',
+ 'internal_send.cc',
+ 'interpolation.cc',
+ 'io.cc',
+ 'io_processor.cc',
+ 'jack_slave.cc',
+ 'ladspa_plugin.cc',
+ 'location.cc',
+ 'location_importer.cc',
+ 'meter.cc',
+ 'midi_automation_list_binder.cc',
+ 'midi_buffer.cc',
+ 'midi_clock_slave.cc',
+ 'midi_diskstream.cc',
+ 'midi_model.cc',
+ 'midi_patch_manager.cc',
+ 'midi_playlist.cc',
+ 'midi_port.cc',
+ 'midi_region.cc',
+ 'midi_ring_buffer.cc',
+ 'midi_source.cc',
+ 'midi_state_tracker.cc',
+ 'midi_stretch.cc',
+ 'midi_track.cc',
+ 'midi_ui.cc',
+ 'mix.cc',
'monitor_processor.cc',
- 'mtc_slave.cc',
- 'mtdm.cc',
- 'mute_master.cc',
- 'named_selection.cc',
- 'onset_detector.cc',
- 'operations.cc',
+ 'mtc_slave.cc',
+ 'mtdm.cc',
+ 'mute_master.cc',
+ 'named_selection.cc',
+ 'onset_detector.cc',
+ 'operations.cc',
'pan_controllable.cc',
'pannable.cc',
'panner.cc',
'panner_manager.cc',
'panner_search_path.cc',
'panner_shell.cc',
- 'pcm_utils.cc',
- 'pi_controller.cc',
- 'playlist.cc',
- 'playlist_factory.cc',
- 'plugin.cc',
- 'plugin_insert.cc',
- 'plugin_manager.cc',
- 'port.cc',
- 'port_insert.cc',
- 'port_set.cc',
- 'process_thread.cc',
- 'processor.cc',
- 'progress.cc',
- 'quantize.cc',
- 'rc_configuration.cc',
- 'recent_sessions.cc',
- 'region_factory.cc',
- 'resampled_source.cc',
- 'region.cc',
- 'return.cc',
- 'reverse.cc',
- 'route.cc',
- 'route_group.cc',
- 'route_group_member.cc',
- 'rb_effect.cc',
- 'send.cc',
- 'session.cc',
- 'session_butler.cc',
- 'session_click.cc',
- 'session_command.cc',
- 'session_configuration.cc',
- 'session_directory.cc',
- 'session_events.cc',
- 'session_export.cc',
- 'session_handle.cc',
- 'session_metadata.cc',
- 'session_midi.cc',
- 'session_object.cc',
- 'session_playlists.cc',
- 'session_process.cc',
- 'session_rtevents.cc',
- 'session_state.cc',
- 'session_state_utils.cc',
- 'session_time.cc',
- 'session_transport.cc',
- 'session_utils.cc',
- 'slave.cc',
- 'smf_source.cc',
- 'sndfile_helpers.cc',
- 'sndfileimportable.cc',
- 'sndfilesource.cc',
- 'source.cc',
- 'source_factory.cc',
+ 'pcm_utils.cc',
+ 'pi_controller.cc',
+ 'playlist.cc',
+ 'playlist_factory.cc',
+ 'plugin.cc',
+ 'plugin_insert.cc',
+ 'plugin_manager.cc',
+ 'port.cc',
+ 'port_insert.cc',
+ 'port_set.cc',
+ 'process_thread.cc',
+ 'processor.cc',
+ 'progress.cc',
+ 'quantize.cc',
+ 'rc_configuration.cc',
+ 'recent_sessions.cc',
+ 'region_factory.cc',
+ 'resampled_source.cc',
+ 'region.cc',
+ 'return.cc',
+ 'reverse.cc',
+ 'route.cc',
+ 'route_group.cc',
+ 'route_group_member.cc',
+ 'rb_effect.cc',
+ 'send.cc',
+ 'session.cc',
+ 'session_butler.cc',
+ 'session_click.cc',
+ 'session_command.cc',
+ 'session_configuration.cc',
+ 'session_directory.cc',
+ 'session_events.cc',
+ 'session_export.cc',
+ 'session_handle.cc',
+ 'session_metadata.cc',
+ 'session_midi.cc',
+ 'session_object.cc',
+ 'session_playlists.cc',
+ 'session_process.cc',
+ 'session_rtevents.cc',
+ 'session_state.cc',
+ 'session_state_utils.cc',
+ 'session_time.cc',
+ 'session_transport.cc',
+ 'session_utils.cc',
+ 'slave.cc',
+ 'smf_source.cc',
+ 'sndfile_helpers.cc',
+ 'sndfileimportable.cc',
+ 'sndfilesource.cc',
+ 'source.cc',
+ 'source_factory.cc',
'speakers.cc',
- 'strip_silence.cc',
- 'svn_revision.cc',
- 'tape_file_matcher.cc',
- 'template_utils.cc',
- 'tempo.cc',
- 'tempo_map_importer.cc',
+ 'strip_silence.cc',
+ 'svn_revision.cc',
+ 'tape_file_matcher.cc',
+ 'template_utils.cc',
+ 'tempo.cc',
+ 'tempo_map_importer.cc',
'thread_buffers.cc',
- 'ticker.cc',
- 'track.cc',
- 'transient_detector.cc',
- 'unknown_processor.cc',
- 'user_bundle.cc',
- 'utils.cc',
- 'version.cc'
+ 'ticker.cc',
+ 'track.cc',
+ 'transient_detector.cc',
+ 'unknown_processor.cc',
+ 'user_bundle.cc',
+ 'utils.cc',
+ 'version.cc'
]
def flac_supported():
- cmd = subprocess.Popen ("sndfile-info testfile.flac",
- stdout = subprocess.PIPE,
- stderr = subprocess.STDOUT, shell = True)
- out = cmd.communicate()[0].decode('utf-8');
- return re.search ('unknown format', out) == None
+ cmd = subprocess.Popen ("sndfile-info testfile.flac",
+ stdout = subprocess.PIPE,
+ stderr = subprocess.STDOUT, shell = True)
+ out = cmd.communicate()[0].decode('utf-8');
+ return re.search ('unknown format', out) == None
def ogg_supported():
- cmd = subprocess.Popen ("sndfile-info testfile.ogg",
- stdout = subprocess.PIPE,
- stderr = subprocess.STDOUT, shell = True)
- out = cmd.communicate()[0].decode('utf-8');
- return re.search ('unknown format', out) == None
+ cmd = subprocess.Popen ("sndfile-info testfile.ogg",
+ stdout = subprocess.PIPE,
+ stderr = subprocess.STDOUT, shell = True)
+ out = cmd.communicate()[0].decode('utf-8');
+ return re.search ('unknown format', out) == None
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.build_version_files(path_prefix+'ardour/version.h', path_prefix+'version.cc',
- 'libardour3', MAJOR, MINOR, MICRO)
- autowaf.configure(conf)
- conf.check_tool('compiler_cxx gas')
- autowaf.check_pkg(conf, 'aubio', uselib_store='AUBIO', atleast_version='0.3.2')
- 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, 'lrdf', uselib_store='LRDF', atleast_version='0.4.0')
- autowaf.check_pkg(conf, 'samplerate', uselib_store='SAMPLERATE', atleast_version='0.1.0')
- autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0')
- autowaf.check_pkg(conf, 'slv2', uselib_store='SLV2', atleast_version='0.6.4', mandatory=False)
- autowaf.check_pkg(conf, 'slv2', uselib_store='NEW_SLV2', atleast_version='0.7.0', mandatory=False)
- autowaf.check_pkg(conf, 'rasqal', uselib_store='RASQAL', atleast_version='0.9.14', mandatory=False)
- autowaf.check_pkg(conf, 'soundtouch-1.0', uselib_store='SOUNDTOUCH', mandatory=False)
- autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False)
- autowaf.check_pkg(conf, 'ogg', uselib_store='OGG', atleast_version='1.1.2')
- autowaf.check_pkg(conf, 'flac', uselib_store='FLAC', atleast_version='1.2.1')
- autowaf.check_pkg(conf, 'libcurl', uselib_store='CURL', atleast_version='7.0.0')
+ autowaf.build_version_files(path_prefix+'ardour/version.h', path_prefix+'version.cc',
+ 'libardour3', MAJOR, MINOR, MICRO)
+ autowaf.configure(conf)
+ conf.check_tool('compiler_cxx gas')
+ autowaf.check_pkg(conf, 'aubio', uselib_store='AUBIO', atleast_version='0.3.2')
+ 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, 'lrdf', uselib_store='LRDF', atleast_version='0.4.0')
+ autowaf.check_pkg(conf, 'samplerate', uselib_store='SAMPLERATE', atleast_version='0.1.0')
+ autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0')
+ autowaf.check_pkg(conf, 'slv2', uselib_store='SLV2', atleast_version='0.6.4', mandatory=False)
+ autowaf.check_pkg(conf, 'slv2', uselib_store='NEW_SLV2', atleast_version='0.7.0', mandatory=False)
+ autowaf.check_pkg(conf, 'rasqal', uselib_store='RASQAL', atleast_version='0.9.14', mandatory=False)
+ autowaf.check_pkg(conf, 'soundtouch-1.0', uselib_store='SOUNDTOUCH', mandatory=False)
+ autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False)
+ autowaf.check_pkg(conf, 'ogg', uselib_store='OGG', atleast_version='1.1.2')
+ autowaf.check_pkg(conf, 'flac', uselib_store='FLAC', atleast_version='1.2.1')
+ autowaf.check_pkg(conf, 'libcurl', uselib_store='CURL', atleast_version='7.0.0')
- # we don't try to detect this, since its part of our source tree
+ # we don't try to detect this, since its part of our source tree
- conf.define('HAVE_RUBBERBAND', 1) # controls whether we think we have it
- conf.define('USE_RUBBERBAND', 1) # controls whether we actually use it
+ conf.define('HAVE_RUBBERBAND', 1) # controls whether we think we have it
+ conf.define('USE_RUBBERBAND', 1) # controls whether we actually use it
- conf.define('CURRENT_SESSION_FILE_VERSION', CURRENT_SESSION_FILE_VERSION)
+ conf.define('CURRENT_SESSION_FILE_VERSION', CURRENT_SESSION_FILE_VERSION)
- conf.check(header_name='sys/vfs.h', define_name='HAVE_SYS_VFS_H')
- conf.check(header_name='wordexp.h', define_name='HAVE_WORDEXP')
+ conf.check(header_name='sys/vfs.h', define_name='HAVE_SYS_VFS_H')
+ conf.check(header_name='wordexp.h', define_name='HAVE_WORDEXP')
- conf.check(header_name='jack/session.h', define_name='HAVE_JACK_SESSION')
+ conf.check(header_name='jack/session.h', define_name='HAVE_JACK_SESSION')
- conf.check(header_name='unistd.h', define_name='HAVE_UNISTD')
+ conf.check(header_name='unistd.h', define_name='HAVE_UNISTD')
- conf.check_cc(fragment = "#include <jack/jack.h>\nvoid callback (int code, const char* reason, void* arg) { return; }\nint main(int argc, char **argv) { jack_client_t* c; jack_on_info_shutdown (c, callback, (void*) 0); return 0; }\n",
+ conf.check_cc(fragment = "#include <jack/jack.h>\nvoid callback (int code, const char* reason, void* arg) { return; }\nint main(int argc, char **argv) { jack_client_t* c; jack_on_info_shutdown (c, callback, (void*) 0); return 0; }\n",
linkflags = ['-ljack'],
- msg = 'Checking for jack_on_info_shutdown',
+ msg = 'Checking for jack_on_info_shutdown',
define_name = 'HAVE_JACK_ON_INFO_SHUTDOWN',
- okmsg = 'present')
+ okmsg = 'present')
- conf.check_cc(fragment = "#include <jack/jack.h>\nint main(int argc, char **argv) { jack_port_t* p; jack_latency_range_t r; jack_port_set_latency_range (p, JackCaptureLatency, &r); return 0; }\n",
+ conf.check_cc(fragment = "#include <jack/jack.h>\nint main(int argc, char **argv) { jack_port_t* p; jack_latency_range_t r; jack_port_set_latency_range (p, JackCaptureLatency, &r); return 0; }\n",
linkflags = ['-ljack'],
- msg = 'Checking for new JACK latency API',
- okmsg = 'present',
+ msg = 'Checking for new JACK latency API',
+ okmsg = 'present',
mandatory = True,
errmsg = 'missing - a version of JACK that supports jack_port_set_latency_range() is required to compile Ardour3')
- conf.check_cc(fragment = '#include <jack/jack.h>\nint main(int argc, char **argv) { jack_port_type_get_buffer_size ((jack_client_t*)0, ""); }\n',
+ conf.check_cc(fragment = '#include <jack/jack.h>\nint main(int argc, char **argv) { jack_port_type_get_buffer_size ((jack_client_t*)0, ""); }\n',
linkflags = ['-ljack'],
- msg = 'Checking for new jack_port_type_get_buffer_size',
+ msg = 'Checking for new jack_port_type_get_buffer_size',
okmsg = 'present',
mandatory = True,
- errmsg = 'missing - a version of JACK that supports jack_port_type_get_buffer_size() is required to compile Ardour3')
+ errmsg = 'missing - a version of JACK that supports jack_port_type_get_buffer_size() is required to compile Ardour3')
- if flac_supported():
- conf.define ('HAVE_FLAC', 1)
- if ogg_supported():
- conf.define ('HAVE_OGG', 1)
+ if flac_supported():
+ conf.define ('HAVE_FLAC', 1)
+ if ogg_supported():
+ conf.define ('HAVE_OGG', 1)
- conf.write_config_header('libardour-config.h')
+ conf.write_config_header('libardour-config.h')
- # Boost headers
- autowaf.check_header(conf, 'boost/shared_ptr.hpp')
- autowaf.check_header(conf, 'boost/weak_ptr.hpp')
- autowaf.check_header(conf, 'boost/scoped_ptr.hpp')
- autowaf.check_header(conf, 'boost/ptr_container/ptr_list.hpp')
+ # Boost headers
+ autowaf.check_header(conf, 'boost/shared_ptr.hpp')
+ autowaf.check_header(conf, 'boost/weak_ptr.hpp')
+ autowaf.check_header(conf, 'boost/scoped_ptr.hpp')
+ autowaf.check_header(conf, 'boost/ptr_container/ptr_list.hpp')
def build(bld):
- # Library
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = libardour_sources
- obj.export_incdirs = ['.']
- obj.includes = ['.', '../surfaces/control_protocol', '..']
- obj.name = 'libardour'
- obj.target = 'ardour'
- obj.uselib = 'GLIBMM GTHREAD AUBIO SIGCPP XML UUID JACK SNDFILE SAMPLERATE LRDF AUDIOUNIT OSX BOOST CURL DL'
- obj.uselib_local = 'libpbd libmidipp libevoral libvamphost libvampplugin libtaglib librubberband libaudiographer'
- obj.vnum = LIBARDOUR_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
- obj.cxxflags = ['-DPACKAGE="libardour3"']
- obj.cxxflags += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"']
- obj.cxxflags += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"']
- obj.cxxflags += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"']
- obj.cxxflags += ['-DLOCALEDIR="' + os.path.join(
- os.path.normpath(bld.env['DATADIR']), 'locale') + '"']
- obj.cxxflags += ['-DVAMP_DIR="' + os.path.join(
- os.path.normpath(bld.env['LIBDIR']), 'ardour3', 'vamp') + '"']
- obj.cxxflags += ['-DPROGRAM_NAME="' + bld.env['PROGRAM_NAME'] + '"']
+ # Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = libardour_sources
+ obj.export_incdirs = ['.']
+ obj.includes = ['.', '../surfaces/control_protocol', '..']
+ obj.name = 'libardour'
+ obj.target = 'ardour'
+ obj.uselib = 'GLIBMM GTHREAD AUBIO SIGCPP XML UUID JACK SNDFILE SAMPLERATE LRDF AUDIOUNIT OSX BOOST CURL DL'
+ obj.uselib_local = 'libpbd libmidipp libevoral libvamphost libvampplugin libtaglib librubberband libaudiographer'
+ obj.vnum = LIBARDOUR_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ obj.cxxflags = ['-DPACKAGE="libardour3"']
+ obj.cxxflags += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"']
+ obj.cxxflags += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"']
+ obj.cxxflags += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"']
+ obj.cxxflags += ['-DLOCALEDIR="' + os.path.join(
+ os.path.normpath(bld.env['DATADIR']), 'locale') + '"']
+ obj.cxxflags += ['-DVAMP_DIR="' + os.path.join(
+ os.path.normpath(bld.env['LIBDIR']), 'ardour3', 'vamp') + '"']
+ obj.cxxflags += ['-DPROGRAM_NAME="' + bld.env['PROGRAM_NAME'] + '"']
- #obj.source += ' st_stretch.cc st_pitch.cc '
- #obj.uselib += ' SOUNDTOUCH '
- #obj.add_objects = 'default/libs/surfaces/control_protocol/smpte_1.o'
-
- if bld.env['HAVE_SLV2']:
- obj.source += [ 'lv2_plugin.cc', 'lv2_event_buffer.cc', 'uri_map.cc', 'lv2_pfile.c' ]
- obj.uselib += ' SLV2 ' + ' RASQAL '
-
- if bld.env['VST_SUPPORT']:
- obj.source += [ 'vst_plugin.cc', 'session_vst.cc' ]
- obj.includes += [ '../fst' ]
- obj.cxxflags += [ '-DVST_SUPPORT' ]
+ #obj.source += ' st_stretch.cc st_pitch.cc '
+ #obj.uselib += ' SOUNDTOUCH '
+ #obj.add_objects = 'default/libs/surfaces/control_protocol/smpte_1.o'
+
+ if bld.env['HAVE_SLV2']:
+ obj.source += [ 'lv2_plugin.cc', 'lv2_event_buffer.cc', 'uri_map.cc', 'lv2_pfile.c' ]
+ obj.uselib += ' SLV2 ' + ' RASQAL '
+
+ if bld.env['VST_SUPPORT']:
+ obj.source += [ 'vst_plugin.cc', 'session_vst.cc' ]
+ obj.includes += [ '../fst' ]
+ obj.cxxflags += [ '-DVST_SUPPORT' ]
- if bld.env['COREAUDIO']:
- obj.source += [ 'coreaudiosource.cc', 'caimportable.cc' ]
- obj.uselib_local += ' libappleutility'
- obj.source += [ 'audio_unit.cc' ]
+ if bld.env['COREAUDIO']:
+ obj.source += [ 'coreaudiosource.cc', 'caimportable.cc' ]
+ obj.uselib_local += ' libappleutility'
+ obj.source += [ 'audio_unit.cc' ]
- if bld.env['FPU_OPTIMIZATION']:
- if bld.env['build_target'] == 'i386' or bld.env['build_target'] == 'i686':
+ if bld.env['FPU_OPTIMIZATION']:
+ if bld.env['build_target'] == 'i386' or bld.env['build_target'] == 'i686':
obj.source += [ 'sse_functions_xmm.cc', 'sse_functions.s' ]
- elif bld.env['build_target'] == 'x86_64':
+ elif bld.env['build_target'] == 'x86_64':
obj.source += [ 'sse_functions_xmm.cc', 'sse_functions_64bit.s' ]
- # i18n
- if bld.env['ENABLE_NLS']:
- mo_files = glob.glob (os.path.join (bld.get_curdir(), 'po/*.mo'))
- for mo in mo_files:
- lang = os.path.basename (mo).replace ('.mo', '')
- bld.install_as (os.path.join (bld.env['PREFIX'], 'share', 'locale', lang, 'LC_MESSAGES', APPNAME + '.mo'), mo)
+ # i18n
+ if bld.env['ENABLE_NLS']:
+ mo_files = glob.glob (os.path.join (bld.get_curdir(), 'po/*.mo'))
+ for mo in mo_files:
+ lang = os.path.basename (mo).replace ('.mo', '')
+ bld.install_as (os.path.join (bld.env['PREFIX'], 'share', 'locale', lang, 'LC_MESSAGES', APPNAME + '.mo'), mo)
- if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
- # Unit tests
- testobj = bld.new_task_gen('cxx', 'program')
- testobj.source = '''
- test/bbt_test.cpp
- test/interpolation_test.cpp
- test/midi_clock_slave_test.cpp
- test/resampled_source.cc
- test/mantis_3356.cc
- test/testrunner.cpp
- '''.split()
- testobj.includes = obj.includes + ['test', '../pbd']
- testobj.uselib = 'CPPUNIT SIGCPP JACK GLIBMM GTHREAD SAMPLERATE XML LRDF COREAUDIO'
- testobj.uselib_local = 'libpbd libmidipp libardour'
- testobj.name = 'libardour-tests'
- testobj.target = 'run-tests'
- testobj.install_path = ''
- testobj.cxxflags = ['-DPACKAGE="libardour3test"']
- testobj.cxxflags += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"']
- testobj.cxxflags += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"']
- testobj.cxxflags += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"']
- testobj.cxxflags += ['-DLOCALEDIR="' + os.path.join(
- os.path.normpath(bld.env['DATADIR']), 'locale') + '"']
- testobj.cxxflags += ['-DVAMP_DIR="' + os.path.join(
- os.path.normpath(bld.env['LIBDIR']), 'ardour3', 'vamp') + '"']
- if bld.env['FPU_OPTIMIZATION']:
- testobj.source += [ 'sse_functions_xmm.cc' ]
- if bld.env['build_target'] == 'i386' or bld.env['build_target'] == 'i686':
- testobj.source += [ 'sse_functions.s' ]
- elif bld.env['build_target'] == 'x86_64':
- testobj.source += [ 'sse_functions_64bit.s' ]
+ if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
+ # Unit tests
+ testobj = bld.new_task_gen('cxx', 'program')
+ testobj.source = '''
+ test/bbt_test.cpp
+ test/interpolation_test.cpp
+ test/midi_clock_slave_test.cpp
+ test/resampled_source.cc
+ test/mantis_3356.cc
+ test/testrunner.cpp
+ '''.split()
+ testobj.includes = obj.includes + ['test', '../pbd']
+ testobj.uselib = 'CPPUNIT SIGCPP JACK GLIBMM GTHREAD SAMPLERATE XML LRDF COREAUDIO'
+ testobj.uselib_local = 'libpbd libmidipp libardour'
+ testobj.name = 'libardour-tests'
+ testobj.target = 'run-tests'
+ testobj.install_path = ''
+ testobj.cxxflags = ['-DPACKAGE="libardour3test"']
+ testobj.cxxflags += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"']
+ testobj.cxxflags += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"']
+ testobj.cxxflags += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"']
+ testobj.cxxflags += ['-DLOCALEDIR="' + os.path.join(
+ os.path.normpath(bld.env['DATADIR']), 'locale') + '"']
+ testobj.cxxflags += ['-DVAMP_DIR="' + os.path.join(
+ os.path.normpath(bld.env['LIBDIR']), 'ardour3', 'vamp') + '"']
+ if bld.env['FPU_OPTIMIZATION']:
+ testobj.source += [ 'sse_functions_xmm.cc' ]
+ if bld.env['build_target'] == 'i386' or bld.env['build_target'] == 'i686':
+ testobj.source += [ 'sse_functions.s' ]
+ elif bld.env['build_target'] == 'x86_64':
+ testobj.source += [ 'sse_functions_64bit.s' ]
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
def i18n(bld):
- autowaf.build_i18n (bld, '..', 'libs/ardour', APPNAME, libardour_sources)
+ autowaf.build_i18n (bld, '..', 'libs/ardour', APPNAME, libardour_sources)
diff --git a/libs/audiographer/wscript b/libs/audiographer/wscript
index e25df5ec95..856f8be119 100644
--- a/libs/audiographer/wscript
+++ b/libs/audiographer/wscript
@@ -23,97 +23,97 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
-
- conf.check_tool('compiler_cxx')
-
- autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False)
- autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0', mandatory=False)
- autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2', mandatory=False)
- autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0', mandatory=False)
- autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.14.0', mandatory=False)
- autowaf.check_pkg(conf, 'samplerate', uselib_store='SAMPLERATE', atleast_version='0.1.7', mandatory=False)
- autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', atleast_version='1.0.18', mandatory=False)
-
- # Boost headers
- autowaf.check_header(conf, 'boost/shared_ptr.hpp')
- autowaf.check_header(conf, 'boost/format.hpp')
+ autowaf.configure(conf)
+
+ conf.check_tool('compiler_cxx')
+
+ autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False)
+ autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0', mandatory=False)
+ autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2', mandatory=False)
+ autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0', mandatory=False)
+ autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.14.0', mandatory=False)
+ autowaf.check_pkg(conf, 'samplerate', uselib_store='SAMPLERATE', atleast_version='0.1.7', mandatory=False)
+ autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', atleast_version='1.0.18', mandatory=False)
+
+ # Boost headers
+ autowaf.check_header(conf, 'boost/shared_ptr.hpp')
+ autowaf.check_header(conf, 'boost/format.hpp')
def build(bld):
- # Headers
- #bld.install_files('${INCLUDEDIR}/audiographer', 'audiographer/*.h')
- #bld.install_files('${INCLUDEDIR}/audiographer/general', 'audiographer/general/*.h')
- #bld.install_files('${INCLUDEDIR}/audiographer/sndfile', 'audiographer/sndfile/*.h')
- #bld.install_files('${INCLUDEDIR}/audiographer/utils', 'audiographer/utils/*.h')
-
- #bld.env['BUILD_TESTS'] = True
- bld.env['HAVE_ALL_GTHREAD'] = bld.env['HAVE_GLIB'] and bld.env['HAVE_GLIBMM'] and bld.env['HAVE_GTHREAD']
+ # Headers
+ #bld.install_files('${INCLUDEDIR}/audiographer', 'audiographer/*.h')
+ #bld.install_files('${INCLUDEDIR}/audiographer/general', 'audiographer/general/*.h')
+ #bld.install_files('${INCLUDEDIR}/audiographer/sndfile', 'audiographer/sndfile/*.h')
+ #bld.install_files('${INCLUDEDIR}/audiographer/utils', 'audiographer/utils/*.h')
+
+ #bld.env['BUILD_TESTS'] = True
+ bld.env['HAVE_ALL_GTHREAD'] = bld.env['HAVE_GLIB'] and bld.env['HAVE_GLIBMM'] and bld.env['HAVE_GTHREAD']
- audiographer = bld.new_task_gen('cxx', 'shlib')
- audiographer.source = '''
- private/gdither/gdither.cc
- src/general/sample_format_converter.cc
- src/routines.cc
- src/debug_utils.cc
- src/general/broadcast_info.cc
- '''
-
- if bld.env['HAVE_SAMPLERATE']:
- audiographer.source += '''
- src/general/sr_converter.cc
- '''
-
- audiographer.name = 'libaudiographer'
- audiographer.target = 'audiographer'
- audiographer.export_incdirs = ['.', './src']
- audiographer.includes = ['.', './src']
- audiographer.uselib = 'GLIB GLIBMM GTHREAD SAMPLERATE SNDFILE'
- audiographer.uselib_local = 'libpbd'
- audiographer.vnum = AUDIOGRAPHER_LIB_VERSION
- audiographer.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
-
+ audiographer = bld.new_task_gen('cxx', 'shlib')
+ audiographer.source = '''
+ private/gdither/gdither.cc
+ src/general/sample_format_converter.cc
+ src/routines.cc
+ src/debug_utils.cc
+ src/general/broadcast_info.cc
+ '''
+
+ if bld.env['HAVE_SAMPLERATE']:
+ audiographer.source += '''
+ src/general/sr_converter.cc
+ '''
+
+ audiographer.name = 'libaudiographer'
+ audiographer.target = 'audiographer'
+ audiographer.export_incdirs = ['.', './src']
+ audiographer.includes = ['.', './src']
+ audiographer.uselib = 'GLIB GLIBMM GTHREAD SAMPLERATE SNDFILE'
+ audiographer.uselib_local = 'libpbd'
+ audiographer.vnum = AUDIOGRAPHER_LIB_VERSION
+ audiographer.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+
- if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
- # Unit tests
- obj = bld.new_task_gen('cxx', 'program')
- obj.source = '''
- tests/test_runner.cc
- tests/type_utils_test.cc
- tests/utils/identity_vertex_test.cc
- tests/general/interleaver_test.cc
- tests/general/deinterleaver_test.cc
- tests/general/interleaver_deinterleaver_test.cc
- tests/general/chunker_test.cc
- tests/general/sample_format_converter_test.cc
- tests/general/peak_reader_test.cc
- tests/general/normalizer_test.cc
- tests/general/silence_trimmer_test.cc
- '''
-
- if bld.env['HAVE_ALL_GTHREAD']:
- obj.source += '''
- tests/general/threader_test.cc
- '''
-
- if bld.env['HAVE_SNDFILE']:
- obj.source += '''
- tests/sndfile/tmp_file_test.cc
- '''
+ if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
+ # Unit tests
+ obj = bld.new_task_gen('cxx', 'program')
+ obj.source = '''
+ tests/test_runner.cc
+ tests/type_utils_test.cc
+ tests/utils/identity_vertex_test.cc
+ tests/general/interleaver_test.cc
+ tests/general/deinterleaver_test.cc
+ tests/general/interleaver_deinterleaver_test.cc
+ tests/general/chunker_test.cc
+ tests/general/sample_format_converter_test.cc
+ tests/general/peak_reader_test.cc
+ tests/general/normalizer_test.cc
+ tests/general/silence_trimmer_test.cc
+ '''
+
+ if bld.env['HAVE_ALL_GTHREAD']:
+ obj.source += '''
+ tests/general/threader_test.cc
+ '''
+
+ if bld.env['HAVE_SNDFILE']:
+ obj.source += '''
+ tests/sndfile/tmp_file_test.cc
+ '''
- if bld.env['HAVE_SAMPLERATE']:
- obj.source += '''
- tests/general/sr_converter_test.cc
- '''
-
- obj.uselib_local = 'libaudiographer'
- obj.uselib = 'CPPUNIT GLIBMM'
- obj.target = 'run-tests'
- obj.install_path = ''
+ if bld.env['HAVE_SAMPLERATE']:
+ obj.source += '''
+ tests/general/sr_converter_test.cc
+ '''
+
+ obj.uselib_local = 'libaudiographer'
+ obj.uselib = 'CPPUNIT GLIBMM'
+ obj.target = 'run-tests'
+ obj.install_path = ''
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/evoral/wscript b/libs/evoral/wscript
index 2c9c157bc8..a0c99029a5 100644
--- a/libs/evoral/wscript
+++ b/libs/evoral/wscript
@@ -23,112 +23,112 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
- opt.add_option('--test', action='store_true', default=False, dest='build_tests',
- help="Build unit tests")
+ autowaf.set_options(opt)
+ opt.add_option('--test', action='store_true', default=False, dest='build_tests',
+ help="Build unit tests")
def configure(conf):
- autowaf.configure(conf)
- #autowaf.display_header('Evoral Configuration')
-
- conf.check_tool('compiler_cxx')
- autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False)
- autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2')
- autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0')
- autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.14.0')
-
- # Boost headers
- autowaf.check_header(conf, 'boost/shared_ptr.hpp')
- autowaf.check_header(conf, 'boost/weak_ptr.hpp')
-
- conf.env['BUILD_TESTS'] = Options.options.build_tests
-
- #autowaf.display_msg(conf, "Unit tests", str(conf.env['BUILD_TESTS']))
- #print
+ autowaf.configure(conf)
+ #autowaf.display_header('Evoral Configuration')
+
+ conf.check_tool('compiler_cxx')
+ autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False)
+ autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2')
+ autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0')
+ autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.14.0')
+
+ # Boost headers
+ autowaf.check_header(conf, 'boost/shared_ptr.hpp')
+ autowaf.check_header(conf, 'boost/weak_ptr.hpp')
+
+ conf.env['BUILD_TESTS'] = Options.options.build_tests
+
+ #autowaf.display_msg(conf, "Unit tests", str(conf.env['BUILD_TESTS']))
+ #print
def build(bld):
- # Headers
- #bld.install_files('${INCLUDEDIR}/evoral', 'evoral/*.h')
- #bld.install_files('${INCLUDEDIR}/evoral', 'evoral/*.hpp')
-
- # Pkgconfig file
- #autowaf.build_pc(bld, 'EVORAL', EVORAL_VERSION, 'GLIBMM GTHREAD')
-
- libsmf = bld.new_task_gen('cc', 'shlib')
- libsmf.source = '''
- src/libsmf/smf.c
- src/libsmf/smf_decode.c
- src/libsmf/smf_load.c
- src/libsmf/smf_save.c
- src/libsmf/smf_tempo.c
- '''
- libsmf.export_incdirs = ['./src/libsmf']
- libsmf.defines = 'SMF_VERSION="1.2"'
- libsmf.includes = ['./src']
- libsmf.name = 'libsmf'
- libsmf.target = 'smf'
- libsmf.uselib = 'GLIB'
- libsmf.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
-
- lib_source = '''
- src/Control.cpp
- src/ControlList.cpp
- src/ControlSet.cpp
- src/Curve.cpp
- src/Event.cpp
- src/midi_util.cpp
- src/MIDIEvent.cpp
- src/Note.cpp
- src/SMF.cpp
- src/Sequence.cpp
+ # Headers
+ #bld.install_files('${INCLUDEDIR}/evoral', 'evoral/*.h')
+ #bld.install_files('${INCLUDEDIR}/evoral', 'evoral/*.hpp')
+
+ # Pkgconfig file
+ #autowaf.build_pc(bld, 'EVORAL', EVORAL_VERSION, 'GLIBMM GTHREAD')
+
+ libsmf = bld.new_task_gen('cc', 'shlib')
+ libsmf.source = '''
+ src/libsmf/smf.c
+ src/libsmf/smf_decode.c
+ src/libsmf/smf_load.c
+ src/libsmf/smf_save.c
+ src/libsmf/smf_tempo.c
+ '''
+ libsmf.export_incdirs = ['./src/libsmf']
+ libsmf.defines = 'SMF_VERSION="1.2"'
+ libsmf.includes = ['./src']
+ libsmf.name = 'libsmf'
+ libsmf.target = 'smf'
+ libsmf.uselib = 'GLIB'
+ libsmf.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+
+ lib_source = '''
+ src/Control.cpp
+ src/ControlList.cpp
+ src/ControlSet.cpp
+ src/Curve.cpp
+ src/Event.cpp
+ src/midi_util.cpp
+ src/MIDIEvent.cpp
+ src/Note.cpp
+ src/SMF.cpp
+ src/Sequence.cpp
src/debug.cpp
- '''
-
- # Library
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = lib_source
- obj.export_incdirs = ['.']
- obj.includes = ['.', './src']
- obj.name = 'libevoral'
- obj.target = 'evoral'
- obj.uselib = 'GLIBMM GTHREAD SMF'
- obj.uselib_local = 'libsmf libpbd'
- obj.vnum = EVORAL_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
-
- if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
- # Static library (for unit test code coverage)
- obj = bld.new_task_gen('cxx', 'staticlib')
- obj.source = lib_source
- obj.source = lib_source
- obj.export_incdirs = ['.']
- obj.includes = ['.', './src']
- obj.name = 'libevoral_static'
- obj.target = 'evoral_static'
- obj.uselib = 'GLIBMM GTHREAD SMF'
- obj.uselib_local = 'libsmf libpbd'
- obj.vnum = EVORAL_LIB_VERSION
- obj.install_path = ''
- obj.ccflags = [ '-fprofile-arcs', '-ftest-coverage' ]
- obj.cxxflags = [ '-fprofile-arcs', '-ftest-coverage' ]
-
- # Unit tests
- obj = bld.new_task_gen('cxx', 'program')
- obj.source = '''
- test/SequenceTest.cpp
- test/SMFTest.cpp
- test/testrunner.cpp
- '''
- obj.includes = ['.', './src']
- obj.uselib_local = 'libevoral_static'
- obj.uselib = 'CPPUNIT SNDFILE'
- obj.libs = 'gcov'
- obj.target = 'run-tests'
- obj.name = 'libevoral-tests'
- obj.install_path = ''
- obj.ccflags = [ '-fprofile-arcs', '-ftest-coverage' ]
- obj.cxxflags = [ '-fprofile-arcs', '-ftest-coverage' ]
+ '''
+
+ # Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = lib_source
+ obj.export_incdirs = ['.']
+ obj.includes = ['.', './src']
+ obj.name = 'libevoral'
+ obj.target = 'evoral'
+ obj.uselib = 'GLIBMM GTHREAD SMF'
+ obj.uselib_local = 'libsmf libpbd'
+ obj.vnum = EVORAL_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+
+ if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
+ # Static library (for unit test code coverage)
+ obj = bld.new_task_gen('cxx', 'staticlib')
+ obj.source = lib_source
+ obj.source = lib_source
+ obj.export_incdirs = ['.']
+ obj.includes = ['.', './src']
+ obj.name = 'libevoral_static'
+ obj.target = 'evoral_static'
+ obj.uselib = 'GLIBMM GTHREAD SMF'
+ obj.uselib_local = 'libsmf libpbd'
+ obj.vnum = EVORAL_LIB_VERSION
+ obj.install_path = ''
+ obj.ccflags = [ '-fprofile-arcs', '-ftest-coverage' ]
+ obj.cxxflags = [ '-fprofile-arcs', '-ftest-coverage' ]
+
+ # Unit tests
+ obj = bld.new_task_gen('cxx', 'program')
+ obj.source = '''
+ test/SequenceTest.cpp
+ test/SMFTest.cpp
+ test/testrunner.cpp
+ '''
+ obj.includes = ['.', './src']
+ obj.uselib_local = 'libevoral_static'
+ obj.uselib = 'CPPUNIT SNDFILE'
+ obj.libs = 'gcov'
+ obj.target = 'run-tests'
+ obj.name = 'libevoral-tests'
+ obj.install_path = ''
+ obj.ccflags = [ '-fprofile-arcs', '-ftest-coverage' ]
+ obj.cxxflags = [ '-fprofile-arcs', '-ftest-coverage' ]
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/gnomecanvas/wscript b/libs/gnomecanvas/wscript
index 346b79921c..96dbce8630 100644
--- a/libs/gnomecanvas/wscript
+++ b/libs/gnomecanvas/wscript
@@ -42,26 +42,26 @@ libgnomecanvas_sources = [
]
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
- conf.check_tool('compiler_cc')
- autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK', atleast_version='2.18')
- autowaf.check_pkg(conf, 'libart-2.0', uselib_store='LIBART', atleast_version='2.3')
+ autowaf.configure(conf)
+ conf.check_tool('compiler_cc')
+ autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK', atleast_version='2.18')
+ autowaf.check_pkg(conf, 'libart-2.0', uselib_store='LIBART', atleast_version='2.3')
def build(bld):
- # Library
- obj = bld.new_task_gen('cc', 'shlib')
- obj.source = libgnomecanvas_sources
- obj.export_incdirs = ['.']
+ # Library
+ obj = bld.new_task_gen('cc', 'shlib')
+ obj.source = libgnomecanvas_sources
+ obj.export_incdirs = ['.']
obj.includes = ['.']
- obj.name = 'libgnomecanvas-2'
- obj.target = 'gnomecanvas-2'
- obj.uselib = 'GLIB GTK LIBART'
- obj.vnum = LIBGNOMECANVAS_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ obj.name = 'libgnomecanvas-2'
+ obj.target = 'gnomecanvas-2'
+ obj.uselib = 'GLIB GTK LIBART'
+ obj.vnum = LIBGNOMECANVAS_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/gtkmm2ext/wscript b/libs/gtkmm2ext/wscript
index b4617af506..c310683677 100644
--- a/libs/gtkmm2ext/wscript
+++ b/libs/gtkmm2ext/wscript
@@ -19,42 +19,42 @@ APPNAME = 'gtkmm2ext'
VERSION = GTKMM2EXT_VERSION
gtkmm2ext_sources = [
- 'actions.cc',
+ 'actions.cc',
'application.cc',
- 'auto_spin.cc',
- 'barcontroller.cc',
- 'binding_proxy.cc',
- 'bindable_button.cc',
+ 'auto_spin.cc',
+ 'barcontroller.cc',
+ 'binding_proxy.cc',
+ 'bindable_button.cc',
'bindings.cc',
- 'cell_renderer_pixbuf_multi.cc',
- 'cell_renderer_pixbuf_toggle.cc',
- 'choice.cc',
- 'click_box.cc',
- 'debug.cc',
- 'dndtreeview.cc',
- 'fastmeter.cc',
- 'focus_entry.cc',
- 'grouped_buttons.cc',
- 'gtk_ui.cc',
+ 'cell_renderer_pixbuf_multi.cc',
+ 'cell_renderer_pixbuf_toggle.cc',
+ 'choice.cc',
+ 'click_box.cc',
+ 'debug.cc',
+ 'dndtreeview.cc',
+ 'fastmeter.cc',
+ 'focus_entry.cc',
+ 'grouped_buttons.cc',
+ 'gtk_ui.cc',
'gtkapplication.c',
- 'idle_adjustment.cc',
- 'keyboard.cc',
+ 'idle_adjustment.cc',
+ 'keyboard.cc',
'motionfeedback.cc',
'prolooks_helpers.c',
- 'pixfader.cc',
- 'pixscroller.cc',
- 'popup.cc',
- 'prompter.cc',
- 'scroomer.cc',
- 'selector.cc',
- 'slider_controller.cc',
- 'stateful_button.cc',
- 'tearoff.cc',
- 'textviewer.cc',
+ 'pixfader.cc',
+ 'pixscroller.cc',
+ 'popup.cc',
+ 'prompter.cc',
+ 'scroomer.cc',
+ 'selector.cc',
+ 'slider_controller.cc',
+ 'stateful_button.cc',
+ 'tearoff.cc',
+ 'textviewer.cc',
'treeutils.cc',
- 'utils.cc',
- 'version.cc',
- 'window_title.cc'
+ 'utils.cc',
+ 'version.cc',
+ 'window_title.cc'
]
# Mandatory variables
@@ -64,37 +64,37 @@ blddir = 'build'
path_prefix = 'libs/gtkmm2ext/'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.build_version_files(path_prefix+'gtkmm2ext/version.h', path_prefix+'version.cc',
- 'libgtkmm2ext', MAJOR, MINOR, MICRO)
- autowaf.configure(conf)
- conf.check_tool('compiler_cxx')
- autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM', atleast_version='2.8')
- autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK', atleast_version='2.12.1')
+ autowaf.build_version_files(path_prefix+'gtkmm2ext/version.h', path_prefix+'version.cc',
+ 'libgtkmm2ext', MAJOR, MINOR, MICRO)
+ autowaf.configure(conf)
+ conf.check_tool('compiler_cxx')
+ autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM', atleast_version='2.8')
+ autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK', atleast_version='2.12.1')
def build(bld):
- obj = bld.new_task_gen(features = 'cc cxx cshlib')
- obj.source = gtkmm2ext_sources
- obj.export_incdirs = ['.']
- obj.includes = ['.']
- obj.name = 'libgtkmm2ext'
- obj.target = 'gtkmm2ext'
- obj.uselib = 'GTKMM GTK GTKOSX OSX GDK'
- obj.uselib_local = 'libpbd'
- obj.vnum = GTKMM2EXT_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
- obj.cxxflags = [
- '-DPACKAGE="libgtkmm2ext"',
- '-DLOCALEDIR="' + os.path.join(
- os.path.normpath(bld.env['DATADIRNAME']), 'locale') + '"']
- if bld.env['GTKOSX']:
- obj.source += ['gtkapplication_quartz.mm']
- else:
+ obj = bld.new_task_gen(features = 'cc cxx cshlib')
+ obj.source = gtkmm2ext_sources
+ obj.export_incdirs = ['.']
+ obj.includes = ['.']
+ obj.name = 'libgtkmm2ext'
+ obj.target = 'gtkmm2ext'
+ obj.uselib = 'GTKMM GTK GTKOSX OSX GDK'
+ obj.uselib_local = 'libpbd'
+ obj.vnum = GTKMM2EXT_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ obj.cxxflags = [
+ '-DPACKAGE="libgtkmm2ext"',
+ '-DLOCALEDIR="' + os.path.join(
+ os.path.normpath(bld.env['DATADIRNAME']), 'locale') + '"']
+ if bld.env['GTKOSX']:
+ obj.source += ['gtkapplication_quartz.mm']
+ else:
obj.source += ['gtkapplication_x11.c']
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/midi++2/wscript b/libs/midi++2/wscript
index d5d7fdef83..14da1afccb 100644
--- a/libs/midi++2/wscript
+++ b/libs/midi++2/wscript
@@ -26,46 +26,46 @@ blddir = 'build'
path_prefix = 'libs/midi++2/'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.build_version_files(path_prefix+'midi++/version.h', path_prefix+'version.cc',
- 'midipp', MAJOR, MINOR, MICRO)
- autowaf.configure(conf)
- conf.check_tool('compiler_cxx')
- 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')
+ autowaf.build_version_files(path_prefix+'midi++/version.h', path_prefix+'version.cc',
+ 'midipp', MAJOR, MINOR, MICRO)
+ autowaf.configure(conf)
+ conf.check_tool('compiler_cxx')
+ 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')
- # Boost headers
- autowaf.check_header(conf, 'boost/shared_ptr.hpp')
- autowaf.check_header(conf, 'boost/weak_ptr.hpp')
+ # Boost headers
+ autowaf.check_header(conf, 'boost/shared_ptr.hpp')
+ autowaf.check_header(conf, 'boost/weak_ptr.hpp')
def build(bld):
- # Library
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = '''
- midi.cc
- channel.cc
- manager.cc
- parser.cc
- port.cc
- midnam_patch.cc
- mmc.cc
- mtc.cc
- version.cc
- '''
- # everybody loves JACK
- obj.cxxflags = [ '-DWITH_JACK_MIDI' ]
- obj.export_incdirs = ['.']
- obj.includes = ['.', '../surfaces/control_protocol']
- obj.name = 'libmidipp'
- obj.target = 'midipp'
- obj.uselib = 'GLIBMM SIGCPP XML JACK OSX'
- obj.uselib_local = 'libpbd libevoral libtimecode'
- obj.vnum = LIBMIDIPP_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ # Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ midi.cc
+ channel.cc
+ manager.cc
+ parser.cc
+ port.cc
+ midnam_patch.cc
+ mmc.cc
+ mtc.cc
+ version.cc
+ '''
+ # everybody loves JACK
+ obj.cxxflags = [ '-DWITH_JACK_MIDI' ]
+ obj.export_incdirs = ['.']
+ obj.includes = ['.', '../surfaces/control_protocol']
+ obj.name = 'libmidipp'
+ obj.target = 'midipp'
+ obj.uselib = 'GLIBMM SIGCPP XML JACK OSX'
+ obj.uselib_local = 'libpbd libevoral libtimecode'
+ obj.vnum = LIBMIDIPP_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/panners/1in2out/wscript b/libs/panners/1in2out/wscript
index e7e4d29928..14af0d6781 100644
--- a/libs/panners/1in2out/wscript
+++ b/libs/panners/1in2out/wscript
@@ -13,23 +13,23 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
+ autowaf.configure(conf)
def build(bld):
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = [ 'panner_1in2out.cc' ]
- obj.export_incdirs = ['.']
- obj.cxxflags = '-DPACKAGE="libardour_pan1in2out"'
- obj.includes = ['.']
- obj.name = 'libardour_pan1in2out'
- obj.target = 'pan1in2out'
- obj.uselib_local = 'libardour libardour_cp libpbd'
- obj.vnum = LIBARDOUR_PAN1IN2OUT_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners')
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = [ 'panner_1in2out.cc' ]
+ obj.export_incdirs = ['.']
+ obj.cxxflags = '-DPACKAGE="libardour_pan1in2out"'
+ obj.includes = ['.']
+ obj.name = 'libardour_pan1in2out'
+ obj.target = 'pan1in2out'
+ obj.uselib_local = 'libardour libardour_cp libpbd'
+ obj.vnum = LIBARDOUR_PAN1IN2OUT_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/panners/2in2out/wscript b/libs/panners/2in2out/wscript
index 22d5c03726..060796c045 100644
--- a/libs/panners/2in2out/wscript
+++ b/libs/panners/2in2out/wscript
@@ -13,23 +13,23 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
+ autowaf.configure(conf)
def build(bld):
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = [ 'panner_2in2out.cc' ]
- obj.export_incdirs = ['.']
- obj.cxxflags = '-DPACKAGE="libardour_pan2in2out"'
- obj.includes = ['.']
- obj.name = 'libardour_pan2in2out'
- obj.target = 'pan2in2out'
- obj.uselib_local = 'libardour libardour_cp libpbd'
- obj.vnum = LIBARDOUR_PAN2IN2OUT_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners')
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = [ 'panner_2in2out.cc' ]
+ obj.export_incdirs = ['.']
+ obj.cxxflags = '-DPACKAGE="libardour_pan2in2out"'
+ obj.includes = ['.']
+ obj.name = 'libardour_pan2in2out'
+ obj.target = 'pan2in2out'
+ obj.uselib_local = 'libardour libardour_cp libpbd'
+ obj.vnum = LIBARDOUR_PAN2IN2OUT_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/panners/vbap/wscript b/libs/panners/vbap/wscript
index 1399039483..47fbcbb8b1 100644
--- a/libs/panners/vbap/wscript
+++ b/libs/panners/vbap/wscript
@@ -13,23 +13,23 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
+ autowaf.configure(conf)
def build(bld):
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = [ 'vbap_speakers.cc', 'vbap.cc' ]
- obj.export_incdirs = ['.']
- obj.cxxflags = '-DPACKAGE="libardour_panvbap"'
- obj.includes = ['.']
- obj.name = 'libardour_panvbap'
- obj.target = 'panvbap'
- obj.uselib_local = 'libardour libardour_cp libpbd'
- obj.vnum = LIBARDOUR_PANVBAP_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners')
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = [ 'vbap_speakers.cc', 'vbap.cc' ]
+ obj.export_incdirs = ['.']
+ obj.cxxflags = '-DPACKAGE="libardour_panvbap"'
+ obj.includes = ['.']
+ obj.name = 'libardour_panvbap'
+ obj.target = 'panvbap'
+ obj.uselib_local = 'libardour libardour_cp libpbd'
+ obj.vnum = LIBARDOUR_PANVBAP_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/panners/wscript b/libs/panners/wscript
index 192f27b7db..02e741b8e0 100644
--- a/libs/panners/wscript
+++ b/libs/panners/wscript
@@ -9,18 +9,18 @@ blddir = 'build'
panners = [ '2in2out', '1in2out', 'vbap' ]
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def sub_config_and_use(conf, name, has_objects = True):
- conf.sub_config(name)
- autowaf.set_local_lib(conf, name, has_objects)
+ conf.sub_config(name)
+ autowaf.set_local_lib(conf, name, has_objects)
def configure(conf):
- autowaf.set_recursive()
- autowaf.configure(conf)
+ autowaf.set_recursive()
+ autowaf.configure(conf)
- for i in panners:
- sub_config_and_use(conf, i)
+ for i in panners:
+ sub_config_and_use(conf, i)
def build(bld):
for i in panners:
diff --git a/libs/pbd/wscript b/libs/pbd/wscript
index ee1ad31508..9a35a22e1e 100644
--- a/libs/pbd/wscript
+++ b/libs/pbd/wscript
@@ -27,121 +27,121 @@ blddir = 'build'
path_prefix = 'libs/pbd/'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.build_version_files(path_prefix+'pbd/version.h', path_prefix+'version.cc',
- 'libpbd', MAJOR, MINOR, MICRO)
- autowaf.configure(conf)
- conf.check_tool('compiler_cxx')
- autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML')
- autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0')
+ autowaf.build_version_files(path_prefix+'pbd/version.h', path_prefix+'version.cc',
+ 'libpbd', MAJOR, MINOR, MICRO)
+ autowaf.configure(conf)
+ conf.check_tool('compiler_cxx')
+ autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML')
+ autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0')
if sys.platform != 'darwin':
autowaf.check_pkg(conf, 'uuid', uselib_store='UUID')
- conf.check(function_name='getmntent', header_name='mntent.h', define_name='HAVE_GETMNTENT')
- conf.check(header_name='execinfo.h', define_name='HAVE_EXECINFO')
- conf.check(header_name='unistd.h', define_name='HAVE_UNISTD')
- if conf.check_cc(function_name='posix_memalign', header_name='stdlib.h', ccflags='-D_XOPEN_SOURCE=600') == False:
- conf.define ('NO_POSIX_MEMALIGN',1)
+ conf.check(function_name='getmntent', header_name='mntent.h', define_name='HAVE_GETMNTENT')
+ conf.check(header_name='execinfo.h', define_name='HAVE_EXECINFO')
+ conf.check(header_name='unistd.h', define_name='HAVE_UNISTD')
+ if conf.check_cc(function_name='posix_memalign', header_name='stdlib.h', ccflags='-D_XOPEN_SOURCE=600') == False:
+ conf.define ('NO_POSIX_MEMALIGN',1)
- conf.write_config_header('libpbd-config.h')
+ conf.write_config_header('libpbd-config.h')
- # Boost headers
- autowaf.check_header(conf, 'boost/shared_ptr.hpp')
- autowaf.check_header(conf, 'boost/weak_ptr.hpp')
- # autowaf.check_header(conf, 'boost/uuid/uuid.hpp')
+ # Boost headers
+ autowaf.check_header(conf, 'boost/shared_ptr.hpp')
+ autowaf.check_header(conf, 'boost/weak_ptr.hpp')
+ # autowaf.check_header(conf, 'boost/uuid/uuid.hpp')
def build(bld):
- # Library
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = '''
- basename.cc
- base_ui.cc
+ # Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ basename.cc
+ base_ui.cc
boost_debug.cc
cartesian.cc
- command.cc
- convert.cc
- controllable.cc
- controllable_descriptor.cc
+ command.cc
+ convert.cc
+ controllable.cc
+ controllable_descriptor.cc
clear_dir.cc
crossthread.cc
cpus.cc
debug.cc
- enumwriter.cc
+ enumwriter.cc
event_loop.cc
- dmalloc.cc
+ dmalloc.cc
enums.cc
epa.cc
- error.cc
- filesystem.cc
- filesystem_paths.cc
- file_manager.cc
- file_utils.cc
- fpu.cc
- id.cc
+ error.cc
+ filesystem.cc
+ filesystem_paths.cc
+ file_manager.cc
+ file_utils.cc
+ fpu.cc
+ id.cc
locale_guard.cc
malign.cc
- mountpoint.cc
+ mountpoint.cc
openuri.cc
- pathscanner.cc
- pool.cc
+ pathscanner.cc
+ pool.cc
property_list.cc
- pthread_utils.cc
- receiver.cc
- search_path.cc
- semutils.cc
- shortpath.cc
- signals.cc
+ pthread_utils.cc
+ receiver.cc
+ search_path.cc
+ semutils.cc
+ shortpath.cc
+ signals.cc
sndfile_manager.cc
- stacktrace.cc
- stateful_diff_command.cc
- stateful.cc
- strreplace.cc
- strsplit.cc
- textreceiver.cc
- transmitter.cc
- undo.cc
- uuid.cc
- version.cc
- whitespace.cc
- xml++.cc
- '''
-
- if bld.env['DEBUG_RT_ALLOC']:
- obj.source += 'debug_rt_alloc.c'
-
- obj.export_incdirs = ['.']
- obj.includes = ['.']
- obj.name = 'libpbd'
- obj.target = 'pbd'
- obj.uselib = 'GLIBMM SIGCPP XML UUID SNDFILE'
- if sys.platform == 'darwin':
- TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cc']
- obj.source += 'cocoa_open_uri.mm'
- obj.uselib += ' OSX'
- obj.vnum = LIBPBD_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
- obj.cxxflags = ['-DPACKAGE="libpbd"']
-
- if bld.env['build_target'] == 'x86_64':
- obj.cxxflags += [ '-DUSE_X86_64_ASM' ]
-
- if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
- # Unit tests
- testobj = bld.new_task_gen('cxx', 'program')
- testobj.source = '''
+ stacktrace.cc
+ stateful_diff_command.cc
+ stateful.cc
+ strreplace.cc
+ strsplit.cc
+ textreceiver.cc
+ transmitter.cc
+ undo.cc
+ uuid.cc
+ version.cc
+ whitespace.cc
+ xml++.cc
+ '''
+
+ if bld.env['DEBUG_RT_ALLOC']:
+ obj.source += 'debug_rt_alloc.c'
+
+ obj.export_incdirs = ['.']
+ obj.includes = ['.']
+ obj.name = 'libpbd'
+ obj.target = 'pbd'
+ obj.uselib = 'GLIBMM SIGCPP XML UUID SNDFILE'
+ if sys.platform == 'darwin':
+ TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cc']
+ obj.source += 'cocoa_open_uri.mm'
+ obj.uselib += ' OSX'
+ obj.vnum = LIBPBD_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ obj.cxxflags = ['-DPACKAGE="libpbd"']
+
+ if bld.env['build_target'] == 'x86_64':
+ obj.cxxflags += [ '-DUSE_X86_64_ASM' ]
+
+ if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
+ # Unit tests
+ testobj = bld.new_task_gen('cxx', 'program')
+ testobj.source = '''
test/testrunner.cc
- test/xpath.cc
+ test/xpath.cc
test/scalar_properties.cc
- test/signals_test.cc
- '''.split()
- testobj.target = 'run-tests'
- testobj.includes = obj.includes + ['test', '../pbd']
- testobj.uselib = 'CPPUNIT XML SNDFILE'
- testobj.uselib_local = 'libpbd'
+ test/signals_test.cc
+ '''.split()
+ testobj.target = 'run-tests'
+ testobj.includes = obj.includes + ['test', '../pbd']
+ testobj.uselib = 'CPPUNIT XML SNDFILE'
+ testobj.uselib_local = 'libpbd'
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/qm-dsp/wscript b/libs/qm-dsp/wscript
index 99ce4fdf87..232f010235 100644
--- a/libs/qm-dsp/wscript
+++ b/libs/qm-dsp/wscript
@@ -20,40 +20,40 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
- conf.check_tool('compiler_cxx')
+ autowaf.configure(conf)
+ conf.check_tool('compiler_cxx')
def build(bld):
- # Host Library
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = '''
- dsp/onsets/DetectionFunction.cpp
- dsp/onsets/PeakPicking.cpp
- dsp/phasevocoder/PhaseVocoder.cpp
- dsp/rateconversion/Decimator.cpp
- dsp/rhythm/BeatSpectrum.cpp
- dsp/signalconditioning/DFProcess.cpp
- dsp/signalconditioning/Filter.cpp
- dsp/signalconditioning/FiltFilt.cpp
- dsp/signalconditioning/Framer.cpp
- dsp/transforms/FFT.cpp
- dsp/wavelet/Wavelet.cpp
- maths/Correlation.cpp
- maths/CosineDistance.cpp
- maths/KLDivergence.cpp
- maths/MathUtilities.cpp
- base/Pitch.cpp
- '''
- obj.export_incdirs = ['.']
- obj.includes = ['.']
- obj.name = 'libqmdsp'
- obj.target = 'qmdsp'
- obj.vnum = QM_DSP_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ # Host Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ dsp/onsets/DetectionFunction.cpp
+ dsp/onsets/PeakPicking.cpp
+ dsp/phasevocoder/PhaseVocoder.cpp
+ dsp/rateconversion/Decimator.cpp
+ dsp/rhythm/BeatSpectrum.cpp
+ dsp/signalconditioning/DFProcess.cpp
+ dsp/signalconditioning/Filter.cpp
+ dsp/signalconditioning/FiltFilt.cpp
+ dsp/signalconditioning/Framer.cpp
+ dsp/transforms/FFT.cpp
+ dsp/wavelet/Wavelet.cpp
+ maths/Correlation.cpp
+ maths/CosineDistance.cpp
+ maths/KLDivergence.cpp
+ maths/MathUtilities.cpp
+ base/Pitch.cpp
+ '''
+ obj.export_incdirs = ['.']
+ obj.includes = ['.']
+ obj.name = 'libqmdsp'
+ obj.target = 'qmdsp'
+ obj.vnum = QM_DSP_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/rubberband/wscript b/libs/rubberband/wscript
index 765a807ba8..60dc57dcfd 100644
--- a/libs/rubberband/wscript
+++ b/libs/rubberband/wscript
@@ -21,30 +21,30 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
- conf.check_tool('compiler_cxx')
+ autowaf.configure(conf)
+ conf.check_tool('compiler_cxx')
def build(bld):
- # Library
- obj = bld.new_task_gen('cxx', 'shlib')
- prefix = 'libs/rubberband/'
- sources = glob.glob(prefix + 'src/*.cpp')
- obj.source = [ ]
- for i in sources:
- obj.source += [ i.replace(prefix, '') ]
- obj.export_incdirs = ['.']
- obj.includes = ['.', 'rubberband']
- obj.name = 'librubberband'
- obj.target = 'rubberband'
- obj.uselib = 'FFTW3 FFTW3F SAMPLERATE SNDFILE'
- obj.uselib_local = 'libvamphost'
- obj.vnum = LIBRUBBERBAND_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
- obj.cxxflags = '-DPACKAGE="librubberband"'
+ # Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ prefix = 'libs/rubberband/'
+ sources = glob.glob(prefix + 'src/*.cpp')
+ obj.source = [ ]
+ for i in sources:
+ obj.source += [ i.replace(prefix, '') ]
+ obj.export_incdirs = ['.']
+ obj.includes = ['.', 'rubberband']
+ obj.name = 'librubberband'
+ obj.target = 'rubberband'
+ obj.uselib = 'FFTW3 FFTW3F SAMPLERATE SNDFILE'
+ obj.uselib_local = 'libvamphost'
+ obj.vnum = LIBRUBBERBAND_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ obj.cxxflags = '-DPACKAGE="librubberband"'
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/surfaces/control_protocol/wscript b/libs/surfaces/control_protocol/wscript
index 94e5ef1359..6dc2e55447 100644
--- a/libs/surfaces/control_protocol/wscript
+++ b/libs/surfaces/control_protocol/wscript
@@ -14,26 +14,26 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
+ autowaf.configure(conf)
def build(bld):
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = '''
- basic_ui.cc
- control_protocol.cc
- '''
- obj.export_incdirs = ['.', './control_protocol' ]
- obj.cxxflags = '-DPACKAGE="ardour_cp"'
- obj.includes = ['.', './control_protocol']
- obj.name = 'libardour_cp'
- obj.target = 'ardourcp'
- obj.uselib_local = 'libardour libtimecode'
- obj.vnum = LIBARDOUR_CP_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ basic_ui.cc
+ control_protocol.cc
+ '''
+ obj.export_incdirs = ['.', './control_protocol' ]
+ obj.cxxflags = '-DPACKAGE="ardour_cp"'
+ obj.includes = ['.', './control_protocol']
+ obj.name = 'libardour_cp'
+ obj.target = 'ardourcp'
+ obj.uselib_local = 'libardour libtimecode'
+ obj.vnum = LIBARDOUR_CP_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/surfaces/frontier/wscript b/libs/surfaces/frontier/wscript
index 652dafe825..6c383aa072 100644
--- a/libs/surfaces/frontier/wscript
+++ b/libs/surfaces/frontier/wscript
@@ -20,28 +20,28 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
+ autowaf.configure(conf)
def build(bld):
- # Generic MIDI
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = '''
- generic_midi_control_protocol.cc
- interface.cc
- midicontrollable.cc
- '''
- obj.export_incdirs = ['./generic_midi']
- obj.cxxflags = '-DPACKAGE="ardour_genericmidi"'
- obj.includes = ['.', './generic_midi']
- obj.name = 'libgeneric_midi'
- obj.target = 'generic_midi'
- obj.uselib_local = 'libardour libsurfaces'
- obj.vnum = LIBSURFACES_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
+ # Generic MIDI
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ generic_midi_control_protocol.cc
+ interface.cc
+ midicontrollable.cc
+ '''
+ obj.export_incdirs = ['./generic_midi']
+ obj.cxxflags = '-DPACKAGE="ardour_genericmidi"'
+ obj.includes = ['.', './generic_midi']
+ obj.name = 'libgeneric_midi'
+ obj.target = 'generic_midi'
+ obj.uselib_local = 'libardour libsurfaces'
+ obj.vnum = LIBSURFACES_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/surfaces/generic_midi/wscript b/libs/surfaces/generic_midi/wscript
index 8471830766..4cc97edb52 100644
--- a/libs/surfaces/generic_midi/wscript
+++ b/libs/surfaces/generic_midi/wscript
@@ -13,32 +13,32 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
+ autowaf.configure(conf)
def build(bld):
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = '''
- generic_midi_control_protocol.cc
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ generic_midi_control_protocol.cc
gmcp_gui.cc
- interface.cc
- midiinvokable.cc
- midicontrollable.cc
- midifunction.cc
- midiaction.cc
- '''
- obj.export_incdirs = ['.']
- obj.cxxflags = '-DPACKAGE="ardour_genericmidi"'
- obj.includes = ['.', './generic_midi']
- obj.name = 'libardour_generic_midi'
- obj.target = 'ardour_generic_midi'
- obj.uselib = 'GTKMM GTK GDK'
- obj.uselib_local = 'libardour libardour_cp libgtkmm2ext libpbd'
- obj.vnum = LIBARDOUR_GENERIC_MIDI_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
+ interface.cc
+ midiinvokable.cc
+ midicontrollable.cc
+ midifunction.cc
+ midiaction.cc
+ '''
+ obj.export_incdirs = ['.']
+ obj.cxxflags = '-DPACKAGE="ardour_genericmidi"'
+ obj.includes = ['.', './generic_midi']
+ obj.name = 'libardour_generic_midi'
+ obj.target = 'ardour_generic_midi'
+ obj.uselib = 'GTKMM GTK GDK'
+ obj.uselib_local = 'libardour libardour_cp libgtkmm2ext libpbd'
+ obj.vnum = LIBARDOUR_GENERIC_MIDI_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/surfaces/mackie/wscript b/libs/surfaces/mackie/wscript
index 4ef5995dc2..3935b22546 100644
--- a/libs/surfaces/mackie/wscript
+++ b/libs/surfaces/mackie/wscript
@@ -13,42 +13,42 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
+ autowaf.configure(conf)
def build(bld):
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = '''
- bcf_surface.cc
- bcf_surface_generated.cc
- controls.cc
- dummy_port.cc
- interface.cc
- mackie_button_handler.cc
- mackie_control_protocol.cc
- mackie_control_protocol_poll.cc
- mackie_jog_wheel.cc
- mackie_midi_builder.cc
- mackie_port.cc
- mackie_surface.cc
- mackie_surface_generated.cc
- midi_byte_array.cc
- route_signal.cc
- surface.cc
- surface_port.cc
- types.cc
- '''
- obj.export_incdirs = ['./mackie']
- obj.cxxflags = '-DPACKAGE="ardour_mackie"'
- obj.includes = ['.', './mackie']
- obj.name = 'libardour_mcp'
- obj.target = 'ardour_mcp'
- obj.uselib_local = 'libardour libardour_cp'
- obj.vnum = LIBARDOUR_MCP_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ bcf_surface.cc
+ bcf_surface_generated.cc
+ controls.cc
+ dummy_port.cc
+ interface.cc
+ mackie_button_handler.cc
+ mackie_control_protocol.cc
+ mackie_control_protocol_poll.cc
+ mackie_jog_wheel.cc
+ mackie_midi_builder.cc
+ mackie_port.cc
+ mackie_surface.cc
+ mackie_surface_generated.cc
+ midi_byte_array.cc
+ route_signal.cc
+ surface.cc
+ surface_port.cc
+ types.cc
+ '''
+ obj.export_incdirs = ['./mackie']
+ obj.cxxflags = '-DPACKAGE="ardour_mackie"'
+ obj.includes = ['.', './mackie']
+ obj.name = 'libardour_mcp'
+ obj.target = 'ardour_mcp'
+ obj.uselib_local = 'libardour libardour_cp'
+ obj.vnum = LIBARDOUR_MCP_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/surfaces/osc/wscript b/libs/surfaces/osc/wscript
index 9a09ff1630..b25c849ab0 100644
--- a/libs/surfaces/osc/wscript
+++ b/libs/surfaces/osc/wscript
@@ -13,30 +13,30 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
- autowaf.check_pkg(conf, 'liblo', uselib_store='LO', linkflags='-llo')
+ autowaf.configure(conf)
+ autowaf.check_pkg(conf, 'liblo', uselib_store='LO', linkflags='-llo')
def build(bld):
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = '''
- osc.cc
- osc_controllable.cc
- osc_route_observer.cc
- interface.cc
- '''
- obj.export_incdirs = ['.']
- obj.cxxflags = '-DPACKAGE="ardour_cp"'
- obj.includes = ['.', './osc']
- obj.name = 'libardour_osc'
- obj.target = 'osc'
- obj.uselib = ' LO '
- obj.uselib_local = 'libardour libardour_cp libpbd'
- obj.vnum = LIBARDOUR_OSC_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ osc.cc
+ osc_controllable.cc
+ osc_route_observer.cc
+ interface.cc
+ '''
+ obj.export_incdirs = ['.']
+ obj.cxxflags = '-DPACKAGE="ardour_cp"'
+ obj.includes = ['.', './osc']
+ obj.name = 'libardour_osc'
+ obj.target = 'osc'
+ obj.uselib = ' LO '
+ obj.uselib_local = 'libardour libardour_cp libpbd'
+ obj.vnum = LIBARDOUR_OSC_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/surfaces/powermate/wscript b/libs/surfaces/powermate/wscript
index 1aea8b652b..5f670737bf 100644
--- a/libs/surfaces/powermate/wscript
+++ b/libs/surfaces/powermate/wscript
@@ -13,26 +13,26 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
+ autowaf.configure(conf)
def build(bld):
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = '''
- interface.cc
- powermate.cc
- '''
- obj.export_incdirs = ['.']
- obj.cxxflags = '-DPACKAGE="ardour_powermate"'
- obj.includes = ['.' ]
- obj.name = 'libpowermate'
- obj.target = 'powermate'
- obj.uselib_local = 'libardour libardour_cp'
- obj.vnum = LIBARDOUR_POWERMATE_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ interface.cc
+ powermate.cc
+ '''
+ obj.export_incdirs = ['.']
+ obj.cxxflags = '-DPACKAGE="ardour_powermate"'
+ obj.includes = ['.' ]
+ obj.name = 'libpowermate'
+ obj.target = 'powermate'
+ obj.uselib_local = 'libardour libardour_cp'
+ obj.vnum = LIBARDOUR_POWERMATE_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/surfaces/tranzport/wscript b/libs/surfaces/tranzport/wscript
index 172f51d37e..f2c4ccc0fc 100644
--- a/libs/surfaces/tranzport/wscript
+++ b/libs/surfaces/tranzport/wscript
@@ -13,40 +13,40 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
+ autowaf.configure(conf)
def build(bld):
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = '''
- button_events.cc
- buttons.cc
- general.cc
- init.cc
- interface.cc
- io.cc
- io_usb.cc
- lcd.cc
- lights.cc
- mode.cc
- panner.cc
- screen.cc
- show.cc
- state.cc
- wheel.cc
- wheel_modes.cc
- '''
- obj.export_incdirs = ['./tranzport']
- obj.cxxflags = '-DPACKAGE="ardour_tranzport"'
- obj.includes = ['.', './tranzport']
- obj.name = 'libardour_tranzport'
- obj.target = 'ardour_tranzport'
- obj.uselib_local = 'libardour libardour_cp'
- obj.vnum = LIBARDOUR_TRANZPORT_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ button_events.cc
+ buttons.cc
+ general.cc
+ init.cc
+ interface.cc
+ io.cc
+ io_usb.cc
+ lcd.cc
+ lights.cc
+ mode.cc
+ panner.cc
+ screen.cc
+ show.cc
+ state.cc
+ wheel.cc
+ wheel_modes.cc
+ '''
+ obj.export_incdirs = ['./tranzport']
+ obj.cxxflags = '-DPACKAGE="ardour_tranzport"'
+ obj.includes = ['.', './tranzport']
+ obj.name = 'libardour_tranzport'
+ obj.target = 'ardour_tranzport'
+ obj.uselib_local = 'libardour libardour_cp'
+ obj.vnum = LIBARDOUR_TRANZPORT_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/surfaces/wiimote/wscript b/libs/surfaces/wiimote/wscript
index edfb3ad901..8923df7015 100644
--- a/libs/surfaces/wiimote/wscript
+++ b/libs/surfaces/wiimote/wscript
@@ -13,26 +13,26 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
+ autowaf.configure(conf)
def build(bld):
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = '''
- wiimote.cc
- interface.cc
- '''
- obj.export_incdirs = ['./wiimote']
- obj.cxxflags = '-DPACKAGE="ardour_wiimote"'
- obj.includes = ['.', './wiimote']
- obj.name = 'libwiimote'
- obj.target = 'wiimote'
- obj.uselib_local = 'libardour libardour_cp'
- obj.vnum = LIBARDOUR_WIIMOTE_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ wiimote.cc
+ interface.cc
+ '''
+ obj.export_incdirs = ['./wiimote']
+ obj.cxxflags = '-DPACKAGE="ardour_wiimote"'
+ obj.includes = ['.', './wiimote']
+ obj.name = 'libwiimote'
+ obj.target = 'wiimote'
+ obj.uselib_local = 'libardour libardour_cp'
+ obj.vnum = LIBARDOUR_WIIMOTE_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/surfaces/wscript b/libs/surfaces/wscript
index f9e68f48f9..9bac418696 100644
--- a/libs/surfaces/wscript
+++ b/libs/surfaces/wscript
@@ -20,58 +20,58 @@ srcdir = '.'
blddir = 'build'
children = [
- 'control_protocol',
- 'frontier',
- 'generic_midi',
- 'mackie',
- 'osc',
- 'powermate',
- 'tranzport',
- 'wiimote'
+ 'control_protocol',
+ 'frontier',
+ 'generic_midi',
+ 'mackie',
+ 'osc',
+ 'powermate',
+ 'tranzport',
+ 'wiimote'
]
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def sub_config_and_use(conf, name, has_objects = True):
- conf.sub_config(name)
- autowaf.set_local_lib(conf, name, has_objects)
+ conf.sub_config(name)
+ autowaf.set_local_lib(conf, name, has_objects)
def configure(conf):
- autowaf.set_recursive()
- autowaf.configure(conf)
+ autowaf.set_recursive()
+ autowaf.configure(conf)
- for i in children:
- sub_config_and_use(conf, i)
+ for i in children:
+ sub_config_and_use(conf, i)
- conf.check_cc (lib='libusb', header_name='libusb.h', function_name='usb_interrupt_write', define_name='BUILD_TRANZPORT')
- conf.check_cc (header_name='linux/input.h', define_name='BUILD_POWERMATE')
- conf.check_cc (lib='lo', header_name='lo/lo.h', function_name='lo_server_new', define_name='BUILD_OSC')
-
- if Options.options.wiimote:
- conf.check_cc (header_name='cwiid.h',define_name='HAVE_CWIID_H')
- if not conf.env['HAVE_CWIID_H']:
- print('WIIMOTE configured but you are missing libcwiid!')
- sys.exit(1)
- conf.check_cc (header_name='bluetooth/bluetooth.h',define_name='HAVE_BLUETOOTH_H')
- if not conf.env['HAVE_BLUETOOTH_H']:
- print('WIIMOTE configured but you are missing the libbluetooth headers needed to compile wiimote support!')
- sys.exit(1)
- conf.define ('BUILD_WIIMOTE', 1)
+ conf.check_cc (lib='libusb', header_name='libusb.h', function_name='usb_interrupt_write', define_name='BUILD_TRANZPORT')
+ conf.check_cc (header_name='linux/input.h', define_name='BUILD_POWERMATE')
+ conf.check_cc (lib='lo', header_name='lo/lo.h', function_name='lo_server_new', define_name='BUILD_OSC')
+
+ if Options.options.wiimote:
+ conf.check_cc (header_name='cwiid.h',define_name='HAVE_CWIID_H')
+ if not conf.env['HAVE_CWIID_H']:
+ print('WIIMOTE configured but you are missing libcwiid!')
+ sys.exit(1)
+ conf.check_cc (header_name='bluetooth/bluetooth.h',define_name='HAVE_BLUETOOTH_H')
+ if not conf.env['HAVE_BLUETOOTH_H']:
+ print('WIIMOTE configured but you are missing the libbluetooth headers needed to compile wiimote support!')
+ sys.exit(1)
+ conf.define ('BUILD_WIIMOTE', 1)
def build(bld):
- bld.add_subdirs('control_protocol')
- bld.add_subdirs('generic_midi')
- bld.add_subdirs('mackie')
- if bld.env['BUILD_OSC']:
- bld.add_subdirs('osc')
- if bld.env['BUILD_POWERMATE']:
- bld.add_subdirs('powermate')
- if bld.env['BUILD_WIIMOTE']:
- bld.add_subdirs('wiimote')
- if bld.env['BUILD_TRANZPORT']:
- bld.add_subdirs('tranzport')
+ bld.add_subdirs('control_protocol')
+ bld.add_subdirs('generic_midi')
+ bld.add_subdirs('mackie')
+ if bld.env['BUILD_OSC']:
+ bld.add_subdirs('osc')
+ if bld.env['BUILD_POWERMATE']:
+ bld.add_subdirs('powermate')
+ if bld.env['BUILD_WIIMOTE']:
+ bld.add_subdirs('wiimote')
+ if bld.env['BUILD_TRANZPORT']:
+ bld.add_subdirs('tranzport')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/taglib/wscript b/libs/taglib/wscript
index 8b15a78ed1..0732dc24ff 100644
--- a/libs/taglib/wscript
+++ b/libs/taglib/wscript
@@ -23,57 +23,57 @@ blddir = 'build'
path_prefix = 'libs/taglib/'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
- conf.check_tool('compiler_cxx')
+ autowaf.configure(conf)
+ conf.check_tool('compiler_cxx')
def build(bld):
- # Library
- obj = bld.new_task_gen('cxx', 'shlib')
- sources = glob.glob(path_prefix + 'taglib/*.cpp')
- sources += glob.glob(path_prefix + 'taglib/flac/*.cpp')
- sources += glob.glob(path_prefix + 'taglib/mpc/*.cpp')
- sources += glob.glob(path_prefix + 'taglib/mpeg/*.cpp')
- sources += glob.glob(path_prefix + 'taglib/mpeg/id3v1/*.cpp')
- sources += glob.glob(path_prefix + 'taglib/mpeg/id3v2/*.cpp')
- sources += glob.glob(path_prefix + 'taglib/mpeg/id3v2/frames/*.cpp')
- sources += glob.glob(path_prefix + 'taglib/ogg/*.cpp')
- sources += glob.glob(path_prefix + 'taglib/ogg/vorbis/*.cpp')
- sources += glob.glob(path_prefix + 'taglib/ogg/speex/*.cpp')
- sources += glob.glob(path_prefix + 'taglib/ogg/flac/*.cpp')
- sources += glob.glob(path_prefix + 'taglib/trueaudio/*.cpp')
- sources += glob.glob(path_prefix + 'taglib/wavpack/*.cpp')
- sources += glob.glob(path_prefix + 'taglib/ape/*.cpp')
- sources += glob.glob(path_prefix + 'taglib/toolkit/*.cpp')
- obj.source = []
- for i in sources:
- obj.source += [ i.replace(path_prefix, '') ]
+ # Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ sources = glob.glob(path_prefix + 'taglib/*.cpp')
+ sources += glob.glob(path_prefix + 'taglib/flac/*.cpp')
+ sources += glob.glob(path_prefix + 'taglib/mpc/*.cpp')
+ sources += glob.glob(path_prefix + 'taglib/mpeg/*.cpp')
+ sources += glob.glob(path_prefix + 'taglib/mpeg/id3v1/*.cpp')
+ sources += glob.glob(path_prefix + 'taglib/mpeg/id3v2/*.cpp')
+ sources += glob.glob(path_prefix + 'taglib/mpeg/id3v2/frames/*.cpp')
+ sources += glob.glob(path_prefix + 'taglib/ogg/*.cpp')
+ sources += glob.glob(path_prefix + 'taglib/ogg/vorbis/*.cpp')
+ sources += glob.glob(path_prefix + 'taglib/ogg/speex/*.cpp')
+ sources += glob.glob(path_prefix + 'taglib/ogg/flac/*.cpp')
+ sources += glob.glob(path_prefix + 'taglib/trueaudio/*.cpp')
+ sources += glob.glob(path_prefix + 'taglib/wavpack/*.cpp')
+ sources += glob.glob(path_prefix + 'taglib/ape/*.cpp')
+ sources += glob.glob(path_prefix + 'taglib/toolkit/*.cpp')
+ obj.source = []
+ for i in sources:
+ obj.source += [ i.replace(path_prefix, '') ]
- include_dirs = '''
- taglib
- taglib/toolkit
- taglib/flac
- taglib/ape
- taglib/mpc
- taglib/mpeg
- taglib/mpeg/id3v1
- taglib/mpeg/id3v2
- taglib/wavpack
- taglib/trueaudio
- taglib/ogg
- taglib/ogg/vorbis
- taglib/ogg/speex
- taglib/ogg/flac
- '''.split()
- obj.export_incdirs = ['.', 'taglib', 'taglib/toolkit']
- obj.includes = include_dirs
- obj.name = 'libtaglib'
- obj.target = 'taglib'
- obj.vnum = LIBTAGLIB_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ include_dirs = '''
+ taglib
+ taglib/toolkit
+ taglib/flac
+ taglib/ape
+ taglib/mpc
+ taglib/mpeg
+ taglib/mpeg/id3v1
+ taglib/mpeg/id3v2
+ taglib/wavpack
+ taglib/trueaudio
+ taglib/ogg
+ taglib/ogg/vorbis
+ taglib/ogg/speex
+ taglib/ogg/flac
+ '''.split()
+ obj.export_incdirs = ['.', 'taglib', 'taglib/toolkit']
+ obj.includes = include_dirs
+ obj.name = 'libtaglib'
+ obj.target = 'taglib'
+ obj.vnum = LIBTAGLIB_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/timecode/wscript b/libs/timecode/wscript
index 4eb3c66c8f..4e5b12fc6e 100644
--- a/libs/timecode/wscript
+++ b/libs/timecode/wscript
@@ -23,24 +23,24 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
+ autowaf.configure(conf)
- conf.check_tool('compiler_cxx')
+ conf.check_tool('compiler_cxx')
def build(bld):
- # Library
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = [ 'src/time.cc', 'src/bbt_time.cc' ]
- obj.export_incdirs = ['.']
- obj.includes = ['.', './src']
- obj.name = 'libtimecode'
- obj.target = 'timecode'
- obj.vnum = TIMECODE_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ # Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = [ 'src/time.cc', 'src/bbt_time.cc' ]
+ obj.export_incdirs = ['.']
+ obj.includes = ['.', './src']
+ obj.name = 'libtimecode'
+ obj.target = 'timecode'
+ obj.vnum = TIMECODE_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/vamp-plugins/wscript b/libs/vamp-plugins/wscript
index b007b55a1d..99de270579 100644
--- a/libs/vamp-plugins/wscript
+++ b/libs/vamp-plugins/wscript
@@ -20,38 +20,38 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
- conf.check_tool('compiler_cxx')
- autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F', mandatory=True)
- autowaf.check_pkg(conf, 'aubio', uselib_store='AUBIO', mandatory=False)
- conf.write_config_header('libvampplugins-config.h')
+ autowaf.configure(conf)
+ conf.check_tool('compiler_cxx')
+ autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F', mandatory=True)
+ autowaf.check_pkg(conf, 'aubio', uselib_store='AUBIO', mandatory=False)
+ conf.write_config_header('libvampplugins-config.h')
def build(bld):
- # Library
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = '''
- plugins.cpp
- AmplitudeFollower.cpp
- OnsetDetect.cpp
- PercussionOnsetDetector.cpp
- SpectralCentroid.cpp
- ZeroCrossing.cpp
- '''
- obj.export_incdirs = ['.']
- obj.includes = ['.']
- obj.name = 'libardourvampplugins'
- obj.target = 'ardourvampplugins'
- obj.uselib = 'FFTW3F'
- obj.uselib_local = 'libvampplugin libqmdsp'
- if bld.env['HAVE_AUBIO']:
- obj.source += ' Onset.cpp '
- obj.uselib += ' AUBIO '
- obj.vnum = LIBARDOURVAMPPLUGINS_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'vamp')
+ # Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ plugins.cpp
+ AmplitudeFollower.cpp
+ OnsetDetect.cpp
+ PercussionOnsetDetector.cpp
+ SpectralCentroid.cpp
+ ZeroCrossing.cpp
+ '''
+ obj.export_incdirs = ['.']
+ obj.includes = ['.']
+ obj.name = 'libardourvampplugins'
+ obj.target = 'ardourvampplugins'
+ obj.uselib = 'FFTW3F'
+ obj.uselib_local = 'libvampplugin libqmdsp'
+ if bld.env['HAVE_AUBIO']:
+ obj.source += ' Onset.cpp '
+ obj.uselib += ' AUBIO '
+ obj.vnum = LIBARDOURVAMPPLUGINS_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'vamp')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/libs/vamp-sdk/wscript b/libs/vamp-sdk/wscript
index f1b5a3fa92..d35e37b47e 100644
--- a/libs/vamp-sdk/wscript
+++ b/libs/vamp-sdk/wscript
@@ -20,49 +20,49 @@ srcdir = '.'
blddir = 'build'
def set_options(opt):
- autowaf.set_options(opt)
+ autowaf.set_options(opt)
def configure(conf):
- autowaf.configure(conf)
- conf.check_tool('compiler_cxx')
- autowaf.check_pkg(conf, 'fftw3', uselib_store='FFTW3', mandatory=True)
- autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F', mandatory=True)
- conf.env.append_value('CXXFLAGS', '-DHAVE_FFTW3')
+ autowaf.configure(conf)
+ conf.check_tool('compiler_cxx')
+ autowaf.check_pkg(conf, 'fftw3', uselib_store='FFTW3', mandatory=True)
+ autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F', mandatory=True)
+ conf.env.append_value('CXXFLAGS', '-DHAVE_FFTW3')
def build(bld):
- # Host Library
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = '''
- src/vamp-hostsdk/PluginHostAdapter.cpp
- src/vamp-hostsdk/PluginBufferingAdapter.cpp
- src/vamp-hostsdk/PluginChannelAdapter.cpp
- src/vamp-hostsdk/PluginInputDomainAdapter.cpp
- src/vamp-hostsdk/PluginLoader.cpp
- src/vamp-hostsdk/PluginWrapper.cpp
- src/vamp-hostsdk/RealTime.cpp
- '''
- obj.export_incdirs = ['.']
- obj.includes = ['.']
- obj.name = 'libvamphost'
- obj.target = 'vamphost'
- obj.uselib = 'FFTW3 FFTW3F'
- obj.vnum = LIBVAMP_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ # Host Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ src/vamp-hostsdk/PluginHostAdapter.cpp
+ src/vamp-hostsdk/PluginBufferingAdapter.cpp
+ src/vamp-hostsdk/PluginChannelAdapter.cpp
+ src/vamp-hostsdk/PluginInputDomainAdapter.cpp
+ src/vamp-hostsdk/PluginLoader.cpp
+ src/vamp-hostsdk/PluginWrapper.cpp
+ src/vamp-hostsdk/RealTime.cpp
+ '''
+ obj.export_incdirs = ['.']
+ obj.includes = ['.']
+ obj.name = 'libvamphost'
+ obj.target = 'vamphost'
+ obj.uselib = 'FFTW3 FFTW3F'
+ obj.vnum = LIBVAMP_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
- # Plugin Library
- obj = bld.new_task_gen('cxx', 'shlib')
- obj.source = '''
- src/vamp-sdk/PluginAdapter.cpp
- src/vamp-sdk/RealTime.cpp
- '''
- obj.export_incdirs = ['.']
- obj.includes = ['.']
- obj.name = 'libvampplugin'
- obj.target = 'vampplugin'
- obj.uselib = 'FFTW3 FFTW3F'
- obj.vnum = LIBVAMP_LIB_VERSION
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ # Plugin Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ src/vamp-sdk/PluginAdapter.cpp
+ src/vamp-sdk/RealTime.cpp
+ '''
+ obj.export_incdirs = ['.']
+ obj.includes = ['.']
+ obj.name = 'libvampplugin'
+ obj.target = 'vampplugin'
+ obj.uselib = 'FFTW3 FFTW3F'
+ obj.vnum = LIBVAMP_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
def shutdown():
- autowaf.shutdown()
+ autowaf.shutdown()
diff --git a/tools/session_exchange.py b/tools/session_exchange.py
index b296e759c0..4248a4242a 100755
--- a/tools/session_exchange.py
+++ b/tools/session_exchange.py
@@ -29,845 +29,845 @@ import xml.dom.minidom
v2paths = True
def get_header_size(filename):
- size = 0
- file = open(filename, 'r')
- while True:
- chunk = file.read(4)
- size += 4
- if chunk == "data":
- file.close()
- return size + 4 #include the size chunk after "data"
- if not chunk:
- file.close()
- return None
+ size = 0
+ file = open(filename, 'r')
+ while True:
+ chunk = file.read(4)
+ size += 4
+ if chunk == "data":
+ file.close()
+ return size + 4 #include the size chunk after "data"
+ if not chunk:
+ file.close()
+ return None
def append_empty_data(self, filename, size):
- file = open(filename, 'a')
- file.seek(size-1)
- file.write('\x00')
- file.close()
-
+ file = open(filename, 'a')
+ file.seek(size-1)
+ file.write('\x00')
+ file.close()
+
def get_sound_list(snapshot):
- doc = xml.dom.minidom.parse(snapshot)
-
- regionlist = []
- playlists_tag = doc.getElementsByTagName('Playlists')
- playlists = playlists_tag[0].getElementsByTagName('Playlist')
- for play in playlists:
- regions = play.getElementsByTagName('Region')
- for region in regions:
- regionlist.append(region.getAttribute('source-0'))
- regionlist.append(region.getAttribute('source-1'))
- regionlist.append(region.getAttribute('source-2'))
- regionlist.append(region.getAttribute('source-3'))
- regionlist.append(region.getAttribute('source-4'))
- regionlist.append(region.getAttribute('source-5'))
-
- sourcelist = {}
- sources = doc.getElementsByTagName('Source')
- for source in sources:
- sourcelist[source.getAttribute('id')] = str(source.getAttribute('name'))
+ doc = xml.dom.minidom.parse(snapshot)
+
+ regionlist = []
+ playlists_tag = doc.getElementsByTagName('Playlists')
+ playlists = playlists_tag[0].getElementsByTagName('Playlist')
+ for play in playlists:
+ regions = play.getElementsByTagName('Region')
+ for region in regions:
+ regionlist.append(region.getAttribute('source-0'))
+ regionlist.append(region.getAttribute('source-1'))
+ regionlist.append(region.getAttribute('source-2'))
+ regionlist.append(region.getAttribute('source-3'))
+ regionlist.append(region.getAttribute('source-4'))
+ regionlist.append(region.getAttribute('source-5'))
+
+ sourcelist = {}
+ sources = doc.getElementsByTagName('Source')
+ for source in sources:
+ sourcelist[source.getAttribute('id')] = str(source.getAttribute('name'))
- soundlist = []
- for id in regionlist:
- if sourcelist.has_key(id):
- soundlist.append(sourcelist[id])
-
- return soundlist
+ soundlist = []
+ for id in regionlist:
+ if sourcelist.has_key(id):
+ soundlist.append(sourcelist[id])
+
+ return soundlist
def raise_error(string, parent):
- dialog = gtk.MessageDialog(parent, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
- gtk.MESSAGE_WARNING, gtk.BUTTONS_OK, string)
-
- dialog.run()
- dialog.destroy()
+ dialog = gtk.MessageDialog(parent, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
+ gtk.MESSAGE_WARNING, gtk.BUTTONS_OK, string)
+
+ dialog.run()
+ dialog.destroy()
class Data(object):
- def delete_snap(self, session, collab, snap):
- sessions = self._data['sessions']
- sessions[session]['collabs'][collab]['snaps'].remove(snap)
- self._data['sessions'] = sessions
-
- def delete_collab(self,session, collab):
- sessions = self._data['sessions']
- del sessions[session]['collabs'][collab]
- self._data['sessions'] = sessions
-
- def delete_session(self, session):
- sessions = self._data['sessions']
- del sessions[session]
- self._data['sessions'] = sessions
-
- def add_snap(self, session_name, collab_name, snap_name):
- sessions = self._data['sessions']
- sessions[session_name]['collabs'][collab_name]['snaps'].append(snap_name)
- sessions[session_name]['collabs'][collab_name]['snaps'].sort()
- self._data['sessions'] = sessions
-
- g_display.update_snap_view()
-
- def add_collab(self, session_name, collab_name, ip_address, port):
- sessions = self._data['sessions']
- sessions[session_name]['collabs'][collab_name] = {}
- sessions[session_name]['collabs'][collab_name]['snaps'] = []
- sessions[session_name]['collabs'][collab_name]['sounds'] = []
- sessions[session_name]['collabs'][collab_name]['ip'] = ip_address
- sessions[session_name]['collabs'][collab_name]['port'] = port
- sessions[session_name]['collabs'][collab_name]['v2paths'] = True
- self._data['sessions'] = sessions
-
- client = ExchangeClientFactory(session_name, collab_name, None, self.debug_mode)
- reactor.connectTCP(ip_address, port, client)
- g_display.show_status("connecting")
-
- g_display.update_collab_view()
-
- def add_session(self, session_path):
- sessions = self._data['sessions']
-
- session_name = session_path[session_path.rfind('/', 0, len(session_path)-2)+1: -1]
- sessions[session_name] = {}
- sessions[session_name]['path'] = session_path
- sessions[session_name]['collabs'] = {}
- sessions[session_name]['collabs'][self._data['user']] = {}
- sessions[session_name]['collabs'][self._data['user']]['snaps'] = []
- sessions[session_name]['collabs'][self._data['user']]['sounds'] = []
- if os.path.isdir (os.path.join (session_path,'sounds')):
- sessions[session_name]['collabs'][self._data['user']]['v2paths'] = False
- v2paths = False
- else:
- sessions[session_name]['collabs'][self._data['user']]['v2paths'] = True
-
- self._data['sessions'] = sessions
-
- self.rescan_session(session_name)
+ def delete_snap(self, session, collab, snap):
+ sessions = self._data['sessions']
+ sessions[session]['collabs'][collab]['snaps'].remove(snap)
+ self._data['sessions'] = sessions
+
+ def delete_collab(self,session, collab):
+ sessions = self._data['sessions']
+ del sessions[session]['collabs'][collab]
+ self._data['sessions'] = sessions
+
+ def delete_session(self, session):
+ sessions = self._data['sessions']
+ del sessions[session]
+ self._data['sessions'] = sessions
+
+ def add_snap(self, session_name, collab_name, snap_name):
+ sessions = self._data['sessions']
+ sessions[session_name]['collabs'][collab_name]['snaps'].append(snap_name)
+ sessions[session_name]['collabs'][collab_name]['snaps'].sort()
+ self._data['sessions'] = sessions
+
+ g_display.update_snap_view()
+
+ def add_collab(self, session_name, collab_name, ip_address, port):
+ sessions = self._data['sessions']
+ sessions[session_name]['collabs'][collab_name] = {}
+ sessions[session_name]['collabs'][collab_name]['snaps'] = []
+ sessions[session_name]['collabs'][collab_name]['sounds'] = []
+ sessions[session_name]['collabs'][collab_name]['ip'] = ip_address
+ sessions[session_name]['collabs'][collab_name]['port'] = port
+ sessions[session_name]['collabs'][collab_name]['v2paths'] = True
+ self._data['sessions'] = sessions
+
+ client = ExchangeClientFactory(session_name, collab_name, None, self.debug_mode)
+ reactor.connectTCP(ip_address, port, client)
+ g_display.show_status("connecting")
+
+ g_display.update_collab_view()
+
+ def add_session(self, session_path):
+ sessions = self._data['sessions']
+
+ session_name = session_path[session_path.rfind('/', 0, len(session_path)-2)+1: -1]
+ sessions[session_name] = {}
+ sessions[session_name]['path'] = session_path
+ sessions[session_name]['collabs'] = {}
+ sessions[session_name]['collabs'][self._data['user']] = {}
+ sessions[session_name]['collabs'][self._data['user']]['snaps'] = []
+ sessions[session_name]['collabs'][self._data['user']]['sounds'] = []
+ if os.path.isdir (os.path.join (session_path,'sounds')):
+ sessions[session_name]['collabs'][self._data['user']]['v2paths'] = False
+ v2paths = False
+ else:
+ sessions[session_name]['collabs'][self._data['user']]['v2paths'] = True
+
+ self._data['sessions'] = sessions
+
+ self.rescan_session(session_name)
- def rescan_session(self, session_name):
- sessions = self._data['sessions']
-
- session_path = sessions[session_name]['path']
- sessions[session_name]['collabs'][self._data['user']]['snaps'] = self._scan_snapshots(session_path)
- sessions[session_name]['collabs'][self._data['user']]['sounds'] = self._scan_sounds(session_name)
-
- self._data['sessions'] = sessions
-
- g_display.update_snap_view()
-
- print self._data['sessions']
-
- def create_session(self, session_path):
- sessions = self._data['sessions']
+ def rescan_session(self, session_name):
+ sessions = self._data['sessions']
+
+ session_path = sessions[session_name]['path']
+ sessions[session_name]['collabs'][self._data['user']]['snaps'] = self._scan_snapshots(session_path)
+ sessions[session_name]['collabs'][self._data['user']]['sounds'] = self._scan_sounds(session_name)
+
+ self._data['sessions'] = sessions
+
+ g_display.update_snap_view()
+
+ print self._data['sessions']
+
+ def create_session(self, session_path):
+ sessions = self._data['sessions']
- session_name = session_path[session_path.rfind('/', 0, len(session_path)-2)+1: ]
- try:
- os.mkdir(session_path)
- os.mkdir(os.path.join (session_path,'interchange'))
- os.mkdir(os.path.join (session_path,'interchange',session_name))
- os.mkdir(os.path.join (session_path,'interchange',session_name,'audiofiles'))
- except OSError:
- raise_error("Could not create session directory", g_display.window)
- return
-
- sessions[session_name] = {}
- sessions[session_name]['path'] = session_path
- sessions[session_name]['collabs'] = {}
- sessions[session_name]['collabs'][self._data['user']] = {}
- sessions[session_name]['collabs'][self._data['user']]['snaps'] = []
- sessions[session_name]['collabs'][self._data['user']]['sounds'] = []
-
- self._data['sessions'] = sessions
- print self._data['sessions']
-
- def get_session_path(self, session):
- sessions = self._data['sessions']
- return sessions[session]['path']
-
- def get_user(self):
- return self._data['user']
-
- def set_user(self, username):
- self._data['user'] = username
-
- def get_collab_ip(self, session, collab):
- sessions = self._data['sessions']
- return sessions[session]['collabs'][collab]['ip']
-
- def close(self):
- self._data.close()
-
- def get_sessions(self):
- sessions = self._data['sessions']
- sess = sessions.keys()
- sess.sort()
- return sess
-
- def get_collabs(self, session):
- if session:
- sessions = self._data['sessions']
- collabs = sessions[session]['collabs'].keys()
- collabs.sort()
- return collabs
- else:
- return []
-
- def get_snaps(self, session, collab):
- if session and collab:
- sessions = self._data['sessions']
- snaps = sessions[session]['collabs'][collab]['snaps']
- snaps.sort()
- return snaps
- else:
- return []
-
- def get_sounds(self, session, collab):
- if session and collab:
- sessions = self._data['sessions']
- sounds = sessions[session]['collabs'][self._data['user']]['sounds']
- sounds.sort()
- return sounds
- else:
- return []
-
- def _scan_snapshots(self, session):
- snaps = []
- files = os.listdir(session)
- pattern = re.compile(r'\.ardour$')
- for file in files:
- if pattern.search(file):
- snaps.append(file[0:-7])
- print file[0:-7]
- return snaps
-
- def _scan_sounds(self, session):
- sessions = self._data['sessions']
+ session_name = session_path[session_path.rfind('/', 0, len(session_path)-2)+1: ]
+ try:
+ os.mkdir(session_path)
+ os.mkdir(os.path.join (session_path,'interchange'))
+ os.mkdir(os.path.join (session_path,'interchange',session_name))
+ os.mkdir(os.path.join (session_path,'interchange',session_name,'audiofiles'))
+ except OSError:
+ raise_error("Could not create session directory", g_display.window)
+ return
+
+ sessions[session_name] = {}
+ sessions[session_name]['path'] = session_path
+ sessions[session_name]['collabs'] = {}
+ sessions[session_name]['collabs'][self._data['user']] = {}
+ sessions[session_name]['collabs'][self._data['user']]['snaps'] = []
+ sessions[session_name]['collabs'][self._data['user']]['sounds'] = []
+
+ self._data['sessions'] = sessions
+ print self._data['sessions']
+
+ def get_session_path(self, session):
+ sessions = self._data['sessions']
+ return sessions[session]['path']
+
+ def get_user(self):
+ return self._data['user']
+
+ def set_user(self, username):
+ self._data['user'] = username
+
+ def get_collab_ip(self, session, collab):
+ sessions = self._data['sessions']
+ return sessions[session]['collabs'][collab]['ip']
+
+ def close(self):
+ self._data.close()
+
+ def get_sessions(self):
+ sessions = self._data['sessions']
+ sess = sessions.keys()
+ sess.sort()
+ return sess
+
+ def get_collabs(self, session):
+ if session:
+ sessions = self._data['sessions']
+ collabs = sessions[session]['collabs'].keys()
+ collabs.sort()
+ return collabs
+ else:
+ return []
+
+ def get_snaps(self, session, collab):
+ if session and collab:
+ sessions = self._data['sessions']
+ snaps = sessions[session]['collabs'][collab]['snaps']
+ snaps.sort()
+ return snaps
+ else:
+ return []
+
+ def get_sounds(self, session, collab):
+ if session and collab:
+ sessions = self._data['sessions']
+ sounds = sessions[session]['collabs'][self._data['user']]['sounds']
+ sounds.sort()
+ return sounds
+ else:
+ return []
+
+ def _scan_snapshots(self, session):
+ snaps = []
+ files = os.listdir(session)
+ pattern = re.compile(r'\.ardour$')
+ for file in files:
+ if pattern.search(file):
+ snaps.append(file[0:-7])
+ print file[0:-7]
+ return snaps
+
+ def _scan_sounds(self, session):
+ sessions = self._data['sessions']
- sounds = []
- if v2paths:
- print session
- print os.path.join (sessions[session]['path'],'interchange', session, 'audiofiles')
- files = os.listdir(os.path.join (sessions[session]['path'],'interchange', session, 'audiofiles'))
- else:
- files = os.listdir(os.path.join (session,'sounds'))
- pattern = re.compile(r'\.peak$')
- for file in files:
- if not pattern.search(file):
- sounds.append(file)
- return sounds
-
- def __init__(self, *args):
- self._data = shelve.open(os.path.expanduser('~/.session_exchange'), 'c')
- self.port = 8970
- self.debug_mode = False
- if len(self._data.keys()) < 1:
- self._data['sessions'] = {}
- self._data['user'] = ''
-
- self._collabs = {}
+ sounds = []
+ if v2paths:
+ print session
+ print os.path.join (sessions[session]['path'],'interchange', session, 'audiofiles')
+ files = os.listdir(os.path.join (sessions[session]['path'],'interchange', session, 'audiofiles'))
+ else:
+ files = os.listdir(os.path.join (session,'sounds'))
+ pattern = re.compile(r'\.peak$')
+ for file in files:
+ if not pattern.search(file):
+ sounds.append(file)
+ return sounds
+
+ def __init__(self, *args):
+ self._data = shelve.open(os.path.expanduser('~/.session_exchange'), 'c')
+ self.port = 8970
+ self.debug_mode = False
+ if len(self._data.keys()) < 1:
+ self._data['sessions'] = {}
+ self._data['user'] = ''
+
+ self._collabs = {}
from twisted.protocols.basic import FileSender
class FileSenderLimited(FileSender):
- def beginFileTransfer(self, file, consumer, limit, transform = None):
- self.file = file
- self.consumer = consumer
- self.CHUNK_SIZE = limit
- self.transform = transform
-
- self.consumer.registerProducer(self, False)
- self.deferred = defer.Deferred()
- return self.deferred
-
- def resumeProducing(self):
- chunk = ''
- chunk = self.file.read(self.CHUNK_SIZE)
-
- if self.transform:
- chunk = self.transform(chunk)
+ def beginFileTransfer(self, file, consumer, limit, transform = None):
+ self.file = file
+ self.consumer = consumer
+ self.CHUNK_SIZE = limit
+ self.transform = transform
+
+ self.consumer.registerProducer(self, False)
+ self.deferred = defer.Deferred()
+ return self.deferred
+
+ def resumeProducing(self):
+ chunk = ''
+ chunk = self.file.read(self.CHUNK_SIZE)
+
+ if self.transform:
+ chunk = self.transform(chunk)
- self.consumer.write(chunk)
- self.lastSent = chunk[-1]
- self.file = None
- self.consumer.unregisterProducer()
- self.deferred.callback(self.lastSent)
- self.deferred = None
+ self.consumer.write(chunk)
+ self.lastSent = chunk[-1]
+ self.file = None
+ self.consumer.unregisterProducer()
+ self.deferred.callback(self.lastSent)
+ self.deferred = None
from twisted.protocols.basic import LineReceiver
class ExchangeServer (LineReceiver):
- def __init__(self):
- self.state = "IDLE"
-
- def error(self, message):
- self.sendLine("ERROR")
- self.sendLine(message)
- self.transport.loseConnection()
-
- def connectionLost(self, reason):
- print "server: connection lost: ", reason
-
- def connectionMade(self):
- print "server: connection made"
-
- def lineReceived(self, data):
- print "server: ", data
-
- if self.state == "SESSION":
- if g_data.get_sessions().count(data):
- self.session_name = data
- self.state = "IDLE"
- self.sendLine("OK")
- else:
- self.error(data + " doesn't exist on server")
- elif self.state == "SNAPSHOT":
- if g_data.get_snaps(self.session_name, g_data.get_user()).count(data):
- filename = g_data.get_session_path(self.session_name)+data+'.ardour'
- print filename
- self.sendLine(str(os.stat(filename).st_size))
- self.sendLine("OK")
- self.file = open(filename, 'r')
- file_sender = FileSender()
- cb = file_sender.beginFileTransfer(self.file, self.transport)
- cb.addCallback(self.file_done)
- else:
- self.error("snapshot: " + data + " doesn't exist on server")
- elif self.state == "SOUNDFILE" or self.state == "SOUNDFILE_HEADER":
- if g_data.get_sounds(self.session_name, g_data.get_user()).count(data):
- filename = g_data.get_session_path(self.session_name)+"/interchange/"+self.session_name+"/audiofiles/"+data
- print filename
- if self.state == "SOUNDFILE":
- self.sendLine(str(os.stat(filename).st_size))
- else: #SOUNDFILE_HEADER
- header_size = get_header_size(filename)
- if header_size:
- self.sendLine(str(header_size))
- else:
- self.error('soundfile: ' + data + 'doesn\'t have "data" chunk')
- self.sendLine("OK")
- self.file = open(filename, 'r')
- if self.state == "SOUNDFILE":
- file_sender = FileSender()
- cb = file_sender.beginFileTransfer(self.file, self.transport)
- else: # SOUNDFILE_HEADER
- file_sender = FileSenderLimited()
- cb = file_sender.beginFileTransfer(self.file, self.transport, header_size)
- cb.addCallback(self.file_done)
- else:
- self.error("soundfile: " + data + "doesn't exist on server")
- elif self.state == "SOUNDFILE_SIZE":
- if g_data.get_sounds(self.session_name, g_data.get_user()).count(data):
- filename = g_data.get_session_path(self.session_name)+"/sounds/"+data
- print filename
- self.sendLine(str(os.stat(filename).st_size))
- self.state = "IDLE"
- elif data == "SESSION":
- self.state = "SESSION"
- elif data == "SNAPS":
- self.state = "SNAPS"
- for snap in g_data.get_snaps(self.session_name, g_data.get_user()):
- self.sendLine(snap)
- self.sendLine("OK")
- self.state = "IDLE"
- elif data == "SNAPSHOT":
- self.state = "SNAPSHOT"
- elif data == "SOUNDFILE":
- self.state = "SOUNDFILE"
- elif data == "SOUNDFILE_HEADER":
- self.state = "SOUNDFILE_HEADER"
- elif data == "SOUNDFILE_SIZE":
- self.state = "SOUNDFILE_SIZE"
-
- def file_done(self, data):
- print "server: file done"
- self.file.close()
- self.state = "IDLE"
-
+ def __init__(self):
+ self.state = "IDLE"
+
+ def error(self, message):
+ self.sendLine("ERROR")
+ self.sendLine(message)
+ self.transport.loseConnection()
+
+ def connectionLost(self, reason):
+ print "server: connection lost: ", reason
+
+ def connectionMade(self):
+ print "server: connection made"
+
+ def lineReceived(self, data):
+ print "server: ", data
+
+ if self.state == "SESSION":
+ if g_data.get_sessions().count(data):
+ self.session_name = data
+ self.state = "IDLE"
+ self.sendLine("OK")
+ else:
+ self.error(data + " doesn't exist on server")
+ elif self.state == "SNAPSHOT":
+ if g_data.get_snaps(self.session_name, g_data.get_user()).count(data):
+ filename = g_data.get_session_path(self.session_name)+data+'.ardour'
+ print filename
+ self.sendLine(str(os.stat(filename).st_size))
+ self.sendLine("OK")
+ self.file = open(filename, 'r')
+ file_sender = FileSender()
+ cb = file_sender.beginFileTransfer(self.file, self.transport)
+ cb.addCallback(self.file_done)
+ else:
+ self.error("snapshot: " + data + " doesn't exist on server")
+ elif self.state == "SOUNDFILE" or self.state == "SOUNDFILE_HEADER":
+ if g_data.get_sounds(self.session_name, g_data.get_user()).count(data):
+ filename = g_data.get_session_path(self.session_name)+"/interchange/"+self.session_name+"/audiofiles/"+data
+ print filename
+ if self.state == "SOUNDFILE":
+ self.sendLine(str(os.stat(filename).st_size))
+ else: #SOUNDFILE_HEADER
+ header_size = get_header_size(filename)
+ if header_size:
+ self.sendLine(str(header_size))
+ else:
+ self.error('soundfile: ' + data + 'doesn\'t have "data" chunk')
+ self.sendLine("OK")
+ self.file = open(filename, 'r')
+ if self.state == "SOUNDFILE":
+ file_sender = FileSender()
+ cb = file_sender.beginFileTransfer(self.file, self.transport)
+ else: # SOUNDFILE_HEADER
+ file_sender = FileSenderLimited()
+ cb = file_sender.beginFileTransfer(self.file, self.transport, header_size)
+ cb.addCallback(self.file_done)
+ else:
+ self.error("soundfile: " + data + "doesn't exist on server")
+ elif self.state == "SOUNDFILE_SIZE":
+ if g_data.get_sounds(self.session_name, g_data.get_user()).count(data):
+ filename = g_data.get_session_path(self.session_name)+"/sounds/"+data
+ print filename
+ self.sendLine(str(os.stat(filename).st_size))
+ self.state = "IDLE"
+ elif data == "SESSION":
+ self.state = "SESSION"
+ elif data == "SNAPS":
+ self.state = "SNAPS"
+ for snap in g_data.get_snaps(self.session_name, g_data.get_user()):
+ self.sendLine(snap)
+ self.sendLine("OK")
+ self.state = "IDLE"
+ elif data == "SNAPSHOT":
+ self.state = "SNAPSHOT"
+ elif data == "SOUNDFILE":
+ self.state = "SOUNDFILE"
+ elif data == "SOUNDFILE_HEADER":
+ self.state = "SOUNDFILE_HEADER"
+ elif data == "SOUNDFILE_SIZE":
+ self.state = "SOUNDFILE_SIZE"
+
+ def file_done(self, data):
+ print "server: file done"
+ self.file.close()
+ self.state = "IDLE"
+
class ExchangeServerFactory(protocol.ServerFactory):
- protocol = ExchangeServer
-
- def __init__(self):
- pass
+ protocol = ExchangeServer
+
+ def __init__(self):
+ pass
class ExchangeClient (LineReceiver):
- def __init__(self, session_name, collab_name, snap_name, debug_mode):
- self.session_name = session_name
- self.collab_name = collab_name
- self.snap_name = snap_name
- self.debug_mode = debug_mode
- self.state = "IDLE"
-
- def connectionLost(self, reason):
- g_display.show_status("Connection lost")
-
- def connectionMade(self):
- g_display.show_status("Connection made")
- self.state = "SESSION"
- self.sendLine("SESSION")
- self.sendLine(self.session_name)
-
- def rawDataReceived(self, data):
- self.file.write(data)
- self.received += len(data)
- print self.received, self.filesize
- if self.received >= self.filesize:
- self.setLineMode()
- self.file.close()
- g_data.rescan_session(self.session_name)
- if self.state == "SNAPSHOT":
- self.sounds = get_sound_list(self.filename)
- if len(self.sounds):
- self.sound_index = 0
- if self.debug_mode:
- self.state = "SOUNDFILE_HEADER"
- self.sendLine("SOUNDFILE_HEADER")
- else:
- self.state = "SOUNDFILE"
- self.sendLine("SOUNDFILE")
- self.sendLine(self.sounds[self.sound_index])
- else:
- self.transport.loseConnection()
- elif self.state == "SOUNDFILE":
- self.sound_index += 1
- if self.sound_index > len(self.sounds)-1:
- self.transport.loseConnection()
- else:
- self.sendLine("SOUNDFILE")
- self.sendLine(self.sounds[self.sound_index])
- elif self.state == "SOUNDFILE_HEADER":
- self.state = "SOUNDFILE_SIZE"
- self.sendLine("SOUNDFILE_SIZE")
- self.sendLine(self.sounds[self.sound_index])
-
- def lineReceived(self, data):
- print "client: ", data
-
- if data == "ERROR":
- self.state = "ERROR"
- elif data == "OK":
- if self.state == "SESSION":
- if self.snap_name:
- self.state = "SNAPSHOT"
- self.sendLine("SNAPSHOT")
- self.sendLine(self.snap_name)
- else:
- self.state = "SNAPS"
- self.sendLine("SNAPS")
- elif self.state == "SNAPS":
- self.transport.loseConnection()
- elif self.state == "SNAPSHOT":
- self.setRawMode()
- self.filename = g_data.get_session_path(self.session_name)+'/'+self.snap_name+'.ardour'
- self.file = open(self.filename, 'w')
- self.received = 0
- elif self.state == "SOUNDFILE" or self.state == "SOUNDFILE_HEADER":
- self.setRawMode()
- self.filename = g_data.get_session_path(self.session_name)+"/interchange/"+self.session_name+"/audiofiles/"+self.sounds[self.sound_index]
- self.file = open(self.filename, 'w')
- self.received = 0
- elif self.state == "ERROR":
- raise_error(data, g_display.window)
- elif self.state == "SNAPS":
- g_data.add_snap(self.session_name, self.collab_name, data)
- elif self.state == "SNAPSHOT":
- self.filesize = int(data)
- elif self.state == "SOUNDFILE":
- self.filesize = int(data)
- elif self.state == "SOUNDFILE_HEADER":
- self.filesize = int(data)
- elif self.state == "SOUNDFILE_SIZE":
- append_empty_data(self.filename, int(data))
- self.sound_index += 1
- if self.sound_index > len(self.sounds)-1:
- self.transport.loseConnection()
- else:
- self.state = "SOUNDFILE_HEADER"
- self.sendLine("SOUNDFILE_HEADER")
- self.sendLine(self.sounds[self.sound_index])
+ def __init__(self, session_name, collab_name, snap_name, debug_mode):
+ self.session_name = session_name
+ self.collab_name = collab_name
+ self.snap_name = snap_name
+ self.debug_mode = debug_mode
+ self.state = "IDLE"
+
+ def connectionLost(self, reason):
+ g_display.show_status("Connection lost")
+
+ def connectionMade(self):
+ g_display.show_status("Connection made")
+ self.state = "SESSION"
+ self.sendLine("SESSION")
+ self.sendLine(self.session_name)
+
+ def rawDataReceived(self, data):
+ self.file.write(data)
+ self.received += len(data)
+ print self.received, self.filesize
+ if self.received >= self.filesize:
+ self.setLineMode()
+ self.file.close()
+ g_data.rescan_session(self.session_name)
+ if self.state == "SNAPSHOT":
+ self.sounds = get_sound_list(self.filename)
+ if len(self.sounds):
+ self.sound_index = 0
+ if self.debug_mode:
+ self.state = "SOUNDFILE_HEADER"
+ self.sendLine("SOUNDFILE_HEADER")
+ else:
+ self.state = "SOUNDFILE"
+ self.sendLine("SOUNDFILE")
+ self.sendLine(self.sounds[self.sound_index])
+ else:
+ self.transport.loseConnection()
+ elif self.state == "SOUNDFILE":
+ self.sound_index += 1
+ if self.sound_index > len(self.sounds)-1:
+ self.transport.loseConnection()
+ else:
+ self.sendLine("SOUNDFILE")
+ self.sendLine(self.sounds[self.sound_index])
+ elif self.state == "SOUNDFILE_HEADER":
+ self.state = "SOUNDFILE_SIZE"
+ self.sendLine("SOUNDFILE_SIZE")
+ self.sendLine(self.sounds[self.sound_index])
+
+ def lineReceived(self, data):
+ print "client: ", data
+
+ if data == "ERROR":
+ self.state = "ERROR"
+ elif data == "OK":
+ if self.state == "SESSION":
+ if self.snap_name:
+ self.state = "SNAPSHOT"
+ self.sendLine("SNAPSHOT")
+ self.sendLine(self.snap_name)
+ else:
+ self.state = "SNAPS"
+ self.sendLine("SNAPS")
+ elif self.state == "SNAPS":
+ self.transport.loseConnection()
+ elif self.state == "SNAPSHOT":
+ self.setRawMode()
+ self.filename = g_data.get_session_path(self.session_name)+'/'+self.snap_name+'.ardour'
+ self.file = open(self.filename, 'w')
+ self.received = 0
+ elif self.state == "SOUNDFILE" or self.state == "SOUNDFILE_HEADER":
+ self.setRawMode()
+ self.filename = g_data.get_session_path(self.session_name)+"/interchange/"+self.session_name+"/audiofiles/"+self.sounds[self.sound_index]
+ self.file = open(self.filename, 'w')
+ self.received = 0
+ elif self.state == "ERROR":
+ raise_error(data, g_display.window)
+ elif self.state == "SNAPS":
+ g_data.add_snap(self.session_name, self.collab_name, data)
+ elif self.state == "SNAPSHOT":
+ self.filesize = int(data)
+ elif self.state == "SOUNDFILE":
+ self.filesize = int(data)
+ elif self.state == "SOUNDFILE_HEADER":
+ self.filesize = int(data)
+ elif self.state == "SOUNDFILE_SIZE":
+ append_empty_data(self.filename, int(data))
+ self.sound_index += 1
+ if self.sound_index > len(self.sounds)-1:
+ self.transport.loseConnection()
+ else:
+ self.state = "SOUNDFILE_HEADER"
+ self.sendLine("SOUNDFILE_HEADER")
+ self.sendLine(self.sounds[self.sound_index])
class ExchangeClientFactory(protocol.ClientFactory):
- def buildProtocol(self, addr):
- return ExchangeClient(self.session_name, self.collab_name, self.snap_name, self.debug_mode)
-
- def clientConnectionFailed(self, connector, reason):
- raise_error('Connection failed: ' + reason.getErrorMessage(), g_display.window)
- g_display.show_status('Connection failed')
-
- def __init__(self, session_name, collab_name, snap_name, debug_mode):
- self.session_name = session_name
- self.collab_name = collab_name
- self.snap_name = snap_name
- self.debug_mode = debug_mode
+ def buildProtocol(self, addr):
+ return ExchangeClient(self.session_name, self.collab_name, self.snap_name, self.debug_mode)
+
+ def clientConnectionFailed(self, connector, reason):
+ raise_error('Connection failed: ' + reason.getErrorMessage(), g_display.window)
+ g_display.show_status('Connection failed')
+
+ def __init__(self, session_name, collab_name, snap_name, debug_mode):
+ self.session_name = session_name
+ self.collab_name = collab_name
+ self.snap_name = snap_name
+ self.debug_mode = debug_mode
class HelperWin(object):
- def delete_me(self, window):
- self = 0
+ def delete_me(self, window):
+ self = 0
class Preferences(HelperWin):
- def __init__(self):
- self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
- self.window.set_title('Preferences')
- self.window.connect('destroy', self.delete_me)
- self.window.set_position(gtk.WIN_POS_MOUSE)
-
- main_box = gtk.VBox()
- self.window.add(main_box)
-
- hbox1 = gtk.HBox()
- label1 = gtk.Label("User")
- self.user = gtk.Entry()
- self.user.set_text(g_data.get_user())
- hbox1.pack_start(label1)
- hbox1.pack_start(self.user)
- main_box.pack_start(hbox1)
-
- ok_btn = gtk.Button("Ok")
- ok_btn.connect('clicked', self.ok_clicked)
- main_box.pack_start(ok_btn)
-
- self.window.show_all()
-
- def ok_clicked(self, btn):
- g_data.set_user(self.user.get_text())
- self.window.hide_all()
-
- def show_all(self):
- self.window.show_all()
+ def __init__(self):
+ self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
+ self.window.set_title('Preferences')
+ self.window.connect('destroy', self.delete_me)
+ self.window.set_position(gtk.WIN_POS_MOUSE)
+
+ main_box = gtk.VBox()
+ self.window.add(main_box)
+
+ hbox1 = gtk.HBox()
+ label1 = gtk.Label("User")
+ self.user = gtk.Entry()
+ self.user.set_text(g_data.get_user())
+ hbox1.pack_start(label1)
+ hbox1.pack_start(self.user)
+ main_box.pack_start(hbox1)
+
+ ok_btn = gtk.Button("Ok")
+ ok_btn.connect('clicked', self.ok_clicked)
+ main_box.pack_start(ok_btn)
+
+ self.window.show_all()
+
+ def ok_clicked(self, btn):
+ g_data.set_user(self.user.get_text())
+ self.window.hide_all()
+
+ def show_all(self):
+ self.window.show_all()
class AddCollaborator(HelperWin):
- def __init__(self, session):
- self.session_name = session
-
- self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
- self.window.set_title('Fetch Session')
- self.window.connect('destroy', self.delete_me)
- self.window.set_position(gtk.WIN_POS_MOUSE)
-
- main_box = gtk.VBox()
- self.window.add(main_box)
-
- hbox0 = gtk.HBox()
- label0 = gtk.Label("Collaborator")
- self.collab = gtk.Entry()
- self.collab.connect('key-release-event', self.key_press)
- hbox0.pack_start(label0)
- hbox0.pack_start(self.collab)
- main_box.pack_start(hbox0)
-
- hbox1 = gtk.HBox()
- label1 = gtk.Label("IP Address")
- self.address = gtk.Entry()
- self.address.connect('key-release-event', self.key_press)
- hbox1.pack_start(label1)
- hbox1.pack_start(self.address)
- main_box.pack_start(hbox1)
-
- hbox2 = gtk.HBox()
- label2 = gtk.Label("Port Number")
- self.port = gtk.Entry()
- self.port.connect('key-release-event', self.key_press)
- self.port.set_text(str(g_data.port))
- hbox2.pack_start(label2)
- hbox2.pack_start(self.port)
- main_box.pack_start(hbox2)
-
- hbox3 = gtk.HBox()
- label3 = gtk.Label("Username")
- label3.set_sensitive(False)
- self.username = gtk.Entry()
- self.username.set_sensitive(False)
- hbox3.pack_start(label3)
- hbox3.pack_start(self.username)
- main_box.pack_start(hbox3)
-
- hbox4 = gtk.HBox()
- label4 = gtk.Label("Password")
- label4.set_sensitive(False)
- self.password = gtk.Entry()
- self.password.set_sensitive(False)
- hbox4.pack_start(label4)
- hbox4.pack_start(self.password)
- main_box.pack_start(hbox4)
-
- self.ok_btn = gtk.Button(gtk.STOCK_OK)
- self.ok_btn.set_use_stock(True)
- self.ok_btn.connect('clicked', self.ok_clicked)
- self.ok_btn.set_sensitive(False)
- main_box.pack_start(self.ok_btn)
-
- self.window.show_all()
-
- def key_press(self, event, data):
- if self.collab.get_text() and self.address.get_text() and self.port.get_text():
- self.ok_btn.set_sensitive(True)
- else:
- self.ok_btn.set_sensitive(False)
- return True
-
- def ok_clicked(self, btn):
- self.window.hide_all()
- g_data.add_collab(self.session_name, self.collab.get_text(), self.address.get_text(), int(self.port.get_text()))
- self.collab.set_text('')
- self.address.set_text('')
- self.port.set_text('')
- self.username.set_text('')
- self.password.set_text('')
-
- def show_all(self):
- self.window.show_all()
+ def __init__(self, session):
+ self.session_name = session
+
+ self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
+ self.window.set_title('Fetch Session')
+ self.window.connect('destroy', self.delete_me)
+ self.window.set_position(gtk.WIN_POS_MOUSE)
+
+ main_box = gtk.VBox()
+ self.window.add(main_box)
+
+ hbox0 = gtk.HBox()
+ label0 = gtk.Label("Collaborator")
+ self.collab = gtk.Entry()
+ self.collab.connect('key-release-event', self.key_press)
+ hbox0.pack_start(label0)
+ hbox0.pack_start(self.collab)
+ main_box.pack_start(hbox0)
+
+ hbox1 = gtk.HBox()
+ label1 = gtk.Label("IP Address")
+ self.address = gtk.Entry()
+ self.address.connect('key-release-event', self.key_press)
+ hbox1.pack_start(label1)
+ hbox1.pack_start(self.address)
+ main_box.pack_start(hbox1)
+
+ hbox2 = gtk.HBox()
+ label2 = gtk.Label("Port Number")
+ self.port = gtk.Entry()
+ self.port.connect('key-release-event', self.key_press)
+ self.port.set_text(str(g_data.port))
+ hbox2.pack_start(label2)
+ hbox2.pack_start(self.port)
+ main_box.pack_start(hbox2)
+
+ hbox3 = gtk.HBox()
+ label3 = gtk.Label("Username")
+ label3.set_sensitive(False)
+ self.username = gtk.Entry()
+ self.username.set_sensitive(False)
+ hbox3.pack_start(label3)
+ hbox3.pack_start(self.username)
+ main_box.pack_start(hbox3)
+
+ hbox4 = gtk.HBox()
+ label4 = gtk.Label("Password")
+ label4.set_sensitive(False)
+ self.password = gtk.Entry()
+ self.password.set_sensitive(False)
+ hbox4.pack_start(label4)
+ hbox4.pack_start(self.password)
+ main_box.pack_start(hbox4)
+
+ self.ok_btn = gtk.Button(gtk.STOCK_OK)
+ self.ok_btn.set_use_stock(True)
+ self.ok_btn.connect('clicked', self.ok_clicked)
+ self.ok_btn.set_sensitive(False)
+ main_box.pack_start(self.ok_btn)
+
+ self.window.show_all()
+
+ def key_press(self, event, data):
+ if self.collab.get_text() and self.address.get_text() and self.port.get_text():
+ self.ok_btn.set_sensitive(True)
+ else:
+ self.ok_btn.set_sensitive(False)
+ return True
+
+ def ok_clicked(self, btn):
+ self.window.hide_all()
+ g_data.add_collab(self.session_name, self.collab.get_text(), self.address.get_text(), int(self.port.get_text()))
+ self.collab.set_text('')
+ self.address.set_text('')
+ self.port.set_text('')
+ self.username.set_text('')
+ self.password.set_text('')
+
+ def show_all(self):
+ self.window.show_all()
class ArdourShareWindow(object):
- def menuitem_cb(self, window, action, widget):
- print self, window, action, widget
-
- def add_collaborator_cb(self, window, action, widget):
- if self.session:
- self.add_session = AddCollaborator(self.session)
-
- def fetch_snapshot_cb(self, window, action, widget):
- if self.session and self.collab and self.collab != g_data.get_user():
- client = ExchangeClientFactory(self.session, self.collab, self.snap, g_data.debug_mode)
- reactor.connectTCP(g_data.get_collab_ip(self.session, self.collab), g_data.port, client)
-
- def preferences_cb(self, window, action, widget):
- self.preferences = Preferences()
-
- def add_session_ok_file_btn_clicked(self, w):
- filename = self.file_sel.get_filename()
- if filename.endswith(".ardour"):
- g_data.add_session(filename[0:filename.rfind("/")+1])
- self.update_session_view()
- else:
- raise_error("Not an Ardour session", self.window)
- self.file_sel.destroy()
-
- def add_session_cb(self, window, action, widget):
- if g_data.get_user():
- self.file_sel = gtk.FileSelection("Add Session...")
- self.file_sel.ok_button.connect("clicked", self.add_session_ok_file_btn_clicked)
- self.file_sel.cancel_button.connect("clicked", lambda w: self.file_sel.destroy())
- self.file_sel.connect("destroy", lambda w: self.file_sel.destroy())
- self.file_sel.show()
- else:
- raise_error("Set the user name in the preferences first", self.window)
-
- def create_session_cb(self, window, action, widget):
- if g_data.get_user():
- self.file_sel = gtk.FileSelection("Create Session...")
- self.file_sel.ok_button.connect("clicked", self.create_file_ok_btn_clicked)
- self.file_sel.cancel_button.connect("clicked", lambda w: self.file_sel.destroy())
- self.file_sel.connect("destroy", lambda w: self.file_sel.destroy())
- self.file_sel.show()
- else:
- raise_error("Set the user name in the preferences first", self.window)
-
- def create_file_ok_btn_clicked(self, w):
- filename = self.file_sel.get_filename()
- if len(filename) > 0:
- g_data.create_session(filename)
- self.update_session_view()
- else:
- raise_error("Not an Ardour session", self.window)
- self.file_sel.destroy()
-
- def update_session_view(self):
- self.session_model.clear()
- for session in g_data.get_sessions():
- self.session_model.set(self.session_model.append(), 0, session)
-
- def update_collab_view(self):
- self.collab_model.clear()
- for collab in g_data.get_collabs(self.session):
- self.collab_model.set(self.collab_model.append(), 0, collab)
-
- def update_snap_view(self):
- self.snap_model.clear()
- for snap in g_data.get_snaps(self.session, self.collab):
- self.snap_model.set(self.snap_model.append(), 0, snap)
-
- def cb_session_selection_changed(self, selection_object):
- selected = []
- selection_object.selected_foreach(lambda model, path, iter, sel = selected: sel.append(path))
- for x in selected:
- self.session = self.session_model[x][0]
- self.selected_type = "session"
- self.update_collab_view()
-
- def cb_collab_selection_changed(self, selection_object):
- selected = []
- selection_object.selected_foreach(lambda model, path, iter, sel = selected: sel.append(path))
- for x in selected:
- self.collab = self.collab_model[x][0]
- self.selected_type = "collab"
- self.update_snap_view()
-
- def cb_snap_selection_changed(self, selection_object):
- selected = []
- selection_object.selected_foreach(lambda model, path, iter, sel = selected: sel.append(path))
- for x in selected:
- self.snap = self.snap_model[x][0]
- self.selected_type = "snap"
-
- def delete_cb(self, window, action, widget):
- if self.selected_type == "session":
- g_data.delete_session(self.session)
- self.session = ""
- self.collab = ""
- self.snap = ""
- elif self.selected_type == "collab":
- g_data.delete_collab(self.session, self.collab)
- self.collab = ""
- self.snap = ""
- elif self.selected_type == "snap":
- g_data.delete_snap(self.session, self.collab, self.snap)
- self.snap = ""
-
- self.update_session_view()
- self.update_collab_view()
- self.update_snap_view()
- self.selected_type = ""
-
- def show_status(self, text):
- mid = self.status_bar.push(self._status_cid, text)
- if self._status_mid:
- self.status_bar.remove(self._status_cid, self._status_mid)
- self._status_mid = mid
-
- def __init__(self):
- self.selected_type = ""
- self.session = ""
- self.collab = g_data.get_user()
- self.snap = ""
-
- self.preferences = 0
- self.add_collab = 0
- self.add_session = 0
-
- self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
- self.window.set_title('Session Exchange')
- self.window.set_size_request(400, 200)
- self.window.connect('destroy', lambda win: gtk.main_quit())
- self.window.set_position(gtk.WIN_POS_MOUSE)
-
- accel_group = gtk.AccelGroup()
- self.window.add_accel_group(accel_group)
-
- main_box = gtk.VBox()
- self.window.add(main_box)
-
- menu_items = (
- ('/_File', None, None, 0, '<Branch>'),
- ('/File/_Add Session...','<control>A', self.add_session_cb, 0, ''),
- ('/File/Create _Session...', '<control>S', self.create_session_cb, 0, ''),
- ('/File/sep1', None, None, 0, '<Separator>'),
- ('/File/_Quit', '<control>Q', gtk.main_quit, 0, '<StockItem>', gtk.STOCK_QUIT),
- ('/_Edit', None, None, 0, '<Branch>' ),
- ('/Edit/Cu_t', '<control>X', self.menuitem_cb, 0, '<StockItem>', gtk.STOCK_CUT),
- ('/Edit/_Copy', '<control>C', self.menuitem_cb, 0, '<StockItem>', gtk.STOCK_COPY),
- ('/Edit/_Paste', '<control>V', self.menuitem_cb, 0, '<StockItem>', gtk.STOCK_PASTE),
- ('/Edit/_Delete', None, self.delete_cb, 0, '<StockItem>', gtk.STOCK_DELETE),
- ('/Edit/sep1', None, None, 0, '<Separator>'),
- ('/Edit/Add Colla_borator...','<control>B', self.add_collaborator_cb,0,''),
- ('/Edit/_Fetch Snapshot','<control>F', self.fetch_snapshot_cb,0,''),
- ('/Edit/sep1', None, None, 0, '<Separator>'),
- ('/Edit/_Preferences...','<control>P', self.preferences_cb, 0, '')
- )
-
- #need to hold a reference to the item_factory or the menubar will disappear.
- self.item_factory = gtk.ItemFactory(gtk.MenuBar, '<main>', accel_group)
- self.item_factory.create_items(menu_items, self.window)
- main_box.pack_start(self.item_factory.get_widget('<main>'), False)
-
- pane1 = gtk.HPaned()
- pane2 = gtk.HPaned()
- pane1.pack2(pane2, True, False)
-
- scroll1 = gtk.ScrolledWindow()
- scroll1.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
- pane1.pack1(scroll1, True, False)
- scroll2 = gtk.ScrolledWindow()
- scroll2.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
- pane2.pack1(scroll2, True, False)
- scroll3 = gtk.ScrolledWindow()
- scroll3.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
- pane2.pack2(scroll3, True, False)
-
- self.session_model = gtk.ListStore(gobject.TYPE_STRING)
- view1 = gtk.TreeView(self.session_model)
- column1 = gtk.TreeViewColumn('Sessions', gtk.CellRendererText(), text=0)
- view1.append_column(column1)
- self.session_selection = view1.get_selection()
- self.session_selection.connect("changed", self.cb_session_selection_changed)
- scroll1.add(view1)
-
- self.update_session_view()
-
- self.collab_model = gtk.ListStore(gobject.TYPE_STRING)
- view2 = gtk.TreeView(self.collab_model)
- column2 = gtk.TreeViewColumn('Collaborators', gtk.CellRendererText(), text=0)
- view2.append_column(column2)
- self.collab_selection = view2.get_selection()
- self.collab_selection.connect("changed", self.cb_collab_selection_changed)
- scroll2.add(view2)
-
- self.snap_model = gtk.ListStore(gobject.TYPE_STRING)
- view3 = gtk.TreeView(self.snap_model)
- column3 = gtk.TreeViewColumn('Snapshots', gtk.CellRendererText(), text=0)
- view3.append_column(column3)
- self.snap_selection = view3.get_selection()
- self.snap_selection.connect("changed", self.cb_snap_selection_changed)
- scroll3.add(view3)
-
- main_box.pack_start(pane1, True, True)
-
- self.status_bar = gtk.Statusbar()
- main_box.pack_start(self.status_bar, False)
- self._status_cid = self.status_bar.get_context_id('display')
- self._status_mid = ''
-
- self.window.show_all()
+ def menuitem_cb(self, window, action, widget):
+ print self, window, action, widget
+
+ def add_collaborator_cb(self, window, action, widget):
+ if self.session:
+ self.add_session = AddCollaborator(self.session)
+
+ def fetch_snapshot_cb(self, window, action, widget):
+ if self.session and self.collab and self.collab != g_data.get_user():
+ client = ExchangeClientFactory(self.session, self.collab, self.snap, g_data.debug_mode)
+ reactor.connectTCP(g_data.get_collab_ip(self.session, self.collab), g_data.port, client)
+
+ def preferences_cb(self, window, action, widget):
+ self.preferences = Preferences()
+
+ def add_session_ok_file_btn_clicked(self, w):
+ filename = self.file_sel.get_filename()
+ if filename.endswith(".ardour"):
+ g_data.add_session(filename[0:filename.rfind("/")+1])
+ self.update_session_view()
+ else:
+ raise_error("Not an Ardour session", self.window)
+ self.file_sel.destroy()
+
+ def add_session_cb(self, window, action, widget):
+ if g_data.get_user():
+ self.file_sel = gtk.FileSelection("Add Session...")
+ self.file_sel.ok_button.connect("clicked", self.add_session_ok_file_btn_clicked)
+ self.file_sel.cancel_button.connect("clicked", lambda w: self.file_sel.destroy())
+ self.file_sel.connect("destroy", lambda w: self.file_sel.destroy())
+ self.file_sel.show()
+ else:
+ raise_error("Set the user name in the preferences first", self.window)
+
+ def create_session_cb(self, window, action, widget):
+ if g_data.get_user():
+ self.file_sel = gtk.FileSelection("Create Session...")
+ self.file_sel.ok_button.connect("clicked", self.create_file_ok_btn_clicked)
+ self.file_sel.cancel_button.connect("clicked", lambda w: self.file_sel.destroy())
+ self.file_sel.connect("destroy", lambda w: self.file_sel.destroy())
+ self.file_sel.show()
+ else:
+ raise_error("Set the user name in the preferences first", self.window)
+
+ def create_file_ok_btn_clicked(self, w):
+ filename = self.file_sel.get_filename()
+ if len(filename) > 0:
+ g_data.create_session(filename)
+ self.update_session_view()
+ else:
+ raise_error("Not an Ardour session", self.window)
+ self.file_sel.destroy()
+
+ def update_session_view(self):
+ self.session_model.clear()
+ for session in g_data.get_sessions():
+ self.session_model.set(self.session_model.append(), 0, session)
+
+ def update_collab_view(self):
+ self.collab_model.clear()
+ for collab in g_data.get_collabs(self.session):
+ self.collab_model.set(self.collab_model.append(), 0, collab)
+
+ def update_snap_view(self):
+ self.snap_model.clear()
+ for snap in g_data.get_snaps(self.session, self.collab):
+ self.snap_model.set(self.snap_model.append(), 0, snap)
+
+ def cb_session_selection_changed(self, selection_object):
+ selected = []
+ selection_object.selected_foreach(lambda model, path, iter, sel = selected: sel.append(path))
+ for x in selected:
+ self.session = self.session_model[x][0]
+ self.selected_type = "session"
+ self.update_collab_view()
+
+ def cb_collab_selection_changed(self, selection_object):
+ selected = []
+ selection_object.selected_foreach(lambda model, path, iter, sel = selected: sel.append(path))
+ for x in selected:
+ self.collab = self.collab_model[x][0]
+ self.selected_type = "collab"
+ self.update_snap_view()
+
+ def cb_snap_selection_changed(self, selection_object):
+ selected = []
+ selection_object.selected_foreach(lambda model, path, iter, sel = selected: sel.append(path))
+ for x in selected:
+ self.snap = self.snap_model[x][0]
+ self.selected_type = "snap"
+
+ def delete_cb(self, window, action, widget):
+ if self.selected_type == "session":
+ g_data.delete_session(self.session)
+ self.session = ""
+ self.collab = ""
+ self.snap = ""
+ elif self.selected_type == "collab":
+ g_data.delete_collab(self.session, self.collab)
+ self.collab = ""
+ self.snap = ""
+ elif self.selected_type == "snap":
+ g_data.delete_snap(self.session, self.collab, self.snap)
+ self.snap = ""
+
+ self.update_session_view()
+ self.update_collab_view()
+ self.update_snap_view()
+ self.selected_type = ""
+
+ def show_status(self, text):
+ mid = self.status_bar.push(self._status_cid, text)
+ if self._status_mid:
+ self.status_bar.remove(self._status_cid, self._status_mid)
+ self._status_mid = mid
+
+ def __init__(self):
+ self.selected_type = ""
+ self.session = ""
+ self.collab = g_data.get_user()
+ self.snap = ""
+
+ self.preferences = 0
+ self.add_collab = 0
+ self.add_session = 0
+
+ self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
+ self.window.set_title('Session Exchange')
+ self.window.set_size_request(400, 200)
+ self.window.connect('destroy', lambda win: gtk.main_quit())
+ self.window.set_position(gtk.WIN_POS_MOUSE)
+
+ accel_group = gtk.AccelGroup()
+ self.window.add_accel_group(accel_group)
+
+ main_box = gtk.VBox()
+ self.window.add(main_box)
+
+ menu_items = (
+ ('/_File', None, None, 0, '<Branch>'),
+ ('/File/_Add Session...','<control>A', self.add_session_cb, 0, ''),
+ ('/File/Create _Session...', '<control>S', self.create_session_cb, 0, ''),
+ ('/File/sep1', None, None, 0, '<Separator>'),
+ ('/File/_Quit', '<control>Q', gtk.main_quit, 0, '<StockItem>', gtk.STOCK_QUIT),
+ ('/_Edit', None, None, 0, '<Branch>' ),
+ ('/Edit/Cu_t', '<control>X', self.menuitem_cb, 0, '<StockItem>', gtk.STOCK_CUT),
+ ('/Edit/_Copy', '<control>C', self.menuitem_cb, 0, '<StockItem>', gtk.STOCK_COPY),
+ ('/Edit/_Paste', '<control>V', self.menuitem_cb, 0, '<StockItem>', gtk.STOCK_PASTE),
+ ('/Edit/_Delete', None, self.delete_cb, 0, '<StockItem>', gtk.STOCK_DELETE),
+ ('/Edit/sep1', None, None, 0, '<Separator>'),
+ ('/Edit/Add Colla_borator...','<control>B', self.add_collaborator_cb,0,''),
+ ('/Edit/_Fetch Snapshot','<control>F', self.fetch_snapshot_cb,0,''),
+ ('/Edit/sep1', None, None, 0, '<Separator>'),
+ ('/Edit/_Preferences...','<control>P', self.preferences_cb, 0, '')
+ )
+
+ #need to hold a reference to the item_factory or the menubar will disappear.
+ self.item_factory = gtk.ItemFactory(gtk.MenuBar, '<main>', accel_group)
+ self.item_factory.create_items(menu_items, self.window)
+ main_box.pack_start(self.item_factory.get_widget('<main>'), False)
+
+ pane1 = gtk.HPaned()
+ pane2 = gtk.HPaned()
+ pane1.pack2(pane2, True, False)
+
+ scroll1 = gtk.ScrolledWindow()
+ scroll1.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ pane1.pack1(scroll1, True, False)
+ scroll2 = gtk.ScrolledWindow()
+ scroll2.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ pane2.pack1(scroll2, True, False)
+ scroll3 = gtk.ScrolledWindow()
+ scroll3.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ pane2.pack2(scroll3, True, False)
+
+ self.session_model = gtk.ListStore(gobject.TYPE_STRING)
+ view1 = gtk.TreeView(self.session_model)
+ column1 = gtk.TreeViewColumn('Sessions', gtk.CellRendererText(), text=0)
+ view1.append_column(column1)
+ self.session_selection = view1.get_selection()
+ self.session_selection.connect("changed", self.cb_session_selection_changed)
+ scroll1.add(view1)
+
+ self.update_session_view()
+
+ self.collab_model = gtk.ListStore(gobject.TYPE_STRING)
+ view2 = gtk.TreeView(self.collab_model)
+ column2 = gtk.TreeViewColumn('Collaborators', gtk.CellRendererText(), text=0)
+ view2.append_column(column2)
+ self.collab_selection = view2.get_selection()
+ self.collab_selection.connect("changed", self.cb_collab_selection_changed)
+ scroll2.add(view2)
+
+ self.snap_model = gtk.ListStore(gobject.TYPE_STRING)
+ view3 = gtk.TreeView(self.snap_model)
+ column3 = gtk.TreeViewColumn('Snapshots', gtk.CellRendererText(), text=0)
+ view3.append_column(column3)
+ self.snap_selection = view3.get_selection()
+ self.snap_selection.connect("changed", self.cb_snap_selection_changed)
+ scroll3.add(view3)
+
+ main_box.pack_start(pane1, True, True)
+
+ self.status_bar = gtk.Statusbar()
+ main_box.pack_start(self.status_bar, False)
+ self._status_cid = self.status_bar.get_context_id('display')
+ self._status_mid = ''
+
+ self.window.show_all()
def print_help():
- print """
- -h, --help
- -n, --no-server Only act as a client
- -p, --port <port number> Defaults to 8970
- -d, --debug Infers audio files. For debugging Ardour.
- -v, --version Version
- """
- sys.exit(2)
+ print """
+ -h, --help
+ -n, --no-server Only act as a client
+ -p, --port <port number> Defaults to 8970
+ -d, --debug Infers audio files. For debugging Ardour.
+ -v, --version Version
+ """
+ sys.exit(2)
def main():
- try:
- opts, args = getopt.getopt(sys.argv[1:], "hp:ndv", ["help", "port=", "no-server", "debug", "version"])
- except getopt.GetoptError:
- print_help()
-
- server = True
- for o, a in opts:
- if o in ("-h", "--help"):
- print_help()
- if o in ("-d", "--debug"):
- g_display.window.set_title('Session Exchange: Debug Mode')
- g_data.debug_mode = True
- if o in ("-p", "--port"):
- g_data.port = int(a)
- if o in ("-n", "--no-server"):
- server = False
- if o in ("-v", "--version"):
- print VERSION
- sys.exit(2)
-
- if (server):
- try:
- reactor.listenTCP(g_data.port, ExchangeServerFactory())
- except twisted.internet.error.CannotListenError:
- print "Can not listen on a port number under 1024 unless run as root"
- sys.exit(2)
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "hp:ndv", ["help", "port=", "no-server", "debug", "version"])
+ except getopt.GetoptError:
+ print_help()
+
+ server = True
+ for o, a in opts:
+ if o in ("-h", "--help"):
+ print_help()
+ if o in ("-d", "--debug"):
+ g_display.window.set_title('Session Exchange: Debug Mode')
+ g_data.debug_mode = True
+ if o in ("-p", "--port"):
+ g_data.port = int(a)
+ if o in ("-n", "--no-server"):
+ server = False
+ if o in ("-v", "--version"):
+ print VERSION
+ sys.exit(2)
+
+ if (server):
+ try:
+ reactor.listenTCP(g_data.port, ExchangeServerFactory())
+ except twisted.internet.error.CannotListenError:
+ print "Can not listen on a port number under 1024 unless run as root"
+ sys.exit(2)
- reactor.run()
+ reactor.run()
- g_data.close()
+ g_data.close()
# global objects
g_data = Data()
g_display = ArdourShareWindow()
if __name__ == '__main__':
- main()
+ main()
diff --git a/wscript b/wscript
index d6e0330218..6fb0862003 100644
--- a/wscript
+++ b/wscript
@@ -17,24 +17,24 @@ srcdir = '.'
blddir = 'build'
children = [
- 'libs/pbd',
- 'libs/midi++2',
- 'libs/evoral',
- 'libs/vamp-sdk',
- 'libs/qm-dsp',
- 'libs/vamp-plugins',
- 'libs/taglib',
- 'libs/rubberband',
- 'libs/surfaces',
- 'libs/panners',
- 'libs/timecode',
- 'libs/ardour',
- 'libs/gtkmm2ext',
- 'libs/clearlooks-newer',
- 'libs/audiographer',
- 'libs/gnomecanvas',
- 'gtk2_ardour',
- 'templates',
+ 'libs/pbd',
+ 'libs/midi++2',
+ 'libs/evoral',
+ 'libs/vamp-sdk',
+ 'libs/qm-dsp',
+ 'libs/vamp-plugins',
+ 'libs/taglib',
+ 'libs/rubberband',
+ 'libs/surfaces',
+ 'libs/panners',
+ 'libs/timecode',
+ 'libs/ardour',
+ 'libs/gtkmm2ext',
+ 'libs/clearlooks-newer',
+ 'libs/audiographer',
+ 'libs/gnomecanvas',
+ 'gtk2_ardour',
+ 'templates',
'export',
# this needs to be conditional at some point, since
# we will not build it or use it on OS X
@@ -42,555 +42,555 @@ children = [
]
i18n_children = [
- 'gtk2_ardour',
- 'libs/ardour'
+ 'gtk2_ardour',
+ 'libs/ardour'
]
# Version stuff
def fetch_svn_revision (path):
- cmd = "LANG= svn info " + path + " | awk '/^Revision:/ { print $2}'"
- return subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines()
+ cmd = "LANG= svn info " + path + " | awk '/^Revision:/ { print $2}'"
+ return subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines()
def fetch_gcc_version ():
- cmd = "LANG= gcc --version"
- output = subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines()
- o = output[0].decode('utf-8')
- version = o.split(' ')[2].split('.')
- return version
+ cmd = "LANG= gcc --version"
+ output = subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines()
+ o = output[0].decode('utf-8')
+ version = o.split(' ')[2].split('.')
+ return version
def fetch_git_revision (path):
- cmd = "LANG= git log --abbrev HEAD^..HEAD " + path
- output = subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines()
- o = output[0].decode('utf-8')
- rev = o.replace ("commit", "git")[0:10]
- for line in output:
- try:
- if "git-svn-id" in line:
- line = line.split('@')[1].split(' ')
- rev = line[0]
- except:
- pass
- return rev
+ cmd = "LANG= git log --abbrev HEAD^..HEAD " + path
+ output = subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines()
+ o = output[0].decode('utf-8')
+ rev = o.replace ("commit", "git")[0:10]
+ for line in output:
+ try:
+ if "git-svn-id" in line:
+ line = line.split('@')[1].split(' ')
+ rev = line[0]
+ except:
+ pass
+ return rev
def fetch_bzr_revision (path):
- cmd = subprocess.Popen("LANG= bzr log -l 1 " + path, stdout=subprocess.PIPE, shell=True)
- out = cmd.communicate()[0]
- svn = re.search('^svn revno: [0-9]*', out, re.MULTILINE)
- str = svn.group(0)
- chars = 'svnreio: '
- return string.lstrip(str, chars)
+ cmd = subprocess.Popen("LANG= bzr log -l 1 " + path, stdout=subprocess.PIPE, shell=True)
+ out = cmd.communicate()[0]
+ svn = re.search('^svn revno: [0-9]*', out, re.MULTILINE)
+ str = svn.group(0)
+ chars = 'svnreio: '
+ return string.lstrip(str, chars)
def create_stored_revision():
- rev = ""
- if os.path.exists('.svn'):
- rev = fetch_svn_revision('.');
- elif os.path.exists('.git'):
- rev = fetch_git_revision('.');
- elif os.path.exists('.bzr'):
- rev = fetch_bzr_revision('.');
- print("Revision: %s", rev)
- elif os.path.exists('libs/ardour/svn_revision.cc'):
- print("Using packaged svn revision")
- return
- else:
- print("Missing libs/ardour/svn_revision.cc. Blame the packager.")
- sys.exit(-1)
-
- try:
- text = '#include "ardour/svn_revision.h"\n'
- text += 'namespace ARDOUR { const char* svn_revision = \"%s\"; }\n' % rev
- print('Writing svn revision info to libs/ardour/svn_revision.cc')
- o = open('libs/ardour/svn_revision.cc', 'w')
- o.write(text)
- o.close()
- except IOError:
- print('Could not open libs/ardour/svn_revision.cc for writing\n')
- sys.exit(-1)
+ rev = ""
+ if os.path.exists('.svn'):
+ rev = fetch_svn_revision('.');
+ elif os.path.exists('.git'):
+ rev = fetch_git_revision('.');
+ elif os.path.exists('.bzr'):
+ rev = fetch_bzr_revision('.');
+ print("Revision: %s", rev)
+ elif os.path.exists('libs/ardour/svn_revision.cc'):
+ print("Using packaged svn revision")
+ return
+ else:
+ print("Missing libs/ardour/svn_revision.cc. Blame the packager.")
+ sys.exit(-1)
+
+ try:
+ text = '#include "ardour/svn_revision.h"\n'
+ text += 'namespace ARDOUR { const char* svn_revision = \"%s\"; }\n' % rev
+ print('Writing svn revision info to libs/ardour/svn_revision.cc')
+ o = open('libs/ardour/svn_revision.cc', 'w')
+ o.write(text)
+ o.close()
+ except IOError:
+ print('Could not open libs/ardour/svn_revision.cc for writing\n')
+ sys.exit(-1)
def set_compiler_flags (conf,opt):
- #
- # Compiler flags and other system-dependent stuff
- #
-
- build_host_supports_sse = False
- optimization_flags = []
- debug_flags = []
-
- # guess at the platform, used to define compiler flags
-
- config_guess = os.popen("tools/config.guess").read()[:-1]
-
- config_cpu = 0
- config_arch = 1
- config_kernel = 2
- config_os = 3
- config = config_guess.split ("-")
-
- autowaf.display_msg(conf, "System Triple", config_guess)
-
- if opt.gprofile:
- debug_flags = [ '-pg' ]
- else:
- if config[config_arch] != 'apple':
- debug_flags = [ '-rdynamic' ] # waf adds -O0 -g itself. thanks waf!
-
- # Autodetect
- if opt.dist_target == 'auto':
- if config[config_arch] == 'apple':
- # The [.] matches to the dot after the major version, "." would match any character
- if re.search ("darwin[0-7][.]", config[config_kernel]) != None:
- conf.define ('build_target', 'panther')
- elif re.search ("darwin8[.]", config[config_kernel]) != None:
- conf.define ('build_target', 'tiger')
- else:
- conf.define ('build_target', 'leopard')
- else:
- if re.search ("x86_64", config[config_cpu]) != None:
- conf.define ('build_target', 'x86_64')
- elif re.search("i[0-5]86", config[config_cpu]) != None:
- conf.define ('build_target', 'i386')
- elif re.search("powerpc", config[config_cpu]) != None:
- conf.define ('build_target', 'powerpc')
- else:
- conf.define ('build_target', 'i686')
- else:
- conf.define ('build_target', opt.dist_target)
-
- if config[config_cpu] == 'powerpc' and conf.env['build_target'] != 'none':
- #
- # Apple/PowerPC optimization options
- #
- # -mcpu=7450 does not reliably work with gcc 3.*
- #
- if opt.dist_target == 'panther' or opt.dist_target == 'tiger':
- if config[config_arch] == 'apple':
- # optimization_flags.extend ([ "-mcpu=7450", "-faltivec"])
- # to support g3s but still have some optimization for above
- optimization_flags.extend ([ "-mcpu=G3", "-mtune=7450"])
- else:
- optimization_flags.extend ([ "-mcpu=7400", "-maltivec", "-mabi=altivec"])
- else:
- optimization_flags.extend([ "-mcpu=750", "-mmultiple" ])
- optimization_flags.extend (["-mhard-float", "-mpowerpc-gfxopt"])
- optimization_flags.extend (["-Os"])
-
- elif ((re.search ("i[0-9]86", config[config_cpu]) != None) or (re.search ("x86_64", config[config_cpu]) != None)) and conf.env['build_target'] != 'none':
+ #
+ # Compiler flags and other system-dependent stuff
+ #
+
+ build_host_supports_sse = False
+ optimization_flags = []
+ debug_flags = []
+
+ # guess at the platform, used to define compiler flags
+
+ config_guess = os.popen("tools/config.guess").read()[:-1]
+
+ config_cpu = 0
+ config_arch = 1
+ config_kernel = 2
+ config_os = 3
+ config = config_guess.split ("-")
+
+ autowaf.display_msg(conf, "System Triple", config_guess)
+
+ if opt.gprofile:
+ debug_flags = [ '-pg' ]
+ else:
+ if config[config_arch] != 'apple':
+ debug_flags = [ '-rdynamic' ] # waf adds -O0 -g itself. thanks waf!
+
+ # Autodetect
+ if opt.dist_target == 'auto':
+ if config[config_arch] == 'apple':
+ # The [.] matches to the dot after the major version, "." would match any character
+ if re.search ("darwin[0-7][.]", config[config_kernel]) != None:
+ conf.define ('build_target', 'panther')
+ elif re.search ("darwin8[.]", config[config_kernel]) != None:
+ conf.define ('build_target', 'tiger')
+ else:
+ conf.define ('build_target', 'leopard')
+ else:
+ if re.search ("x86_64", config[config_cpu]) != None:
+ conf.define ('build_target', 'x86_64')
+ elif re.search("i[0-5]86", config[config_cpu]) != None:
+ conf.define ('build_target', 'i386')
+ elif re.search("powerpc", config[config_cpu]) != None:
+ conf.define ('build_target', 'powerpc')
+ else:
+ conf.define ('build_target', 'i686')
+ else:
+ conf.define ('build_target', opt.dist_target)
+
+ if config[config_cpu] == 'powerpc' and conf.env['build_target'] != 'none':
+ #
+ # Apple/PowerPC optimization options
+ #
+ # -mcpu=7450 does not reliably work with gcc 3.*
+ #
+ if opt.dist_target == 'panther' or opt.dist_target == 'tiger':
+ if config[config_arch] == 'apple':
+ # optimization_flags.extend ([ "-mcpu=7450", "-faltivec"])
+ # to support g3s but still have some optimization for above
+ optimization_flags.extend ([ "-mcpu=G3", "-mtune=7450"])
+ else:
+ optimization_flags.extend ([ "-mcpu=7400", "-maltivec", "-mabi=altivec"])
+ else:
+ optimization_flags.extend([ "-mcpu=750", "-mmultiple" ])
+ optimization_flags.extend (["-mhard-float", "-mpowerpc-gfxopt"])
+ optimization_flags.extend (["-Os"])
+
+ elif ((re.search ("i[0-9]86", config[config_cpu]) != None) or (re.search ("x86_64", config[config_cpu]) != None)) and conf.env['build_target'] != 'none':
- #
- # ARCH_X86 means anything in the x86 family from i386 to x86_64
- # USE_X86_64_ASM is used to distingush 32 and 64 bit assembler
- #
-
- if (re.search ("(i[0-9]86|x86_64)", config[config_cpu]) != None):
- debug_flags.append ("-DARCH_X86")
- optimization_flags.append ("-DARCH_X86")
+ #
+ # ARCH_X86 means anything in the x86 family from i386 to x86_64
+ # USE_X86_64_ASM is used to distingush 32 and 64 bit assembler
+ #
+
+ if (re.search ("(i[0-9]86|x86_64)", config[config_cpu]) != None):
+ debug_flags.append ("-DARCH_X86")
+ optimization_flags.append ("-DARCH_X86")
- if config[config_kernel] == 'linux' :
+ if config[config_kernel] == 'linux' :
- #
- # determine processor flags via /proc/cpuinfo
- #
+ #
+ # determine processor flags via /proc/cpuinfo
+ #
- if conf.env['build_target'] != 'i386':
+ if conf.env['build_target'] != 'i386':
- flag_line = os.popen ("cat /proc/cpuinfo | grep '^flags'").read()[:-1]
- x86_flags = flag_line.split (": ")[1:][0].split ()
+ flag_line = os.popen ("cat /proc/cpuinfo | grep '^flags'").read()[:-1]
+ x86_flags = flag_line.split (": ")[1:][0].split ()
- if "mmx" in x86_flags:
- optimization_flags.append ("-mmmx")
- if "sse" in x86_flags:
- build_host_supports_sse = True
- if "3dnow" in x86_flags:
- optimization_flags.append ("-m3dnow")
+ if "mmx" in x86_flags:
+ optimization_flags.append ("-mmmx")
+ if "sse" in x86_flags:
+ build_host_supports_sse = True
+ if "3dnow" in x86_flags:
+ optimization_flags.append ("-m3dnow")
- if config[config_cpu] == "i586":
- optimization_flags.append ("-march=i586")
- elif config[config_cpu] == "i686":
- optimization_flags.append ("-march=i686")
+ if config[config_cpu] == "i586":
+ optimization_flags.append ("-march=i586")
+ elif config[config_cpu] == "i686":
+ optimization_flags.append ("-march=i686")
- if ((conf.env['build_target'] == 'i686') or (conf.env['build_target'] == 'x86_64')) and build_host_supports_sse:
- optimization_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"])
- debug_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"])
-
- # end of processor-specific section
-
- # optimization section
- if conf.env['FPU_OPTIMIZATION']:
- if conf.env['build_target'] == 'tiger' or conf.env['build_target'] == 'leopard':
- optimization_flags.append ("-DBUILD_VECLIB_OPTIMIZATIONS");
- debug_flags.append ("-DBUILD_VECLIB_OPTIMIZATIONS");
- conf.env.append_value('LINKFLAGS', "-framework Accelerate")
- elif conf.env['build_target'] == 'i686' or conf.env['build_target'] == 'x86_64':
- optimization_flags.append ("-DBUILD_SSE_OPTIMIZATIONS")
- debug_flags.append ("-DBUILD_SSE_OPTIMIZATIONS")
- elif conf.env['build_target'] == 'x86_64':
- optimization_flags.append ("-DUSE_X86_64_ASM")
- debug_flags.append ("-DUSE_X86_64_ASM")
- if not build_host_supports_sse:
- print("\nWarning: you are building Ardour with SSE support even though your system does not support these instructions. (This may not be an error, especially if you are a package maintainer)")
-
- # check this even if we aren't using FPU optimization
- if not conf.env['HAVE_POSIX_MEMALIGN']:
- optimization_flags.append("-DNO_POSIX_MEMALIGN")
-
- # end optimization section
-
- #
- # no VST on x86_64
- #
-
- if conf.env['build_target'] == 'x86_64' and opt.vst:
- print("\n\n==================================================")
- print("You cannot use VST plugins with a 64 bit host. Please run waf with --vst=0")
- print("\nIt is theoretically possible to build a 32 bit host on a 64 bit system.")
- print("However, this is tricky and not recommended for beginners.")
- sys.exit (-1)
-
- #
- # a single way to test if we're on OS X
- #
-
- if conf.env['build_target'] in ['panther', 'tiger', 'leopard' ]:
- conf.define ('IS_OSX', 1)
- # force tiger or later, to avoid issues on PPC which defaults
- # back to 10.1 if we don't tell it otherwise.
- conf.env.append_value('CCFLAGS', "-DMAC_OS_X_VERSION_MIN_REQUIRED=1040")
-
- else:
- conf.define ('IS_OSX', 0)
-
- #
- # save off guessed arch element in an env
- #
- conf.define ('CONFIG_ARCH', config[config_arch])
-
- #
- # ARCH="..." overrides all
- #
-
- if opt.arch != None:
- optimization_flags = opt.arch.split()
-
- #
- # prepend boiler plate optimization flags that work on all architectures
- #
-
- optimization_flags[:0] = [
- "-O3",
- "-fomit-frame-pointer",
- "-ffast-math",
- "-fstrength-reduce",
- "-pipe"
- ]
-
- if opt.debug:
- conf.env.append_value('CCFLAGS', debug_flags)
- conf.env.append_value('CXXFLAGS', debug_flags)
- conf.env.append_value('LINKFLAGS', debug_flags)
- else:
- conf.env.append_value('CCFLAGS', optimization_flags)
- conf.env.append_value('CXXFLAGS', optimization_flags)
- conf.env.append_value('LINKFLAGS', optimization_flags)
-
- if opt.stl_debug:
- conf.env.append_value('CXXFLAGS', "-D_GLIBCXX_DEBUG")
-
- if conf.env['DEBUG_RT_ALLOC']:
- conf.env.append_value('CCFLAGS', '-DDEBUG_RT_ALLOC')
- conf.env.append_value('CXXFLAGS', '-DDEBUG_RT_ALLOC')
- conf.env.append_value('LINKFLAGS', '-ldl')
-
- if opt.universal:
- conf.env.append_value('CCFLAGS', "-arch i386 -arch ppc")
- conf.env.append_value('CXXFLAGS', "-arch i386 -arch ppc")
- conf.env.append_value('LINKFLAGS', "-arch i386 -arch ppc")
-
- #
- # warnings flags
- #
-
- conf.env.append_value('CCFLAGS', "-Wall")
- conf.env.append_value('CXXFLAGS', [ '-Wall', '-Woverloaded-virtual'])
-
- if opt.extra_warn:
- flags = [ '-Wextra' ]
- conf.env.append_value('CCFLAGS', flags )
- conf.env.append_value('CXXFLAGS', flags )
-
-
- #
- # more boilerplate
- #
-
- conf.env.append_value('CCFLAGS', '-D_LARGEFILE64_SOURCE')
- conf.env.append_value('CCFLAGS', '-D_FILE_OFFSET_BITS=64')
- conf.env.append_value('CXXFLAGS', '-D_LARGEFILE64_SOURCE')
- conf.env.append_value('CXXFLAGS', '-D_FILE_OFFSET_BITS=64')
-
- conf.env.append_value('CXXFLAGS', '-D__STDC_LIMIT_MACROS')
- conf.env.append_value('CXXFLAGS', '-D__STDC_FORMAT_MACROS')
-
- if opt.nls:
- conf.env.append_value('CXXFLAGS', '-DENABLE_NLS')
- conf.env.append_value('CCFLAGS', '-DENABLE_NLS')
+ if ((conf.env['build_target'] == 'i686') or (conf.env['build_target'] == 'x86_64')) and build_host_supports_sse:
+ optimization_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"])
+ debug_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"])
+
+ # end of processor-specific section
+
+ # optimization section
+ if conf.env['FPU_OPTIMIZATION']:
+ if conf.env['build_target'] == 'tiger' or conf.env['build_target'] == 'leopard':
+ optimization_flags.append ("-DBUILD_VECLIB_OPTIMIZATIONS");
+ debug_flags.append ("-DBUILD_VECLIB_OPTIMIZATIONS");
+ conf.env.append_value('LINKFLAGS', "-framework Accelerate")
+ elif conf.env['build_target'] == 'i686' or conf.env['build_target'] == 'x86_64':
+ optimization_flags.append ("-DBUILD_SSE_OPTIMIZATIONS")
+ debug_flags.append ("-DBUILD_SSE_OPTIMIZATIONS")
+ elif conf.env['build_target'] == 'x86_64':
+ optimization_flags.append ("-DUSE_X86_64_ASM")
+ debug_flags.append ("-DUSE_X86_64_ASM")
+ if not build_host_supports_sse:
+ print("\nWarning: you are building Ardour with SSE support even though your system does not support these instructions. (This may not be an error, especially if you are a package maintainer)")
+
+ # check this even if we aren't using FPU optimization
+ if not conf.env['HAVE_POSIX_MEMALIGN']:
+ optimization_flags.append("-DNO_POSIX_MEMALIGN")
+
+ # end optimization section
+
+ #
+ # no VST on x86_64
+ #
+
+ if conf.env['build_target'] == 'x86_64' and opt.vst:
+ print("\n\n==================================================")
+ print("You cannot use VST plugins with a 64 bit host. Please run waf with --vst=0")
+ print("\nIt is theoretically possible to build a 32 bit host on a 64 bit system.")
+ print("However, this is tricky and not recommended for beginners.")
+ sys.exit (-1)
+
+ #
+ # a single way to test if we're on OS X
+ #
+
+ if conf.env['build_target'] in ['panther', 'tiger', 'leopard' ]:
+ conf.define ('IS_OSX', 1)
+ # force tiger or later, to avoid issues on PPC which defaults
+ # back to 10.1 if we don't tell it otherwise.
+ conf.env.append_value('CCFLAGS', "-DMAC_OS_X_VERSION_MIN_REQUIRED=1040")
+
+ else:
+ conf.define ('IS_OSX', 0)
+
+ #
+ # save off guessed arch element in an env
+ #
+ conf.define ('CONFIG_ARCH', config[config_arch])
+
+ #
+ # ARCH="..." overrides all
+ #
+
+ if opt.arch != None:
+ optimization_flags = opt.arch.split()
+
+ #
+ # prepend boiler plate optimization flags that work on all architectures
+ #
+
+ optimization_flags[:0] = [
+ "-O3",
+ "-fomit-frame-pointer",
+ "-ffast-math",
+ "-fstrength-reduce",
+ "-pipe"
+ ]
+
+ if opt.debug:
+ conf.env.append_value('CCFLAGS', debug_flags)
+ conf.env.append_value('CXXFLAGS', debug_flags)
+ conf.env.append_value('LINKFLAGS', debug_flags)
+ else:
+ conf.env.append_value('CCFLAGS', optimization_flags)
+ conf.env.append_value('CXXFLAGS', optimization_flags)
+ conf.env.append_value('LINKFLAGS', optimization_flags)
+
+ if opt.stl_debug:
+ conf.env.append_value('CXXFLAGS', "-D_GLIBCXX_DEBUG")
+
+ if conf.env['DEBUG_RT_ALLOC']:
+ conf.env.append_value('CCFLAGS', '-DDEBUG_RT_ALLOC')
+ conf.env.append_value('CXXFLAGS', '-DDEBUG_RT_ALLOC')
+ conf.env.append_value('LINKFLAGS', '-ldl')
+
+ if opt.universal:
+ conf.env.append_value('CCFLAGS', "-arch i386 -arch ppc")
+ conf.env.append_value('CXXFLAGS', "-arch i386 -arch ppc")
+ conf.env.append_value('LINKFLAGS', "-arch i386 -arch ppc")
+
+ #
+ # warnings flags
+ #
+
+ conf.env.append_value('CCFLAGS', "-Wall")
+ conf.env.append_value('CXXFLAGS', [ '-Wall', '-Woverloaded-virtual'])
+
+ if opt.extra_warn:
+ flags = [ '-Wextra' ]
+ conf.env.append_value('CCFLAGS', flags )
+ conf.env.append_value('CXXFLAGS', flags )
+
+
+ #
+ # more boilerplate
+ #
+
+ conf.env.append_value('CCFLAGS', '-D_LARGEFILE64_SOURCE')
+ conf.env.append_value('CCFLAGS', '-D_FILE_OFFSET_BITS=64')
+ conf.env.append_value('CXXFLAGS', '-D_LARGEFILE64_SOURCE')
+ conf.env.append_value('CXXFLAGS', '-D_FILE_OFFSET_BITS=64')
+
+ conf.env.append_value('CXXFLAGS', '-D__STDC_LIMIT_MACROS')
+ conf.env.append_value('CXXFLAGS', '-D__STDC_FORMAT_MACROS')
+
+ if opt.nls:
+ conf.env.append_value('CXXFLAGS', '-DENABLE_NLS')
+ conf.env.append_value('CCFLAGS', '-DENABLE_NLS')
#----------------------------------------------------------------
# Waf stages
def set_options(opt):
- autowaf.set_options(opt)
- opt.add_option('--program-name', type='string', action='store', default='Ardour', dest='program_name',
- help='The user-visible name of the program being built')
- opt.add_option('--arch', type='string', action='store', dest='arch',
- help='Architecture-specific compiler flags')
- opt.add_option('--boost-sp-debug', action='store_true', default=False, dest='boost_sp_debug',
- help='Compile with Boost shared pointer debugging')
- opt.add_option('--dist-target', type='string', default='auto', dest='dist_target',
- help='Specify the target for cross-compiling [auto,none,x86,i386,i686,x86_64,powerpc,tiger,leopard]')
- opt.add_option('--extra-warn', action='store_true', default=False, dest='extra_warn',
- help='Build with even more compiler warning flags')
- opt.add_option('--fpu-optimization', action='store_true', default=True, dest='fpu_optimization',
- help='Build runtime checked assembler code (default)')
- opt.add_option('--no-fpu-optimization', action='store_false', dest='fpu_optimization')
- opt.add_option('--freedesktop', action='store_true', default=False, dest='freedesktop',
- help='Install MIME type, icons and .desktop file as per freedesktop.org standards')
- opt.add_option('--freesound', action='store_true', default=False, dest='freesound',
- help='Include Freesound database lookup')
- opt.add_option('--gprofile', action='store_true', default=False, dest='gprofile',
- help='Compile for use with gprofile')
- opt.add_option('--lv2', action='store_true', default=False, dest='lv2',
- help='Compile with support for LV2 (if slv2 is available)')
- opt.add_option('--nls', action='store_true', default=True, dest='nls',
- help='Enable i18n (native language support) (default)')
- opt.add_option('--no-nls', action='store_false', dest='nls')
- opt.add_option('--phone-home', action='store_false', default=True, dest='phone_home')
- opt.add_option('--stl-debug', action='store_true', default=False, dest='stl_debug',
- help='Build with debugging for the STL')
- opt.add_option('--rt-alloc-debug', action='store_true', default=False, dest='rt_alloc_debug',
- help='Build with debugging for memory allocation in the real-time thread')
- opt.add_option('--test', action='store_true', default=False, dest='build_tests',
- help="Build unit tests")
- opt.add_option('--tranzport', action='store_true', default=False, dest='tranzport',
- help='Compile with support for Frontier Designs Tranzport (if libusb is available)')
- opt.add_option('--universal', action='store_true', default=False, dest='universal',
- help='Compile as universal binary (requires that external libraries are universal)')
- opt.add_option('--versioned', action='store_true', default=False, dest='versioned',
- help='Add revision information to executable name inside the build directory')
- opt.add_option('--vst', action='store_true', default=False, dest='vst',
- help='Compile with support for VST')
- opt.add_option('--wiimote', action='store_true', default=False, dest='wiimote',
- help='Build the wiimote control surface')
- opt.add_option('--windows-key', type='string', action='store', dest='windows_key', default='Mod4><Super',
- help='X Modifier(s) (Mod1,Mod2, etc) for the Windows key (X11 builds only). ' +
- 'Multiple modifiers must be separated by \'><\'')
- opt.add_option('--boost-include', type='string', action='store', dest='boost_include', default='',
- help='directory where Boost header files can be found')
- opt.add_option('--wine-include', type='string', action='store', dest='wine_include', default='/usr/include/wine/windows',
- help='directory where Wine\'s Windows header files can be found')
- for i in children:
- opt.sub_options(i)
+ autowaf.set_options(opt)
+ opt.add_option('--program-name', type='string', action='store', default='Ardour', dest='program_name',
+ help='The user-visible name of the program being built')
+ opt.add_option('--arch', type='string', action='store', dest='arch',
+ help='Architecture-specific compiler flags')
+ opt.add_option('--boost-sp-debug', action='store_true', default=False, dest='boost_sp_debug',
+ help='Compile with Boost shared pointer debugging')
+ opt.add_option('--dist-target', type='string', default='auto', dest='dist_target',
+ help='Specify the target for cross-compiling [auto,none,x86,i386,i686,x86_64,powerpc,tiger,leopard]')
+ opt.add_option('--extra-warn', action='store_true', default=False, dest='extra_warn',
+ help='Build with even more compiler warning flags')
+ opt.add_option('--fpu-optimization', action='store_true', default=True, dest='fpu_optimization',
+ help='Build runtime checked assembler code (default)')
+ opt.add_option('--no-fpu-optimization', action='store_false', dest='fpu_optimization')
+ opt.add_option('--freedesktop', action='store_true', default=False, dest='freedesktop',
+ help='Install MIME type, icons and .desktop file as per freedesktop.org standards')
+ opt.add_option('--freesound', action='store_true', default=False, dest='freesound',
+ help='Include Freesound database lookup')
+ opt.add_option('--gprofile', action='store_true', default=False, dest='gprofile',
+ help='Compile for use with gprofile')
+ opt.add_option('--lv2', action='store_true', default=False, dest='lv2',
+ help='Compile with support for LV2 (if slv2 is available)')
+ opt.add_option('--nls', action='store_true', default=True, dest='nls',
+ help='Enable i18n (native language support) (default)')
+ opt.add_option('--no-nls', action='store_false', dest='nls')
+ opt.add_option('--phone-home', action='store_false', default=True, dest='phone_home')
+ opt.add_option('--stl-debug', action='store_true', default=False, dest='stl_debug',
+ help='Build with debugging for the STL')
+ opt.add_option('--rt-alloc-debug', action='store_true', default=False, dest='rt_alloc_debug',
+ help='Build with debugging for memory allocation in the real-time thread')
+ opt.add_option('--test', action='store_true', default=False, dest='build_tests',
+ help="Build unit tests")
+ opt.add_option('--tranzport', action='store_true', default=False, dest='tranzport',
+ help='Compile with support for Frontier Designs Tranzport (if libusb is available)')
+ opt.add_option('--universal', action='store_true', default=False, dest='universal',
+ help='Compile as universal binary (requires that external libraries are universal)')
+ opt.add_option('--versioned', action='store_true', default=False, dest='versioned',
+ help='Add revision information to executable name inside the build directory')
+ opt.add_option('--vst', action='store_true', default=False, dest='vst',
+ help='Compile with support for VST')
+ opt.add_option('--wiimote', action='store_true', default=False, dest='wiimote',
+ help='Build the wiimote control surface')
+ opt.add_option('--windows-key', type='string', action='store', dest='windows_key', default='Mod4><Super',
+ help='X Modifier(s) (Mod1,Mod2, etc) for the Windows key (X11 builds only). ' +
+ 'Multiple modifiers must be separated by \'><\'')
+ opt.add_option('--boost-include', type='string', action='store', dest='boost_include', default='',
+ help='directory where Boost header files can be found')
+ opt.add_option('--wine-include', type='string', action='store', dest='wine_include', default='/usr/include/wine/windows',
+ help='directory where Wine\'s Windows header files can be found')
+ for i in children:
+ opt.sub_options(i)
def sub_config_and_use(conf, name, has_objects = True):
- conf.sub_config(name)
- autowaf.set_local_lib(conf, name, has_objects)
+ conf.sub_config(name)
+ autowaf.set_local_lib(conf, name, has_objects)
def configure(conf):
- create_stored_revision()
- conf.env['VERSION'] = VERSION
- conf.line_just = 52
- autowaf.set_recursive()
- autowaf.configure(conf)
- autowaf.display_header('Ardour Configuration')
-
- gcc_versions = fetch_gcc_version()
- if not Options.options.debug and gcc_versions[0] == '4' and gcc_versions[1] > '4':
+ create_stored_revision()
+ conf.env['VERSION'] = VERSION
+ conf.line_just = 52
+ autowaf.set_recursive()
+ autowaf.configure(conf)
+ autowaf.display_header('Ardour Configuration')
+
+ gcc_versions = fetch_gcc_version()
+ if not Options.options.debug and gcc_versions[0] == '4' and gcc_versions[1] > '4':
print('Version 4.5 of gcc is not ready for use when compiling Ardour with optimization.')
print('Please use a different version or re-configure with --debug')
exit (1)
- if sys.platform == 'darwin':
-
- conf.define ('AUDIOUNITS', 1)
- conf.define ('AU_STATE_SUPPORT', 1)
- conf.define ('COREAUDIO', 1)
- conf.define ('GTKOSX', 1)
- conf.define ('TOP_MENUBAR',1)
- conf.define ('GTKOSX',1)
-
- conf.env.append_value('CXXFLAGS_APPLEUTILITY', '-I../libs')
- #
- # Define OSX as a uselib to use when compiling
- # on Darwin to add all applicable flags at once
- #
- conf.env.append_value('CXXFLAGS_OSX', '-DMAC_OS_X_VERSION_MIN_REQUIRED=1040')
- conf.env.append_value('CCFLAGS_OSX', '-DMAC_OS_X_VERSION_MIN_REQUIRED=1040')
- conf.env.append_value('CXXFLAGS_OSX', '-mmacosx-version-min=10.4')
- conf.env.append_value('CCFLAGS_OSX', '-mmacosx-version-min=10.4')
-
- #conf.env.append_value('CXXFLAGS_OSX', "-isysroot /Developer/SDKs/MacOSX10.4u.sdk")
- #conf.env.append_value('CCFLAGS_OSX', "-isysroot /Developer/SDKs/MacOSX10.4u.sdk")
- #conf.env.append_value('LINKFLAGS_OSX', "-isysroot /Developer/SDKs/MacOSX10.4u.sdk")
-
- #conf.env.append_value('LINKFLAGS_OSX', "-sysroot /Developer/SDKs/MacOSX10.4u.sdk")
-
- conf.env.append_value('CXXFLAGS_OSX', "-msse")
- conf.env.append_value('CCFLAGS_OSX', "-msse")
- conf.env.append_value('CXXFLAGS_OSX', "-msse2")
- conf.env.append_value('CCFLAGS_OSX', "-msse2")
- #
- # TODO: The previous sse flags NEED to be based
- # off processor type. Need to add in a check
- # for that.
- #
- conf.env.append_value('CXXFLAGS_OSX', '-F/System/LibraryFrameworks')
- conf.env.append_value('CXXFLAGS_OSX', '-F/Library/Frameworks')
-
- conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'AppKit'])
- conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreAudio'])
- conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreFoundation'])
- conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreServices'])
-
- conf.env.append_value('LINKFLAGS_OSX', ['-undefined', 'suppress' ])
- conf.env.append_value('LINKFLAGS_OSX', '-flat_namespace')
-
- conf.env.append_value('LINKFLAGS_GTKOSX', [ '-Xlinker', '-headerpad'])
- conf.env.append_value('LINKFLAGS_GTKOSX', ['-Xlinker', '2048'])
- conf.env.append_value('CPPPATH_GTKOSX', "/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/")
-
- conf.env.append_value('CXXFLAGS_AUDIOUNITS', "-DHAVE_AUDIOUNITS")
- conf.env.append_value('LINKFLAGS_AUDIOUNITS', ['-framework', 'Audiotoolbox', '-framework', 'AudioUnit'])
-
- if Options.options.boost_include != '':
- conf.env.append_value('CPPPATH', Options.options.boost_include)
-
- autowaf.check_header(conf, 'boost/signals2.hpp', mandatory = True)
-
- if Options.options.boost_sp_debug:
- conf.env.append_value('CXXFLAGS', '-DBOOST_SP_ENABLE_DEBUG_HOOKS')
-
- autowaf.check_header(conf, 'jack/session.h', define="JACK_SESSION", mandatory = False)
-
- conf.check_cc(fragment = "#include <boost/version.hpp>\nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n",
- execute = "1",
- mandatory = True,
- msg = 'Checking for boost library >= 1.39',
- okmsg = 'ok',
- errmsg = 'too old\nPlease install boost version 1.39 or higher.')
-
- autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False)
- autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2')
- autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.2')
- autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0')
- autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', atleast_version='1.0.18')
-
- if sys.platform == 'darwin':
- sub_config_and_use(conf, 'libs/appleutility')
- for i in children:
- sub_config_and_use(conf, i)
-
- # Fix utterly braindead FLAC include path to not smash assert.h
- conf.env['CPPPATH_FLAC'] = []
-
- conf.check_cc(function_name='dlopen', header_name='dlfcn.h', linkflags='-ldl', uselib_store='DL')
- conf.check_cc(function_name='curl_global_init', header_name='curl/curl.h', linkflags='-lcurl', uselib_store='CURL')
-
- # Tell everyone that this is a waf build
-
- conf.env.append_value('CCFLAGS', '-DWAF_BUILD')
- conf.env.append_value('CXXFLAGS', '-DWAF_BUILD')
-
+ if sys.platform == 'darwin':
+
+ conf.define ('AUDIOUNITS', 1)
+ conf.define ('AU_STATE_SUPPORT', 1)
+ conf.define ('COREAUDIO', 1)
+ conf.define ('GTKOSX', 1)
+ conf.define ('TOP_MENUBAR',1)
+ conf.define ('GTKOSX',1)
+
+ conf.env.append_value('CXXFLAGS_APPLEUTILITY', '-I../libs')
+ #
+ # Define OSX as a uselib to use when compiling
+ # on Darwin to add all applicable flags at once
+ #
+ conf.env.append_value('CXXFLAGS_OSX', '-DMAC_OS_X_VERSION_MIN_REQUIRED=1040')
+ conf.env.append_value('CCFLAGS_OSX', '-DMAC_OS_X_VERSION_MIN_REQUIRED=1040')
+ conf.env.append_value('CXXFLAGS_OSX', '-mmacosx-version-min=10.4')
+ conf.env.append_value('CCFLAGS_OSX', '-mmacosx-version-min=10.4')
+
+ #conf.env.append_value('CXXFLAGS_OSX', "-isysroot /Developer/SDKs/MacOSX10.4u.sdk")
+ #conf.env.append_value('CCFLAGS_OSX', "-isysroot /Developer/SDKs/MacOSX10.4u.sdk")
+ #conf.env.append_value('LINKFLAGS_OSX', "-isysroot /Developer/SDKs/MacOSX10.4u.sdk")
+
+ #conf.env.append_value('LINKFLAGS_OSX', "-sysroot /Developer/SDKs/MacOSX10.4u.sdk")
+
+ conf.env.append_value('CXXFLAGS_OSX', "-msse")
+ conf.env.append_value('CCFLAGS_OSX', "-msse")
+ conf.env.append_value('CXXFLAGS_OSX', "-msse2")
+ conf.env.append_value('CCFLAGS_OSX', "-msse2")
+ #
+ # TODO: The previous sse flags NEED to be based
+ # off processor type. Need to add in a check
+ # for that.
+ #
+ conf.env.append_value('CXXFLAGS_OSX', '-F/System/LibraryFrameworks')
+ conf.env.append_value('CXXFLAGS_OSX', '-F/Library/Frameworks')
+
+ conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'AppKit'])
+ conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreAudio'])
+ conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreFoundation'])
+ conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreServices'])
+
+ conf.env.append_value('LINKFLAGS_OSX', ['-undefined', 'suppress' ])
+ conf.env.append_value('LINKFLAGS_OSX', '-flat_namespace')
+
+ conf.env.append_value('LINKFLAGS_GTKOSX', [ '-Xlinker', '-headerpad'])
+ conf.env.append_value('LINKFLAGS_GTKOSX', ['-Xlinker', '2048'])
+ conf.env.append_value('CPPPATH_GTKOSX', "/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/")
+
+ conf.env.append_value('CXXFLAGS_AUDIOUNITS', "-DHAVE_AUDIOUNITS")
+ conf.env.append_value('LINKFLAGS_AUDIOUNITS', ['-framework', 'Audiotoolbox', '-framework', 'AudioUnit'])
+
+ if Options.options.boost_include != '':
+ conf.env.append_value('CPPPATH', Options.options.boost_include)
+
+ autowaf.check_header(conf, 'boost/signals2.hpp', mandatory = True)
+
+ if Options.options.boost_sp_debug:
+ conf.env.append_value('CXXFLAGS', '-DBOOST_SP_ENABLE_DEBUG_HOOKS')
+
+ autowaf.check_header(conf, 'jack/session.h', define="JACK_SESSION", mandatory = False)
+
+ conf.check_cc(fragment = "#include <boost/version.hpp>\nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n",
+ execute = "1",
+ mandatory = True,
+ msg = 'Checking for boost library >= 1.39',
+ okmsg = 'ok',
+ errmsg = 'too old\nPlease install boost version 1.39 or higher.')
+
+ autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False)
+ autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2')
+ autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.2')
+ autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0')
+ autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', atleast_version='1.0.18')
+
+ if sys.platform == 'darwin':
+ sub_config_and_use(conf, 'libs/appleutility')
+ for i in children:
+ sub_config_and_use(conf, i)
+
+ # Fix utterly braindead FLAC include path to not smash assert.h
+ conf.env['CPPPATH_FLAC'] = []
+
+ conf.check_cc(function_name='dlopen', header_name='dlfcn.h', linkflags='-ldl', uselib_store='DL')
+ conf.check_cc(function_name='curl_global_init', header_name='curl/curl.h', linkflags='-lcurl', uselib_store='CURL')
+
+ # Tell everyone that this is a waf build
+
+ conf.env.append_value('CCFLAGS', '-DWAF_BUILD')
+ conf.env.append_value('CXXFLAGS', '-DWAF_BUILD')
+
# debug builds should not call home
- opts = Options.options
- if opts.debug:
+ opts = Options.options
+ if opts.debug:
opts.phone_home = False;
- autowaf.display_msg(conf, 'Build Target', conf.env['build_target'])
- autowaf.display_msg(conf, 'Architecture flags', opts.arch)
- autowaf.display_msg(conf, 'Aubio', bool(conf.env['HAVE_AUBIO']))
- autowaf.display_msg(conf, 'CoreAudio', bool(conf.env['HAVE_COREAUDIO']))
- autowaf.display_msg(conf, 'FLAC', bool(conf.env['HAVE_FLAC']))
- autowaf.display_msg(conf, 'Phone Home', opts.phone_home)
- if opts.phone_home:
- conf.env['PHONE_HOME'] = opts.phone_home
- autowaf.display_msg(conf, 'FPU Optimization', opts.fpu_optimization)
- if opts.fpu_optimization:
- conf.define('FPU_OPTIMIZATION', 1)
- autowaf.display_msg(conf, 'Freedesktop Files', opts.freedesktop)
- autowaf.display_msg(conf, 'Freesound', opts.freesound)
- if opts.freesound:
- conf.define('FREESOUND',1)
- autowaf.display_msg(conf, 'LV2 Support', bool(conf.env['HAVE_SLV2']))
- autowaf.display_msg(conf, 'OGG', bool(conf.env['HAVE_OGG']))
- autowaf.display_msg(conf, 'Rubberband', bool(conf.env['HAVE_RUBBERBAND']))
- autowaf.display_msg(conf, 'Samplerate', bool(conf.env['HAVE_SAMPLERATE']))
- autowaf.display_msg(conf, 'Soundtouch', bool(conf.env['HAVE_SOUNDTOUCH']))
- autowaf.display_msg(conf, 'Translation', opts.nls)
- if opts.nls:
- conf.define ('ENABLE_NLS', 1)
- autowaf.display_msg(conf, 'Tranzport', opts.tranzport)
- if opts.build_tests:
- conf.env['BUILD_TESTS'] = opts.build_tests
- autowaf.display_msg(conf, 'Unit Tests', bool(conf.env['BUILD_TESTS']) and bool (conf.env['HAVE_CPPUNIT']))
- if opts.tranzport:
- conf.define('TRANZPORT', 1)
- autowaf.display_msg(conf, 'Universal Binary', opts.universal)
- autowaf.display_msg(conf, 'VST Support', opts.vst)
- if opts.vst:
- conf.define('VST_SUPPORT', 1)
- conf.env.append_value('CPPPATH', Options.options.wine_include)
- autowaf.check_header(conf, 'windows.h', mandatory = True)
- if bool(conf.env['JACK_SESSION']):
- conf.define ('HAVE_JACK_SESSION', 1)
- autowaf.display_msg(conf, 'Wiimote Support', opts.wiimote)
- if opts.wiimote:
- conf.define('WIIMOTE',1)
- conf.define('WINDOWS_KEY', opts.windows_key)
- autowaf.display_msg(conf, 'Windows Key', opts.windows_key)
- conf.env['PROGRAM_NAME'] = opts.program_name
- autowaf.display_msg(conf, 'Program Name', opts.program_name)
- if opts.rt_alloc_debug:
- conf.define('DEBUG_RT_ALLOC', 1)
-
- set_compiler_flags (conf, Options.options)
-
- autowaf.display_msg(conf, 'C Compiler flags', conf.env['CCFLAGS'])
- autowaf.display_msg(conf, 'C++ Compiler flags', conf.env['CXXFLAGS'])
- print('')
-
- # and dump the same stuff to a file for use in the build
-
- config_text = open ('libs/ardour/config_text.cc',"w")
- config_text.write ('#include "ardour/ardour.h"\n\nnamespace ARDOUR {\nconst char* const ardour_config_info = "\\n\\\n')
- config_text.write ("Install prefix: "); config_text.write (str (conf.env['PREFIX'])); config_text.write ("\\n\\\n")
- config_text.write ("Debuggable build: "); config_text.write (str (str(conf.env['DEBUG']))); config_text.write ("\\n\\\n")
- config_text.write ("Strict compiler flags: "); config_text.write (str (str(conf.env['STRICT']))); config_text.write ("\\n\\\n")
- config_text.write ("Build documentation: "); config_text.write (str (str(conf.env['DOCS']))); config_text.write ("\\n\\\n")
- config_text.write ('Build target: '); config_text.write (str (conf.env['build_target'])); config_text.write ("\\n\\\n")
- config_text.write ('Architecture flags: '); config_text.write (str (opts.arch)); config_text.write ("\\n\\\n")
- config_text.write ('Aubio: '); config_text.write (str (bool(conf.env['HAVE_AUBIO']))); config_text.write ("\\n\\\n")
- config_text.write ('FPU optimization: '); config_text.write (str (opts.fpu_optimization)); config_text.write ("\\n\\\n")
- config_text.write ('Freedesktop files: '); config_text.write (str (opts.freedesktop)); config_text.write ("\\n\\\n")
- config_text.write ('Freesound: '); config_text.write (str (opts.freesound)); config_text.write ("\\n\\\n")
- config_text.write ('LV2 support: '); config_text.write (str (bool(conf.env['HAVE_SLV2']))); config_text.write ("\\n\\\n")
- config_text.write ('Rubberband: '); config_text.write (str (bool(conf.env['HAVE_RUBBERBAND']))); config_text.write ("\\n\\\n")
- config_text.write ('Samplerate: '); config_text.write (str (bool(conf.env['HAVE_SAMPLERATE']))); config_text.write ("\\n\\\n")
- config_text.write ('Soundtouch: '); config_text.write (str (bool(conf.env['HAVE_SOUNDTOUCH']))); config_text.write ("\\n\\\n")
- config_text.write ('Translation: '); config_text.write (str (opts.nls)); config_text.write ("\\n\\\n")
- config_text.write ('Tranzport: '); config_text.write (str (opts.tranzport)); config_text.write ("\\n\\\n")
- config_text.write ('Universal binary: '); config_text.write (str (opts.universal)); config_text.write ("\\n\\\n")
- config_text.write ('VST support: '); config_text.write (str (opts.vst)); config_text.write ("\\n\\\n")
- config_text.write ('Wiimote support: '); config_text.write (str (opts.wiimote)); config_text.write ("\\n\\\n")
- config_text.write ('Windows key: '); config_text.write (str (opts.windows_key)); config_text.write ("\\n\\\n")
- config_text.write ('C compiler flags: '); config_text.write (str (conf.env['CCFLAGS'])); config_text.write ("\\n\\\n")
- config_text.write ('C++ compiler flags: '); config_text.write (str (conf.env['CXXFLAGS'])); config_text.write ("\\n\\\n")
- config_text.write ('Phone home: '); config_text.write (str (bool(conf.env['PHONE_HOME']))); config_text.write ("\\n\\\n")
- config_text.write ('JACK session support: '); config_text.write (str (bool(conf.env['JACK_SESSION']))); config_text.write ("\\n\\\n")
- config_text.write ('";}\n')
- config_text.close ()
+ autowaf.display_msg(conf, 'Build Target', conf.env['build_target'])
+ autowaf.display_msg(conf, 'Architecture flags', opts.arch)
+ autowaf.display_msg(conf, 'Aubio', bool(conf.env['HAVE_AUBIO']))
+ autowaf.display_msg(conf, 'CoreAudio', bool(conf.env['HAVE_COREAUDIO']))
+ autowaf.display_msg(conf, 'FLAC', bool(conf.env['HAVE_FLAC']))
+ autowaf.display_msg(conf, 'Phone Home', opts.phone_home)
+ if opts.phone_home:
+ conf.env['PHONE_HOME'] = opts.phone_home
+ autowaf.display_msg(conf, 'FPU Optimization', opts.fpu_optimization)
+ if opts.fpu_optimization:
+ conf.define('FPU_OPTIMIZATION', 1)
+ autowaf.display_msg(conf, 'Freedesktop Files', opts.freedesktop)
+ autowaf.display_msg(conf, 'Freesound', opts.freesound)
+ if opts.freesound:
+ conf.define('FREESOUND',1)
+ autowaf.display_msg(conf, 'LV2 Support', bool(conf.env['HAVE_SLV2']))
+ autowaf.display_msg(conf, 'OGG', bool(conf.env['HAVE_OGG']))
+ autowaf.display_msg(conf, 'Rubberband', bool(conf.env['HAVE_RUBBERBAND']))
+ autowaf.display_msg(conf, 'Samplerate', bool(conf.env['HAVE_SAMPLERATE']))
+ autowaf.display_msg(conf, 'Soundtouch', bool(conf.env['HAVE_SOUNDTOUCH']))
+ autowaf.display_msg(conf, 'Translation', opts.nls)
+ if opts.nls:
+ conf.define ('ENABLE_NLS', 1)
+ autowaf.display_msg(conf, 'Tranzport', opts.tranzport)
+ if opts.build_tests:
+ conf.env['BUILD_TESTS'] = opts.build_tests
+ autowaf.display_msg(conf, 'Unit Tests', bool(conf.env['BUILD_TESTS']) and bool (conf.env['HAVE_CPPUNIT']))
+ if opts.tranzport:
+ conf.define('TRANZPORT', 1)
+ autowaf.display_msg(conf, 'Universal Binary', opts.universal)
+ autowaf.display_msg(conf, 'VST Support', opts.vst)
+ if opts.vst:
+ conf.define('VST_SUPPORT', 1)
+ conf.env.append_value('CPPPATH', Options.options.wine_include)
+ autowaf.check_header(conf, 'windows.h', mandatory = True)
+ if bool(conf.env['JACK_SESSION']):
+ conf.define ('HAVE_JACK_SESSION', 1)
+ autowaf.display_msg(conf, 'Wiimote Support', opts.wiimote)
+ if opts.wiimote:
+ conf.define('WIIMOTE',1)
+ conf.define('WINDOWS_KEY', opts.windows_key)
+ autowaf.display_msg(conf, 'Windows Key', opts.windows_key)
+ conf.env['PROGRAM_NAME'] = opts.program_name
+ autowaf.display_msg(conf, 'Program Name', opts.program_name)
+ if opts.rt_alloc_debug:
+ conf.define('DEBUG_RT_ALLOC', 1)
+
+ set_compiler_flags (conf, Options.options)
+
+ autowaf.display_msg(conf, 'C Compiler flags', conf.env['CCFLAGS'])
+ autowaf.display_msg(conf, 'C++ Compiler flags', conf.env['CXXFLAGS'])
+ print('')
+
+ # and dump the same stuff to a file for use in the build
+
+ config_text = open ('libs/ardour/config_text.cc',"w")
+ config_text.write ('#include "ardour/ardour.h"\n\nnamespace ARDOUR {\nconst char* const ardour_config_info = "\\n\\\n')
+ config_text.write ("Install prefix: "); config_text.write (str (conf.env['PREFIX'])); config_text.write ("\\n\\\n")
+ config_text.write ("Debuggable build: "); config_text.write (str (str(conf.env['DEBUG']))); config_text.write ("\\n\\\n")
+ config_text.write ("Strict compiler flags: "); config_text.write (str (str(conf.env['STRICT']))); config_text.write ("\\n\\\n")
+ config_text.write ("Build documentation: "); config_text.write (str (str(conf.env['DOCS']))); config_text.write ("\\n\\\n")
+ config_text.write ('Build target: '); config_text.write (str (conf.env['build_target'])); config_text.write ("\\n\\\n")
+ config_text.write ('Architecture flags: '); config_text.write (str (opts.arch)); config_text.write ("\\n\\\n")
+ config_text.write ('Aubio: '); config_text.write (str (bool(conf.env['HAVE_AUBIO']))); config_text.write ("\\n\\\n")
+ config_text.write ('FPU optimization: '); config_text.write (str (opts.fpu_optimization)); config_text.write ("\\n\\\n")
+ config_text.write ('Freedesktop files: '); config_text.write (str (opts.freedesktop)); config_text.write ("\\n\\\n")
+ config_text.write ('Freesound: '); config_text.write (str (opts.freesound)); config_text.write ("\\n\\\n")
+ config_text.write ('LV2 support: '); config_text.write (str (bool(conf.env['HAVE_SLV2']))); config_text.write ("\\n\\\n")
+ config_text.write ('Rubberband: '); config_text.write (str (bool(conf.env['HAVE_RUBBERBAND']))); config_text.write ("\\n\\\n")
+ config_text.write ('Samplerate: '); config_text.write (str (bool(conf.env['HAVE_SAMPLERATE']))); config_text.write ("\\n\\\n")
+ config_text.write ('Soundtouch: '); config_text.write (str (bool(conf.env['HAVE_SOUNDTOUCH']))); config_text.write ("\\n\\\n")
+ config_text.write ('Translation: '); config_text.write (str (opts.nls)); config_text.write ("\\n\\\n")
+ config_text.write ('Tranzport: '); config_text.write (str (opts.tranzport)); config_text.write ("\\n\\\n")
+ config_text.write ('Universal binary: '); config_text.write (str (opts.universal)); config_text.write ("\\n\\\n")
+ config_text.write ('VST support: '); config_text.write (str (opts.vst)); config_text.write ("\\n\\\n")
+ config_text.write ('Wiimote support: '); config_text.write (str (opts.wiimote)); config_text.write ("\\n\\\n")
+ config_text.write ('Windows key: '); config_text.write (str (opts.windows_key)); config_text.write ("\\n\\\n")
+ config_text.write ('C compiler flags: '); config_text.write (str (conf.env['CCFLAGS'])); config_text.write ("\\n\\\n")
+ config_text.write ('C++ compiler flags: '); config_text.write (str (conf.env['CXXFLAGS'])); config_text.write ("\\n\\\n")
+ config_text.write ('Phone home: '); config_text.write (str (bool(conf.env['PHONE_HOME']))); config_text.write ("\\n\\\n")
+ config_text.write ('JACK session support: '); config_text.write (str (bool(conf.env['JACK_SESSION']))); config_text.write ("\\n\\\n")
+ config_text.write ('";}\n')
+ config_text.close ()
def build(bld):
# add directories that contain only headers, to workaround an issue with waf
@@ -605,35 +605,35 @@ def build(bld):
bld.path.find_dir ('libs/taglib/taglib')
bld.path.find_dir ('libs/pbd/pbd')
- autowaf.set_recursive()
- if sys.platform == 'darwin':
- bld.add_subdirs('libs/appleutility')
- for i in children:
- bld.add_subdirs(i)
-
- # ideally, we'd like to use the OS-provided MIDI API
- # for default ports. that doesn't work on at least
- # Fedora (Nov 9th, 2009) so use JACK MIDI on linux.
-
- if sys.platform == 'darwin':
- rc_subst_dict = {
- 'MIDITAG' : 'control',
- 'MIDITYPE' : 'coremidi',
- 'JACK_INPUT' : 'auditioner'
- }
- else:
- rc_subst_dict = {
- 'MIDITAG' : 'control',
- 'MIDITYPE' : 'jack',
- 'JACK_INPUT' : 'auditioner'
- }
-
- obj = bld.new_task_gen('subst')
- obj.source = 'ardour.rc.in'
- obj.target = 'ardour_system.rc'
- obj.dict = rc_subst_dict
- obj.install_path = '${CONFIGDIR}/ardour3'
+ autowaf.set_recursive()
+ if sys.platform == 'darwin':
+ bld.add_subdirs('libs/appleutility')
+ for i in children:
+ bld.add_subdirs(i)
+
+ # ideally, we'd like to use the OS-provided MIDI API
+ # for default ports. that doesn't work on at least
+ # Fedora (Nov 9th, 2009) so use JACK MIDI on linux.
+
+ if sys.platform == 'darwin':
+ rc_subst_dict = {
+ 'MIDITAG' : 'control',
+ 'MIDITYPE' : 'coremidi',
+ 'JACK_INPUT' : 'auditioner'
+ }
+ else:
+ rc_subst_dict = {
+ 'MIDITAG' : 'control',
+ 'MIDITYPE' : 'jack',
+ 'JACK_INPUT' : 'auditioner'
+ }
+
+ obj = bld.new_task_gen('subst')
+ obj.source = 'ardour.rc.in'
+ obj.target = 'ardour_system.rc'
+ obj.dict = rc_subst_dict
+ obj.install_path = '${CONFIGDIR}/ardour3'
def i18n(bld):
- bld.recurse (i18n_children)
+ bld.recurse (i18n_children)