void CountProducerWidget::loadPreset(Mlt::Properties& p) { if (!p.get("direction") || !p.get("style")) return; int index = -1; index = ui->directionCombo->findData(QVariant(p.get("direction"))); ui->directionCombo->setCurrentIndex(index); index = ui->styleCombo->findData(QVariant(p.get("style"))); ui->styleCombo->setCurrentIndex(index); index = ui->soundCombo->findData(QVariant(p.get("sound"))); ui->soundCombo->setCurrentIndex(index); index = ui->backgroundCombo->findData(QVariant(p.get("background"))); ui->backgroundCombo->setCurrentIndex(index); ui->dropCheckBox->setChecked(p.get("drop")); ui->durationSpinBox->setValue(p.get_int("length")); if (m_producer) { m_producer->set("direction", p.get("direction")); m_producer->set("style", p.get("style")); m_producer->set("sound", p.get("sound")); m_producer->set("background", p.get("background")); m_producer->set("drop", p.get("drop")); setLength(producer(), ui->durationSpinBox->value()); m_producer->set(kShotcutDetailProperty, detail().toUtf8().constData()); emit producerChanged(producer()); } }
void Video4LinuxWidget::loadPreset(Mlt::Properties& p) { ui->v4lLineEdit->setText(p.get("device")); ui->v4lWidthSpinBox->setValue(p.get_int("width")); ui->v4lHeightSpinBox->setValue(p.get_int("height")); ui->v4lFramerateSpinBox->setValue(p.get_double("framerate")); QString s(p.get("standard")); for (int i = 0; i < ui->v4lStandardCombo->count(); i++) { if (ui->v4lStandardCombo->itemText(i) == s) { ui->v4lStandardCombo->setCurrentIndex(i); break; } } ui->v4lChannelSpinBox->setValue(p.get_int("channel")); ui->v4lAudioComboBox->setCurrentIndex(p.get_int("audio_ix")); on_v4lAudioComboBox_activated(p.get_int("audio_ix")); }
void AlsaWidget::loadPreset(Mlt::Properties& p) { QString s(p.get("resource")); int i = s.indexOf(':'); if (i > -1) ui->lineEdit->setText(s.mid(i + 1)); if (p.get("channels")) ui->alsaChannelsSpinBox->setValue(p.get_int("channels")); }
void ColorBarsWidget::loadPreset(Mlt::Properties& p) { ui->comboBox->setCurrentIndex(p.get_int(kParamType)); }
void EncodeDock::loadPresetFromProperties(Mlt::Properties& preset) { int audioQuality = -1; int videoQuality = -1; QStringList other; ui->disableAudioCheckbox->setChecked(preset.get_int("an")); ui->disableVideoCheckbox->setChecked(preset.get_int("vn")); m_extension.clear(); for (int i = 0; i < preset.count(); i++) { QString name(preset.get_name(i)); if (name == "f") { for (int i = 0; i < ui->formatCombo->count(); i++) if (ui->formatCombo->itemText(i) == preset.get("f")) { ui->formatCombo->blockSignals(true); ui->formatCombo->setCurrentIndex(i); ui->formatCombo->blockSignals(false); break; } } else if (name == "acodec") { for (int i = 0; i < ui->audioCodecCombo->count(); i++) if (ui->audioCodecCombo->itemText(i) == preset.get("acodec")) ui->audioCodecCombo->setCurrentIndex(i); if (ui->audioCodecCombo->currentText() == "libopus") // reset libopus to VBR (its default) ui->audioRateControlCombo->setCurrentIndex(RateControlQuality); } else if (name == "vcodec") { for (int i = 0; i < ui->videoCodecCombo->count(); i++) if (ui->videoCodecCombo->itemText(i) == preset.get("vcodec")) ui->videoCodecCombo->setCurrentIndex(i); } else if (name == "ar") ui->sampleRateCombo->lineEdit()->setText(preset.get("ar")); else if (name == "ab") ui->audioBitrateCombo->lineEdit()->setText(preset.get("ab")); else if (name == "vb") { ui->videoRateControlCombo->setCurrentIndex(RateControlAverage); ui->videoBitrateCombo->lineEdit()->setText(preset.get("vb")); } else if (name == "g") ui->gopSpinner->setValue(preset.get_int("g")); else if (name == "bf") ui->bFramesSpinner->setValue(preset.get_int("bf")); else if (name == "deinterlace") { ui->scanModeCombo->setCurrentIndex(preset.get_int("deinterlace")); ui->scanModeCombo->setEnabled(false); } else if (name == "progressive") { ui->scanModeCombo->setCurrentIndex(preset.get_int("progressive")); ui->scanModeCombo->setEnabled(false); } else if (name == "top_field_first") { ui->fieldOrderCombo->setCurrentIndex(preset.get_int("top_field_first")); } else if (name == "width") { ui->widthSpinner->setValue(preset.get_int("width")); ui->widthSpinner->setEnabled(false); } else if (name == "height") { ui->heightSpinner->setValue(preset.get_int("height")); ui->heightSpinner->setEnabled(false); } else if (name == "aspect") { double dar = preset.get_double("aspect"); switch (int(dar * 100)) { case 133: ui->aspectNumSpinner->setValue(4); ui->aspectDenSpinner->setValue(3); break; case 177: ui->aspectNumSpinner->setValue(16); ui->aspectDenSpinner->setValue(9); break; case 56: ui->aspectNumSpinner->setValue(9); ui->aspectDenSpinner->setValue(16); break; default: ui->aspectNumSpinner->setValue(dar * 1000); ui->aspectDenSpinner->setValue(1000); break; } ui->aspectNumSpinner->setEnabled(false); ui->aspectDenSpinner->setEnabled(false); } else if (name == "r") { ui->fpsSpinner->setValue(preset.get_double("r")); ui->fpsSpinner->setEnabled(false); } else if (name == "pix_fmt") { QString pix_fmt(preset.get("pix_fmt")); if (pix_fmt != "yuv420p") other.append(QString("%1=%2").arg(name).arg(pix_fmt)); } else if (name == "pass") ui->dualPassCheckbox->setChecked(true); else if (name == "aq") { ui->audioRateControlCombo->setCurrentIndex(RateControlQuality); audioQuality = preset.get_int("aq"); } else if (name == "vbr") { // libopus rate mode QString value(preset.get("vbr")); if (value == "off") ui->audioRateControlCombo->setCurrentIndex(RateControlConstant); else if (value == "constrained") ui->audioRateControlCombo->setCurrentIndex(RateControlAverage); else ui->audioRateControlCombo->setCurrentIndex(RateControlQuality); } else if (name == "vq") { ui->videoRateControlCombo->setCurrentIndex(RateControlQuality); videoQuality = preset.get_int("vq"); } else if (name == "qscale") { ui->videoRateControlCombo->setCurrentIndex(RateControlQuality); videoQuality = preset.get_int("qscale"); } else if (name == "crf") { ui->videoRateControlCombo->setCurrentIndex(RateControlQuality); videoQuality = preset.get_int("crf"); } else if (name == "bufsize") { // traditionally this means video only ui->videoRateControlCombo->setCurrentIndex(RateControlConstant); ui->videoBufferSizeSpinner->setValue(getBufferSize(preset, "bufsize")); } else if (name == "vbufsize") { ui->videoRateControlCombo->setCurrentIndex(RateControlConstant); ui->videoBufferSizeSpinner->setValue(getBufferSize(preset, "vbufsize")); } else if (name == "threads") { // TODO: should we save the thread count and restore it if preset is not 1? if (preset.get_int("threads") == 1) ui->videoCodecThreadsSpinner->setValue(1); } else if (name == "meta.preset.extension") { m_extension = preset.get("meta.preset.extension"); } else if (name == "deinterlace_method") { name = preset.get("deinterlace_method"); if (name == "onefield") ui->deinterlacerCombo->setCurrentIndex(0); else if (name == "linearblend") ui->deinterlacerCombo->setCurrentIndex(1); else if (name == "yadif-nospatial") ui->deinterlacerCombo->setCurrentIndex(2); else if (name == "yadif") ui->deinterlacerCombo->setCurrentIndex(3); ui->deinterlacerCombo->setDisabled(true); } else if (name == "rescale") { name = preset.get("rescale"); if (name == "nearest" || name == "neighbor") ui->interpolationCombo->setCurrentIndex(0); else if (name == "bilinear") ui->interpolationCombo->setCurrentIndex(1); else if (name == "bicubic") ui->interpolationCombo->setCurrentIndex(2); else if (name == "hyper" || name == "lanczos") ui->interpolationCombo->setCurrentIndex(3); ui->interpolationCombo->setDisabled(true); } else if (name != "an" && name != "vn" && name != "threads" && !name.startsWith('_') && !name.startsWith("meta.preset.")) { other.append(QString("%1=%2").arg(name).arg(preset.get(i))); } } ui->advancedTextEdit->setPlainText(other.join("\n")); // normalize the quality settings // quality depends on codec if (ui->audioRateControlCombo->currentIndex() == RateControlQuality && audioQuality > -1) { const QString& acodec = ui->audioCodecCombo->currentText(); if (acodec == "libmp3lame") // 0 (best) - 9 (worst) ui->audioQualitySpinner->setValue(TO_RELATIVE(9, 0, audioQuality)); if (acodec == "libvorbis" || acodec == "vorbis") // 0 (worst) - 10 (best) ui->audioQualitySpinner->setValue(TO_RELATIVE(0, 10, audioQuality)); else // aac: 0 (worst) - 500 (best) ui->audioQualitySpinner->setValue(TO_RELATIVE(0, 500, audioQuality)); } if (ui->videoRateControlCombo->currentIndex() == RateControlQuality && videoQuality > -1) { const QString& vcodec = ui->videoCodecCombo->currentText(); //val = min + (max - min) * paramval; if (vcodec == "libx264" || vcodec == "libx265") // 0 (best, 100%) - 51 (worst) ui->videoQualitySpinner->setValue(TO_RELATIVE(51, 0, videoQuality)); else if (vcodec.startsWith("libvpx")) // 0 (best, 100%) - 63 (worst) ui->videoQualitySpinner->setValue(TO_RELATIVE(63, 0, videoQuality)); else // 1 (best, NOT 100%) - 31 (worst) ui->videoQualitySpinner->setValue(TO_RELATIVE(31, 1, videoQuality)); } on_audioRateControlCombo_activated(ui->audioRateControlCombo->currentIndex()); on_videoRateControlCombo_activated(ui->videoRateControlCombo->currentIndex()); }
void DecklinkProducerWidget::loadPreset(Mlt::Properties& p) { ui->deviceCombo->setCurrentIndex(p.get_int("card")); ui->deviceCombo->setCurrentIndex(p.get_int("profile")); }