⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editview.cpp

📁 LINUX下的混音软件
💻 CPP
📖 第 1 页 / 共 4 页
字号:
        m_controlRulers->setCurrentPage(index);    } else {        PropertyControlRuler* controlRuler = makePropertyControlRuler(propertyName);        addControlRuler(controlRuler);    }    if (!m_controlRulers->isVisible()) {        m_controlRulers->show();    }    updateBottomWidgetGeometry();}void EditView::slotShowVelocityControlRuler(){    showPropertyControlRuler(BaseProperties::VELOCITY);    Segment &seg = getCurrentStaff()->getSegment();    seg.setViewFeatures(seg.getViewFeatures() | FeatureShowVelocity);    getDocument()->slotDocumentModified();}void EditView::slotShowControllerEventsRuler(){    //     int index = 0;    //     ControlRuler* existingRuler = findRuler(propertyName, index);    //     if (existingRuler) {    //         m_controlRulers->setCurrentPage(index);    //     } else {    //         ControllerEventsRuler* controlRuler = makeControllerEventRuler();    //         addControlRuler(controlRuler);    //     }    //     if (!m_controlRulers->isVisible()) {    //         m_controlRulers->show();    //     }    //     updateBottomWidgetGeometry();}void EditView::slotShowPropertyControlRuler(){    /*        KDialogBase propChooserDialog(this, "propertychooserdialog", true, i18n("Select event property"),                                      KDialogBase::Ok | KDialogBase::Cancel, KDialogBase::Ok);                KListBox* propList = new KListBox(propChooserDialog.makeVBoxMainWidget());        new QListBoxRGProperty(propList, BaseProperties::VELOCITY.c_str());             int rc = propChooserDialog.exec();        if (rc == QDialog::Accepted) {            // fix for KDE 3.0            //QListBoxRGProperty* item = dynamic_cast<QListBoxRGProperty*>(propList->selectedItem());            QListBoxRGProperty* item = dynamic_cast<QListBoxRGProperty*>                (propList->item(propList->currentItem()));                 if (item) {                PropertyName property = item->getPropertyName();                showPropertyControlRuler(property);            }        }    */}voidEditView::slotInsertControlRulerItem(){    ControllerEventsRuler* ruler = dynamic_cast<ControllerEventsRuler*>(getCurrentControlRuler());    if (ruler)        ruler->insertControllerEvent();}voidEditView::slotEraseControlRulerItem(){    ControllerEventsRuler* ruler = dynamic_cast<ControllerEventsRuler*>(getCurrentControlRuler());    if (ruler)        ruler->eraseControllerEvent();}voidEditView::slotStartControlLineItem(){    ControllerEventsRuler* ruler = dynamic_cast<ControllerEventsRuler*>(getCurrentControlRuler());    if (ruler)        ruler->startControlLine();}voidEditView::slotDrawPropertyLine(){    int index = 0;    PropertyControlRuler* ruler = dynamic_cast<PropertyControlRuler*>                                  (findRuler(BaseProperties::VELOCITY, index));    if (ruler)        ruler->startPropertyLine();}voidEditView::slotSelectAllProperties(){    int index = 0;    PropertyControlRuler* ruler = dynamic_cast<PropertyControlRuler*>                                  (findRuler(BaseProperties::VELOCITY, index));    if (ruler)        ruler->selectAllProperties();}voidEditView::slotClearControlRulerItem(){    ControllerEventsRuler* ruler = dynamic_cast<ControllerEventsRuler*>(getCurrentControlRuler());    if (ruler)        ruler->clearControllerEvents();}voidEditView::slotHalfSpeed(){    if (!m_currentEventSelection)        return ;    KTmpStatusMsg msg(i18n("Halving speed..."), this);    addCommandToHistory(        new RescaleCommand(*m_currentEventSelection,                           m_currentEventSelection->getTotalDuration() * 2,                           false));}voidEditView::slotDoubleSpeed(){    if (!m_currentEventSelection)        return ;    KTmpStatusMsg msg(i18n("Doubling speed..."), this);    addCommandToHistory(        new RescaleCommand(*m_currentEventSelection,                           m_currentEventSelection->getTotalDuration() / 2,                           false));}voidEditView::slotRescale(){    if (!m_currentEventSelection)        return ;    RescaleDialog dialog    (this,     &getDocument()->getComposition(),     m_currentEventSelection->getStartTime(),     m_currentEventSelection->getEndTime() -     m_currentEventSelection->getStartTime(),     true,     true);    if (dialog.exec() == QDialog::Accepted) {        KTmpStatusMsg msg(i18n("Rescaling..."), this);        addCommandToHistory(new RescaleCommand                            (*m_currentEventSelection,                             dialog.getNewDuration(),                             dialog.shouldCloseGap()));    }}void EditView::slotTranspose(){    if (!m_currentEventSelection)        return ;    m_config->setGroup(EditViewConfigGroup);    int dialogDefault = m_config->readNumEntry("lasttransposition", 0);    bool ok = false;    int semitones = QInputDialog::getInteger                    (i18n("Transpose"),                     i18n("By number of semitones: "),                     dialogDefault, -127, 127, 1, &ok, this);    if (!ok || semitones == 0) return;    m_config->setGroup(EditViewConfigGroup);    m_config->writeEntry("lasttransposition", semitones);    KTmpStatusMsg msg(i18n("Transposing..."), this);    addCommandToHistory(new TransposeCommand                        (semitones, *m_currentEventSelection));}void EditView::slotDiatonicTranspose(){    if (!m_currentEventSelection)        return ;    m_config->setGroup(EditViewConfigGroup);    IntervalDialog intervalDialog(this);    int ok = intervalDialog.exec();	//int dialogDefault = m_config->readNumEntry("lasttransposition", 0);    int semitones = intervalDialog.getChromaticDistance();    int steps = intervalDialog.getDiatonicDistance();    if (!ok || (semitones == 0 && steps == 0)) return;    m_config->setGroup(EditViewConfigGroup);    KTmpStatusMsg msg(i18n("Transposing..."), this);    if (intervalDialog.getChangeKey())    {		std::cout << "Transposing changing keys is not currently supported on selections" << std::endl;    }    else    {	// Transpose within key		//std::cout << "Transposing semitones, steps: " << semitones << ", " << steps << std::endl;		addCommandToHistory(new TransposeCommand                        (semitones, steps, *m_currentEventSelection));    }}void EditView::slotTransposeUp(){    if (!m_currentEventSelection)        return ;    KTmpStatusMsg msg(i18n("Transposing up one semitone..."), this);    addCommandToHistory(new TransposeCommand(1, *m_currentEventSelection));}void EditView::slotTransposeUpOctave(){    if (!m_currentEventSelection)        return ;    KTmpStatusMsg msg(i18n("Transposing up one octave..."), this);    addCommandToHistory(new TransposeCommand(12, *m_currentEventSelection));}void EditView::slotTransposeDown(){    if (!m_currentEventSelection)        return ;    KTmpStatusMsg msg(i18n("Transposing down one semitone..."), this);    addCommandToHistory(new TransposeCommand( -1, *m_currentEventSelection));}void EditView::slotTransposeDownOctave(){    if (!m_currentEventSelection)        return ;    KTmpStatusMsg msg(i18n("Transposing down one octave..."), this);    addCommandToHistory(new TransposeCommand( -12, *m_currentEventSelection));}void EditView::slotInvert(){    if (!m_currentEventSelection)        return ;    int semitones = 0;    KTmpStatusMsg msg(i18n("Inverting..."), this);    addCommandToHistory(new InvertCommand                        (semitones, *m_currentEventSelection));}void EditView::slotRetrograde(){    if (!m_currentEventSelection)        return ;    int semitones = 0;    KTmpStatusMsg msg(i18n("Retrograding..."), this);    addCommandToHistory(new RetrogradeCommand                        (semitones, *m_currentEventSelection));}void EditView::slotRetrogradeInvert(){    if (!m_currentEventSelection)        return ;    int semitones = 0;    KTmpStatusMsg msg(i18n("Retrograde inverting..."), this);    addCommandToHistory(new RetrogradeInvertCommand                        (semitones, *m_currentEventSelection));}void EditView::slotJogLeft(){    if (!m_currentEventSelection)        return ;    KTmpStatusMsg msg(i18n("Jogging left..."), this);    RG_DEBUG << "EditView::slotJogLeft" << endl;    addCommandToHistory(        new MoveCommand(*getCurrentSegment(),                        -Note(Note::Demisemiquaver).getDuration(),                        false,  // don't use notation timings                        *m_currentEventSelection));}void EditView::slotJogRight(){    if (!m_currentEventSelection)        return ;    KTmpStatusMsg msg(i18n("Jogging right..."), this);    RG_DEBUG << "EditView::slotJogRight" << endl;    addCommandToHistory(        new MoveCommand(*getCurrentSegment(),                        Note(Note::Demisemiquaver).getDuration(),                        false,  // don't use notation timings                        *m_currentEventSelection));}voidEditView::slotFlipForwards(){    RG_DEBUG << "EditView::slotFlipForwards" << endl;    ControlRuler* ruler = getCurrentControlRuler();    if (ruler) ruler->flipForwards();}voidEditView::slotFlipBackwards(){    RG_DEBUG << "EditView::slotFlipBackwards" << endl;    ControlRuler* ruler = getCurrentControlRuler();    if (ruler) ruler->flipBackwards();}ControlRuler* EditView::getCurrentControlRuler(){    return dynamic_cast<ControlRuler*>(m_controlRulers->currentPage());}ControlRuler* EditView::findRuler(PropertyName propertyName, int &index){    for(index = 0; index < m_controlRulers->count(); ++index) {        PropertyControlRuler* ruler = dynamic_cast<PropertyControlRuler*>(m_controlRulers->page(index));        if (ruler && ruler->getPropertyName() == propertyName) return ruler;    }    return 0;}ControlRuler* EditView::findRuler(const ControlParameter& controller, int &index){    for(index = 0; index < m_controlRulers->count(); ++index) {        ControllerEventsRuler* ruler = dynamic_cast<ControllerEventsRuler*>(m_controlRulers->page(index));        if (ruler && *(ruler->getControlParameter()) == controller) return ruler;    }    return 0;}PropertyControlRuler* EditView::makePropertyControlRuler(PropertyName propertyName){    QCanvas* controlRulerCanvas = new QCanvas(this);    QSize viewSize = getViewSize();    controlRulerCanvas->resize(viewSize.width(), ControlRuler::DefaultRulerHeight); // TODO - keep it in sync with main canvas size//     QCanvas* controlRulerCanvas = ControlRulerCanvasRepository::getCanvas(getCurrentSegment(), propertyName,//                                                                           getViewSize());    PropertyControlRuler* controlRuler = new PropertyControlRuler    (propertyName, getCurrentStaff(), getHLayout(), this,     controlRulerCanvas, m_controlRulers);    controlRuler->setMainHorizontalScrollBar(m_canvasView->horizontalScrollBar());    return controlRuler;}ControllerEventsRuler* EditView::makeControllerEventRuler(const ControlParameter *controller){    QCanvas* controlRulerCanvas = new QCanvas(this);    QSize viewSize = getViewSize();    controlRulerCanvas->resize(viewSize.width(), ControlRuler::DefaultRulerHeight); // TODO - keep it in sync with main canvas size//     QCanvas* controlRulerCanvas = ControlRulerCanvasRepository::getCanvas(getCurrentSegment(), controller,//                                                                           getViewSize());        ControllerEventsRuler* controlRuler = new ControllerEventsRuler    (getCurrentSegment(), getHLayout(), this,     controlRulerCanvas, m_controlRulers, controller);    controlRuler->setMainHorizontalScrollBar(m_canvasView->horizontalScrollBar());    return controlRuler;}RosegardenCanvasView* EditView::getCanvasView(){    return m_canvasView;}}#include "EditView.moc"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -