{"repo":"celtera/avendish","free":true,"listed":false,"github":"https://github.com/celtera/avendish","clone":"git clone https://github.com/celtera/avendish.git","description":"declarative polyamorous cross-system intermedia objects","language":"C++","stars":489,"topics":["audio","maxmsp","c-plus-plus","reflection","declarative","multimedia","intermedia","ossia","puredata","pd"],"license":null,"category":"media-processing","readme_excerpt":"declarative polyamorous cross-system intermedia objects A zero-cost, compile-time, reflection-based, pure C++ solution to the quadratic glue MxN problem: M host environments: DAW plug-in APIs, PureData, Max/MSP, etc. N algorithms. M x N binding code required. Read the documentation to get started ! The original blog post contains the motivation and some implementation details. If you use this work in an academic setting, please cite the paper: Features This library is a proof-of-concept (based on the Boost.PFR library and a couple of tricks), which showcases how with what little reflection modern C++ provides, it is possible to: - Automatically generate Python bindings for a C++ class (by leveraging pybind11). - Automatically generate OSC / OSCQuery bindings for a C++ class (through libossia). - Automatically generate user interfaces for C++ classes like e.g. Unity3D does (an example is provided with Qt and Nuklear). - Automatically generate audio plug-ins in a legacy API as an example, as well as in VST3 and Clap formats. - Automatically generate Max/MSP,TouchDesigner and PureData objects. - Automatically generate GPU draw and compute pipelines (for now only supported in the ossia/score bindings with the Qt RHI) to create GPU-based media processors with the same syntax. And some more advanced features: - Graphics API-agnostic canvas-like UI widgets for custom user interfaces, and advanced layouts (splits, tabs, grids...). - Automatic serialization / deserialization of messag","default_branch":null,"files":null,"tree":[],"storefront":"/r/celtera","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/celtera/avendish/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}