void disconnect(SourceBase& source, SinkBase& sink) { try { E_DEBUG(EConnectors, "Disconnecting " << source.fullName() << " from " << sink.fullName()); source.disconnect(sink); sink.disconnect(source); } catch (const EssentiaException& e) { std::ostringstream msg; msg << "While disconnecting " << source.fullName() << " (output) from " << sink.fullName() << " (input):\n" << e.what(); throw EssentiaException(msg); } }