]> git.sesse.net Git - kdenlive/commitdiff
Allow recording audio even if no video capture device is detected
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 23 Dec 2012 00:07:25 +0000 (01:07 +0100)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 23 Dec 2012 00:07:25 +0000 (01:07 +0100)
src/recmonitor.cpp
src/widgets/recmonitor_ui.ui

index d2e78941dbd737bf81e21c44971a476885f1b4c3..1a1d14261b6e17133257f31ca750e7ee7c0861ed 100644 (file)
@@ -225,8 +225,7 @@ void RecMonitor::slotVideoDeviceChanged(int ix)
     QString capturefile;
     QString capturename;
     m_previewSettings->setEnabled(ix == VIDEO4LINUX || ix == BLACKMAGIC);
-    rec_audio->setVisible(ix == VIDEO4LINUX);
-    rec_video->setVisible(ix == VIDEO4LINUX);
+    control_frame->setVisible(ix == VIDEO4LINUX);
     m_fwdAction->setVisible(ix == FIREWIRE);
     m_discAction->setVisible(ix == FIREWIRE);
     m_rewAction->setVisible(ix == FIREWIRE);
@@ -340,10 +339,11 @@ QPixmap RecMonitor::mergeSideBySide(const QPixmap& pix, const QString &txt)
 void RecMonitor::checkDeviceAvailability()
 {
     if (!KIO::NetAccess::exists(KUrl(KdenliveSettings::video4vdevice()), KIO::NetAccess::SourceSide , this)) {
-        m_playAction->setEnabled(false);
-        m_recAction->setEnabled(false);
+        rec_video->setChecked(false);
+       rec_video->setEnabled(false);
         video_frame->setPixmap(mergeSideBySide(KIcon("camera-web").pixmap(QSize(50, 50)), i18n("Cannot read from device %1\nPlease check drivers and access rights.", KdenliveSettings::video4vdevice())));
     } else {
+       rec_video->setEnabled(true);
         video_frame->setPixmap(mergeSideBySide(KIcon("camera-web").pixmap(QSize(50, 50)), i18n("Press play or record button\nto start video capture\nFiles will be saved in:\n%1", m_capturePath)));
     }
 }
@@ -385,8 +385,7 @@ void RecMonitor::slotStopCapture()
     // stop capture
     if (!m_isCapturing && !m_isPlaying) return;
     videoBox->setHidden(true);
-    rec_audio->setEnabled(true);
-    rec_video->setEnabled(true);
+    control_frame->setEnabled(true);
     switch (device_selector->currentIndex()) {
     case FIREWIRE:
         m_captureProcess->write("\e", 2);
@@ -535,8 +534,7 @@ void RecMonitor::slotStartPreview(bool play)
         break;
     }
 
-    rec_audio->setEnabled(false);
-    rec_video->setEnabled(false);
+    control_frame->setEnabled(false);
 
     if (device_selector->currentIndex() == FIREWIRE) {
         kDebug() << "Capture: Running ffplay " << m_displayArgs.join(" ");
@@ -549,8 +547,7 @@ void RecMonitor::slotStartPreview(bool play)
 
 void RecMonitor::slotRecord()
 {
-    rec_audio->setEnabled(false);
-    rec_video->setEnabled(false);
+    control_frame->setEnabled(false);
 
     if (m_captureProcess->state() == QProcess::NotRunning && device_selector->currentIndex() == FIREWIRE) {
         slotStartPreview();
index 3eb18358976e5ea2881e913c54924d8a6081157b..d03ec1cc63779a7e742e6c71356566996d1f2829 100644 (file)
@@ -6,47 +6,15 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>285</width>
-    <height>157</height>
+    <width>298</width>
+    <height>163</height>
    </rect>
   </property>
   <layout class="QGridLayout" name="gridLayout">
    <property name="margin">
     <number>0</number>
    </property>
-   <item row="0" column="0" colspan="6">
-    <widget class="QLabel" name="video_frame">
-     <property name="text">
-      <string>Not connected</string>
-     </property>
-     <property name="alignment">
-      <set>Qt::AlignCenter</set>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="0" colspan="6">
-    <widget class="QFrame" name="control_frame_firewire">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="minimumSize">
-      <size>
-       <width>0</width>
-       <height>15</height>
-      </size>
-     </property>
-     <property name="frameShape">
-      <enum>QFrame::StyledPanel</enum>
-     </property>
-     <property name="frameShadow">
-      <enum>QFrame::Raised</enum>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="5">
+   <item row="2" column="4">
     <widget class="KComboBox" name="device_selector">
      <item>
       <property name="text">
      </item>
     </widget>
    </item>
-   <item row="2" column="4">
+   <item row="0" column="0" colspan="5">
+    <widget class="QLabel" name="video_frame">
+     <property name="text">
+      <string>Not connected</string>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignCenter</set>
+     </property>
+    </widget>
+   </item>
+   <item row="2" column="3">
     <spacer name="horizontalSpacer">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
      </property>
     </spacer>
    </item>
-   <item row="2" column="1">
-    <widget class="QCheckBox" name="rec_video">
-     <property name="text">
-      <string>Video</string>
+   <item row="1" column="0" colspan="5">
+    <widget class="QFrame" name="control_frame_firewire">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
      </property>
-    </widget>
-   </item>
-   <item row="2" column="2">
-    <widget class="QCheckBox" name="rec_audio">
-     <property name="text">
-      <string>Audio</string>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>15</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::StyledPanel</enum>
+     </property>
+     <property name="frameShadow">
+      <enum>QFrame::Raised</enum>
      </property>
     </widget>
    </item>
      </property>
     </widget>
    </item>
+   <item row="2" column="1">
+    <widget class="QFrame" name="control_frame">
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="frameShadow">
+      <enum>QFrame::Plain</enum>
+     </property>
+     <layout class="QGridLayout" name="gridLayout_2">
+      <property name="margin">
+       <number>0</number>
+      </property>
+      <item row="0" column="0">
+       <widget class="QCheckBox" name="rec_video">
+        <property name="text">
+         <string>Video</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="QCheckBox" name="rec_audio">
+        <property name="text">
+         <string>Audio</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+     <zorder>rec_video</zorder>
+     <zorder>rec_audio</zorder>
+     <zorder>rec_video</zorder>
+     <zorder>rec_audio</zorder>
+    </widget>
+   </item>
   </layout>
  </widget>
  <customwidgets>