Releases: ModernMube/OwnVST3
Releases · ModernMube/OwnVST3
OwnVST3 Version 1.3.0
OwnVST3 v1.3.0
🎉 What's New
This release introduces the new GetVersion API function and improves editor view handling for better stability.
✨ New Features
- Version Query API: Added
VST3Plugin_GetVersion()function to the C wrapper API, allowing applications to programmatically retrieve the OwnVST3 library version at runtime - Enhanced Editor View Handling: Improved robustness when dealing with plugins that don't provide an editor view
🐛 Bug Fixes
- Fixed crash when attempting to access editor on plugins without a view interface
- Corrected GetVersion function signature in the wrapper header
💡 Example Code
Here's how to use the new version query functionality:
#include "ownvst3_wrapper.h"
#include <iostream>
int main() {
// Get the library version
const char* version = VST3Plugin_GetVersion();
std::cout << "OwnVST3 Library Version: " << version << std::endl;
// Create and use plugin instance
VST3PluginHandle plugin = VST3Plugin_Create();
if (VST3Plugin_LoadPlugin(plugin, "path/to/plugin.vst3")) {
VST3Plugin_Initialize(plugin, 44100.0, 512);
// Safe editor creation - now handles plugins without views
void* windowHandle = /* your window handle */;
if (VST3Plugin_CreateEditor(plugin, windowHandle)) {
std::cout << "Editor created successfully" << std::endl;
} else {
std::cout << "Plugin has no editor view" << std::endl;
}
// Process audio...
}
VST3Plugin_Destroy(plugin);
VST3Plugin_ClearStringCache();
return 0;
}🔧 Technical Details
API Changes
New Function:
const char* VST3Plugin_GetVersion();Returns the current version of the OwnVST3 library as a string (e.g., "1.3.0").
Compatibility
- ✅ Windows (x64)
- ✅ macOS (x86_64, ARM64)
- ✅ Linux (x64)
📦 Installation
Using Git
git clone --recurse-submodules https://github.com/ModernMube/OwnVST3.git
cd OwnVST3
mkdir build && cd build
cmake ..
cmake --build .Requirements
- C++17 or higher
- CMake 3.15+
- VST3 SDK (included as submodule)
🙏 Support
If you find this project helpful, consider supporting the development:
OwnVST3 V1.1.0
OwnVST3 v1.1.0
A lightweight C++ wrapper for loading and working with VST3 plugins.
Features
- Cross-platform support - Windows, macOS, and Linux
- Simple C++ API - Easy-to-use
Vst3Pluginclass with PIMPL pattern - C Wrapper API - C-compatible interface for use with other languages
- Complete VST3 functionality:
- Plugin loading and initialization
- Audio processing (32-bit float)
- MIDI event handling (Note On/Off, CC)
- Parameter management (get/set normalized values)
- Editor UI management with window attachment
- Plugin type detection (instrument/effect)
- Plugin metadata (name, vendor, bus info)
Quick Start
#include "ownvst3.h"
OwnVst3Host::Vst3Plugin plugin;
if (plugin.loadPlugin("path/to/plugin.vst3")) {
plugin.initialize(44100.0, 512);
OwnVst3Host::AudioBuffer buffer;
buffer.inputs = inputChannels;
buffer.outputs = outputChannels;
buffer.numChannels = 2;
buffer.numSamples = 512;
plugin.processAudio(buffer);
}Requirements
- C++17 or higher
- VST3 SDK (included as submodule)
Build
git clone --recurse-submodules https://github.com/ModernMube/OwnVST3.git
cd OwnVST3
mkdir build && cd build
cmake ..
cmake --build .License
MIT License
OwnVST3 all types of dynamic/shared libraries.
v1.0.2 - Stable Release
This release includes the first stable versions of dynamic libraries for different platforms.
Downloads
- Windows: ownvst3.dll
- macOS: libownvst3.dylib
- Linux: libownvst3.so
Changes
- Core functionality implementation
- Platform-specific optimizations
- Performance improvements
- Minimized dependencies
Usage Guide
Download the dynamic library matching your platform and reference it from your application following the documentation.