Tiny Plugin is a header only cross platform lightweight C++ library designed to facilitate the development of plugins for digital signal processing experiments and audio projects. This library is particularly useful for making generic plugin based software architecture.
-
Lightweight: Tiny Plugin is designed with a minimalistic approach to keep the overhead low while allowing seamless integration into existing projects.
-
Modular Architecture: The library follows a modular architecture, making it easy to add, remove, or replace plugins without disrupting the core functionality.
-
Extensibility: Developers can easily extend the library by creating custom plugins that adhere to the defined interface, enabling the integration of domain-specific functionality.
To use Tiny Plugin in your project, follow these simple steps:
-
Clone the Tiny Plugin repository:
https://github.com/siddharthdeore/tiny_plugin.git
-
Build the library:
cd tiny_plugin mkdir build && cd build cmake .. make make install
Library can be imported in to cmake project using find_package
CMake command as following example:
cmake_minimum_required(VERSION 3.0)
project(myproject)
find_package(tiny_pluin REQUIRED)
add_executable(example example.cpp)
target_link_libraries(example tiny_pluin::tiny_pluin)
example.cpp
to load shared library
#include <memory>
#include <tiny_plugin/SharedLibrary.h>
int main()
{
SharedLibrary simple("SimplePlugin");
if (simple.is_loaded())
{
auto instance = simple.create_instance_sptr<void *>();
}
return 0;
}
Siddharth Deore