VolumetricCondensed

Back To Schedule

What the World Would Look Like if Plugin Instances Could Simply Talk to Each Other

How We Approach Inter-Plugin-Instance-Communication Today and How It Could Be Approached Tomorrow

15:00 - 15:50 UTC | Wednesday 13th November 2024 | Empire
Beginner
Intermediate
Advanced

End of 2021 we launched smart:EQ 3 which featured an Inter-Plugin-Communication approach for the first time that allows finding other instances of the plugin in the project and define groups of plugins. End of 2023 smart:EQ 4 was released which took the concept even further and allows to fully remote control each instance of smart:EQ 4 in the project from the Editor of any instance.

Based on the experience collected during the implementation of smart:EQ 3 we started creating an entire in-house abstraction framework focused on the idea of Inter-Plugin-Instance-Communication, which became the backbone of our most recent plugin releases and revealed its full potential with the release of smart:EQ 4.

As of today, Inter-Plugin-Instance-Communication is no built-in feature to any of the popular plugin formats. So we had no chance but implementing our own workarounds, which make great things possible, but also come with their downside. The goal of this talk is to start an open discussion with the industry about how this could be integrated into some kind of extension or companion API to existing plugin format standards. During the talk, we want to reflect our journey of how we made inter-plugin-communication and plugin group management work, including the challenge of instance discovery and abstraction of data channels, why a strict processor/view separation helped us a lot making all the functionality work and how we recently started to extend the framework to build a proof-of-concept ARA plugin with it.

We also want to talk about the challenges involved, which are reliable detection of plugin instances in a project and management of an plugin group state with plugin APIs that only allow saving per-plugin state information. Since we believe that great plugins could be made if Inter-Plugin-Instance-Communication was easier, we want to present a proposal of how an Inter-Plugin-Instance-Communication API could work on a high level from our point of view and hope for a lively discussion at the conference. Host developers are especially welcome!

View Slides

Janos Buttgereit

Software Developer

sonible

I am a plugin developer with a passion for audio and all the deep details of the C++ language. I've been working at sonible for a few years now and particularly enjoy maintaining the cross-product internal codebase and frameworks and optimizing performance-critical DSP code. In addition to being a software developer, I also work as a live sound engineer, which helps me stay connected to what audio plugins should be all about: Making music sound as good as possible.