mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-12 01:26:31 +01:00
make i18n build work ; add mackie dir back to build ; token work on amp for MIDI; don't try to subgroup route groups with MIDI (for now)
git-svn-id: svn://localhost/ardour2/branches/3.0@5412 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
272c1a40db
commit
3b7230552d
14 changed files with 488 additions and 354 deletions
|
|
@ -2,6 +2,7 @@
|
|||
import autowaf
|
||||
import os
|
||||
import glob
|
||||
from w18n import build_i18n
|
||||
|
||||
# Version of this package (even if built as a child)
|
||||
MAJOR = '1'
|
||||
|
|
@ -19,8 +20,181 @@ blddir = 'build'
|
|||
|
||||
path_prefix = 'gtk2_ardour/'
|
||||
|
||||
gtk2_ardour_sources = [
|
||||
'about.cc',
|
||||
'actions.cc',
|
||||
'add_midi_cc_track_dialog.cc',
|
||||
'add_route_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-note-event.cc',
|
||||
'canvas-note.cc',
|
||||
'canvas-program-change.cc',
|
||||
'canvas-simpleline.c',
|
||||
'canvas-simplerect.c',
|
||||
'canvas-sysex.cc',
|
||||
'canvas-waveview.c',
|
||||
'control_point.cc',
|
||||
'control_point_dialog.cc',
|
||||
'crossfade_edit.cc',
|
||||
'crossfade_view.cc',
|
||||
'curvetest.cc',
|
||||
'diamond.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_hscroller.cc',
|
||||
'editor_keyboard.cc',
|
||||
'editor_keys.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_selection_list.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',
|
||||
'io_selector.cc',
|
||||
'keyboard.cc',
|
||||
'keyeditor.cc',
|
||||
'latency_gui.cc',
|
||||
'level_meter.cc',
|
||||
'lineset.cc',
|
||||
'location_ui.cc',
|
||||
'main.cc',
|
||||
'marker.cc',
|
||||
'midi_channel_selector.cc',
|
||||
'midi_port_dialog.cc',
|
||||
'midi_region_view.cc',
|
||||
'midi_scroomer.cc',
|
||||
'midi_streamview.cc',
|
||||
'midi_time_axis.cc',
|
||||
'mixer_group_tabs.cc',
|
||||
'mixer_strip.cc',
|
||||
'mixer_ui.cc',
|
||||
'nag.cc',
|
||||
'option_editor.cc',
|
||||
'opts.cc',
|
||||
'panner.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_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',
|
||||
'prompter.cc',
|
||||
'public_editor.cc',
|
||||
'rc_option_editor.cc',
|
||||
'region_gain_line.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',
|
||||
'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',
|
||||
'startup.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',
|
||||
'ui_config.cc',
|
||||
'utils.cc',
|
||||
'version.cc',
|
||||
'waveview.cc',
|
||||
]
|
||||
|
||||
def set_options(opt):
|
||||
autowaf.set_options(opt)
|
||||
opt.add_option('--potupdate', action='store_true', dest='potupdate',
|
||||
help='Rebuild pot file for translators')
|
||||
|
||||
def configure(conf):
|
||||
autowaf.build_version_files(path_prefix+'version.h', path_prefix+'version.cc',
|
||||
|
|
@ -51,177 +225,8 @@ def configure(conf):
|
|||
def build(bld):
|
||||
# Program
|
||||
obj = bld.new_task_gen(features = 'cxx cc cprogram')
|
||||
obj.source = '''
|
||||
about.cc
|
||||
actions.cc
|
||||
add_midi_cc_track_dialog.cc
|
||||
add_route_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-note-event.cc
|
||||
canvas-note.cc
|
||||
canvas-program-change.cc
|
||||
canvas-simpleline.c
|
||||
canvas-simplerect.c
|
||||
canvas-sysex.cc
|
||||
canvas-waveview.c
|
||||
control_point.cc
|
||||
control_point_dialog.cc
|
||||
crossfade_edit.cc
|
||||
crossfade_view.cc
|
||||
curvetest.cc
|
||||
diamond.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_hscroller.cc
|
||||
editor_keyboard.cc
|
||||
editor_keys.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_selection_list.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
|
||||
io_selector.cc
|
||||
keyboard.cc
|
||||
keyeditor.cc
|
||||
latency_gui.cc
|
||||
level_meter.cc
|
||||
lineset.cc
|
||||
location_ui.cc
|
||||
main.cc
|
||||
marker.cc
|
||||
midi_channel_selector.cc
|
||||
midi_port_dialog.cc
|
||||
midi_region_view.cc
|
||||
midi_scroomer.cc
|
||||
midi_streamview.cc
|
||||
midi_time_axis.cc
|
||||
mixer_group_tabs.cc
|
||||
mixer_strip.cc
|
||||
mixer_ui.cc
|
||||
nag.cc
|
||||
option_editor.cc
|
||||
opts.cc
|
||||
panner.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_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
|
||||
prompter.cc
|
||||
public_editor.cc
|
||||
rc_option_editor.cc
|
||||
region_gain_line.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
|
||||
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
|
||||
startup.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
|
||||
ui_config.cc
|
||||
utils.cc
|
||||
version.cc
|
||||
waveview.cc
|
||||
'''
|
||||
obj.includes = ['.']
|
||||
obj.source = gtk2_ardour_sources
|
||||
obj.name = 'gtk2_ardour'
|
||||
obj.target = 'ardour-3.0'
|
||||
obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
|
||||
|
|
@ -238,29 +243,29 @@ def build(bld):
|
|||
obj.cxxflags += ['-DLOCALEDIR="' + os.path.join(
|
||||
os.path.normpath(bld.env['DATADIRNAME']), 'locale') + '"']
|
||||
if bld.env['HAVE_SLV2']:
|
||||
obj.source += ' lv2_plugin_ui.cc '
|
||||
obj.source += [ 'lv2_plugin_ui.cc' ]
|
||||
obj.uselib += ' SLV2 '
|
||||
|
||||
if bld.env['FREESOUND']:
|
||||
obj.source += 'sfdb_freesound_mootcher.cc '
|
||||
obj.source += [ 'sfdb_freesound_mootcher.cc' ]
|
||||
|
||||
if bld.env['VST']:
|
||||
obj.source += ' vst_pluginui.cc '
|
||||
obj.source += [ 'vst_pluginui.cc' ]
|
||||
obj.cxxflags += [ '-DVST_SUPPORT' ]
|
||||
|
||||
if bld.env['GTKOSX']:
|
||||
obj.features += ' objc '
|
||||
obj.source += ' cocoacarbon.mm '
|
||||
obj.source += [ 'cocoacarbon.mm' ]
|
||||
obj.cxxflags += [ '-DTOP_MENUBAR', '-DGTKOSX' ]
|
||||
obj.linkflags += [ '-framework', 'AppKit', '-framework', 'CoreAudioKit' ]
|
||||
|
||||
if bld.env['AUDIOUNITS']:
|
||||
obj.source += ' au_pluginui.mm '
|
||||
obj.source += [ 'au_pluginui.mm' ]
|
||||
obj.cxxflags += [ '-DHAVE_AUDIOUNITS' ]
|
||||
obj.uselib_local += ' libappleutility '
|
||||
|
||||
else:
|
||||
obj.source += ' x11.cc '
|
||||
obj.source += [ 'x11.cc' ]
|
||||
|
||||
# Wrappers
|
||||
|
||||
|
|
@ -401,6 +406,12 @@ def build(bld):
|
|||
bld.install_files('${DATADIR}/ardour3/pixmaps', 'pixmaps/*.xpm')
|
||||
bld.install_files('${DATADIR}/ardour3', 'splash.png')
|
||||
|
||||
def shutdown():
|
||||
autowaf.shutdown()
|
||||
# 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):
|
||||
build_i18n (bld, 'gtk2_ardour', APPNAME, gtk2_ardour_sources)
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#include "ardour/buffer_set.h"
|
||||
#include "ardour/configuration.h"
|
||||
#include "ardour/io.h"
|
||||
#include "ardour/midi_buffer.h"
|
||||
#include "ardour/mute_master.h"
|
||||
#include "ardour/session.h"
|
||||
|
||||
|
|
@ -193,6 +194,23 @@ Amp::apply_gain (BufferSet& bufs, nframes_t nframes, gain_t initial, gain_t targ
|
|||
delta = target - initial;
|
||||
}
|
||||
|
||||
/* MIDI Gain */
|
||||
|
||||
for (BufferSet::midi_iterator i = bufs.midi_begin(); i != bufs.midi_end(); ++i) {
|
||||
#if 0
|
||||
MidiBuffer& mb (*i);
|
||||
|
||||
for (MidiBuffer::iterator m = mb.begin(); m != mb.end(); ++m) {
|
||||
Evoral::MIDIEvent<MidiBuffer::TimeType> ev (*m);
|
||||
if (ev.buffer()[0] == MIDI_CMD_NOTE_ON) {
|
||||
ev.buffer()[2] = (uint8_t) rint (ev.buffer()[2] * 1.0);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Audio Gain */
|
||||
|
||||
for (BufferSet::audio_iterator i = bufs.audio_begin(); i != bufs.audio_end(); ++i) {
|
||||
Sample* const buffer = i->data();
|
||||
|
||||
|
|
|
|||
|
|
@ -126,6 +126,25 @@ public:
|
|||
audio_iterator audio_begin() { return audio_iterator(*this, 0); }
|
||||
audio_iterator audio_end() { return audio_iterator(*this, _count.n_audio()); }
|
||||
|
||||
class midi_iterator {
|
||||
public:
|
||||
MidiBuffer& operator*() { return _set.get_midi(_index); }
|
||||
MidiBuffer* operator->() { return &_set.get_midi(_index); }
|
||||
midi_iterator& operator++() { ++_index; return *this; } // yes, prefix only
|
||||
bool operator==(const midi_iterator& other) { return (_index == other._index); }
|
||||
bool operator!=(const midi_iterator& other) { return (_index != other._index); }
|
||||
|
||||
private:
|
||||
friend class BufferSet;
|
||||
|
||||
midi_iterator(BufferSet& list, size_t index) : _set(list), _index(index) {}
|
||||
|
||||
BufferSet& _set;
|
||||
size_t _index;
|
||||
};
|
||||
|
||||
midi_iterator midi_begin() { return midi_iterator(*this, 0); }
|
||||
midi_iterator midi_end() { return midi_iterator(*this, _count.n_midi()); }
|
||||
|
||||
class iterator {
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -64,6 +64,15 @@ public:
|
|||
*((TimeType*)(buffer._data + offset)),
|
||||
event_size, ev_start);
|
||||
}
|
||||
inline EventType operator*() {
|
||||
uint8_t* ev_start = buffer._data + offset + sizeof(TimeType);
|
||||
int event_size = Evoral::midi_event_size(ev_start);
|
||||
assert(event_size >= 0);
|
||||
return EventType(EventTypeMap::instance().midi_event_type(*ev_start),
|
||||
*((TimeType*)(buffer._data + offset)),
|
||||
event_size, ev_start);
|
||||
}
|
||||
|
||||
inline iterator_base<BufferType, EventType>& operator++() {
|
||||
uint8_t* ev_start = buffer._data + offset + sizeof(TimeType);
|
||||
int event_size = Evoral::midi_event_size(ev_start);
|
||||
|
|
|
|||
|
|
@ -328,8 +328,6 @@ Delivery::run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nfra
|
|||
Amp::apply_simple_gain (bufs, nframes, tgain);
|
||||
}
|
||||
|
||||
// Attach output buffers to port buffers
|
||||
|
||||
if (_panner && _panner->npanners() && !_panner->bypassed()) {
|
||||
|
||||
// Use the panner to distribute audio to output port buffers
|
||||
|
|
|
|||
|
|
@ -117,6 +117,8 @@ InternalSend::run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame,
|
|||
|
||||
_amp->run (sendbufs, start_frame, end_frame, nframes);
|
||||
|
||||
/* XXX NEED TO PAN */
|
||||
|
||||
/* consider metering */
|
||||
|
||||
if (_metering) {
|
||||
|
|
|
|||
|
|
@ -760,10 +760,6 @@ Route::add_processor_from_xml (const XMLNode& node, ProcessorList::iterator iter
|
|||
return true;
|
||||
}
|
||||
|
||||
} else if (prop->value() == "listen" || prop->value() == "deliver") {
|
||||
|
||||
/* XXX need to generalize */
|
||||
|
||||
} else if (prop->value() == "intsend") {
|
||||
|
||||
processor.reset (new InternalSend (_session, _mute_master, node));
|
||||
|
|
@ -795,6 +791,7 @@ Route::add_processor_from_xml (const XMLNode& node, ProcessorList::iterator iter
|
|||
|
||||
} else {
|
||||
error << string_compose(_("unknown Processor type \"%1\"; ignored"), prop->value()) << endmsg;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (iter == _processors.end() && processor->visible() && !_processors.empty()) {
|
||||
|
|
@ -2649,6 +2646,8 @@ Route::meter ()
|
|||
{
|
||||
Glib::RWLock::ReaderLock rm (_processor_lock, Glib::TRY_LOCK);
|
||||
|
||||
assert (_meter);
|
||||
|
||||
_meter->meter ();
|
||||
|
||||
for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) {
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@
|
|||
#include "ardour/configuration.h"
|
||||
#include "ardour/session.h"
|
||||
|
||||
#include "i18n.h"
|
||||
|
||||
using namespace ARDOUR;
|
||||
using namespace sigc;
|
||||
using namespace std;
|
||||
|
|
@ -224,6 +226,15 @@ RouteGroup::make_subgroup ()
|
|||
RouteList rl;
|
||||
uint32_t nin = 0;
|
||||
|
||||
/* since we don't do MIDI Busses yet, check quickly ... */
|
||||
|
||||
for (list<Route*>::iterator i = routes.begin(); i != routes.end(); ++i) {
|
||||
if ((*i)->output()->n_ports().n_midi() != 0) {
|
||||
PBD::info << _("You cannot subgroup MIDI tracks at this time") << endmsg;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
for (list<Route*>::iterator i = routes.begin(); i != routes.end(); ++i) {
|
||||
nin = max (nin, (*i)->output()->n_ports().n_audio());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -190,7 +190,13 @@ Send::configure_io (ChanCount in, ChanCount out)
|
|||
return false;
|
||||
}
|
||||
|
||||
return Processor::configure_io (in, out);
|
||||
if (!Processor::configure_io (in, out)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
reset_panner ();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Set up the XML description of a send so that its name is unique.
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import autowaf
|
|||
import os
|
||||
import glob
|
||||
import Options
|
||||
from w18n import build_i18n
|
||||
|
||||
# Version of this package (even if built as a child)
|
||||
MAJOR = '3'
|
||||
|
|
@ -26,6 +27,160 @@ 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_set.cc',
|
||||
'bundle.cc',
|
||||
'chan_count.cc',
|
||||
'chan_mapping.cc',
|
||||
'configuration.cc',
|
||||
'control_protocol_manager.cc',
|
||||
'control_protocol_search_path.cc',
|
||||
'crossfade.cc',
|
||||
'cycle_timer.cc',
|
||||
'default_click.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_file_io.cc',
|
||||
'export_filename.cc',
|
||||
'export_format_base.cc',
|
||||
'export_format_manager.cc',
|
||||
'export_format_specification.cc',
|
||||
'export_formats.cc',
|
||||
'export_handler.cc',
|
||||
'export_preset.cc',
|
||||
'export_processor.cc',
|
||||
'export_profile_manager.cc',
|
||||
'export_status.cc',
|
||||
'export_timespan.cc',
|
||||
'export_utilities.cc',
|
||||
'file_source.cc',
|
||||
'filename_extensions.cc',
|
||||
'filesystem_paths.cc',
|
||||
'filter.cc',
|
||||
'find_session.cc',
|
||||
'gain.cc',
|
||||
'gdither.cc',
|
||||
'globals.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_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',
|
||||
'mix.cc',
|
||||
'mtc_slave.cc',
|
||||
'mute_master.cc',
|
||||
'named_selection.cc',
|
||||
'onset_detector.cc',
|
||||
'panner.cc',
|
||||
'pcm_utils.cc',
|
||||
'playlist.cc',
|
||||
'playlist_factory.cc',
|
||||
'plugin.cc',
|
||||
'plugin_insert.cc',
|
||||
'plugin_manager.cc',
|
||||
'port.cc',
|
||||
'port_insert.cc',
|
||||
'port_set.cc',
|
||||
'processor.cc',
|
||||
'quantize.cc',
|
||||
'rc_configuration.cc',
|
||||
'recent_sessions.cc',
|
||||
'region.cc',
|
||||
'region_factory.cc',
|
||||
'resampled_source.cc',
|
||||
'return.cc',
|
||||
'reverse.cc',
|
||||
'route.cc',
|
||||
'route_group.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_metadata.cc',
|
||||
'session_midi.cc',
|
||||
'session_process.cc',
|
||||
'session_state.cc',
|
||||
'session_state_utils.cc',
|
||||
'session_time.cc',
|
||||
'session_transport.cc',
|
||||
'session_utils.cc',
|
||||
'smf_source.cc',
|
||||
'sndfile_helpers.cc',
|
||||
'sndfileimportable.cc',
|
||||
'sndfilesource.cc',
|
||||
'source.cc',
|
||||
'source_factory.cc',
|
||||
'strip_silence.cc',
|
||||
'svn_revision.cc',
|
||||
'tape_file_matcher.cc',
|
||||
'template_utils.cc',
|
||||
'tempo.cc',
|
||||
'tempo_map_importer.cc',
|
||||
'ticker.cc',
|
||||
'track.cc',
|
||||
'transient_detector.cc',
|
||||
'user_bundle.cc',
|
||||
'utils.cc',
|
||||
'version.cc'
|
||||
]
|
||||
|
||||
def set_options(opt):
|
||||
autowaf.set_options(opt)
|
||||
|
||||
|
|
@ -76,160 +231,8 @@ def configure(conf):
|
|||
|
||||
def build(bld):
|
||||
# Library
|
||||
obj = bld.new_task_gen('cxx', 'shlib')
|
||||
obj.source = '''
|
||||
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_set.cc
|
||||
bundle.cc
|
||||
chan_count.cc
|
||||
chan_mapping.cc
|
||||
configuration.cc
|
||||
control_protocol_manager.cc
|
||||
control_protocol_search_path.cc
|
||||
crossfade.cc
|
||||
cycle_timer.cc
|
||||
default_click.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_file_io.cc
|
||||
export_filename.cc
|
||||
export_format_base.cc
|
||||
export_format_manager.cc
|
||||
export_format_specification.cc
|
||||
export_formats.cc
|
||||
export_handler.cc
|
||||
export_preset.cc
|
||||
export_processor.cc
|
||||
export_profile_manager.cc
|
||||
export_status.cc
|
||||
export_timespan.cc
|
||||
export_utilities.cc
|
||||
file_source.cc
|
||||
filename_extensions.cc
|
||||
filesystem_paths.cc
|
||||
filter.cc
|
||||
find_session.cc
|
||||
gain.cc
|
||||
gdither.cc
|
||||
globals.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_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
|
||||
mix.cc
|
||||
mtc_slave.cc
|
||||
mute_master.cc
|
||||
named_selection.cc
|
||||
onset_detector.cc
|
||||
panner.cc
|
||||
pcm_utils.cc
|
||||
playlist.cc
|
||||
playlist_factory.cc
|
||||
plugin.cc
|
||||
plugin_insert.cc
|
||||
plugin_manager.cc
|
||||
port.cc
|
||||
port_insert.cc
|
||||
port_set.cc
|
||||
processor.cc
|
||||
quantize.cc
|
||||
rc_configuration.cc
|
||||
recent_sessions.cc
|
||||
region.cc
|
||||
region_factory.cc
|
||||
resampled_source.cc
|
||||
return.cc
|
||||
reverse.cc
|
||||
route.cc
|
||||
route_group.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_metadata.cc
|
||||
session_midi.cc
|
||||
session_process.cc
|
||||
session_state.cc
|
||||
session_state_utils.cc
|
||||
session_time.cc
|
||||
session_transport.cc
|
||||
session_utils.cc
|
||||
smf_source.cc
|
||||
sndfile_helpers.cc
|
||||
sndfileimportable.cc
|
||||
sndfilesource.cc
|
||||
source.cc
|
||||
source_factory.cc
|
||||
strip_silence.cc
|
||||
svn_revision.cc
|
||||
tape_file_matcher.cc
|
||||
template_utils.cc
|
||||
tempo.cc
|
||||
tempo_map_importer.cc
|
||||
ticker.cc
|
||||
track.cc
|
||||
transient_detector.cc
|
||||
user_bundle.cc
|
||||
utils.cc
|
||||
version.cc
|
||||
'''
|
||||
obj = bld.new_task_gen('cxx', 'shlib')
|
||||
obj.source = libardour_sources
|
||||
obj.export_incdirs = ['.']
|
||||
obj.includes = ['.', '../surfaces/control_protocol']
|
||||
obj.name = 'libardour'
|
||||
|
|
@ -249,28 +252,35 @@ def build(bld):
|
|||
#obj.source += ' st_stretch.cc st_pitch.cc '
|
||||
#obj.uselib += ' SOUNDTOUCH '
|
||||
if bld.env['HAVE_SLV2']:
|
||||
obj.source += ' lv2_plugin.cc lv2_event_buffer.cc uri_map.cc '
|
||||
obj.source += [ 'lv2_plugin.cc', 'lv2_event_buffer.cc', 'uri_map.cc' ]
|
||||
obj.uselib += ' SLV2 '
|
||||
|
||||
if bld.env['VST']:
|
||||
obj.source += ' vst_plugin.cc session_vst.cc '
|
||||
obj.source += [ 'vst_plugin.cc', 'session_vst.cc' ]
|
||||
|
||||
if bld.env['HAVE_COREAUDIO'] and bld.env['COREAUDIO']:
|
||||
obj.sources += ' coreaudio.cc caimportable.cc '
|
||||
obj.sources += [ 'coreaudio.cc', 'caimportable.cc' ]
|
||||
|
||||
if bld.env['HAVE_AUDIOUNITS'] and bld.env['AUDIOUNITS']:
|
||||
obj.sources += ' audio_unit.cc '
|
||||
obj.sources += [ 'audio_unit.cc' ]
|
||||
|
||||
if bld.env['IS_OSX']:
|
||||
# this avoids issues with circular dependencies between libardour and libardour_cp.
|
||||
obj.linkflags += '-undefined suppress -flat_namespace'
|
||||
|
||||
if bld.env['FPU_OPTIMIZATION']:
|
||||
obj.source += ' sse_functions_xmm.cc'
|
||||
obj.source += [ 'sse_functions_xmm.cc' ]
|
||||
if bld.env['build_target'] == 'i386' or bld.env['build_target'] == 'i686':
|
||||
obj.source += ' sse_functions.s'
|
||||
obj.source += [ 'sse_functions.s' ]
|
||||
elif bld.env['build_target'] == 'x86_64':
|
||||
obj.source += ' sse_functions_64bit.s'
|
||||
obj.source += [ '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)
|
||||
|
||||
if bld.env['HAVE_CPPUNIT']:
|
||||
# Unit tests
|
||||
|
|
@ -289,3 +299,5 @@ def build(bld):
|
|||
def shutdown():
|
||||
autowaf.shutdown()
|
||||
|
||||
def i18n(bld):
|
||||
build_i18n (bld, 'libs/ardour', APPNAME, libardour_sources)
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import os
|
|||
# major increment <=> incompatible changes
|
||||
# minor increment <=> compatible changes (additions)
|
||||
# micro increment <=> no interface changes
|
||||
LIBSURFACES_LIB_VERSION = '4.1.0'
|
||||
LIBARDOUR_MCP_LIB_VERSION = '4.1.0'
|
||||
|
||||
# Mandatory variables
|
||||
srcdir = '.'
|
||||
|
|
@ -43,10 +43,10 @@ def build(bld):
|
|||
obj.export_incdirs = ['./mackie']
|
||||
obj.cxxflags = '-DPACKAGE="ardour_mackie"'
|
||||
obj.includes = ['.', './mackie']
|
||||
obj.name = 'libmackie'
|
||||
obj.target = 'mackie'
|
||||
obj.uselib_local = 'libardour libsurfaces'
|
||||
obj.vnum = LIBSURFACES_LIB_VERSION
|
||||
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')
|
||||
|
||||
def shutdown():
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ def configure(conf):
|
|||
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']:
|
||||
|
|
|
|||
41
w18n.py
Normal file
41
w18n.py
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import autowaf
|
||||
import os
|
||||
import glob
|
||||
|
||||
def build_i18n(bld,dir,name,sources):
|
||||
pwd = bld.get_curdir()
|
||||
os.chdir(pwd)
|
||||
|
||||
pot_file = '%s.pot' % name
|
||||
|
||||
args = [ 'xgettext',
|
||||
'--keyword=_',
|
||||
'--keyword=N_',
|
||||
'--from-code=UTF-8',
|
||||
'-o', pot_file,
|
||||
'--copyright-holder="Paul Davis"' ]
|
||||
args += sources
|
||||
print 'Updating ', pot_file
|
||||
os.spawnvp (os.P_WAIT, 'xgettext', args)
|
||||
|
||||
po_files = glob.glob ('po/*.po')
|
||||
|
||||
for po_file in po_files:
|
||||
args = [ 'msgmerge',
|
||||
'--update',
|
||||
po_file,
|
||||
pot_file ]
|
||||
print 'Updating ', po_file
|
||||
os.spawnvp (os.P_WAIT, 'msgmerge', args)
|
||||
|
||||
for po_file in po_files:
|
||||
mo_file = po_file.replace ('.po', '.mo')
|
||||
args = [ 'msgfmt',
|
||||
'-c',
|
||||
'-o',
|
||||
mo_file,
|
||||
po_file ]
|
||||
print 'Generating ', po_file
|
||||
os.spawnvp (os.P_WAIT, 'msgfmt', args)
|
||||
11
wscript
11
wscript
|
|
@ -29,6 +29,11 @@ children = [
|
|||
]
|
||||
|
||||
|
||||
i18n_children = [
|
||||
'gtk2_ardour',
|
||||
'libs/ardour'
|
||||
]
|
||||
|
||||
# Version stuff
|
||||
|
||||
def fetch_svn_revision (path):
|
||||
|
|
@ -386,6 +391,8 @@ def configure(conf):
|
|||
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, 'System Libraries', opts.syslibs)
|
||||
autowaf.display_msg(conf, 'Tranzport', opts.tranzport)
|
||||
if opts.tranzport:
|
||||
|
|
@ -411,6 +418,6 @@ def build(bld):
|
|||
for i in children:
|
||||
bld.add_subdirs(i)
|
||||
|
||||
def shutdown():
|
||||
autowaf.shutdown()
|
||||
def i18n(bld):
|
||||
bld.recurse (i18n_children)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue