summaryrefslogtreecommitdiff
path: root/pluginvst.cc
diff options
context:
space:
mode:
Diffstat (limited to 'pluginvst.cc')
-rw-r--r--pluginvst.cc52
1 files changed, 52 insertions, 0 deletions
diff --git a/pluginvst.cc b/pluginvst.cc
index 7de518e..66dc9b7 100644
--- a/pluginvst.cc
+++ b/pluginvst.cc
@@ -133,6 +133,9 @@ void PluginVST::init()
AudioEffectX::isSynth(getNumberOfMidiInputs() > 0);
+ // We might produce output when there is no input.
+ AudioEffectX::noTail(false);
+
if(hasGUI())
{
editor = std::make_shared<UI>(*this);
@@ -217,6 +220,55 @@ void PluginVST::setBlockSize(VstInt32 blockSize)
onFramesizeChange(blockSize);
}
+bool PluginVST::getEffectName(char* name)
+{
+ vst_strncpy (name, this->effectName().c_str(), kVstMaxEffectNameLen);
+ return true;
+}
+
+bool PluginVST::getVendorString(char* text)
+{
+ vst_strncpy (text, this->vendorString().c_str(), kVstMaxVendorStrLen);
+ return true;
+}
+
+bool PluginVST::getProductString(char* text)
+{
+ vst_strncpy (text, this->productString().c_str(), kVstMaxProductStrLen);
+ return true;
+}
+
+VstPlugCategory PluginVST::getPlugCategory()
+{
+ switch(this->pluginCategory())
+ {
+ case PluginCategory::Unknown:
+ return kPlugCategUnknown;
+ case PluginCategory::Effect:
+ return kPlugCategEffect;
+ case PluginCategory::Synth:
+ return kPlugCategSynth;
+ case PluginCategory::Analysis:
+ return kPlugCategAnalysis;
+ case PluginCategory::Mastering:
+ return kPlugCategMastering;
+ case PluginCategory::Spacializer:
+ return kPlugCategSpacializer;
+ case PluginCategory::RoomFx:
+ return kPlugCategRoomFx;
+ case PluginCategory::SurroundFx:
+ return kPlugSurroundFx;
+ case PluginCategory::Restoration:
+ return kPlugCategRestoration;
+ case PluginCategory::OfflineProcess:
+ return kPlugCategOfflineProcess;
+ case PluginCategory::Shell:
+ return kPlugCategShell;
+ case PluginCategory::Generator:
+ return kPlugCategGenerator;
+ }
+}
+
VstInt32 PluginVST::processEvents(VstEvents* events)
{
// For each process cycle, processEvents() is called once before a