📄 quantizeparameters.cpp
字号:
(config->readBoolEntry("quantizedecounterpoint", false)); m_articulate->setChecked (config->readBoolEntry("quantizearticulate", true)); advanced = config->readBoolEntry("quantizeshowadvanced", false); } else { defaultType = (defaultQuantizer == Notation) ? 2 : (defaultQuantizer == Legato) ? 1 : 0; m_notationTarget->setChecked(defaultQuantizer == Notation); m_durationCheckBox->setChecked(false); m_simplicityCombo->setCurrentItem(2); m_maxTuplet->setCurrentItem(2); m_counterpoint->setChecked(false); m_rebeam->setChecked(true); m_makeViable->setChecked(defaultQuantizer == Notation); m_deCounterpoint->setChecked(defaultQuantizer == Notation); m_articulate->setChecked(true); advanced = false; } if (preamble || advanced) { m_postProcessingBox->show(); } else { m_postProcessingBox->hide(); } for (unsigned int i = 0; i < m_standardQuantizations.size(); ++i) { timeT time = m_standardQuantizations[i]; timeT error = 0; QPixmap pmap = NotePixmapFactory::toQPixmap (NotePixmapFactory::makeNoteMenuPixmap(time, error)); QString label = NotationStrings::makeNoteMenuLabel(time, false, error); if (error == 0) { m_gridUnitCombo->insertItem(pmap, label); m_notationUnitCombo->insertItem(pmap, label); } else { m_gridUnitCombo->insertItem(noMap, QString("%1").arg(time)); m_notationUnitCombo->insertItem(noMap, QString("%1").arg(time)); } if (m_standardQuantizations[i] == defaultUnit) { m_gridUnitCombo->setCurrentItem(m_gridUnitCombo->count() - 1); m_notationUnitCombo->setCurrentItem (m_notationUnitCombo->count() - 1); } } for (int i = -100; i <= 200; i += 10) { m_swingCombo->insertItem(i == 0 ? i18n("None") : QString("%1%").arg(i)); if (i == defaultSwing) m_swingCombo->setCurrentItem(m_swingCombo->count() - 1); } for (int i = 10; i <= 100; i += 10) { m_iterativeCombo->insertItem(i == 100 ? i18n("Full quantize") : QString("%1%").arg(i)); if (i == defaultIterate) m_iterativeCombo->setCurrentItem(m_iterativeCombo->count() - 1); } switch (defaultType) { case 0: // grid m_gridBox->show(); m_swingLabel->show(); m_swingCombo->show(); m_iterativeLabel->show(); m_iterativeCombo->show(); m_notationBox->hide(); m_durationCheckBox->show(); m_typeCombo->setCurrentItem(0); break; case 1: // legato m_gridBox->show(); m_swingLabel->hide(); m_swingCombo->hide(); m_iterativeLabel->hide(); m_iterativeCombo->hide(); m_notationBox->hide(); m_durationCheckBox->hide(); m_typeCombo->setCurrentItem(1); case 2: // notation m_gridBox->hide(); m_notationBox->show(); m_typeCombo->setCurrentItem(2); break; } connect(m_typeCombo, SIGNAL(activated(int)), SLOT(slotTypeChanged(int)));}Quantizer *QuantizeParameters::getQuantizer() const{ //!!! Excessive duplication with // EventQuantizeCommand::makeQuantizer in editcommands.cpp int type = m_typeCombo->currentItem(); timeT unit = 0; if (type == 0 || type == 1) { unit = m_standardQuantizations[m_gridUnitCombo->currentItem()]; } else { unit = m_standardQuantizations[m_notationUnitCombo->currentItem()]; } Quantizer *quantizer = 0; int swing = m_swingCombo->currentItem(); swing *= 10; swing -= 100; int iterate = m_iterativeCombo->currentItem(); iterate *= 10; iterate += 10; if (type == 0) { if (m_notationTarget->isChecked()) { quantizer = new BasicQuantizer (Quantizer::RawEventData, Quantizer::NotationPrefix, unit, m_durationCheckBox->isChecked(), swing, iterate); } else { quantizer = new BasicQuantizer (Quantizer::RawEventData, Quantizer::RawEventData, unit, m_durationCheckBox->isChecked(), swing, iterate); } } else if (type == 1) { if (m_notationTarget->isChecked()) { quantizer = new LegatoQuantizer (Quantizer::RawEventData, Quantizer::NotationPrefix, unit); } else { quantizer = new LegatoQuantizer (Quantizer::RawEventData, Quantizer::RawEventData, unit); } } else { NotationQuantizer *nq; if (m_notationTarget->isChecked()) { nq = new NotationQuantizer(); } else { nq = new NotationQuantizer (Quantizer::RawEventData, Quantizer::RawEventData); } nq->setUnit(unit); nq->setSimplicityFactor(m_simplicityCombo->currentItem() + 11); nq->setMaxTuplet(m_maxTuplet->currentItem() + 1); nq->setContrapuntal(m_counterpoint->isChecked()); nq->setArticulate(m_articulate->isChecked()); quantizer = nq; } if (m_configCategory) { KConfig *config = kapp->config(); config->setGroup(m_configCategory); config->writeEntry("quantizetype", type); config->writeEntry("quantizeunit", unit); config->writeEntry("quantizeswing", swing); config->writeEntry("quantizeiterate", iterate); config->writeEntry("quantizenotationonly", m_notationTarget->isChecked()); if (type == 0) { config->writeEntry("quantizedurations", m_durationCheckBox->isChecked()); } else { config->writeEntry("quantizesimplicity", m_simplicityCombo->currentItem() + 11); config->writeEntry("quantizemaxtuplet", m_maxTuplet->currentItem() + 1); config->writeEntry("quantizecounterpoint", m_counterpoint->isChecked()); config->writeEntry("quantizearticulate", m_articulate->isChecked()); } config->writeEntry("quantizerebeam", m_rebeam->isChecked()); config->writeEntry("quantizemakeviable", m_makeViable->isChecked()); config->writeEntry("quantizedecounterpoint", m_deCounterpoint->isChecked()); } return quantizer;}voidQuantizeParameters::slotAdvancedChanged(){ if (m_postProcessingBox->isVisible()) { if (m_advancedButton) m_advancedButton->setText(i18n("Show Advanced Options")); m_postProcessingBox->hide(); } else { if (m_advancedButton) m_advancedButton->setText(i18n("Hide Advanced Options")); m_postProcessingBox->show(); } adjustSize();}voidQuantizeParameters::showAdvanced(bool show){ if (show) { m_postProcessingBox->show(); } else { m_postProcessingBox->hide(); } adjustSize();}voidQuantizeParameters::slotTypeChanged(int index){ if (index == 0) { m_gridBox->show(); m_swingLabel->show(); m_swingCombo->show(); m_iterativeLabel->show(); m_iterativeCombo->show(); m_durationCheckBox->show(); m_notationBox->hide(); } else if (index == 1) { m_gridBox->show(); m_swingLabel->hide(); m_swingCombo->hide(); m_iterativeLabel->hide(); m_iterativeCombo->hide(); m_durationCheckBox->hide(); m_notationBox->hide(); } else { m_gridBox->hide(); m_notationBox->show(); }}}#include "QuantizeParameters.moc"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -