page4->setTitle(i18n("Creating DVD Image"));
m_status.setupUi(page4);
m_status.error_box->setHidden(true);
+ m_status.error_box->setTabBarHidden(true);
m_status.tmp_folder->setUrl(KUrl(KdenliveSettings::currenttmpfolder()));
m_status.tmp_folder->setMode(KFile::Directory | KFile::ExistingOnly);
m_status.iso_image->setUrl(KUrl(QDir::homePath() + "/untitled.iso"));
m_pageChapters->setVobFiles(m_pageVob->isPal(), m_pageVob->isWide(), m_pageVob->selectedUrls(), m_pageVob->durations(), m_pageVob->chapters());
} else if (page == 2) {
m_pageChapters->stopMonitor();
+ m_pageVob->updateChapters(m_pageChapters->chaptersData());
m_pageMenu->setTargets(m_pageChapters->selectedTitles(), m_pageChapters->selectedTargets());
m_pageMenu->changeProfile(m_pageVob->isPal());
}
void DvdWizard::generateDvd()
{
m_status.error_box->setHidden(true);
+ m_status.error_box->setCurrentIndex(0);
+ m_status.error_box->setTabBarHidden(true);
+ m_status.menu_file->clear();
+ m_status.dvd_file->clear();
KTemporaryFile temp1;
temp1.setSuffix(".png");
//temp1.setAutoRemove(false);
if (!m_pageMenu->menuMovie()) {
// create menu vob file
QListWidgetItem *vobitem = m_status.job_progress->item(1);
- m_status.job_progress->setCurrentRow(1);
+ m_status.job_progress->setCurrentRow(1);
vobitem->setIcon(KIcon("system-run"));
qApp->processEvents();
QStringList args;
args.append("-profile");
if (m_pageMenu->isPalMenu()) args.append("dv_pal");
- else args.append("dv_ntsc");
+ else args.append("dv_ntsc");
args.append(temp4.fileName());
args.append("in=0");
args.append("out=100");
} else {
kDebug() << "/// RENDERING MENU vob timed out";
vobitem->setIcon(KIcon("dialog-close"));
- m_status.error_log->append("<a name=\"result\" /><br><strong>" + i18n("Rendering job timed out"));
+ m_status.error_log->append("<a name=\"result\" /><br /><strong>" + i18n("Rendering job timed out"));
m_status.error_log->scrollToAnchor("result");
m_status.error_box->setHidden(false);
m_status.button_start->setEnabled(true);
// create xml spumux file
QListWidgetItem *spuitem = m_status.job_progress->item(2);
- m_status.job_progress->setCurrentRow(2);
+ m_status.job_progress->setCurrentRow(2);
spuitem->setIcon(KIcon("system-run"));
qApp->processEvents();
QDomDocument doc;
//int target = it.key();
// TODO: solve play all button
//if (target == 0) target = 1;
+
+ // We need to make sure that the y coordinate is a multiple of 2, otherwise button may not be displayed
buttonsTarget.append(it.key());
but.setAttribute("x0", QString::number(r.x()));
- but.setAttribute("y0", QString::number(r.y()));
+ but.setAttribute("y0", QString::number((int) 2 * (r.y() / 2)));
but.setAttribute("x1", QString::number(r.right()));
- but.setAttribute("y1", QString::number(r.bottom()));
+ but.setAttribute("y1", QString::number((int) 2 * (r.bottom() / 2)));
spu.appendChild(but);
i++;
}
QProcess spumux;
+#if QT_VERSION >= 0x040600
+ QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
+ env.insert("VIDEO_FORMAT", m_pageVob->isPal() ? "PAL" : "NTSC");
+ spumux.setProcessEnvironment(env);
+#else
+ QStringList env = QProcess::systemEnvironment();
+ env << QString("VIDEO_FORMAT=") + QString(m_pageVob->isPal() ? "PAL" : "NTSC");
+ spumux.setEnvironment(env);
+#endif
+
if (m_pageMenu->menuMovie()) spumux.setStandardInputFile(m_pageMenu->menuMoviePath());
else spumux.setStandardInputFile(temp5.fileName());
spumux.setStandardOutputFile(m_menuFile.fileName());
spuitem->setIcon(KIcon("dialog-close"));
m_status.error_log->append(result);
m_status.error_box->setHidden(false);
+ m_status.error_box->setTabBarHidden(false);
+ m_status.menu_file->setPlainText(m_menuFile.readAll());
+ m_status.dvd_file->setPlainText(m_authorFile.readAll());
+ m_status.button_start->setEnabled(true);
kDebug() << "/// RENDERING SPUMUX MENU crashed";
return;
}
} else {
kDebug() << "/// RENDERING SPUMUX MENU timed out";
spuitem->setIcon(KIcon("dialog-close"));
- m_status.error_log->append("<a name=\"result\" /><br><strong>" + i18n("Menu job timed out"));
+ m_status.error_log->append("<a name=\"result\" /><br /><strong>" + i18n("Menu job timed out"));
m_status.error_log->scrollToAnchor("result");
m_status.error_box->setHidden(false);
+ m_status.error_box->setTabBarHidden(false);
+ m_status.menu_file->setPlainText(m_menuFile.readAll());
+ m_status.dvd_file->setPlainText(m_authorFile.readAll());
+ m_status.button_start->setEnabled(true);
return;
}
}
QDomElement menuvob = dvddoc.createElement("vob");
menuvob.setAttribute("file", m_menuFile.fileName());
- menuvob.setAttribute("pause", "inf");
pgc.appendChild(menuvob);
+
+ if (m_pageMenu->loopMovie()) {
+ QDomElement menuloop = dvddoc.createElement("post");
+ nametext = dvddoc.createTextNode("jump titleset 1 menu;");
+ menuloop.appendChild(nametext);
+ pgc.appendChild(menuloop);
+ } else menuvob.setAttribute("pause", "inf");
+
}
QDomElement titles = dvddoc.createElement("titles");
QDomText call;
if (i == voburls.count() - 1) call = dvddoc.createTextNode("{g1 = 0; call menu;}");
else {
- call = dvddoc.createTextNode("{if ( g1 eq 999 ) { call menu; } jump title " + QString::number(i + 2) + ";}");
+ call = dvddoc.createTextNode("{if ( g1 eq 999 ) { call menu; } jump title " + QString::number(i + 2).rightJustified(2, '0') + ";}");
}
post.appendChild(call);
pgc2.appendChild(post);
}
m_creationLog.clear();
m_dvdauthor = new QProcess(this);
+ // Set VIDEO_FORMAT variable (required by dvdauthor 0.7)
+#if QT_VERSION >= 0x040600
+ QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
+ env.insert("VIDEO_FORMAT", m_pageVob->isPal() ? "PAL" : "NTSC");
+ m_dvdauthor->setProcessEnvironment(env);
+#else
+ QStringList env = QProcess::systemEnvironment();
+ env << QString("VIDEO_FORMAT=") + QString(m_pageVob->isPal() ? "PAL" : "NTSC");
+ m_dvdauthor->setEnvironment(env);
+#endif
connect(m_dvdauthor, SIGNAL(finished(int , QProcess::ExitStatus)), this, SLOT(slotRenderFinished(int, QProcess::ExitStatus)));
connect(m_dvdauthor, SIGNAL(readyReadStandardOutput()), this, SLOT(slotShowRenderInfo()));
m_dvdauthor->setProcessChannelMode(QProcess::MergedChannels);
QListWidgetItem *authitem = m_status.job_progress->item(3);
if (status == QProcess::CrashExit || exitCode != 0) {
QString result(m_dvdauthor->readAllStandardError());
- result.append("<a name=\"result\" /><br><strong>");
- result.append(i18n("DVDAuthor process crashed."));
+ result.append("<a name=\"result\" /><br /><strong>");
+ result.append(i18n("DVDAuthor process crashed.</strong><br />"));
m_status.error_log->append(result);
m_status.error_log->scrollToAnchor("result");
m_status.error_box->setHidden(false);
+ m_status.error_box->setTabBarHidden(false);
+ m_status.menu_file->setPlainText(m_menuFile.readAll());
+ m_status.dvd_file->setPlainText(m_authorFile.readAll());
kDebug() << "DVDAuthor process crashed";
authitem->setIcon(KIcon("dialog-close"));
m_dvdauthor->close();
m_status.error_log->append(m_creationLog + "<a name=\"result\" /><br /><strong>" + i18n("DVD structure broken"));
m_status.error_log->scrollToAnchor("result");
m_status.error_box->setHidden(false);
+ m_status.error_box->setTabBarHidden(false);
+ m_status.menu_file->setPlainText(m_menuFile.readAll());
+ m_status.dvd_file->setPlainText(m_authorFile.readAll());
kDebug() << "DVDAuthor process crashed";
authitem->setIcon(KIcon("dialog-close"));
m_status.button_start->setEnabled(true);
m_status.error_log->append(result);
m_status.error_log->scrollToAnchor("result");
m_status.error_box->setHidden(false);
+ m_status.error_box->setTabBarHidden(false);
+ m_status.menu_file->setPlainText(m_menuFile.readAll());
+ m_status.dvd_file->setPlainText(m_authorFile.readAll());
m_mkiso->close();
delete m_mkiso;
m_mkiso = NULL;
m_status.error_log->append(m_creationLog + "<br /><a name=\"result\" /><strong>" + i18n("DVD ISO is broken") + "</strong>");
m_status.error_log->scrollToAnchor("result");
m_status.error_box->setHidden(false);
+ m_status.error_box->setTabBarHidden(false);
+ m_status.menu_file->setPlainText(m_menuFile.readAll());
+ m_status.dvd_file->setPlainText(m_authorFile.readAll());
isoitem->setIcon(KIcon("dialog-close"));
cleanup();
return;
m_status.job_progress->item(i)->setIcon(KIcon());
QString warnMessage;
if (KIO::NetAccess::exists(KUrl(m_status.tmp_folder->url().path(KUrl::AddTrailingSlash) + "DVD"), KIO::NetAccess::SourceSide, this))
- warnMessage.append(i18n("Folder %1 already exists. Overwrite?" + '\n', m_status.tmp_folder->url().path(KUrl::AddTrailingSlash) + "DVD"));
+ warnMessage.append(i18n("Folder %1 already exists. Overwrite?\n", m_status.tmp_folder->url().path(KUrl::AddTrailingSlash) + "DVD"));
if (KIO::NetAccess::exists(KUrl(m_status.iso_image->url().path()), KIO::NetAccess::SourceSide, this))
warnMessage.append(i18n("Image file %1 already exists. Overwrite?", m_status.iso_image->url().path()));