BoolOption('VST', 'Compile with support for VST', 0),
BoolOption('VERSIONED', 'Add version information to ardour/gtk executable name inside the build directory', 0),
EnumOption('DIST_TARGET', 'Build target for cross compiling packagers', 'auto', allowed_values=('auto', 'i386', 'i686', 'x86_64', 'powerpc', 'tiger', 'panther', 'none' ), ignorecase=2),
- BoolOption('FPU_OPTIMIZATION', 'Build runtime checked assembler code', 1)
+ BoolOption('FPU_OPTIMIZATION', 'Build runtime checked assembler code', 1),
+ BoolOption('FFT_ANALYSIS', 'Include FFT analysis window', 0)
)
#----------------------------------------------------------------------
libraries['samplerate'] = LibraryInfo()
libraries['samplerate'].ParseConfig('pkg-config --cflags --libs samplerate')
-libraries['fftw3f'] = LibraryInfo()
-libraries['fftw3f'].ParseConfig('pkg-config --cflags --libs fftw3f')
+if env['FFT_ANALYSIS']:
+ libraries['fftw3f'] = LibraryInfo()
+ libraries['fftw3f'].ParseConfig('pkg-config --cflags --libs fftw3f')
libraries['jack'] = LibraryInfo()
libraries['jack'].ParseConfig('pkg-config --cflags --libs jack')
libraries['xml'],
libraries['soundtouch'],
libraries['samplerate'],
- libraries['fftw3f'],
libraries['jack'],
libraries['glade2'],
libraries['libglademm']
])
+if gtkardour['FFT_ANALYSIS']:
+ gtkardour.Merge ([libraries['fftw3f']])
+
if gtkardour['VST']:
gtkardour.Merge ([ libraries['fst']])
version.cc
visual_time_axis.cc
waveview.cc
+""")
+
+fft_analysis_files=Split("""
analysis_window.cc
fft_graph.cc
fft_result.cc
if env['VST']:
extra_sources += vst_files
+if env['FFT_ANALYSIS']:
+ extra_sources += fft_analysis_files
+
+
intl_files += extra_sources
gtkardour.Append(CCFLAGS="-D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE")
#include "canvas_impl.h"
#include "actions.h"
#include "gui_thread.h"
+
+#ifdef FFT_ANALYSIS
#include "analysis_window.h"
+#endif
#include "i18n.h"
canvas_height = 0;
autoscroll_timeout_tag = -1;
interthread_progress_window = 0;
+
+#ifdef FFT_ANALYSIS
analysis_window = 0;
+#endif
+
current_interthread_info = 0;
_show_measures = true;
_show_waveforms = true;
_playlist_selector->set_session (session);
nudge_clock.set_session (session);
+#ifdef FFT_ANALYSIS
if (analysis_window != 0)
analysis_window->set_session (session);
+#endif
switch (session->get_edit_mode()) {
case Splice:
return &track_crossfade_context_menu;
}
+#ifdef FFT_ANALYSIS
void
Editor::analyze_region_selection()
{
analysis_window->present();
}
-
+#endif /* FFT_ANALYSIS */
items.push_back (MenuElem (_("Audition"), mem_fun(*this, &Editor::audition_selected_region)));
items.push_back (MenuElem (_("Export"), mem_fun(*this, &Editor::export_region)));
items.push_back (MenuElem (_("Bounce"), mem_fun(*this, &Editor::bounce_region_selection)));
+
+#ifdef FFT_ANALYSIS
items.push_back (MenuElem (_("Analyze region"), mem_fun(*this, &Editor::analyze_region_selection)));
+#endif
+
items.push_back (SeparatorElem());
/* XXX hopefully this nonsense will go away with SigC++ 2.X, where the compiler
items.push_back (MenuElem (_("Play range"), mem_fun(*this, &Editor::play_selection)));
items.push_back (MenuElem (_("Loop range"), mem_fun(*this, &Editor::set_route_loop_selection)));
+
+#ifdef FFT_ANALYSIS
items.push_back (SeparatorElem());
items.push_back (MenuElem (_("Analyze range"), mem_fun(*this, &Editor::analyze_range_selection)));
+#endif
+
items.push_back (SeparatorElem());
items.push_back (MenuElem (_("Separate range to track"), mem_fun(*this, &Editor::separate_region_from_selection)));
items.push_back (MenuElem (_("Separate range to region list"), mem_fun(*this, &Editor::new_region_from_selection)));
class MixerStrip;
class StreamView;
class ControlPoint;
+#ifdef FFT_ANALYSIS
class AnalysisWindow;
+#endif
/* <CMT Additions> */
class ImageFrameView;
void set_show_measures (bool yn);
bool show_measures () const { return _show_measures; }
+#ifdef FFT_ANALYSIS
/* analysis window */
void analyze_region_selection();
void analyze_range_selection();
+#endif
/* export */
void interthread_cancel_clicked ();
void build_interthread_progress_window ();
ARDOUR::InterThreadInfo* current_interthread_info;
+
+#ifdef FFT_ANALYSIS
AnalysisWindow* analysis_window;
+#endif
/* import specific info */