Mercurial > hg > sonic-visualiser
comparison main/MainWindow.cpp @ 1558:28d80ef79473
Report on failures that happen while configuring a transform
author | Chris Cannam |
---|---|
date | Thu, 19 Jan 2017 10:50:04 +0000 |
parents | 44e09e1996a3 |
children | 3b8bd7e520c5 |
comparison
equal
deleted
inserted
replaced
1557:5a15539f4399 | 1558:28d80ef79473 |
---|---|
3879 if (!pane) { | 3879 if (!pane) { |
3880 cerr << "WARNING: MainWindow::addLayer: no current pane" << endl; | 3880 cerr << "WARNING: MainWindow::addLayer: no current pane" << endl; |
3881 return; | 3881 return; |
3882 } | 3882 } |
3883 | 3883 |
3884 Transform transform = TransformFactory::getInstance()-> | 3884 Transform transform; |
3885 getDefaultTransformFor(transformId); | 3885 try { |
3886 transform = TransformFactory::getInstance()-> | |
3887 getDefaultTransformFor(transformId); | |
3888 } catch (std::exception &e) { // e.g. Piper server failure | |
3889 QMessageBox::critical | |
3890 (this, tr("Failed to query transform attributes"), | |
3891 tr("<b>Failed to query transform attributes</b><p>Plugin or server error: %1</p>") | |
3892 .arg(e.what())); | |
3893 return; | |
3894 } | |
3886 | 3895 |
3887 std::vector<Model *> candidateInputModels = | 3896 std::vector<Model *> candidateInputModels = |
3888 m_document->getTransformInputModels(); | 3897 m_document->getTransformInputModels(); |
3889 | 3898 |
3890 Model *defaultInputModel = 0; | 3899 Model *defaultInputModel = 0; |
3949 | 3958 |
3950 if (!input.getModel()) return; | 3959 if (!input.getModel()) return; |
3951 | 3960 |
3952 // SVDEBUG << "MainWindow::addLayer: Input model is " << input.getModel() << " \"" << input.getModel()->objectName() << "\"" << endl << "transform:" << endl << transform.toXmlString() << endl; | 3961 // SVDEBUG << "MainWindow::addLayer: Input model is " << input.getModel() << " \"" << input.getModel()->objectName() << "\"" << endl << "transform:" << endl << transform.toXmlString() << endl; |
3953 | 3962 |
3954 Layer *newLayer = m_document->createDerivedLayer(transform, input); | 3963 try { |
3955 | 3964 Layer *newLayer = m_document->createDerivedLayer(transform, input); |
3956 if (newLayer) { | 3965 if (newLayer) { |
3957 m_document->addLayerToView(pane, newLayer); | 3966 m_document->addLayerToView(pane, newLayer); |
3958 m_document->setChannel(newLayer, input.getChannel()); | 3967 m_document->setChannel(newLayer, input.getChannel()); |
3959 m_recentTransforms.add(transformId); | 3968 m_recentTransforms.add(transformId); |
3960 m_paneStack->setCurrentLayer(pane, newLayer); | 3969 m_paneStack->setCurrentLayer(pane, newLayer); |
3961 } | 3970 } |
3962 | 3971 } catch (std::exception &e) { // e.g. Piper server failure |
3972 QMessageBox::critical | |
3973 (this, tr("Transform failed"), | |
3974 tr("<b>Failed to run transform</b><p>Plugin or server error: %1</p>") | |
3975 .arg(e.what())); | |
3976 return; | |
3977 } | |
3978 | |
3963 updateMenuStates(); | 3979 updateMenuStates(); |
3964 } | 3980 } |
3965 | 3981 |
3966 void | 3982 void |
3967 MainWindow::renameCurrentLayer() | 3983 MainWindow::renameCurrentLayer() |