From: <j-...@us...> - 2010-09-14 10:27:38
|
Revision: 4888 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=4888&view=rev Author: j-b-m Date: 2010-09-14 10:27:32 +0000 (Tue, 14 Sep 2010) Log Message: ----------- Fix color of warning message in render widget Modified Paths: -------------- trunk/kdenlive/src/renderwidget.cpp Modified: trunk/kdenlive/src/renderwidget.cpp =================================================================== --- trunk/kdenlive/src/renderwidget.cpp 2010-09-14 10:00:16 UTC (rev 4887) +++ trunk/kdenlive/src/renderwidget.cpp 2010-09-14 10:27:32 UTC (rev 4888) @@ -104,7 +104,7 @@ m_view.format_list->setAlternatingRowColors(true); m_view.size_list->setAlternatingRowColors(true); - KColorScheme scheme(palette().currentColorGroup(), KColorScheme::Window); + KColorScheme scheme(palette().currentColorGroup(), KColorScheme::Window, KSharedConfig::openConfig(KdenliveSettings::colortheme())); QPalette p = m_view.errorLabel->palette(); p.setColor(QPalette::Background, scheme.background(KColorScheme::NegativeBackground).color()); m_view.errorLabel->setAutoFillBackground(true); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <j-...@us...> - 2010-12-18 11:26:39
|
Revision: 5180 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=5180&view=rev Author: j-b-m Date: 2010-12-18 11:26:33 +0000 (Sat, 18 Dec 2010) Log Message: ----------- Fix scripts with special chars in render name: http://kdenlive.org/mantis/view.php?id=1926 Modified Paths: -------------- trunk/kdenlive/src/renderwidget.cpp Modified: trunk/kdenlive/src/renderwidget.cpp =================================================================== --- trunk/kdenlive/src/renderwidget.cpp 2010-12-17 20:38:09 UTC (rev 5179) +++ trunk/kdenlive/src/renderwidget.cpp 2010-12-18 11:26:33 UTC (rev 5180) @@ -1611,16 +1611,17 @@ QString melt; QFile file(scriptpath.path()); if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { - while (!file.atEnd()) { - QByteArray line = file.readLine(); + QTextStream stream(&file); + while (!stream.atEnd()) { + QString line = stream.readLine(); if (line.startsWith("TARGET=")) { - target = QString(line).section("TARGET=", 1).simplified(); + target = line.section("TARGET=", 1).simplified(); target.remove(QChar('"')); } else if (line.startsWith("RENDERER=")) { - renderer = QString(line).section("RENDERER=", 1).simplified(); + renderer = line.section("RENDERER=", 1).simplified(); renderer.remove(QChar('"')); } else if (line.startsWith("MELT=")) { - melt = QString(line).section("MELT=", 1).simplified(); + melt = line.section("MELT=", 1).simplified(); melt.remove(QChar('"')); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tt...@us...> - 2010-12-18 14:34:45
|
Revision: 5181 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=5181&view=rev Author: ttill Date: 2010-12-18 14:34:39 +0000 (Sat, 18 Dec 2010) Log Message: ----------- If exporting to script: Use variables for the location of the playlist and the destination Modified Paths: -------------- trunk/kdenlive/src/renderwidget.cpp Modified: trunk/kdenlive/src/renderwidget.cpp =================================================================== --- trunk/kdenlive/src/renderwidget.cpp 2010-12-18 11:26:33 UTC (rev 5180) +++ trunk/kdenlive/src/renderwidget.cpp 2010-12-18 14:34:39 UTC (rev 5181) @@ -779,9 +779,11 @@ } } - if (resizeProfile) render_process_args << "consumer:" + playlistPath; - else render_process_args << playlistPath; - render_process_args << dest; + if (resizeProfile) + render_process_args << "consumer:" + (scriptExport ? "$SOURCE" : playlistPath); + else + render_process_args << (scriptExport ? "$SOURCE" : playlistPath); + render_process_args << (scriptExport ? "$TARGET" : dest); render_process_args << paramsList; QString group = m_view.size_list->currentItem()->data(MetaGroupRole).toString(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <j-...@us...> - 2010-12-29 13:35:28
|
Revision: 5220 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=5220&view=rev Author: j-b-m Date: 2010-12-29 13:35:22 +0000 (Wed, 29 Dec 2010) Log Message: ----------- Fix small display issue in render widget Modified Paths: -------------- trunk/kdenlive/src/renderwidget.cpp Modified: trunk/kdenlive/src/renderwidget.cpp =================================================================== --- trunk/kdenlive/src/renderwidget.cpp 2010-12-29 13:25:40 UTC (rev 5219) +++ trunk/kdenlive/src/renderwidget.cpp 2010-12-29 13:35:22 UTC (rev 5220) @@ -1647,8 +1647,8 @@ bool activate = false; QTreeWidgetItem *script = m_view.scripts_list->topLevelItem(0); if (script) { + m_view.scripts_list->setCurrentItem(script); script->setSelected(true); - m_view.scripts_list->setCurrentItem(script); activate = true; } // m_view.start_script->setEnabled(activate); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <j-...@us...> - 2011-03-22 16:28:02
|
Revision: 5514 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=5514&view=rev Author: j-b-m Date: 2011-03-22 16:27:56 +0000 (Tue, 22 Mar 2011) Log Message: ----------- Fix playing rendered file by double click in job queue list Modified Paths: -------------- trunk/kdenlive/src/renderwidget.cpp Modified: trunk/kdenlive/src/renderwidget.cpp =================================================================== --- trunk/kdenlive/src/renderwidget.cpp 2011-03-22 15:34:23 UTC (rev 5513) +++ trunk/kdenlive/src/renderwidget.cpp 2011-03-22 16:27:56 UTC (rev 5514) @@ -83,6 +83,8 @@ m_view.buttonFavorite->setIcon(KIcon("favorites")); m_view.buttonFavorite->setToolTip(i18n("Copy profile to favorites")); + + m_view.advanced_params->setMaximumHeight(QFontMetrics(font()).lineSpacing() * 5); if (KdenliveSettings::showrenderparams()) { m_view.buttonInfo->setDown(true); @@ -754,6 +756,8 @@ height = m_profile.height; } renderArgs.replace("%dar", '@' + QString::number(m_profile.display_aspect_num) + '/' + QString::number(m_profile.display_aspect_den)); + //renderArgs.replace("%width", QString::number((int)(m_profile.height * m_profile.display_aspect_num / (double) m_profile.display_aspect_den + 0.5))); + //renderArgs.replace("%height", QString::number((int)m_profile.height)); // Adjust scanning if (m_view.scanning_list->currentIndex() == 1) renderArgs.append(" progressive=1"); @@ -1859,9 +1863,9 @@ void RenderWidget::slotPlayRendering(QTreeWidgetItem *item, int) { if (KdenliveSettings::defaultplayerapp().isEmpty() || item->data(1, Qt::UserRole + 2).toInt() != FINISHEDJOB) return; - const QByteArray startId = KStartupInfo::createNewStartupId(); - const QString command = KdenliveSettings::defaultplayerapp() + ' ' + item->text(1); - KRun::runCommand(command, KdenliveSettings::defaultplayerapp(), KdenliveSettings::defaultplayerapp(), this, startId); + KUrl::List urls; + urls.append(KUrl(item->text(1))); + KRun::run(KdenliveSettings::defaultplayerapp(), urls, this); } void RenderWidget::missingClips(bool hasMissing) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <j-...@us...> - 2011-03-22 16:59:35
|
Revision: 5516 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=5516&view=rev Author: j-b-m Date: 2011-03-22 16:59:28 +0000 (Tue, 22 Mar 2011) Log Message: ----------- Fix bug with space in render file name: http://kdenlive.org/mantis/view.php?id=1927 Modified Paths: -------------- trunk/kdenlive/src/renderwidget.cpp Modified: trunk/kdenlive/src/renderwidget.cpp =================================================================== --- trunk/kdenlive/src/renderwidget.cpp 2011-03-22 16:57:48 UTC (rev 5515) +++ trunk/kdenlive/src/renderwidget.cpp 2011-03-22 16:59:28 UTC (rev 5516) @@ -821,7 +821,7 @@ QTextStream outStream(&file); outStream << "#! /bin/sh" << "\n" << "\n"; outStream << "SOURCE=" << "\"" + playlistPath + "\"" << "\n"; - outStream << "TARGET=" << "\"" + dest + "\"" << "\n"; + outStream << "TARGET=" << "\"" + KUrl(dest).url() + "\"" << "\n"; outStream << "RENDERER=" << "\"" + m_renderer + "\"" << "\n"; outStream << "MELT=" << "\"" + render_process_args.takeFirst() + "\"" << "\n"; outStream << "PARAMETERS=" << "\"" + render_process_args.join(" ") + "\"" << "\n"; @@ -1635,14 +1635,14 @@ while (!stream.atEnd()) { QString line = stream.readLine(); if (line.startsWith("TARGET=")) { - target = line.section("TARGET=", 1).simplified(); - target.remove(QChar('"')); - } else if (line.startsWith("RENDERER=")) { - renderer = line.section("RENDERER=", 1).simplified(); - renderer.remove(QChar('"')); - } else if (line.startsWith("MELT=")) { - melt = line.section("MELT=", 1).simplified(); - melt.remove(QChar('"')); + target = line.section("TARGET=\"", 1); + target = target.section('"', 0, 0); + } else if (line.startsWith("RENDERER=\"")) { + renderer = line.section("RENDERER=", 1); + renderer = renderer.section('"', 0, 0); + } else if (line.startsWith("MELT=\"")) { + melt = line.section("MELT=", 1); + melt = melt.section('"', 0, 0); } } file.close(); @@ -1659,7 +1659,7 @@ item->setData(0, Qt::UserRole, '1'); } else item->setIcon(0, KIcon("application-x-executable-script")); item->setSizeHint(0, QSize(m_view.scripts_list->columnWidth(0), fontMetrics().height() * 2)); - item->setData(1, Qt::UserRole, target.simplified()); + item->setData(1, Qt::UserRole, KUrl(target).path()); item->setData(1, Qt::UserRole + 1, scriptpath.path()); } bool activate = false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tt...@us...> - 2011-05-19 19:12:12
|
Revision: 5600 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=5600&view=rev Author: ttill Date: 2011-05-19 19:12:06 +0000 (Thu, 19 May 2011) Log Message: ----------- Make 2 pass option available to custom profiles Modified Paths: -------------- trunk/kdenlive/src/renderwidget.cpp Modified: trunk/kdenlive/src/renderwidget.cpp =================================================================== --- trunk/kdenlive/src/renderwidget.cpp 2011-05-19 19:00:21 UTC (rev 5599) +++ trunk/kdenlive/src/renderwidget.cpp 2011-05-19 19:12:06 UTC (rev 5600) @@ -1057,7 +1057,10 @@ destination = m_view.destination_list->itemData(m_view.destination_list->currentIndex()).toString(); KIcon brokenIcon("dialog-close"); - m_view.checkTwoPass->setEnabled(m_view.format_list->currentItem()->data(TwoPassRole).toBool()); + if (m_view.format_list->currentItem()->data(TwoPassRole).canConvert(QVariant::Bool)) + m_view.checkTwoPass->setEnabled(m_view.format_list->currentItem()->data(TwoPassRole).toBool()); + else + m_view.checkTwoPass->setEnabled(true); const QStringList formatsList = KdenliveSettings::supportedformats(); const QStringList vcodecsList = KdenliveSettings::videocodecs(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tt...@us...> - 2011-05-24 16:18:42
|
Revision: 5606 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=5606&view=rev Author: ttill Date: 2011-05-24 16:18:36 +0000 (Tue, 24 May 2011) Log Message: ----------- Properly disable bitrate combobox Modified Paths: -------------- trunk/kdenlive/src/renderwidget.cpp Modified: trunk/kdenlive/src/renderwidget.cpp =================================================================== --- trunk/kdenlive/src/renderwidget.cpp 2011-05-23 16:19:02 UTC (rev 5605) +++ trunk/kdenlive/src/renderwidget.cpp 2011-05-24 16:18:36 UTC (rev 5606) @@ -1219,9 +1219,9 @@ } // setup comboBox with bitrates - if (item->data(BitratesRole).canConvert(QVariant::StringList)) { + m_view.comboBitrates->clear(); + if (item->data(BitratesRole).canConvert(QVariant::StringList) && item->data(BitratesRole).toStringList().count()) { m_view.comboBitrates->setEnabled(true); - m_view.comboBitrates->clear(); QStringList bitrates = item->data(BitratesRole).toStringList(); foreach (QString bitrate, bitrates) m_view.comboBitrates->addItem(bitrate); @@ -1506,7 +1506,7 @@ item->setData(RenderRole, renderer); item->setData(StandardRole, standard); item->setData(ParamsRole, params); - item->setData(BitratesRole, bitrates.split(',')); + item->setData(BitratesRole, bitrates.split(',', QString::SkipEmptyParts)); item->setData(DefaultBitrateRole, defaultBitrate); if (profileElement.hasAttribute("url")) item->setData(ExtraRole, profileElement.attribute("url")); if (editable) item->setData(EditableRole, exportFile); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <j-...@us...> - 2011-06-06 16:13:00
|
Revision: 5672 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=5672&view=rev Author: j-b-m Date: 2011-06-06 16:12:54 +0000 (Mon, 06 Jun 2011) Log Message: ----------- Do not allow rendering to a frame rate different than current project's profile: http://kdenlive.org/mantis/view.php?id=2138 Modified Paths: -------------- trunk/kdenlive/src/renderwidget.cpp Modified: trunk/kdenlive/src/renderwidget.cpp =================================================================== --- trunk/kdenlive/src/renderwidget.cpp 2011-06-06 15:27:51 UTC (rev 5671) +++ trunk/kdenlive/src/renderwidget.cpp 2011-06-06 16:12:54 UTC (rev 5672) @@ -22,6 +22,7 @@ #include "kdenlivesettings.h" #include "ui_saveprofile_ui.h" #include "timecode.h" +#include "profilesdialog.h" #include <KStandardDirs> #include <KDebug> @@ -219,6 +220,9 @@ if (!interface || (!interface->isServiceRegistered("org.kde.ksmserver") && !interface->isServiceRegistered("org.gnome.SessionManager"))) m_view.shutdown->setEnabled(false); + // Hide the PAl / NTSC combobox since it's not working + m_view.label_3->setHidden(true); + m_view.format_selection->setHidden(true); focusFirstVisibleItem(); } @@ -1076,7 +1080,7 @@ const QColor disabled = scheme.foreground(KColorScheme::InactiveText).color(); const QColor disabledbg = scheme.background(KColorScheme::NegativeBackground).color(); - + double project_framerate = (double) m_profile.frame_rate_num / m_profile.frame_rate_den; for (int i = 0; i < m_renderItems.count(); i++) { sizeItem = m_renderItems.at(i); QListWidgetItem *dupItem = NULL; @@ -1091,8 +1095,19 @@ if (dupItem) { m_view.size_list->addItem(dupItem); + std = dupItem->data(ParamsRole).toString(); + // Make sure the selected profile uses the same frame rate as project profile + if (std.contains("profile=")) { + QString profile = std.section("profile=", 1, 1).section(' ', 0, 0); + MltVideoProfile p = ProfilesDialog::getVideoProfile(profile); + if (p.frame_rate_den > 0 && ((double) p.frame_rate_num / p.frame_rate_den != project_framerate)) { + dupItem->setToolTip(i18n("Frame rate not compatible with project profile")); + dupItem->setIcon(brokenIcon); + dupItem->setForeground(disabled); + } + } + // Make sure the selected profile uses an installed avformat codec / format - std = dupItem->data(ParamsRole).toString(); if (!formatsList.isEmpty()) { QString format; if (std.startsWith("f=")) format = std.section("f=", 1, 1); @@ -1102,7 +1117,7 @@ if (!formatsList.contains(format)) { kDebug() << "***** UNSUPPORTED F: " << format; //sizeItem->setHidden(true); - //sizeItem->setFlags(Qt::ItemIsSelectable); + //sizeItem-item>setFlags(Qt::ItemIsSelectable); dupItem->setToolTip(i18n("Unsupported video format: %1", format)); dupItem->setIcon(brokenIcon); dupItem->setForeground(disabled); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tt...@us...> - 2011-08-10 14:23:37
|
Revision: 5830 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=5830&view=rev Author: ttill Date: 2011-08-10 13:38:50 +0000 (Wed, 10 Aug 2011) Log Message: ----------- render widget: Enable entering of custom bitrate when "bitrate" is found in the parameters string. This makes it possible to have custom profiles without a fixed bitrate. Modified Paths: -------------- trunk/kdenlive/src/renderwidget.cpp Modified: trunk/kdenlive/src/renderwidget.cpp =================================================================== --- trunk/kdenlive/src/renderwidget.cpp 2011-08-10 13:15:25 UTC (rev 5829) +++ trunk/kdenlive/src/renderwidget.cpp 2011-08-10 13:38:50 UTC (rev 5830) @@ -1244,13 +1244,15 @@ // setup comboBox with bitrates m_view.comboBitrates->clear(); - if (item->data(BitratesRole).canConvert(QVariant::StringList) && item->data(BitratesRole).toStringList().count()) { + if (params.contains("bitrate")) { m_view.comboBitrates->setEnabled(true); - QStringList bitrates = item->data(BitratesRole).toStringList(); - foreach (QString bitrate, bitrates) - m_view.comboBitrates->addItem(bitrate); - if (item->data(DefaultBitrateRole).canConvert(QVariant::String)) - m_view.comboBitrates->setCurrentIndex(bitrates.indexOf(item->data(DefaultBitrateRole).toString())); + if ( item->data(BitratesRole).canConvert(QVariant::StringList) && item->data(BitratesRole).toStringList().count()) { + QStringList bitrates = item->data(BitratesRole).toStringList(); + foreach (QString bitrate, bitrates) + m_view.comboBitrates->addItem(bitrate); + if (item->data(DefaultBitrateRole).canConvert(QVariant::String)) + m_view.comboBitrates->setCurrentIndex(bitrates.indexOf(item->data(DefaultBitrateRole).toString())); + } } else { m_view.comboBitrates->setEnabled(false); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <j-...@us...> - 2011-09-09 17:26:22
|
Revision: 5870 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=5870&view=rev Author: j-b-m Date: 2011-09-09 17:26:16 +0000 (Fri, 09 Sep 2011) Log Message: ----------- Small ui cleanup + possible crash fix in renderwidget Modified Paths: -------------- trunk/kdenlive/src/renderwidget.cpp Modified: trunk/kdenlive/src/renderwidget.cpp =================================================================== --- trunk/kdenlive/src/renderwidget.cpp 2011-09-09 11:19:44 UTC (rev 5869) +++ trunk/kdenlive/src/renderwidget.cpp 2011-09-09 17:26:16 UTC (rev 5870) @@ -1044,7 +1044,9 @@ } if (!item) { m_view.format_list->setEnabled(false); + m_view.format_list->clear(); m_view.size_list->setEnabled(false); + m_view.size_list->clear(); m_view.size_list->blockSignals(false); m_view.format_list->blockSignals(false); return; @@ -1174,6 +1176,7 @@ } // m_view.size_list->sortItems(); focusFirstVisibleItem(); + m_view.size_list->setVisible(m_view.size_list->count() > 1 || m_view.format_list->count() <= 1); m_view.size_list->blockSignals(false); m_view.format_list->blockSignals(false); if (m_view.size_list->count() > 0) @@ -1209,13 +1212,13 @@ { // Format not available (e.g. codec not installed); Disable start button QListWidgetItem *item = m_view.size_list->currentItem(); - errorMessage(item->toolTip()); if (!item || item->isHidden()) { m_view.advanced_params->clear(); m_view.buttonRender->setEnabled(false); m_view.buttonGenerateScript->setEnabled(false); return; } + errorMessage(item->toolTip()); QString params = item->data(ParamsRole).toString(); QString extension = item->data(ExtensionRole).toString(); m_view.advanced_params->setPlainText(params); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <j-...@us...> - 2011-09-25 10:25:18
|
Revision: 5928 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=5928&view=rev Author: j-b-m Date: 2011-09-25 10:25:11 +0000 (Sun, 25 Sep 2011) Log Message: ----------- Fix bitrate broken when editing profile or making it a favorite: http://kdenlive.org/mantis/view.php?id=2321 Modified Paths: -------------- trunk/kdenlive/src/renderwidget.cpp Modified: trunk/kdenlive/src/renderwidget.cpp =================================================================== --- trunk/kdenlive/src/renderwidget.cpp 2011-09-24 17:57:37 UTC (rev 5927) +++ trunk/kdenlive/src/renderwidget.cpp 2011-09-25 10:25:11 UTC (rev 5928) @@ -367,22 +367,6 @@ ui.group_name->setText(customGroup); QStringList arguments = m_view.advanced_params->toPlainText().split(" ", QString::SkipEmptyParts); - - QScriptEngine sEngine; - sEngine.globalObject().setProperty("bitrate", m_view.comboBitrates->currentText()); - sEngine.globalObject().setProperty("audiobitrate", m_view.comboAudioBitrates->currentText()); - - for (int i = 0; i < arguments.count(); ++i) { - QString paramName = arguments.at(i).section('=', 0, 0); - QString paramValue = arguments.at(i).section('=', 1, 1); - // evaluate expression - if (paramValue.startsWith('%')) { - paramValue = sEngine.evaluate(paramValue.remove(0, 1)).toString(); - if (!sEngine.hasUncaughtException()) arguments[i] = paramName + '=' + paramValue; - } - } - - ui.parameters->setText(arguments.join(" ")); ui.extension->setText(m_view.size_list->currentItem()->data(ExtensionRole).toString()); ui.profile_name->setFocus(); @@ -399,7 +383,24 @@ profileElement.setAttribute("category", newGroupName); profileElement.setAttribute("destinationid", newMetaGroupId); profileElement.setAttribute("extension", ui.extension->text().simplified()); - profileElement.setAttribute("args", ui.parameters->toPlainText().simplified()); + QString args = ui.parameters->toPlainText().simplified(); + profileElement.setAttribute("args", args); + if (args.contains("%bitrate")) { + // profile has a variable bitrate + profileElement.setAttribute("defaultbitrate", m_view.comboBitrates->currentText()); + QStringList bitrateValues; + for (int i = 0; i < m_view.comboBitrates->count(); i++) + bitrateValues << m_view.comboBitrates->itemText(i); + profileElement.setAttribute("bitrates", bitrateValues.join(",")); + } + if (args.contains("%audiobitrate")) { + // profile has a variable bitrate + profileElement.setAttribute("defaultaudiobitrate", m_view.comboAudioBitrates->currentText()); + QStringList bitrateValues; + for (int i = 0; i < m_view.comboAudioBitrates->count(); i++) + bitrateValues << m_view.comboAudioBitrates->itemText(i); + profileElement.setAttribute("audiobitrates", bitrateValues.join(",")); + } doc.appendChild(profileElement); saveProfile(doc.documentElement()); @@ -487,6 +488,10 @@ profileElement.setAttribute("destinationid", "favorites"); profileElement.setAttribute("extension", extension); profileElement.setAttribute("args", params); + profileElement.setAttribute("bitrates", item->data(BitratesRole).toStringList().join(",")); + profileElement.setAttribute("defaultbitrate", item->data(DefaultBitrateRole).toString()); + profileElement.setAttribute("audiobitrates", item->data(AudioBitratesRole).toStringList().join(",")); + profileElement.setAttribute("defaultaudiobitrate", item->data(DefaultAudioBitrateRole).toString()); doc.appendChild(profileElement); saveProfile(doc.documentElement()); parseProfiles(m_view.destination_list->itemData(m_view.destination_list->currentIndex(), Qt::UserRole).toString(), currentGroup, currentProfile); @@ -575,7 +580,25 @@ profileElement.setAttribute("category", newGroupName); profileElement.setAttribute("destinationid", newMetaGroupId); profileElement.setAttribute("extension", ui.extension->text().simplified()); - profileElement.setAttribute("args", ui.parameters->toPlainText().simplified()); + QString args = ui.parameters->toPlainText().simplified(); + profileElement.setAttribute("args", args); + if (args.contains("%bitrate")) { + // profile has a variable bitrate + profileElement.setAttribute("defaultbitrate", m_view.comboBitrates->currentText()); + QStringList bitrateValues; + for (int i = 0; i < m_view.comboBitrates->count(); i++) + bitrateValues << m_view.comboBitrates->itemText(i); + profileElement.setAttribute("bitrates", bitrateValues.join(",")); + } + if (args.contains("%audiobitrate")) { + // profile has a variable bitrate + profileElement.setAttribute("defaultaudiobitrate", m_view.comboAudioBitrates->currentText()); + QStringList bitrateValues; + for (int i = 0; i < m_view.comboAudioBitrates->count(); i++) + bitrateValues << m_view.comboAudioBitrates->itemText(i); + profileElement.setAttribute("audiobitrates", bitrateValues.join(",")); + } + profiles.appendChild(profileElement); //QCString save = doc.toString().utf8(); @@ -1497,6 +1520,10 @@ item->setData(RenderRole, "avformat"); item->setData(StandardRole, standard); item->setData(ParamsRole, params); + item->setData(BitratesRole, profile.attribute("bitrates").split(',', QString::SkipEmptyParts)); + item->setData(DefaultBitrateRole, profile.attribute("defaultbitrate")); + item->setData(AudioBitratesRole, profile.attribute("audiobitrates").split(',', QString::SkipEmptyParts)); + item->setData(DefaultAudioBitrateRole, profile.attribute("defaultaudiobitrate")); if (profile.hasAttribute("url")) item->setData(ExtraRole, profile.attribute("url")); if (editable) { item->setData(EditableRole, exportFile); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <j-...@us...> - 2011-10-31 11:10:02
|
Revision: 6012 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=6012&view=rev Author: j-b-m Date: 2011-10-31 11:09:56 +0000 (Mon, 31 Oct 2011) Log Message: ----------- Fix crash when clicking the render button Modified Paths: -------------- trunk/kdenlive/src/renderwidget.cpp Modified: trunk/kdenlive/src/renderwidget.cpp =================================================================== --- trunk/kdenlive/src/renderwidget.cpp 2011-10-31 07:54:44 UTC (rev 6011) +++ trunk/kdenlive/src/renderwidget.cpp 2011-10-31 11:09:56 UTC (rev 6012) @@ -91,13 +91,39 @@ m_view.buttonFavorite->setToolTip(i18n("Copy profile to favorites")); m_view.advanced_params->setMaximumHeight(QFontMetrics(font()).lineSpacing() * 5); - + + m_view.buttonRender->setEnabled(false); + m_view.buttonGenerateScript->setEnabled(false); + m_view.rescale_box->setEnabled(false); + m_view.guides_box->setVisible(false); + m_view.open_dvd->setVisible(false); + m_view.create_chapter->setVisible(false); + m_view.open_browser->setVisible(false); + m_view.error_box->setVisible(false); + m_view.tc_type->setEnabled(false); + m_view.checkTwoPass->setEnabled(false); + if (KdenliveSettings::showrenderparams()) { m_view.buttonInfo->setDown(true); } else m_view.advanced_params->hide(); m_view.proxy_render->setHidden(!enableProxy); + KColorScheme scheme(palette().currentColorGroup(), KColorScheme::Window, KSharedConfig::openConfig(KdenliveSettings::colortheme())); + QColor bg = scheme.background(KColorScheme::NegativeBackground).color(); + m_view.errorBox->setStyleSheet(QString("QGroupBox { background-color: rgb(%1, %2, %3); border-radius: 5px;}; ").arg(bg.red()).arg(bg.green()).arg(bg.blue())); + int height = QFontInfo(font()).pixelSize(); + m_view.errorIcon->setPixmap(KIcon("dialog-warning").pixmap(height, height)); + m_view.errorBox->setHidden(true); + +#if KDE_IS_VERSION(4,7,0) + m_infoMessage = new KMessageWidget; + QGridLayout *s = static_cast <QGridLayout*> (m_view.tab->layout()); + s->addWidget(m_infoMessage, 16, 0, 1, -1); + m_infoMessage->setCloseButtonVisible(false); + m_infoMessage->hide(); +#endif + m_view.encoder_threads->setMaximum(QThread::idealThreadCount()); m_view.encoder_threads->setValue(KdenliveSettings::encodethreads()); connect(m_view.encoder_threads, SIGNAL(valueChanged(int)), this, SLOT(slotUpdateEncodeThreads(int))); @@ -119,13 +145,6 @@ m_view.format_list->setAlternatingRowColors(true); m_view.size_list->setAlternatingRowColors(true); - KColorScheme scheme(palette().currentColorGroup(), KColorScheme::Window, KSharedConfig::openConfig(KdenliveSettings::colortheme())); - QColor bg = scheme.background(KColorScheme::NegativeBackground).color(); - m_view.errorBox->setStyleSheet(QString("QGroupBox { background-color: rgb(%1, %2, %3); border-radius: 5px;}; ").arg(bg.red()).arg(bg.green()).arg(bg.blue())); - int height = QFontInfo(font()).pixelSize(); - m_view.errorIcon->setPixmap(KIcon("dialog-warning").pixmap(height, height)); - m_view.errorBox->setHidden(true); - connect(m_view.export_audio, SIGNAL(stateChanged(int)), this, SLOT(slotUpdateAudioLabel(int))); m_view.export_audio->setCheckState(Qt::PartiallyChecked); @@ -172,17 +191,6 @@ connect(m_view.tc_overlay, SIGNAL(toggled(bool)), m_view.tc_type, SLOT(setEnabled(bool))); - m_view.buttonRender->setEnabled(false); - m_view.buttonGenerateScript->setEnabled(false); - m_view.rescale_box->setEnabled(false); - m_view.guides_box->setVisible(false); - m_view.open_dvd->setVisible(false); - m_view.create_chapter->setVisible(false); - m_view.open_browser->setVisible(false); - m_view.error_box->setVisible(false); - m_view.tc_type->setEnabled(false); - m_view.checkTwoPass->setEnabled(false); - m_view.splitter->setStretchFactor(1, 5); m_view.splitter->setStretchFactor(0, 2); @@ -223,13 +231,6 @@ focusFirstVisibleItem(); adjustSize(); - -#if KDE_IS_VERSION(4,7,0) - m_infoMessage = new KMessageWidget; - QGridLayout *s = static_cast <QGridLayout*> (m_view.tab->layout()); - s->addWidget(m_infoMessage, 12, 0, 1, -1); - m_infoMessage->hide(); -#endif } QSize RenderWidget::sizeHint() const This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |