/
reds
/
OpenDAW
Обзор
Документация
Войти
/
reds
/
OpenDAW
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
include/opendaw/plugin/VST3Plugin.h
71 строка
2 KB
OpenDAW Developer
feat(v0.6.0): Add Plugin Support (CLAP + VST3)
21 фев 2026, 04:44
21 фев 2026, 04:44
ad86a0b
Код
Авторство
О чём код?
#pragma once #include <opendaw/plugin/Plugin.h> #include <string> #include <vector> namespace opendaw { /** * @brief VST3 плагин */ class VST3Plugin : public Plugin { public: VST3Plugin() = default; ~VST3Plugin() override; /** * @brief Загрузка VST3 плагина из файла */ static std::unique_ptr<VST3Plugin> loadFromFile(const std::string& path); // Plugin interface PluginInfo getInfo() const override; bool initialize(double sampleRate, int blockSize) override; void shutdown() override; void reset() override; void process(AudioBuffer<float>& audio, MidiBuffer& midi) override; int getNumParameters() const override; PluginParameter getParameterInfo(int index) const override; float getParameterValue(int index) const override; void setParameterValue(int index, float value) override; bool hasEditor() const override; private: std::string pluginPath_; PluginInfo info_; std::vector<PluginParameter> parameters_; bool initialized_{false}; }; /** * @brief VST3 сканер плагинов */ class VST3Scanner { public: VST3Scanner() = default; ~VST3Scanner() = default; /** * @brief Сканирование директории на VST3 плагины */ std::vector<PluginInfo> scanDirectory(const std::string& path); /** * @brief Сканирование стандартных путей */ std::vector<PluginInfo> scanStandardPaths(); /** * @brief Валидация плагина */ bool validatePlugin(const std::string& path); private: std::vector<std::string> getStandardPaths() const; PluginInfo scanVST3File(const std::string& path); }; } // namespace opendaw