aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/vst/src
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/vst/src')
-rw-r--r--externals/grill/vst/src/main.cpp7
-rw-r--r--externals/grill/vst/src/vstmaster.cpp1
2 files changed, 5 insertions, 3 deletions
diff --git a/externals/grill/vst/src/main.cpp b/externals/grill/vst/src/main.cpp
index 1292a746..bf50b197 100644
--- a/externals/grill/vst/src/main.cpp
+++ b/externals/grill/vst/src/main.cpp
@@ -26,7 +26,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#endif
-#define VST_VERSION "0.1.0pre19"
+#define VST_VERSION "0.1.0pre20"
class vst
@@ -308,6 +308,7 @@ void vst::Setup(t_classid c)
SetupEditor();
}
+static int corefs = 0;
vst::vst(int argc,const t_atom *argv):
plug(NULL),visible(false),
@@ -317,7 +318,7 @@ vst::vst(int argc,const t_atom *argv):
{
#if FLEXT_OS == FLEXT_OS_WIN
// this is necessary for Waveshell
- CoInitializeEx(NULL,COINIT_MULTITHREADED+COINIT_SPEED_OVER_MEMORY);
+ if(!corefs++) CoInitializeEx(NULL,COINIT_MULTITHREADED+COINIT_SPEED_OVER_MEMORY);
#endif
int ins = 1,outs = 1;
@@ -334,7 +335,7 @@ vst::~vst()
{
ClearPlug();
#if FLEXT_OS == FLEXT_OS_WIN
- CoUninitialize();
+ if(!--corefs) CoUninitialize();
#endif
}
diff --git a/externals/grill/vst/src/vstmaster.cpp b/externals/grill/vst/src/vstmaster.cpp
index 0395fb65..863b57f9 100644
--- a/externals/grill/vst/src/vstmaster.cpp
+++ b/externals/grill/vst/src/vstmaster.cpp
@@ -274,6 +274,7 @@ void VSTPlugin::updatepos(long frames)
// and if, how?
samplepos += frames;
+ // \todo this factor should be cached
ppqpos += frames*tempo/(samplerate*60);
if(looping) {