| 1816 | } |
| 1817 | |
| 1818 | std::unique_ptr<EffectInstance::Message> |
| 1819 | VSTWrapper::MakeMessageFS(const VSTSettings &settings) const |
| 1820 | { |
| 1821 | VSTMessage::ParamVector paramVector; |
| 1822 | paramVector.resize(mAEffect->numParams, std::nullopt); |
| 1823 | |
| 1824 | ForEachParameter |
| 1825 | ( |
| 1826 | [&](const VSTWrapper::ParameterInfo& pi) |
| 1827 | { |
| 1828 | auto &slot = paramVector[pi.mID]; // operator [] may make a nullopt |
| 1829 | const auto iter = settings.mParamsMap.find(pi.mName), |
| 1830 | end = settings.mParamsMap.end(); |
| 1831 | if (iter != end) |
| 1832 | slot = iter->second; |
| 1833 | return true; |
| 1834 | } |
| 1835 | ); |
| 1836 | |
| 1837 | return std::make_unique<VSTMessage>( |
| 1838 | settings.mChunk /* vector copy */, std::move(paramVector)); |
| 1839 | } |
| 1840 | |
| 1841 | void VSTUIWrapper::Automate(int index, float value) |
| 1842 | { |