diff --git a/modules/juce_blocks_basics/blocks/juce_Block.cpp b/modules/juce_blocks_basics/blocks/juce_Block.cpp index 4336a92f90..a1bc4aa444 100644 --- a/modules/juce_blocks_basics/blocks/juce_Block.cpp +++ b/modules/juce_blocks_basics/blocks/juce_Block.cpp @@ -61,6 +61,19 @@ Block::Block (const juce::String& serial, const juce::String& version, const juc Block::~Block() {} +bool Block::isControlBlock() const +{ + return isControlBlock (getType()); +} + +constexpr bool Block::isControlBlock (Block::Type type) +{ + return type == Block::Type::liveBlock + || type == Block::Type::loopBlock + || type == Block::Type::touchBlock + || type == Block::Type::developerControlBlock; +} + void Block::addDataInputPortListener (DataInputPortListener* listener) { dataInputPortListeners.add (listener); } void Block::removeDataInputPortListener (DataInputPortListener* listener) { dataInputPortListeners.remove (listener); } diff --git a/modules/juce_blocks_basics/blocks/juce_Block.h b/modules/juce_blocks_basics/blocks/juce_Block.h index 9268205e2f..e9bbe5c455 100644 --- a/modules/juce_blocks_basics/blocks/juce_Block.h +++ b/modules/juce_blocks_basics/blocks/juce_Block.h @@ -88,6 +88,12 @@ public: */ virtual Type getType() const = 0; + /** Returns true if this a control block. **/ + bool isControlBlock() const; + + /** Returns true if Block::Type is a control block. */ + constexpr static bool isControlBlock (Block::Type); + /** Returns a human-readable description of this device type. */ virtual juce::String getDeviceDescription() const = 0; diff --git a/modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.cpp b/modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.cpp index f2803e5996..ef5c5c013a 100644 --- a/modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.cpp +++ b/modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.cpp @@ -1643,16 +1643,6 @@ struct PhysicalTopologySource::Internal return nullptr; } - bool isControlBlock() const - { - auto type = getType(); - - return type == Block::Type::liveBlock - || type == Block::Type::loopBlock - || type == Block::Type::touchBlock - || type == Block::Type::developerControlBlock; - } - //============================================================================== std::function logger;