# HG changeset patch # User Chris Cannam # Date 1227182995 0 # Node ID 9eb7ef610d7f5ff8446c1fbf6e5681115f0881cc # Parent 45ded09e47105df95d635c0ab6aa1b9ddb46249f * Add more informative text to Find a Transform (particularly when none available) diff -r 45ded09e4710 -r 9eb7ef610d7f base/RingBuffer.h --- a/base/RingBuffer.h Wed Nov 19 21:36:33 2008 +0000 +++ b/base/RingBuffer.h Thu Nov 20 12:09:55 2008 +0000 @@ -26,6 +26,8 @@ #include "system/System.h" #include "Scavenger.h" +#include // memcpy, memset &c + //#define DEBUG_RINGBUFFER 1 #ifdef DEBUG_RINGBUFFER diff -r 45ded09e4710 -r 9eb7ef610d7f transform/TransformFactory.cpp --- a/transform/TransformFactory.cpp Wed Nov 19 21:36:33 2008 +0000 +++ b/transform/TransformFactory.cpp Thu Nov 20 12:09:55 2008 +0000 @@ -118,6 +118,13 @@ return m_transforms[id]; } +bool +TransformFactory::haveInstalledTransforms() +{ + populateTransforms(); + return !m_transforms.empty(); +} + TransformList TransformFactory::getUninstalledTransformDescriptions() { @@ -154,6 +161,25 @@ return m_uninstalledTransforms[id]; } +bool +TransformFactory::haveUninstalledTransforms(bool waitForCheckToComplete) +{ + if (waitForCheckToComplete) { + populateUninstalledTransforms(); + } else { + if (!m_uninstalledTransformsMutex.tryLock()) { + return false; + } + if (!m_uninstalledTransformsPopulated) { + m_uninstalledTransformsMutex.unlock(); + return false; + } + m_uninstalledTransformsMutex.unlock(); + } + + return !m_uninstalledTransforms.empty(); +} + TransformFactory::TransformInstallStatus TransformFactory::getTransformInstallStatus(TransformId id) { diff -r 45ded09e4710 -r 9eb7ef610d7f transform/TransformFactory.h --- a/transform/TransformFactory.h Wed Nov 19 21:36:33 2008 +0000 +++ b/transform/TransformFactory.h Thu Nov 20 12:09:55 2008 +0000 @@ -54,9 +54,11 @@ TransformList getAllTransformDescriptions(); TransformDescription getTransformDescription(TransformId id); + bool haveInstalledTransforms(); TransformList getUninstalledTransformDescriptions(); TransformDescription getUninstalledTransformDescription(TransformId id); + bool haveUninstalledTransforms(bool waitForCheckToComplete = false); typedef enum { TransformUnknown,