void AudioHandleImpl::enqueue(std::function<void(AudioEmitter& src)> f) { size_t id = handleId; AudioEngine* engine = facade.engine.get(); facade.enqueue([id, engine, f] () { for (auto& src: engine->getSources(id)) { f(*src); } }); }