]> git.sesse.net Git - kdenlive/commitdiff
Added option to enable Audio Alignment in the config dialog.
authorSimon A. Eugster <simon.eu@gmail.com>
Thu, 19 Apr 2012 09:54:30 +0000 (11:54 +0200)
committerSimon A. Eugster <simon.eu@gmail.com>
Thu, 19 Apr 2012 09:54:30 +0000 (11:54 +0200)
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
src/lib/audio/audioCorrelation.cpp
src/lib/audio/fftCorrelation.cpp
src/lib/audio/fftCorrelation.h
src/mainwindow.cpp
src/widgets/configtimeline_ui.ui
testingArea/audioOffset.cpp

index c3ceaf16e77dcafde56a2c38a7b66a3cd9e7602f..2d6e67cdeea5ed69497ed96be75236311d70b7c7 100644 (file)
       <default>true</default>
     </entry>
 
+    <entry name="enableaudioalign" type="Bool">
+      <label>Enable automatic audio alignment (experimental)</label>
+      <default>false</default>
+    </entry>
+
     <entry name="verticalzoom" type="Bool">
       <label>Vertical drag in timeline ruler zooms.</label>
       <default>false</default>
index 1f9eef4b3b979593e1334a2474d979d63b5a6cbe..34cb5bb3ff2389bf34dfe389e6a555c75897eed2 100644 (file)
@@ -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;
 }
 
index 5a28cda6f767756e75e7e710638642fc7bc488f8..5c88a09afd5d23010a6891e05f69542dac1b22ba 100644 (file)
@@ -1,4 +1,4 @@
-/*
+ /*
 Copyright (C) 2012  Simon A. Eugster (Granjow)  <simon.eu@gmail.com>
 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)
 {
index 6b098ba24a8d8b809563f4ae2d1b9177b438365b..6bf6eb79d6e782d0edc1bff8c60ac2f9d56b1c0c 100644 (file)
@@ -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);
 
index 409f76a3a2c15135cfc85b1b80a2eb84a3cc5871..971009ebc1b69f76de0484ec9a4dfd0e0fa54e85 100644 (file)
@@ -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)));
index eeb072a108ca04171028bef9f35ce7e77d7094c9..b692361f0f3fdd498ff5a35ea3497def200804e6 100644 (file)
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>314</width>
-    <height>218</height>
+    <width>348</width>
+    <height>268</height>
    </rect>
   </property>
-  <layout class="QGridLayout" name="gridLayout_2">
+  <layout class="QVBoxLayout" name="verticalLayout">
    <property name="leftMargin">
     <number>0</number>
    </property>
    <property name="topMargin">
     <number>0</number>
    </property>
-   <item row="0" column="0" colspan="3">
+   <item>
     <widget class="QGroupBox" name="groupBox">
      <property name="title">
       <string>Thumbnails</string>
      </property>
-     <layout class="QGridLayout" name="gridLayout">
-      <item row="0" column="0">
+     <layout class="QVBoxLayout" name="verticalLayout_2">
+      <item>
        <widget class="QCheckBox" name="kcfg_videothumbnails">
         <property name="text">
          <string>Video</string>
         </property>
        </widget>
       </item>
-      <item row="0" column="1">
-       <spacer name="horizontalSpacer">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>96</width>
-          <height>20</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="1" column="0">
-       <widget class="QCheckBox" name="kcfg_audiothumbnails">
-        <property name="text">
-         <string>Audio</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="1">
-       <widget class="QCheckBox" name="kcfg_normaliseaudiothumbs">
-        <property name="text">
-         <string>Normalise audio for thumbnails</string>
-        </property>
-       </widget>
+      <item>
+       <layout class="QHBoxLayout" name="horizontalLayout_3">
+        <item>
+         <widget class="QCheckBox" name="kcfg_audiothumbnails">
+          <property name="text">
+           <string>Audio</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QCheckBox" name="kcfg_normaliseaudiothumbs">
+          <property name="text">
+           <string>Normalise audio for thumbnails</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
       </item>
      </layout>
     </widget>
    </item>
-   <item row="1" column="0" colspan="2">
+   <item>
     <widget class="QCheckBox" name="kcfg_showmarkers">
      <property name="text">
       <string>Display clip markers comments</string>
      </property>
     </widget>
    </item>
-   <item row="2" column="0" colspan="3">
+   <item>
     <widget class="QCheckBox" name="kcfg_autoscroll">
      <property name="text">
       <string>Autoscroll while playing</string>
      </property>
     </widget>
    </item>
-   <item row="5" column="0">
-    <widget class="QLabel" name="label">
+   <item>
+    <widget class="QCheckBox" name="kcfg_verticalzoom">
      <property name="text">
-      <string>Track height</string>
+      <string>Zoom using vertical drag in ruler</string>
      </property>
     </widget>
    </item>
-   <item row="5" column="1">
-    <widget class="QSpinBox" name="kcfg_trackheight">
-     <property name="minimum">
-      <number>10</number>
-     </property>
-     <property name="value">
-      <number>10</number>
+   <item>
+    <widget class="QCheckBox" name="kcfg_splitaudio">
+     <property name="text">
+      <string>Automatically split audio and video</string>
      </property>
     </widget>
    </item>
-   <item row="5" column="2">
-    <spacer name="horizontalSpacer_2">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>166</width>
-       <height>20</height>
-      </size>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_2">
+     <item>
+      <widget class="QLabel" name="label">
+       <property name="text">
+        <string>Track height</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QSpinBox" name="kcfg_trackheight">
+       <property name="minimum">
+        <number>10</number>
+       </property>
+       <property name="value">
+        <number>10</number>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="horizontalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QCheckBox" name="kcfg_enableaudioalign">
+     <property name="text">
+      <string>Enable Audio Alignment (experimental!)
+Requires restart.</string>
      </property>
-    </spacer>
+    </widget>
    </item>
-   <item row="7" column="1">
+   <item>
     <spacer name="verticalSpacer">
      <property name="orientation">
       <enum>Qt::Vertical</enum>
      </property>
     </spacer>
    </item>
-   <item row="3" column="0" colspan="3">
-    <widget class="QCheckBox" name="kcfg_verticalzoom">
-     <property name="text">
-      <string>Zoom using vertical drag in ruler</string>
-     </property>
-    </widget>
-   </item>
-   <item row="4" column="0">
-    <widget class="QCheckBox" name="kcfg_splitaudio">
-     <property name="text">
-      <string>Automatically split audio and video</string>
-     </property>
-    </widget>
-   </item>
   </layout>
  </widget>
  <resources/>
index af248b3ed59fa271ea7dd4ec33cfd44f13e05fa6..3d8a84bd6fff11020cf431537b90eec7842567b0 100644 (file)
@@ -176,6 +176,9 @@ int main(int argc, char *argv[])
     }
 
 
+//    Mlt::Factory::close();
+
+
     return 0;
 
 }