]> git.sesse.net Git - kdenlive/commitdiff
Don't hardcode encoding profiles, use an external config file
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Sat, 29 Oct 2011 16:57:33 +0000 (16:57 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sat, 29 Oct 2011 16:57:33 +0000 (16:57 +0000)
svn path=/trunk/kdenlive/; revision=5998

data/CMakeLists.txt
data/encodingprofiles.rc [new file with mode: 0644]
src/encodingprofilesdialog.cpp
src/kdenlivesettings.kcfg
src/kdenlivesettingsdialog.cpp
src/mainwindow.cpp
src/projectsettings.cpp

index 28f40fd48b84d81e1cefbe83304077b8e8acd2fe..b593105cee9703efa8abd2e259d6b541a9181c24 100644 (file)
@@ -1,4 +1,4 @@
-install(FILES banner.png timeline_nothumbs.png timeline_athumbs.png timeline_vthumbs.png timeline_avthumbs.png metadata.properties blacklisted_effects.txt blacklisted_transitions.txt DESTINATION ${DATA_INSTALL_DIR}/kdenlive )
+install(FILES banner.png timeline_nothumbs.png timeline_athumbs.png timeline_vthumbs.png timeline_avthumbs.png metadata.properties blacklisted_effects.txt blacklisted_transitions.txt encodingprofiles.rc DESTINATION ${DATA_INSTALL_DIR}/kdenlive )
 install( FILES kdenliveeffectscategory.rc DESTINATION  ${CONFIG_INSTALL_DIR} )
 install (FILES kdenlive.xpm DESTINATION share/pixmaps)
 install (FILES kdenlive.menu DESTINATION share/menu RENAME kdenlive)
diff --git a/data/encodingprofiles.rc b/data/encodingprofiles.rc
new file mode 100644 (file)
index 0000000..f7d8618
--- /dev/null
@@ -0,0 +1,11 @@
+[decklink]
+DNxHD=vcodec=dnxhd vb=145000k acodec=pcm_s16le threads=%threads;mov
+Normal MPEG=vcodec=mpeg2video qscale=10 acodec=mp2 ac=2 ab=128k ar=48000 threads=%threads;mpg
+
+[proxy]
+Normal MPEG=-f mpegts -acodec libmp3lame -ac 2 -ab 128k -ar 48000 -vcodec mpeg2video -g 5 -deinterlace -s 480x270 -vb 400k;ts
+
+[video4linux]
+Normal MPEG=f=mpeg acodec=mp2 ab=128k ar=48000 vcodec=mpeg2video minrate=0 vb=4000k;mpg
+
+
index 9a14e1c21f57be517e217a4b1f69dc471e6b56c5..6a88d1653001ba87a035b68465a217bda53d285d 100644 (file)
@@ -46,12 +46,7 @@ EncodingProfilesDialog::EncodingProfilesDialog(int profileType, QWidget * parent
     button_delete->setIcon(KIcon("list-remove"));
     button_download->setIcon(KIcon("download"));
     
-    QString profileFile = KStandardDirs::locateLocal("appdata", "encodingprofiles.rc");
-    if (!QFile::exists(profileFile)) {
-        // todo: copy global config file to local
-        //KIO::NetAccess::copy()
-    }
-    m_configFile = new KConfig(profileFile, KConfig::SimpleConfig);
+    m_configFile = new KConfig("encodingprofiles.rc", KConfig::FullConfig, "appdata");
     profile_type->setCurrentIndex(profileType);
     connect(profile_type, SIGNAL(currentIndexChanged(int)), this, SLOT(slotLoadProfiles()));
     connect(profile_list, SIGNAL(currentRowChanged(int)), this, SLOT(slotShowParams()));
index c23bb5b70ad81e8f2326fad8211d360ef81a1a4d..db295e12ea38d7718293db707b674e540d488222 100644 (file)
     
     <entry name="proxyextension" type="String">
       <label>File extension for proxy clips.</label>
-      <default>ts</default>
+      <default></default>
     </entry>
     
     <entry name="proxy_profile" type="UInt">
-      <label>default v4l encoding profile.</label>
+      <label>default proxy encoding profile.</label>
       <default>0</default>
     </entry>
     
     <entry name="proxyparams" type="String">
       <label>Proxy clips transcoding parameters.</label>
-      <default>-f mpegts -acodec libmp3lame -ac 2 -ab 128k -ar 48000 -vcodec mpeg2video -g 5 -deinterlace -s 480x270 -vb 400k</default>
+      <default></default>
     </entry>
 
   </group>
 
     <entry name="v4l_parameters" type="String">
       <label>Default video4linux format.</label>
-      <default>f=mpeg acodec=mp2 ab=128k ar=48000 vcodec=mpeg2video minrate=0 b=4000k</default>
+      <default></default>
     </entry>
 
     <entry name="v4l_extension" type="String">
       <label>Default video4linux file extension.</label>
-      <default>mpg</default>
+      <default></default>
     </entry>
 
     <entry name="v4l_format" type="UInt">
   
   <entry name="decklink_parameters" type="String">
       <label>Default Decklink encoding parameters.</label>
-      <default>vcodec=mpeg2video qscale=10 acodec=mp2 ac=2 ab=128k ar=48000 threads=%threads</default>
+      <default></default>
   </entry>
 
   <entry name="decklink_extension" type="String">
       <label>Default Decklink capture file extension.</label>
-      <default>mpg</default>
+      <default></default>
   </entry>
   </group>
 
index 140823c1b549ea0b2cac1a77a789fb2366c3cfbd..0299879ad4f9cb71c80531fe0b4ba453b248a074 100644 (file)
@@ -934,16 +934,7 @@ void KdenliveSettingsDialog::slotManageEncodingProfile()
 
 void KdenliveSettingsDialog::loadEncodingProfiles()
 {
-    QString profileFile = KStandardDirs::locateLocal("appdata", "encodingprofiles.rc");
-    KConfig conf(profileFile, KConfig::SimpleConfig);
-    if (!QFile::exists(profileFile)) {
-        KConfigGroup g1(&conf, "video4linux");
-        g1.writeEntry("Normal MPEG", KdenliveSettings::v4l_parameters() + ";" + KdenliveSettings::v4l_extension());
-        KConfigGroup g2(&conf, "decklink");
-        g2.writeEntry("Normal MPEG", KdenliveSettings::decklink_parameters() + ";" + KdenliveSettings::decklink_extension());
-        KConfigGroup g3(&conf, "proxy");
-        g3.writeEntry("Normal MPEG", KdenliveSettings::proxyparams() + ";" + KdenliveSettings::proxyextension());
-    }
+    KConfig conf("encodingprofiles.rc", KConfig::FullConfig, "appdata");
 
     // Load v4l profiles
     m_configCapture.kcfg_v4l_profile->blockSignals(true);
index 0f5c93ac816527d9242f1c85d73b1c833afecfc2..946af2724fe3721b1232bec02bfc5c6d39d7d31d 100644 (file)
@@ -64,6 +64,7 @@
 #include "archivewidget.h"
 #include "databackup/backupwidget.h"
 
+
 #include <KApplication>
 #include <KAction>
 #include <KLocale>
@@ -612,6 +613,45 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, const QString &
 
     actionCollection()->addAssociatedWidget(m_clipMonitor->container());
     actionCollection()->addAssociatedWidget(m_projectMonitor->container());
+    
+    // Populate encoding profiles
+    KConfig conf("encodingprofiles.rc", KConfig::FullConfig, "appdata");
+    if (KdenliveSettings::proxyparams().isEmpty()) {
+        KConfigGroup group(&conf, "proxy");
+        QMap< QString, QString > values = group.entryMap();
+        QMapIterator<QString, QString> i(values);
+        if (i.hasNext()) {
+            i.next();
+            KdenliveSettings::setProxy_profile(i.key());
+            QString data = i.value();
+            KdenliveSettings::setProxyparams(data.section(';', 0, 0));
+            KdenliveSettings::setProxyextension(data.section(';', 1, 1));
+        }
+    }
+    if (KdenliveSettings::v4l_parameters().isEmpty()) {
+        KConfigGroup group(&conf, "video4linux");
+        QMap< QString, QString > values = group.entryMap();
+        QMapIterator<QString, QString> i(values);
+        if (i.hasNext()) {
+            i.next();
+            KdenliveSettings::setV4l_profile(i.key());
+            QString data = i.value();
+            KdenliveSettings::setV4l_parameters(data.section(';', 0, 0));
+            KdenliveSettings::setV4l_extension(data.section(';', 1, 1));
+        }
+    }
+    if (KdenliveSettings::decklink_parameters().isEmpty()) {
+        KConfigGroup group(&conf, "decklink");
+        QMap< QString, QString > values = group.entryMap();
+        QMapIterator<QString, QString> i(values);
+        if (i.hasNext()) {
+            i.next();
+            KdenliveSettings::setDecklink_profile(i.key());
+            QString data = i.value();
+            KdenliveSettings::setDecklink_parameters(data.section(';', 0, 0));
+            KdenliveSettings::setDecklink_extension(data.section(';', 1, 1));
+        }
+    }
 }
 
 MainWindow::~MainWindow()
@@ -1778,14 +1818,6 @@ void MainWindow::newFile(bool showProjectSettings, bool force)
     QMap <QString, QString> documentProperties;
     QPoint projectTracks(KdenliveSettings::videotracks(), KdenliveSettings::audiotracks());
     if (!showProjectSettings) {
-        // set up default properties
-        documentProperties.insert("enableproxy", QString::number((int) KdenliveSettings::enableproxy()));
-        documentProperties.insert("generateproxy", QString::number((int) KdenliveSettings::generateproxy()));
-        documentProperties.insert("proxyminsize", QString::number(KdenliveSettings::proxyminsize()));
-        documentProperties.insert("proxyparams", KdenliveSettings::proxyparams());
-        documentProperties.insert("proxyextension", KdenliveSettings::proxyextension());
-        documentProperties.insert("generateimageproxy", QString::number((int) KdenliveSettings::generateimageproxy()));
-        documentProperties.insert("proxyimageminsize", QString::number(KdenliveSettings::proxyimageminsize()));
         if (!KdenliveSettings::activatetabs())
             if (!closeCurrentDocument())
                 return;
index 39e0a4c7b963c27388c44e0375efd1c0b74edbc8..08bda5a1872fec31286fbe5833ef17cd189492d9 100644 (file)
@@ -94,8 +94,7 @@ ProjectSettings::ProjectSettings(ProjectList *projectlist, QStringList lumas, in
 
 
     // load proxy profiles
-    QString profileFile = KStandardDirs::locateLocal("appdata", "encodingprofiles.rc");
-    KConfig conf(profileFile, KConfig::SimpleConfig);
+    KConfig conf("encodingprofiles.rc", KConfig::FullConfig, "appdata");
     KConfigGroup group(&conf, "proxy");
     QMap <QString, QString> values = group.entryMap();
     QMapIterator<QString, QString> k(values);