From 98d539440441d18d24d9bcd78d755c050865091c Mon Sep 17 00:00:00 2001 From: "Simon A. Eugster" Date: Thu, 19 Apr 2012 11:54:30 +0200 Subject: [PATCH] Added option to enable Audio Alignment in the config dialog. AA is disabled by default since it currently leads to crashes in some cases, due to unknown reasons, and marked as experimental. --- src/kdenlivesettings.kcfg | 5 + src/lib/audio/audioCorrelation.cpp | 4 + src/lib/audio/fftCorrelation.cpp | 6 +- src/lib/audio/fftCorrelation.h | 2 +- src/mainwindow.cpp | 6 +- src/widgets/configtimeline_ui.ui | 143 +++++++++++++++-------------- testingArea/audioOffset.cpp | 3 + 7 files changed, 93 insertions(+), 76 deletions(-) diff --git a/src/kdenlivesettings.kcfg b/src/kdenlivesettings.kcfg index c3ceaf16..2d6e67cd 100644 --- a/src/kdenlivesettings.kcfg +++ b/src/kdenlivesettings.kcfg @@ -155,6 +155,11 @@ true + + + false + + false diff --git a/src/lib/audio/audioCorrelation.cpp b/src/lib/audio/audioCorrelation.cpp index 1f9eef4b..34cb5bb3 100644 --- a/src/lib/audio/audioCorrelation.cpp +++ b/src/lib/audio/audioCorrelation.cpp @@ -27,6 +27,10 @@ AudioCorrelation::~AudioCorrelation() foreach (AudioEnvelope *envelope, m_children) { delete envelope; } + foreach (AudioCorrelationInfo *info, m_correlations) { + delete info; + } + std::cout << "Envelope deleted." << std::endl; } diff --git a/src/lib/audio/fftCorrelation.cpp b/src/lib/audio/fftCorrelation.cpp index 5a28cda6..5c88a09a 100644 --- a/src/lib/audio/fftCorrelation.cpp +++ b/src/lib/audio/fftCorrelation.cpp @@ -1,4 +1,4 @@ -/* + /* Copyright (C) 2012 Simon A. Eugster (Granjow) This file is part of kdenlive. See www.kdenlive.org. @@ -72,12 +72,12 @@ void FFTCorrelation::correlate(const int64_t *left, const int leftSize, } // Now we can convolve to get the correlation - convolute(leftF, leftSize, rightF, rightSize, out_correlated); + convolve(leftF, leftSize, rightF, rightSize, out_correlated); std::cout << "Correlation (FFT based) computed in " << t.elapsed() << " ms." << std::endl; } -void FFTCorrelation::convolute(const float *left, const int leftSize, +void FFTCorrelation::convolve(const float *left, const int leftSize, const float *right, const int rightSize, float *out_convolved) { diff --git a/src/lib/audio/fftCorrelation.h b/src/lib/audio/fftCorrelation.h index 6b098ba2..6bf6eb79 100644 --- a/src/lib/audio/fftCorrelation.h +++ b/src/lib/audio/fftCorrelation.h @@ -28,7 +28,7 @@ public: \c out_correlated must be a pre-allocated vector of size \c leftSize + \c rightSize. */ - static void convolute(const float *left, const int leftSize, + static void convolve(const float *left, const int leftSize, const float *right, const int rightSize, float *out_convolved); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 409f76a3..971009eb 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -543,8 +543,10 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, const QString & m_timelineContextClipMenu->addAction(actionCollection()->action("group_clip")); m_timelineContextClipMenu->addAction(actionCollection()->action("ungroup_clip")); m_timelineContextClipMenu->addAction(actionCollection()->action("split_audio")); - m_timelineContextClipMenu->addAction(actionCollection()->action("set_audio_align_ref")); - m_timelineContextClipMenu->addAction(actionCollection()->action("align_audio")); + if (KdenliveSettings::enableaudioalign()) { + m_timelineContextClipMenu->addAction(actionCollection()->action("set_audio_align_ref")); + m_timelineContextClipMenu->addAction(actionCollection()->action("align_audio")); + } m_timelineContextClipMenu->addSeparator(); m_timelineContextClipMenu->addAction(actionCollection()->action("cut_timeline_clip")); m_timelineContextClipMenu->addAction(actionCollection()->action(KStandardAction::name(KStandardAction::Copy))); diff --git a/src/widgets/configtimeline_ui.ui b/src/widgets/configtimeline_ui.ui index eeb072a1..b692361f 100644 --- a/src/widgets/configtimeline_ui.ui +++ b/src/widgets/configtimeline_ui.ui @@ -6,105 +6,122 @@ 0 0 - 314 - 218 + 348 + 268 - + 0 0 - + Thumbnails - - + + Video - - - - Qt::Horizontal - - - - 96 - 20 - - - - - - - - Audio - - - - - - - Normalise audio for thumbnails - - + + + + + + Audio + + + + + + + Normalise audio for thumbnails + + + + - + Display clip markers comments - + Autoscroll while playing - - + + - Track height + Zoom using vertical drag in ruler - - - - 10 - - - 10 + + + + Automatically split audio and video - - - - Qt::Horizontal - - - - 166 - 20 - + + + + + + Track height + + + + + + + 10 + + + 10 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Enable Audio Alignment (experimental!) +Requires restart. - + - + Qt::Vertical @@ -117,20 +134,6 @@ - - - - Zoom using vertical drag in ruler - - - - - - - Automatically split audio and video - - - diff --git a/testingArea/audioOffset.cpp b/testingArea/audioOffset.cpp index af248b3e..3d8a84bd 100644 --- a/testingArea/audioOffset.cpp +++ b/testingArea/audioOffset.cpp @@ -176,6 +176,9 @@ int main(int argc, char *argv[]) } +// Mlt::Factory::close(); + + return 0; } -- 2.39.2