# HG changeset patch # User Chris Cannam # Date 1222700803 0 # Node ID 1da9d83fbde6f0495ec51ccc4640f05a20da8534 # Parent 9070db6244a2491236126800055b1763e9bcc8b3 * More SelectableLabel and TransformFinder tweaking diff -r 9070db6244a2 -r 1da9d83fbde6 main/MainWindow.cpp --- a/main/MainWindow.cpp Tue Sep 23 13:39:25 2008 +0000 +++ b/main/MainWindow.cpp Mon Sep 29 15:06:43 2008 +0000 @@ -1222,36 +1222,7 @@ TransformList transforms = TransformFactory::getInstance()->getAllTransformDescriptions(); -/*!!! - std::cerr << "Testing transform search..." << std::endl; - QStringList terms; - terms << "onset"; - terms << "detector"; - TransformFactory::SearchResults results = TransformFactory::getInstance()-> - search(terms); - std::cerr << results.size() << " result(s)..." << std::endl; - int i = 0; - std::set sortedResults; - for (TransformFactory::SearchResults::const_iterator j = - results.begin(); - j != results.end(); ++j) { - sortedResults.insert(j->second); - } - for (std::set::const_iterator j = - sortedResults.begin(); - j != sortedResults.end(); ++j) { - std::cerr << i << ": " << j->transform.toStdString() - << ": "; - for (TransformFactory::Match::FragmentMap::const_iterator k = - j->fragments.begin(); - k != j->fragments.end(); ++k) { - std::cerr << k->first.toStdString() << ": " - << k->second.toStdString() << " "; - } - std::cerr << "(" << j->score << ")" << std::endl; - ++i; - } -*/ + vector types = TransformFactory::getInstance()->getAllTransformTypes(); @@ -3026,6 +2997,19 @@ // change the execution context (block size etc). QString transformId = i->second; + + addLayer(transformId); +} + +void +MainWindow::addLayer(QString transformId) +{ + Pane *pane = m_paneStack->getCurrentPane(); + if (!pane) { + std::cerr << "WARNING: MainWindow::addLayer: no current pane" << std::endl; + return; + } + Transform transform = TransformFactory::getInstance()-> getDefaultTransformFor(transformId); @@ -3104,12 +3088,14 @@ void MainWindow::findTransform() { - TransformFinder finder(this); - if (finder.exec()) { - std::cerr << "Yes! transform is " << finder.getTransform().toStdString() << std::endl; - } else { - std::cerr << "No" << std::endl; + TransformFinder *finder = new TransformFinder(this); + if (!finder->exec()) { + delete finder; + return; } + TransformId transform = finder->getTransform(); + delete finder; + addLayer(transform); } void diff -r 9070db6244a2 -r 1da9d83fbde6 main/MainWindow.h --- a/main/MainWindow.h Tue Sep 23 13:39:25 2008 +0000 +++ b/main/MainWindow.h Mon Sep 29 15:06:43 2008 +0000 @@ -126,6 +126,7 @@ virtual void addPane(); virtual void addLayer(); + virtual void addLayer(QString transformId); virtual void renameCurrentLayer(); virtual void findTransform();