Here we find the license requirements from Steinberg.
Its states GPLv3
https://steinbergmedia.github.io/vst3_d ... tions.html
https://www.videolan.org/legal.html
VLC on the other hand is using GPLv2
I have not looked into that in detail, however, I cannot imagine this to be the reason we cannot do it.
Beyond that, I think its simple a mail to
reception@steinberg.de to inform them.
However, as I undestand the text, this is optional, since we are simply using a public licence GPLv3 and the code will be based on the public VST SDK.
from here
https://github.com/steinbergmedia/vst3sdk.
Apart from that, VST is NOT rocket science. From 2002-2004 I worked for Steinberg, and implemented FIrewire drivers (yeah it existed back then),
and I tried to refactor the VST3 audio engine to add another network audio driver, trying to sync an additional networked audio device into the VST audio engine.
Well, I learned that created significant synchronization issues.
Network audio is NOT trivial, maybe not quite like Rocket science, but clean audio synchronisation over networks is not far from Rocket Science
So wiring the VST audio engine into the vlc code cannot be very hard.
But having said the things above, resynchronizing the audio buffers with other parallel video streams is NOT trivial. Its done in Nuendo, but it uses a complex audio engine
based on a lot of engineering knowledge about synchronization in Steinberg Media.
I am eying up spectrograms, I tried to find a spectrogram plugin and failed.
Since there are free ones for VST I noticed the missing VST Host implementation.
As a Senior I am pretty much out of coding since more than a decade. However, with AI support, there are new approaches have manifested.
I am happy to contribute my experience to support a developer or a team in a project adding the VST Host code to vlc.
As I said its not Rocket Science, we merely need to understand audio processing in blocks of various sizes and sample rates, causing varying degrees of delay.
This delay needs to be understood in order to control the machinery and obtain useful results.
For the simple visualization use case or a spectrogram which is write only, and we dont care if its a few milliseconds off, this should be straightforward (I just swallowed the word trivial...
Any takers?