rt-vamp-plugin-sdk 0.3.1
Real-time Vamp plugin SDK for C++20
Loading...
Searching...
No Matches
hostsdk.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <filesystem>
4#include <memory>
5#include <span>
6#include <vector>
7
11
12namespace rtvamp::hostsdk {
13
14using PathList = std::vector<std::filesystem::path>;
15
21
25bool isVampLibrary(const std::filesystem::path& libraryPath);
26
31
35PathList listLibraries(const std::filesystem::path& path);
36
40PathList listLibraries(std::span<const std::filesystem::path> paths);
41
45PluginLibrary loadLibrary(const std::filesystem::path& libraryPath);
46
50std::vector<PluginKey> listPlugins();
51
55std::vector<PluginKey> listPlugins(const std::filesystem::path& path);
56
60std::vector<PluginKey> listPlugins(std::span<const std::filesystem::path> paths);
61
65std::unique_ptr<Plugin> loadPlugin(const PluginKey& key, float inputSampleRate);
66
71std::unique_ptr<Plugin> loadPlugin(const PluginKey& key, float inputSampleRate, std::span<const std::filesystem::path> paths);
72
73} // namespace rtvamp::hostsdk
Identifier for a plugin uniquely within the scope of the current system.
Definition PluginKey.hpp:17
Definition PluginLibrary.hpp:19
Definition hostsdk.hpp:12
bool isVampLibrary(const std::filesystem::path &libraryPath)
Check if the library is an existing and valid Vamp library.
std::vector< std::filesystem::path > PathList
Definition hostsdk.hpp:14
PluginLibrary loadLibrary(const std::filesystem::path &libraryPath)
Load plugin library by file path.
std::unique_ptr< Plugin > loadPlugin(const PluginKey &key, float inputSampleRate)
Load plugin.
PathList listLibraries()
List all plugin libraries in default Vamp search paths.
std::vector< PluginKey > listPlugins()
List plugins in default Vamp search paths.
PathList getVampPaths()
Get default Vamp search paths for plugin libraries.