Mercurial > hg > svcore
comparison transform/TransformFactory.cpp @ 1865:7b6e18380e8f startup-timing
Make it possible to check whether the transforms have been populated yet
author | Chris Cannam |
---|---|
date | Wed, 03 Jun 2020 13:57:50 +0100 |
parents | 6f626cfdba51 |
children | 652c5360e682 |
comparison
equal
deleted
inserted
replaced
1864:166d7a4c2cd6 | 1865:7b6e18380e8f |
---|---|
100 | 100 |
101 void | 101 void |
102 TransformFactory::UninstalledTransformsPopulateThread::run() | 102 TransformFactory::UninstalledTransformsPopulateThread::run() |
103 { | 103 { |
104 m_factory->m_populatingSlowly = true; | 104 m_factory->m_populatingSlowly = true; |
105 sleep(1); | 105 while (!m_factory->havePopulated()) { |
106 sleep(1); | |
107 } | |
106 m_factory->populateUninstalledTransforms(); | 108 m_factory->populateUninstalledTransforms(); |
107 } | 109 } |
108 | 110 |
109 TransformList | 111 TransformList |
110 TransformFactory::getAllTransformDescriptions() | 112 TransformFactory::getAllTransformDescriptions() |
320 case TransformDescription::EffectsData: return tr("Effects Data"); | 322 case TransformDescription::EffectsData: return tr("Effects Data"); |
321 case TransformDescription::Generator: return tr("Generator"); | 323 case TransformDescription::Generator: return tr("Generator"); |
322 case TransformDescription::UnknownType: return tr("Other"); | 324 case TransformDescription::UnknownType: return tr("Other"); |
323 } | 325 } |
324 return tr("Other"); | 326 return tr("Other"); |
327 } | |
328 | |
329 bool | |
330 TransformFactory::havePopulated() | |
331 { | |
332 MutexLocker locker(&m_transformsMutex, "TransformFactory::havePopulated"); | |
333 return m_transformsPopulated; | |
325 } | 334 } |
326 | 335 |
327 void | 336 void |
328 TransformFactory::populateTransforms() | 337 TransformFactory::populateTransforms() |
329 { | 338 { |
393 | 402 |
394 m_transforms[identifier] = desc; | 403 m_transforms[identifier] = desc; |
395 } | 404 } |
396 | 405 |
397 m_transformsPopulated = true; | 406 m_transformsPopulated = true; |
407 | |
408 #ifdef DEBUG_TRANSFORM_FACTORY | |
409 SVCERR << "populateTransforms exiting" << endl; | |
410 #endif | |
411 | |
412 emit transformsPopulated(); | |
398 } | 413 } |
399 | 414 |
400 void | 415 void |
401 TransformFactory::populateFeatureExtractionPlugins(TransformDescriptionMap &transforms) | 416 TransformFactory::populateFeatureExtractionPlugins(TransformDescriptionMap &transforms) |
402 { | 417 { |
741 m_uninstalledTransformsPopulated = true; | 756 m_uninstalledTransformsPopulated = true; |
742 | 757 |
743 #ifdef DEBUG_TRANSFORM_FACTORY | 758 #ifdef DEBUG_TRANSFORM_FACTORY |
744 SVCERR << "populateUninstalledTransforms exiting" << endl; | 759 SVCERR << "populateUninstalledTransforms exiting" << endl; |
745 #endif | 760 #endif |
761 | |
762 emit uninstalledTransformsPopulated(); | |
746 } | 763 } |
747 | 764 |
748 Transform | 765 Transform |
749 TransformFactory::getDefaultTransformFor(TransformId id, sv_samplerate_t rate) | 766 TransformFactory::getDefaultTransformFor(TransformId id, sv_samplerate_t rate) |
750 { | 767 { |