]> git.sesse.net Git - kdenlive/blobdiff - src/wizard.cpp
Remove problematic character in ui file
[kdenlive] / src / wizard.cpp
index a9b6e1cb5ff8d6bb47ccae97a72f10365fef9281..8716b7abd07980891534ddd9231f3ea23d22a5a1 100644 (file)
@@ -141,9 +141,9 @@ void Wizard::checkMltComponents() {
             m_mltCheck.tabWidget->setTabEnabled(1, false);
         } else {
             avformatItem->setIcon(0, okIcon);
-            // Check installed codecs
+            // Check installed audio codecs
             QProcess checkProcess2;
-            checkProcess2.start(KdenliveSettings::rendererpath(), QStringList() << "-producer" << "avformat:acodec-list");
+            checkProcess2.start(KdenliveSettings::rendererpath(), QStringList() << "noise:" << "-consumer" << "avformat" << "acodec=list");
             if (!checkProcess2.waitForStarted()) {
                 m_mltCheck.tabWidget->setTabEnabled(1, false);
                 kDebug() << "// Error parsing MLT's avformat codecs";
@@ -151,27 +151,54 @@ void Wizard::checkMltComponents() {
                 checkProcess2.waitForFinished();
                 QByteArray codecList = checkProcess2.readAllStandardError();
                 QString acodecList(codecList);
-                acodecList = acodecList.section("...", 0, 0);
+                QStringList result;
                 QStringList alist = acodecList.split("\n", QString::SkipEmptyParts);
                 for (int i = 0; i < alist.count(); i++) {
-                    if (alist.at(i).contains("- ")) m_audioCodecs.append(alist.at(i).section("- ", 1).simplified());
+                    if (alist.at(i).contains("- ")) result.append(alist.at(i).section("- ", 1).simplified().toLower());
                 }
-                m_mltCheck.acodecs_list->addItems(m_audioCodecs);
+                m_mltCheck.acodecs_list->addItems(result);
+                KdenliveSettings::setAudiocodecs(result);
                 //kDebug()<<"// FOUND LIST:\n\n"<<m_audioCodecs<<"\n\n++++++++++++++++++++";
             }
-            checkProcess2.start(KdenliveSettings::rendererpath(), QStringList() << "-producer" << "avformat:vcodec-list");
+            // Check video codecs
+            checkProcess2.start(KdenliveSettings::rendererpath(), QStringList() << "noise:" << "-consumer" << "avformat" << "vcodec=list");
             if (!checkProcess2.waitForStarted()) {
                 kDebug() << "// Error parsing MLT's avformat codecs";
             } else {
                 checkProcess2.waitForFinished();
                 QByteArray codecList = checkProcess2.readAllStandardError();
                 QString vcodecList(codecList);
-                vcodecList = vcodecList.section("...", 0, 0);
+                QStringList result;
                 QStringList vlist = vcodecList.split("\n", QString::SkipEmptyParts);
                 for (int i = 0; i < vlist.count(); i++) {
-                    if (vlist.at(i).contains("- ")) m_videoCodecs.append(vlist.at(i).section("- ", 1).simplified());
+                    if (vlist.at(i).contains("- ")) result.append(vlist.at(i).section("- ", 1).simplified().toLower());
                 }
-                m_mltCheck.vcodecs_list->addItems(m_videoCodecs);
+                m_mltCheck.vcodecs_list->addItems(result);
+                KdenliveSettings::setVideocodecs(result);
+                //kDebug()<<"// FOUND LIST:\n\n"<<m_videoCodecs<<"\n\n++++++++++++++++++++";
+            }
+            // Check formats
+            checkProcess2.start(KdenliveSettings::rendererpath(), QStringList() << "noise:" << "-consumer" << "avformat" << "f=list");
+            if (!checkProcess2.waitForStarted()) {
+                kDebug() << "// Error parsing MLT's avformat codecs";
+            } else {
+                checkProcess2.waitForFinished();
+                QByteArray codecList = checkProcess2.readAllStandardError();
+                QString vcodecList(codecList);
+                QStringList result;
+                QStringList vlist = vcodecList.split("\n", QString::SkipEmptyParts);
+                for (int i = 0; i < vlist.count(); i++) {
+                    if (vlist.at(i).contains("- ")) {
+                        QString format = vlist.at(i).section("- ", 1).simplified().toLower();
+                        if (format.contains(',')) {
+                            QStringList sub = format.split(',', QString::SkipEmptyParts);
+                            for (int j = 0; j < sub.count(); j++)
+                                result.append(sub.at(j));
+                        } else result.append(format);
+                    }
+                }
+                m_mltCheck.formats_list->addItems(result);
+                KdenliveSettings::setSupportedformats(result);
                 //kDebug()<<"// FOUND LIST:\n\n"<<m_videoCodecs<<"\n\n++++++++++++++++++++";
             }
 
@@ -235,6 +262,18 @@ void Wizard::slotCheckPrograms() {
     if (KStandardDirs::findExe("dvgrab").isEmpty()) item->setIcon(0, missingIcon);
     else item->setIcon(0, okIcon);
 
+    item = new QTreeWidgetItem(m_check.programList, QStringList() << QString() << i18n("Dvdauthor"));
+    item->setData(1, Qt::UserRole, i18n("Required for creation of DVD"));
+    item->setSizeHint(0, itemSize);
+    if (KStandardDirs::findExe("dvdauthor").isEmpty()) item->setIcon(0, missingIcon);
+    else item->setIcon(0, okIcon);
+
+    item = new QTreeWidgetItem(m_check.programList, QStringList() << QString() << i18n("Mkisofs"));
+    item->setData(1, Qt::UserRole, i18n("Required for creation of DVD iso images"));
+    item->setSizeHint(0, itemSize);
+    if (KStandardDirs::findExe("mkisofs").isEmpty()) item->setIcon(0, missingIcon);
+    else item->setIcon(0, okIcon);
+
 }
 
 void Wizard::installExtraMimes(QString baseName, QStringList globs) {
@@ -329,7 +368,7 @@ void Wizard::slotCheckStandard() {
     for (int i = 0; i < m_standard.profiles_list->count(); i++) {
         QListWidgetItem *item = m_standard.profiles_list->item(i);
         MltVideoProfile prof = ProfilesDialog::getVideoProfile(m_profilesInfo.value(item->text()));
-        const QString infoString = i18n("<b>Frame size: </b>%1x%2<br><b>Frame rate: </b>%3/%4<br><b>Pixel aspect ratio: </b>%5/%6<br><b>Display aspect ratio: </b>%7/%8").arg(QString::number(prof.width), QString::number(prof.height), QString::number(prof.frame_rate_num), QString::number(prof.frame_rate_den), QString::number(prof.sample_aspect_num), QString::number(prof.sample_aspect_den), QString::number(prof.display_aspect_num), QString::number(prof.display_aspect_den));
+        const QString infoString = ("<strong>" + i18n("Frame size:") + " </strong>%1x%2<br /><strong>" + i18n("Frame rate:") + " </strong>%3/%4<br /><strong>" + i18n("Pixel aspect ratio:") + "</strong>%5/%6<br /><strong>" + i18n("Display aspect ratio:") + " </strong>%7/%8").arg(QString::number(prof.width), QString::number(prof.height), QString::number(prof.frame_rate_num), QString::number(prof.frame_rate_den), QString::number(prof.sample_aspect_num), QString::number(prof.sample_aspect_den), QString::number(prof.display_aspect_num), QString::number(prof.display_aspect_den));
         item->setToolTip(infoString);
     }