diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp b/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp index 15bfd6f3b4..fd562abd90 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp +++ b/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp @@ -1566,27 +1566,28 @@ class RenderSequenceSignature public: RenderSequenceSignature (const PrepareSettings s, const Nodes& n, const Connections& c) - : settings (s), connections (c), nodes (getNodeIDs (n)) {} + : settings (s), connections (c), nodes (getNodeMap (n)) {} bool operator== (const RenderSequenceSignature& other) const { return tie() == other.tie(); } bool operator!= (const RenderSequenceSignature& other) const { return tie() != other.tie(); } private: - static std::vector getNodeIDs (const Nodes& n) + using NodeMap = std::map; + + static NodeMap getNodeMap (const Nodes& n) { const auto& nodeRefs = n.getNodes(); - std::vector result; - result.reserve ((size_t) nodeRefs.size()); + NodeMap result; for (const auto& node : nodeRefs) - result.push_back (node->nodeID); + result.emplace (node->nodeID, node->getProcessor()->getBusesLayout()); return result; } PrepareSettings settings; Connections connections; - std::vector nodes; + NodeMap nodes; }; //==============================================================================