Vst 2.x Plugin Streamlabs
Posted By admin On 20.12.20Πολλά plug-ins του VST κοστίζουν χρήματα, αλλά εδώ θα δημιουργήσουμε το ReaPlugs VST Suite, το οποίο είναι εντελώς δωρεάν. Έρχεται επίσης με ένα πρόγραμμα εγκατάστασης, οπότε δεν χρειάζεται να ανησυχείτε. Free VST Plugins are one of the most exciting things about mixing. In the past it was impossible to imagine that so many quality tools could be available at no cost. Today there are more great free plugins than ever before, but the freeware scene is always changing. 32-bit plug-ins on 64-bit Windows: C: Program Files (x86) Common Files VST2. Any other folder your VST host application is scanning during startup by default is also suitable. But, to keep plug-in installations independent from a specific VST host release, never install plug-ins into the program folder of the VST host application or any other.
- Vst 2.x Plugin Streamlabs Plugin
- Vst 2.x Plugin Streamlabs Obs
- Streamlabs Vst Folder
- Vst 2.x Plugin Streamlabs Bot
- Vst 2.x Plugin Streamlabs Obs
OBS Studio is open-source software, which means that almost anyone can develop add-ons and plugins for it. For streamers, this can be incredibly helpful. Sometimes a streamer needs additional functionality that isn’t built directly into OBS Studio, so the open-source functionality of OBS Studio lends itself well to this need.
With that said, there are plenty of options for add-ons and plugins depending on your needs. So let's talk about our choices for the three best OBS plugins!
A developer who goes by the name Palakis has created a plugin called “OBS-NDI” available here.
What this plugin does is allow a TWO PC stream setup without having to buy any capture cards or adapters. If you were looking to up your streaming setup game, OBS NDI is a very easy and free way to do so. The basic requirement for any of the PCs used with NDI is any CPU that supports Supplemental SSE3 instruction set (SSSE3). If you’d like to check if your CPU supports this instruction set, head on over to CPUworld , search your model CPU, and look under “Extensions and Technologies.”
If this plugin sounds familiar, it's because we have a complete guide on setting it up! If you’d like to check out this plugin, feel free to check out our guide!
Palakis has developed yet another OBS plugin, and this one is called OBS Websocket.
The OBS Websocket plugin allows other programs to control the scene selection, source selection, etc. What this means is you can gain functionality similar to what an Elgato Stream Deck offers by utilizing this plugin in combination with a program called Touch Portal!
The only requirement to use it is a compatible Android or iOS device to turn into your low-cost Stream Deck alternative!
OBS Websocket link here
Touch Portal website link here
Install instructions
Click the download button on the page from the link above
Windows
Using the installer (recommended, works only with combined 32/64-bit installations) : download it, launch it and follow the instructions.
Using the obs-websocket-4.6.1-Windows.zip archive : copy the contents of the archive to the root of your OBS Studio installation folder (either C:Program Filesobs-studio or C:Program Files (x86)obs-studio).
The bottom of the page lists the following:
Select the version that applies to you (most likely the Windows-Installer one) and follow the above instructions.
Then for Touch Portal, they provide their instructions right here.
You can also find many additional tutorials and guides for Touch Portal usage right here!
A big part of streaming is making sure your audio sounds as good as possible. No matter what, if your audio is sub-par, people won’t want to stay. Many people say that the most important part of good video is excellent audio, and this stands true with streaming as well. OBS Studio includes many great audio filters already, and configuring them can yield some fantastic results. However, this article is about plugins and VST Plugns for audio can take things to another level beyond what OBS Studio is capable of without plugins.
VST Plugins can allow you to control microphone EQ, compression, control peaking, control background noise, and generally clean up and improve your audio. One of the most popular sources of free VST plugins is Reaper, available here. You’ll want to make sure to download the “ReaPlugs VST FX Suite” and download the correct 32-bit or 64-bit package that is compatible with your OS. More than likely it’ll be 64-bit.
Once downloaded, go ahead and run through the installer. Adding a VST plug-in through your OBS microphone device filters will now show a drop down list of the ReaPlug VST plug-ins!
At this point, you can test the different VSTs and see what mix of ReaPlug VSTs and at what settings can get you the best sounding audio out of your microphone! For additional information on VST plug-ins, Reaper/ReaPlug, and how to set them up, there are additional tutorials available here and here.
OBS.Live - Monitor, Control, Integrate, and Interact with your Stream!
You may have noticed the integrated Activity Feed and Chat window above or in some of the screenshots or linked tutorials. The OBS.Live plugin for OBS Studio by StreamElements does all of this and more!
OBS.Live lets you see how many viewers you have, Activity Feed, skip/replay/manage Alerts, refresh your Overlays, Media Request controls, set what game you’re playing, set your stream title all in OBS Studio..so much good stuff! The plugin is available to download right here:
Happy Streaming!
Legendary Support Available 24/7
If you found this article helpful, or need more help with your configuration, be sure to reach out to us on social media. Our fun and friendly Discord community is full of fellow StreamElements users too and our support staff are on-hand, providing legendary service 24/7!
Subscribe to our YouTube channel for helpful video tutorials going over the basics, features, and news on upcoming, or new updates! StreamElements is always working hard to make streaming better for YOU!
Introduction
Writing VST plugins is a lot of fun, but it’s even more fun to write your own host which uses the wide variety of plugins already out there to do something original and new. Making your own VST host is not a trivial task, but the trickiest part is figuring out how to load the plugins and connect them to your code’s callback functions. As the VST documentation is a bit sparse on the subject of hosting, this guide will assist you in setting up your own host.
This guide only covers loading the plugin and basic communication, and the language of choice here is C++. C# programmers should consider using the VST.NET framework, and I’m not sure what frameworks exist for other languages.
Also, it’s worth noting that Teragon Audio has developed an open-source VST host, MrsWatson. Feel free to look at the code and fork it for your own project! If you find yourself using a substantial portion of the MrsWatson source in your own code, please let me know so I can add a link to your project from the MrsWatson page.
Code conventions
In the course of your development, you will probably require logging, error handling, etc. To simplify the code in this tutorial, I have simply written “return -1” or “return NULL” statements, but you should consider expanding this to log some info or handle the error.
Also, this tutorial is written for both Windows and Mac OSX developers. As such, there is a lot of platform-specific code, which you will probably need to box with #ifdef/#endif statements in the preprocessor.
Setting up your build environment
You’ll need to first download and install the following tools:
- Steinberg’s VST SDK, which requires you to make a free Steinberg Developer account. This tutorial assumes you are working with the VST 2.4 SDK.
- Microsoft’s Visual C++ 2010 Express, if you wish to support Windows.
- Microsoft’s Platform SDK, again if you are developing on Windows.
- Xcode 4.x, if you are developing on Mac OS X.
Project configuration
Aside from your project files, you need only to add the VST SDK headers into your project’s include path. This includes the following files, which are located under the vstsdk2.4/pluginterfaces/vst2.x directory:
- aeffect.h
- aeffectx.h
- vsfxstore.h
On both Windows and Mac OSX, you should probably configure your program to build as a 32-bit binary, simply because most VST plugins are not 64-bit compatible yet. On the Mac, this gets to be a bit hairy because Apple is working to deprecate Carbon, which is a 32-bit framework. If anyone out there has example code in C (not objective-C) to load a plugin from bundle without using Carbon, please let me know so I can update this article.
Loading the VST plugin
Vst 2.x Plugin Streamlabs Plugin
After your host performs its own internal initialization routines, it is time to load the VST plugin from source. This procedure varies a bit depending on the platform, but the algorithm is fundamentally the same: find the plugin, load the dynamic library into memory, acquire the plugin’s main address, and create a VST callback connection. These callbacks are defined function pointers which you should define in one of your project’s header files, and are as follows: /free-vst-cab.html.
On Windows, VST plugins are simply dynamically linked libraries (DLL’s). The code for opening a DLL library in Windows is fairly simple:
On Mac OSX, VST plugins are also dynamic libraries, but they are packaged as bundles. Your host can open these bundles through the Carbon API. On Mac OS9, VST plugins were packaged as CFM files, which has long since been deprecated, and it is highly unlikely that any modern VST host should need to support this format.
The procedure for opening a plugin under OSX is a bit more complex, but the code should be fairly straightforward. Keep in mind that although a VST plugin can be loaded from any location on disk, they are usually stored in either /Library/Audio/Plug-Ins/VST
or $HOME/Library/Audio/Plug-Ins/VST
.
Anyways, to load the VST plugin on Mac OSX, that will look something like this:
You need to keep the bundle pointer around until the host is ready to unload the plugin. At this point, you call CFBundleUnloadExecutable
and then CFRelease
on the bundle’s reference.
Setting up plugin callbacks
At this point, you should now have successfully loaded the plugin into memory, and you can now establish the plugin dispatcher callbacks:
Plugin initialization
At this point, the plugin should be ready to go, so you can initialize it through the dispatcher handle created in the previous step:
Suspending and resuming
Calling the plugin’s suspend and resume methods are a bit counter-intuitive, and are done like this:
Plugin capabilities
The VST protocol uses “canDo” strings to define plugin capabilities, the most common of which are defined in audioeffectx.cpp in the PlugCanDos namespace near the top of the file. To ask a plugin if it supports one of these capabilities, make the following dispatcher call:
Host capabilities
The plugin can also ask the host if it supports a given capability, which is done through the hostCallback() function defined above. The implementation of this file looks something like this:
The full list of opcodes is defined in aeffect.h (for the VST 1.x protocol) and aeffectx.h (for VST 2.x protocol). There are a lot of opcodes, and your application doesn’t need to support them all, but you will soon figure out which ones are the most important through trial and error. Depending on the nature of the opcall, you will either be required to return a given integer value, call a method in the plugin’s dispatcher, or fill the *ptr
pointer with some type of data. The VST SDK header files have fairly good documentation specifying what you need to do depending on the opcode.
Vst 2.x Plugin Streamlabs Obs
The MrsWatson source code also contains an example implementation of this function with the most common opcode cases.
Processing audio
In the VST SDK 2.4, processReplacing()
became the new standard call. You may have to add in support to your host for the old style of process()
plugins, though there aren’t so many plugins out there which still do this. To have the plugin process some audio:
In the above code, there is an inputs
and outputs
array which should be initialized by your application as soon you have calculated the desired channel count and buffer size. You should not allocate the inputs
and outputs
arrays in the processAudio()
function, as doing so may severely impact performance. Hence, the call to initializeIO()
should be made as soon as possible and before the first call to processAudio()
. You should also take care to properly initialize the data in both the inputs and outputs array to zero, or else you can get static or other random noise in the processed signal.
Sending MIDI messages
Processing MIDI events is very similar to processing audio:
Streamlabs Vst Folder
The above events array should be allocated and properly initialized by the host to contain the MIDI events which the plugin will receive. The VstEvent
structure is defined in aeffectx.h, and there you will also find the respective VstEvent
types, all of which are deprecated except for kVstMidiType
and kVstSysExType
.
Note that the plugin must support the receiveVstMidiEvent
canDo in order to process MIDI.
Vst 2.x Plugin Streamlabs Bot
Final Notes
Vst 2.x Plugin Streamlabs Obs
At this point, you should have a basic working host capable of loading and communicating with a VST plugin. As you continue your development, take care to thoroughly read the VST SDK header files and other associated documentation, as they will provide you with further hints as to the correct implementation. Also, you should take time to create good logging facilities in your host, particularly in the hostCallback()
method, as most plugin incompatibilities are usually triggered from some error there.