]> git.sesse.net Git - kdenlive/commitdiff
Audio transcoding actions are now in "Extract audio" menu
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 23 Dec 2011 13:28:10 +0000 (14:28 +0100)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 23 Dec 2011 13:28:10 +0000 (14:28 +0100)
src/cliptranscode.cpp
src/kdenliveui.rc
src/mainwindow.cpp
src/projectlist.cpp
src/projectlist.h

index 863db131830e95ed72c835d8943459c7c7f74c7d..fac4a04061ddd64d2b1413a1aad1720c761746bf 100644 (file)
@@ -79,7 +79,7 @@ ClipTranscode::ClipTranscode(KUrl::List urls, const QString &params, const QStri
         QMapIterator<QString, QString> i(profiles);
         while (i.hasNext()) {
             i.next();
-            QStringList data = i.value().split(";", QString::SkipEmptyParts);
+            QStringList data = i.value().split(";");
             profile_list->addItem(i.key(), data.at(0));
             if (data.count() > 1) profile_list->setItemData(profile_list->count() - 1, data.at(1), Qt::UserRole + 1);
         }
@@ -92,6 +92,8 @@ ClipTranscode::ClipTranscode(KUrl::List urls, const QString &params, const QStri
     m_transcodeProcess.setProcessChannelMode(QProcess::MergedChannels);
     connect(&m_transcodeProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(slotShowTranscodeInfo()));
     connect(&m_transcodeProcess, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotTranscodeFinished(int, QProcess::ExitStatus)));
+    
+    ffmpeg_params->setMaximumHeight(QFontMetrics(font()).lineSpacing() * 5);
 
     adjustSize();
 }
index 0a350be99db311c9aaa1e5c16fa9f080d3efe7d4..b48fb4e723068ee7ae75358ba9e0d4f17db38000 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<gui name="kdenlive" version="65">
+<gui name="kdenlive" version="66">
   <ToolBar name="extraToolBar" >
     <text>Extra Toolbar</text>
        <Action name="project_render" />
@@ -25,6 +25,8 @@
       <Action name="add_text_clip" />
       <Action name="add_text_template_clip" />
       <Action name="add_folder" /> 
+      <Menu name="extract_audio" ><text>Extract Audio</text>
+      </Menu>
       <Menu name="stabilize" ><text>Stabilize</text>
       </Menu>
       <Menu name="transcoders" ><text>Transcode</text>
index 498f4a695136333c1918cf9dc64cdcc9a637998d..a88ac9e1bc358f4076e4c1410d26ea025a880ada 100644 (file)
@@ -497,6 +497,7 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, const QString &
     clipInTimeline->setIcon(KIcon("go-jump"));
        QHash<QString,QMenu*> menus;
        menus.insert("addMenu",static_cast<QMenu*>(factory()->container("generators", this)));
+        menus.insert("extractAudioMenu",static_cast<QMenu*>(factory()->container("extract_audio", this)));
        menus.insert("transcodeMenu",static_cast<QMenu*>(factory()->container("transcoders", this)));
        menus.insert("stabilizeMenu",static_cast<QMenu*>(factory()->container("stabilize", this)));
        menus.insert("inTimelineMenu",clipInTimeline);
@@ -3818,6 +3819,9 @@ void MainWindow::loadTranscoders()
 {
     QMenu *transMenu = static_cast<QMenu*>(factory()->container("transcoders", this));
     transMenu->clear();
+    
+    QMenu *extractAudioMenu = static_cast<QMenu*>(factory()->container("extract_audio", this));
+    extractAudioMenu->clear();
 
     KSharedConfigPtr config = KSharedConfig::openConfig("kdenlivetranscodingrc");
     KConfigGroup transConfig(config, "Transcoding");
@@ -3826,11 +3830,17 @@ void MainWindow::loadTranscoders()
     QMapIterator<QString, QString> i(profiles);
     while (i.hasNext()) {
         i.next();
-        QStringList data = i.value().split(";", QString::SkipEmptyParts);
-        QAction *a = transMenu->addAction(i.key());
+        QStringList data = i.value().split(";");
+        QAction *a;
+        // separate audio transcoding in a separate menu
+        if (data.count() > 2 && data.at(2) == "audio") {
+            a = extractAudioMenu->addAction(i.key());
+        }
+        else {
+            a = transMenu->addAction(i.key());
+        }
         a->setData(data);
-        if (data.count() > 1)
-            a->setToolTip(data.at(1));
+        a->setToolTip(data.at(1));
         connect(a, SIGNAL(triggered()), this, SLOT(slotTranscode()));
     }
 }
index 516e60ad975532984b3015270a13548eefc03227..d3584e8e822cc8d1cb5ecc23a224ff95e4cea712 100644 (file)
@@ -203,8 +203,9 @@ ProjectList::ProjectList(QWidget *parent) :
     m_commandStack(NULL),
     m_openAction(NULL),
     m_reloadAction(NULL),
-    m_stabilizeAction(NULL),
+    m_extractAudioAction(NULL),
     m_transcodeAction(NULL),
+    m_stabilizeAction(NULL),
     m_doc(NULL),
     m_refreshed(false),
     m_allClipsProcessed(false),
@@ -377,18 +378,21 @@ void ProjectList::setupGeneratorMenu(const QHash<QString,QMenu*>& menus)
                QMenu* addMenu=menus.value("addMenu");
                menu->addMenu(addMenu);
                m_addButton->setMenu(menu);
-
-               m_menu->addMenu(addMenu);
                if (addMenu->isEmpty())
                        addMenu->setEnabled(false);
        }
-       if (menus.contains("transcodeMenu") && menus.value("transcodeMenu") ){
-               QMenu* transcodeMenu=menus.value("transcodeMenu");
-               m_menu->addMenu(transcodeMenu);
-               if (transcodeMenu->isEmpty())
-                       transcodeMenu->setEnabled(false);
-               m_transcodeAction = transcodeMenu;
+       if (menus.contains("extractAudioMenu") && menus.value("extractAudioMenu") ){
+               QMenu* extractAudioMenu = menus.value("extractAudioMenu");
+               m_menu->addMenu(extractAudioMenu);
+                m_extractAudioAction = extractAudioMenu;
        }
+       if (menus.contains("transcodeMenu") && menus.value("transcodeMenu") ){
+                QMenu* transcodeMenu = menus.value("transcodeMenu");
+                m_menu->addMenu(transcodeMenu);
+                if (transcodeMenu->isEmpty())
+                        transcodeMenu->setEnabled(false);
+                m_transcodeAction = transcodeMenu;
+        }
        if (menus.contains("stabilizeMenu") && menus.value("stabilizeMenu") ){
                QMenu* stabilizeMenu=menus.value("stabilizeMenu");
                m_menu->addMenu(stabilizeMenu);
@@ -791,6 +795,7 @@ void ProjectList::slotClipSelected()
             m_deleteButton->defaultAction()->setEnabled(true);
             m_openAction->setEnabled(false);
             m_reloadAction->setEnabled(false);
+            m_extractAudioAction->setEnabled(false);
             m_transcodeAction->setEnabled(false);
             m_stabilizeAction->setEnabled(false);
         } else {
@@ -801,6 +806,7 @@ void ProjectList::slotClipSelected()
                 if (clip == NULL) kDebug() << "-----------ERROR";
                 SubProjectItem *sub = static_cast <SubProjectItem*>(item);
                 emit clipSelected(clip->referencedClip(), sub->zone());
+                m_extractAudioAction->setEnabled(false);
                 m_transcodeAction->setEnabled(false);
                 m_stabilizeAction->setEnabled(false);
                 m_reloadAction->setEnabled(false);
@@ -813,6 +819,7 @@ void ProjectList::slotClipSelected()
             m_editButton->defaultAction()->setEnabled(true);
             m_deleteButton->defaultAction()->setEnabled(true);
             m_reloadAction->setEnabled(true);
+            m_extractAudioAction->setEnabled(true);
             m_transcodeAction->setEnabled(true);
             m_stabilizeAction->setEnabled(true);
             if (clip && clip->clipType() == IMAGE && !KdenliveSettings::defaultimageapp().isEmpty()) {
@@ -836,6 +843,7 @@ void ProjectList::slotClipSelected()
         m_deleteButton->defaultAction()->setEnabled(false);
         m_openAction->setEnabled(false);
         m_reloadAction->setEnabled(false);
+        m_extractAudioAction->setEnabled(true);
         m_transcodeAction->setEnabled(false);
         m_stabilizeAction->setEnabled(false);
     }
@@ -869,9 +877,11 @@ void ProjectList::adjustTranscodeActions(ProjectItem *clip) const
 {
     if (clip == NULL || clip->type() != PROJECTCLIPTYPE || clip->clipType() == COLOR || clip->clipType() == TEXT || clip->clipType() == PLAYLIST || clip->clipType() == SLIDESHOW) {
         m_transcodeAction->setEnabled(false);
+        m_extractAudioAction->setEnabled(false);
         return;
     }
     m_transcodeAction->setEnabled(true);
+    m_extractAudioAction->setEnabled(true);
     QList<QAction *> transcodeActions = m_transcodeAction->actions();
     QStringList data;
     QString condition;
@@ -1016,12 +1026,14 @@ void ProjectList::slotContextMenu(const QPoint &pos, QTreeWidgetItem *item)
     m_editButton->defaultAction()->setEnabled(enable);
     m_deleteButton->defaultAction()->setEnabled(enable);
     m_reloadAction->setEnabled(enable);
+    m_extractAudioAction->setEnabled(enable);
     m_transcodeAction->setEnabled(enable);
     m_stabilizeAction->setEnabled(enable);
     if (enable) {
         ProjectItem *clip = NULL;
         if (m_listView->currentItem()->type() == PROJECTSUBCLIPTYPE) {
             clip = static_cast <ProjectItem*>(item->parent());
+            m_extractAudioAction->setEnabled(false);
             m_transcodeAction->setEnabled(false);
             m_stabilizeAction->setEnabled(false);
             adjustProxyActions(clip);
@@ -1034,6 +1046,7 @@ void ProjectList::slotContextMenu(const QPoint &pos, QTreeWidgetItem *item)
             // Display uses in timeline
             emit findInTimeline(clip->clipId());
         } else {
+            m_extractAudioAction->setEnabled(false);
             m_transcodeAction->setEnabled(false);
             m_stabilizeAction->setEnabled(false);
         }
@@ -2280,6 +2293,7 @@ void ProjectList::slotSelectClip(const QString &ix)
         m_editButton->defaultAction()->setEnabled(true);
         m_deleteButton->defaultAction()->setEnabled(true);
         m_reloadAction->setEnabled(true);
+        m_extractAudioAction->setEnabled(true);
         m_transcodeAction->setEnabled(true);
         m_stabilizeAction->setEnabled(true);
         if (clip->clipType() == IMAGE && !KdenliveSettings::defaultimageapp().isEmpty()) {
@@ -3160,5 +3174,4 @@ void ProjectList::discardJobs(const QString &id, JOBTYPE type) {
     }
 }
 
-
 #include "projectlist.moc"
index 285889074be4ec2bffc22b4dee301ce252ef343a..083efce59ce93c9b3e07a6ab5229ce33ff4361f4 100644 (file)
@@ -313,6 +313,7 @@ private:
     FolderProjectItem *getFolderItemById(const QString &id);
     QAction *m_openAction;
     QAction *m_reloadAction;
+    QMenu *m_extractAudioAction;
     QMenu *m_transcodeAction;
     QMenu *m_stabilizeAction;
     KdenliveDoc *m_doc;