Browse Source

support fractional oversampling factors (e.g. 0.25)

pull/1639/head
bsp2 6 years ago
parent
commit
c80757d45c
7 changed files with 194 additions and 180 deletions
  1. +5
    -5
      src/app/RackWidget.cpp
  2. +46
    -36
      src/app/Toolbar.cpp
  3. +3
    -3
      src/settings.cpp
  4. +23
    -19
      src/vst2_main.cpp
  5. +1
    -1
      vst2_bin/CHANGELOG_VST.txt
  6. +1
    -1
      vst2_bin/README_vst2.txt
  7. +115
    -115
      vst2_bin/log.txt

+ 5
- 5
src/app/RackWidget.cpp View File

@@ -16,8 +16,8 @@
extern void vst2_set_shared_plugin_tls_globals(void); extern void vst2_set_shared_plugin_tls_globals(void);


#ifdef RACK_HOST #ifdef RACK_HOST
extern void vst2_oversample_set (int _factor, int _quality);
extern void vst2_oversample_get (int *_factor, int *_quality);
extern void vst2_oversample_set (float _factor, int _quality);
extern void vst2_oversample_get (float *_factor, int *_quality);
extern void vst2_oversample_channels_set (int _numIn, int _numOut); extern void vst2_oversample_channels_set (int _numIn, int _numOut);
extern void vst2_oversample_channels_get (int *_numIn, int *_numOut); extern void vst2_oversample_channels_get (int *_numIn, int *_numOut);
#endif // RACK_HOST #endif // RACK_HOST
@@ -262,7 +262,7 @@ json_t *RackWidget::toJson() {
#ifdef USE_VST2 #ifdef USE_VST2
#ifdef RACK_HOST #ifdef RACK_HOST
{ {
int oversampleFactor;
float oversampleFactor;
int oversampleQuality; int oversampleQuality;
vst2_oversample_get(&oversampleFactor, &oversampleQuality); vst2_oversample_get(&oversampleFactor, &oversampleQuality);
@@ -372,14 +372,14 @@ void RackWidget::fromJson(json_t *rootJ) {
} }


#ifdef RACK_HOST #ifdef RACK_HOST
int oversampleFactor = -1;
float oversampleFactor = -1.0f;
int oversampleQuality = -1; int oversampleQuality = -1;


// Oversample factor // Oversample factor
{ {
json_t *oversampleJ = json_object_get(rootJ, "oversampleFactor"); json_t *oversampleJ = json_object_get(rootJ, "oversampleFactor");
if (oversampleJ) { if (oversampleJ) {
oversampleFactor = int(json_number_value(oversampleJ));
oversampleFactor = float(json_number_value(oversampleJ));
} }
} }




+ 46
- 36
src/app/Toolbar.cpp View File

@@ -7,8 +7,9 @@
#include "global_ui.hpp" #include "global_ui.hpp"


#ifdef RACK_HOST #ifdef RACK_HOST
extern void vst2_oversample_set (int _factor, int _quality);
extern void vst2_oversample_get (int *_factor, int *_quality);
#define Dfltequal(a, b) ( (((a)-(b)) < 0.0f) ? (((a)-(b)) > -0.0001f) : (((a)-(b)) < 0.0001f) )
extern void vst2_oversample_set (float _factor, int _quality);
extern void vst2_oversample_get (float *_factor, int *_quality);
extern void vst2_oversample_channels_set (int _numIn, int _numOut); extern void vst2_oversample_channels_set (int _numIn, int _numOut);
extern void vst2_oversample_channels_get (int *_numIn, int *_numOut); extern void vst2_oversample_channels_get (int *_numIn, int *_numOut);
#endif // RACK_HOST #endif // RACK_HOST
@@ -125,30 +126,39 @@ struct SampleRateItem : MenuItem {
#ifdef RACK_HOST #ifdef RACK_HOST
struct OversampleSetting { struct OversampleSetting {
const char *name; const char *name;
int factor;
float factor;
int quality; int quality;
}; };


static OversampleSetting oversample_settings[] = { static OversampleSetting oversample_settings[] = {
/* 0 */ { "No oversampling", 1, 0 },
/* 1 */ { "Oversample x2 (low)", 2, 4 },
/* 2 */ { "Oversample x2 (medium)", 2, 7 },
/* 3 */ { "Oversample x2 (high)", 2, 10 },
/* 4 */ { "Oversample x4 (low)", 4, 4 },
/* 5 */ { "Oversample x4 (medium)", 4, 7 },
/* 6 */ { "Oversample x4 (high)", 4, 10 },
/* 7 */ { "Oversample x6 (low)", 6, 4 },
/* 8 */ { "Oversample x6 (medium)", 6, 7 },
/* 9 */ { "Oversample x6 (high)", 6, 10 },
/* 10 */ { "Oversample x8 (low)", 8, 4 },
/* 11 */ { "Oversample x8 (medium)", 8, 7 },
/* 12 */ { "Oversample x8 (high)", 8, 10 },
/* 13 */ { "Oversample x12 (low)", 12, 4 },
/* 14 */ { "Oversample x12 (medium)", 12, 7 },
/* 15 */ { "Oversample x12 (high)", 12, 10 },
/* 16 */ { "Oversample x16 (low)", 16, 4 },
/* 17 */ { "Oversample x16 (medium)", 16, 7 },
/* 18 */ { "Oversample x16 (high)", 16, 10 },
/* 0 */ { "No resampling", 1.0f, 0 },
// /* 1 */ { "Undersample /6 (low)", 0.166666666667f, 4 },
// /* 2 */ { "Undersample /6 (medium)", 0.166666666667f, 7 },
// /* 3 */ { "Undersample /6 (high)", 0.166666666667f, 10 },
/* 4 */ { "Undersample /4 (low)", 0.25f, 4 },
/* 5 */ { "Undersample /4 (medium)", 0.25f, 7 },
/* 6 */ { "Undersample /4 (high)", 0.25f, 10 },
/* 7 */ { "Undersample /2 (low)", 0.5f, 4 },
/* 8 */ { "Undersample /2 (medium)", 0.5f, 7 },
/* 9 */ { "Undersample /2 (high)", 0.5f, 10 },
/* 10 */ { "Oversample x2 (low)", 2.0f, 4 },
/* 11 */ { "Oversample x2 (medium)", 2.0f, 7 },
/* 12 */ { "Oversample x2 (high)", 2.0f, 10 },
/* 13 */ { "Oversample x4 (low)", 4.0f, 4 },
/* 14 */ { "Oversample x4 (medium)", 4.0f, 7 },
/* 15 */ { "Oversample x4 (high)", 4.0f, 10 },
/* 16 */ { "Oversample x6 (low)", 6.0f, 4 },
/* 17 */ { "Oversample x6 (medium)", 6.0f, 7 },
/* 18 */ { "Oversample x6 (high)", 6.0f, 10 },
/* 19 */ { "Oversample x8 (low)", 8.0f, 4 },
/* 20 */ { "Oversample x8 (medium)", 8.0f, 7 },
/* 21 */ { "Oversample x8 (high)", 8.0f, 10 },
/* 22 */ { "Oversample x12 (low)", 12.0f, 4 },
/* 23 */ { "Oversample x12 (medium)", 12.0f, 7 },
/* 24 */ { "Oversample x12 (high)", 12.0f, 10 },
/* 25 */ { "Oversample x16 (low)", 16.0f, 4 },
/* 26 */ { "Oversample x16 (medium)", 16.0f, 7 },
/* 27 */ { "Oversample x16 (high)", 16.0f, 10 },
}; };
#define NUM_OVERSAMPLE_SETTINGS (sizeof(oversample_settings) / sizeof(OversampleSetting)) #define NUM_OVERSAMPLE_SETTINGS (sizeof(oversample_settings) / sizeof(OversampleSetting))


@@ -208,33 +218,33 @@ struct SampleRateButton : TooltipIconButton {


#ifdef USE_VST2 #ifdef USE_VST2
{ {
int factor;
int quality;
vst2_oversample_get(&factor, &quality);
int numIn;
int numOut;
vst2_oversample_channels_get(&numIn, &numOut);


for(unsigned int overIdx = 0u; overIdx < NUM_OVERSAMPLE_SETTINGS; overIdx++)
for(unsigned int overIdx = 0u; overIdx < NUM_OVERSAMPLE_CHANNEL_SETTINGS; overIdx++)
{ {
const OversampleSetting *setting = &oversample_settings[overIdx];
const OversampleChannelSetting *setting = &oversample_channel_settings[overIdx];


OversampleItem *item = new OversampleItem();
OversampleChannelItem *item = new OversampleChannelItem();
item->text = setting->name; item->text = setting->name;
item->rightText = CHECKMARK( (setting->factor == factor) && (setting->quality == quality) );
item->rightText = CHECKMARK( (setting->num_in == numIn) && (setting->num_out == numOut) );
item->setting = setting; item->setting = setting;
menu->addChild(item); menu->addChild(item);
} }
} }
{ {
int numIn;
int numOut;
vst2_oversample_channels_get(&numIn, &numOut);
float factor;
int quality;
vst2_oversample_get(&factor, &quality);


for(unsigned int overIdx = 0u; overIdx < NUM_OVERSAMPLE_CHANNEL_SETTINGS; overIdx++)
for(unsigned int overIdx = 0u; overIdx < NUM_OVERSAMPLE_SETTINGS; overIdx++)
{ {
const OversampleChannelSetting *setting = &oversample_channel_settings[overIdx];
const OversampleSetting *setting = &oversample_settings[overIdx];


OversampleChannelItem *item = new OversampleChannelItem();
OversampleItem *item = new OversampleItem();
item->text = setting->name; item->text = setting->name;
item->rightText = CHECKMARK( (setting->num_in == numIn) && (setting->num_out == numOut) );
item->rightText = CHECKMARK( Dfltequal(setting->factor, factor) && (setting->quality == quality) );
item->setting = setting; item->setting = setting;
menu->addChild(item); menu->addChild(item);
} }


+ 3
- 3
src/settings.cpp View File

@@ -13,7 +13,7 @@ extern void vst2_window_size_set (int _width, int _height);
extern void vst2_refresh_rate_set (float _hz); extern void vst2_refresh_rate_set (float _hz);


#ifdef RACK_HOST #ifdef RACK_HOST
extern void vst2_oversample_set (int _factor, int _quality);
extern void vst2_oversample_set (float _factor, int _quality);
extern void vst2_oversample_channels_set (int _numIn, int _numOut); extern void vst2_oversample_channels_set (int _numIn, int _numOut);
#endif // RACK_HOST #endif // RACK_HOST


@@ -197,14 +197,14 @@ static void settingsFromJson(json_t *rootJ, bool bWindowSizeOnly) {


#ifdef RACK_HOST #ifdef RACK_HOST
// Oversample factor and quality // Oversample factor and quality
int oversampleFactor = -1;
float oversampleFactor = -1.0f;
int oversampleQuality = -1; int oversampleQuality = -1;


// Oversample factor // Oversample factor
{ {
json_t *oversampleJ = json_object_get(rootJ, "oversampleFactor"); json_t *oversampleJ = json_object_get(rootJ, "oversampleFactor");
if (oversampleJ) { if (oversampleJ) {
oversampleFactor = int(json_number_value(oversampleJ));
oversampleFactor = float(json_number_value(oversampleJ));
} }
} }




+ 23
- 19
src/vst2_main.cpp View File

@@ -50,6 +50,8 @@ YAC_Host *yac_host; // not actually used, just to satisfy the linker
#define EDITWIN_W 1200 #define EDITWIN_W 1200
#define EDITWIN_H 800 #define EDITWIN_H 800


#define Dfltequal(a, b) ( (((a)-(b)) < 0.0f) ? (((a)-(b)) > -0.0001f) : (((a)-(b)) < 0.0001f) )

extern int vst2_init (int argc, char* argv[]); extern int vst2_init (int argc, char* argv[]);
extern void vst2_exit (void); extern void vst2_exit (void);
namespace rack { namespace rack {
@@ -403,10 +405,10 @@ protected:


public: public:
struct { struct {
sSI factor; // 1=no SR conversion, 2=oversample x2, 4=oversample x4, ..
int quality; // SPEEX_RESAMPLER_QUALITY_xxx
sUI num_in; // hack that limits oversampling to "n" input channels. default = NUM_INPUTS
sUI num_out; // hack that limits oversampling to "n" input channels. default = NUM_OUTPUTS
float factor; // 1=no SR conversion, 2=oversample x2, 4=oversample x4, 0.5=undersample /2, ..
int quality; // SPEEX_RESAMPLER_QUALITY_xxx
sUI num_in; // hack that limits oversampling to "n" input channels. default = NUM_INPUTS
sUI num_out; // hack that limits oversampling to "n" input channels. default = NUM_OUTPUTS
SpeexResamplerState *srs_in; SpeexResamplerState *srs_in;
SpeexResamplerState *srs_out; SpeexResamplerState *srs_out;
sF32 in_buffers[NUM_INPUTS * MAX_BLOCK_SIZE * MAX_OVERSAMPLE_FACTOR]; sF32 in_buffers[NUM_INPUTS * MAX_BLOCK_SIZE * MAX_OVERSAMPLE_FACTOR];
@@ -631,24 +633,24 @@ public:
return _vstPlugin.numOutputs; return _vstPlugin.numOutputs;
} }


void setOversample(int _factor, int _quality) {
if(_factor < 0)
void setOversample(float _factor, int _quality) {
if(_factor < 0.0f)
_factor = oversample.factor; // keep _factor = oversample.factor; // keep


if(_quality < 0) if(_quality < 0)
_quality = oversample.quality; // keep _quality = oversample.quality; // keep


if(_factor < 1)
_factor = 1;
else if(_factor > MAX_OVERSAMPLE_FACTOR)
_factor = MAX_OVERSAMPLE_FACTOR;
if(_factor < 0.001f)
_factor = 1.0f;
else if(_factor > float(MAX_OVERSAMPLE_FACTOR))
_factor = float(MAX_OVERSAMPLE_FACTOR);


if(_quality < SPEEX_RESAMPLER_QUALITY_MIN/*0*/) if(_quality < SPEEX_RESAMPLER_QUALITY_MIN/*0*/)
_quality = SPEEX_RESAMPLER_QUALITY_MIN; _quality = SPEEX_RESAMPLER_QUALITY_MIN;
else if(_quality > SPEEX_RESAMPLER_QUALITY_MAX/*10*/) else if(_quality > SPEEX_RESAMPLER_QUALITY_MAX/*10*/)
_quality = SPEEX_RESAMPLER_QUALITY_MAX; _quality = SPEEX_RESAMPLER_QUALITY_MAX;


oversample.factor = sUI(_factor);
oversample.factor = _factor;
oversample.quality = _quality; oversample.quality = _quality;


setSampleRate(sample_rate); setSampleRate(sample_rate);
@@ -690,7 +692,7 @@ public:
destroyResamplerStates(); destroyResamplerStates();


// Lazy-alloc resampler state // Lazy-alloc resampler state
if(oversample.factor > 1u)
if(!Dfltequal(oversample.factor, 1.0f))
{ {
int err; int err;


@@ -708,6 +710,8 @@ public:
oversample.quality, oversample.quality,
&err &err
); );

printf("xxx vstrack: initialize speex resampler (rate=%f factor=%f quality=%d)\n", sample_rate, oversample.factor, oversample.quality);
} }


unlockAudio(); unlockAudio();
@@ -912,8 +916,8 @@ void VSTPluginProcessReplacingFloat32(VSTPlugin *vstPlugin,


sUI chIdx; sUI chIdx;


if( (wrapper->oversample.factor > 1u) &&
(NULL != wrapper->oversample.srs_in) &&
if( !Dfltequal(wrapper->oversample.factor, 1.0f) &&
(NULL != wrapper->oversample.srs_in) &&
(NULL != wrapper->oversample.srs_out) (NULL != wrapper->oversample.srs_out)
) )
{ {
@@ -921,7 +925,7 @@ void VSTPluginProcessReplacingFloat32(VSTPlugin *vstPlugin,
sF32 *outputs[NUM_INPUTS]; sF32 *outputs[NUM_INPUTS];
sUI hostNumFrames = sampleFrames; sUI hostNumFrames = sampleFrames;
sUI overNumFrames = sampleFrames * wrapper->oversample.factor;
sUI overNumFrames = sUI((sampleFrames * wrapper->oversample.factor) + 0.5f);


// Up-sample inputs // Up-sample inputs
{ {
@@ -1576,7 +1580,7 @@ VSTPluginWrapper::VSTPluginWrapper(audioMasterCallback vstHostCallback,
// report latency // report latency
_vstPlugin.initialDelay = 0; _vstPlugin.initialDelay = 0;


oversample.factor = 1;
oversample.factor = 1.0f;
oversample.quality = SPEEX_RESAMPLER_QUALITY_DEFAULT; oversample.quality = SPEEX_RESAMPLER_QUALITY_DEFAULT;
oversample.srs_in = NULL; oversample.srs_in = NULL;
oversample.srs_out = NULL; oversample.srs_out = NULL;
@@ -1656,12 +1660,12 @@ extern "C" void lglw_redraw_cbk(lglw_t _lglw) {
wrapper->redraw(); wrapper->redraw();
} }


void vst2_oversample_set(int _factor, int _quality) {
void vst2_oversample_set(float _factor, int _quality) {
rack::global->vst2.wrapper->setOversample(_factor, _quality); rack::global->vst2.wrapper->setOversample(_factor, _quality);
} }


void vst2_oversample_get(int *_factor, int *_quality) {
*_factor = int(rack::global->vst2.wrapper->oversample.factor);
void vst2_oversample_get(float *_factor, int *_quality) {
*_factor = rack::global->vst2.wrapper->oversample.factor;
*_quality = int(rack::global->vst2.wrapper->oversample.quality); *_quality = int(rack::global->vst2.wrapper->oversample.quality);
} }




+ 1
- 1
vst2_bin/CHANGELOG_VST.txt View File

@@ -1,5 +1,5 @@
** August 11th, 2018 ** August 11th, 2018
- add settings.json:"oversampleFactor" option (1..16)
- add settings.json:"oversampleFactor" option (0,25..16)
- add settings.json:"oversampleQuality" option (0..10) - add settings.json:"oversampleQuality" option (0..10)
- add settings.json:"oversampleNumIn" option (0..8) - add settings.json:"oversampleNumIn" option (0..8)
- add settings.json:"oversampleNumOut" option (1..8) - add settings.json:"oversampleNumOut" option (1..8)


+ 1
- 1
vst2_bin/README_vst2.txt View File

@@ -16,7 +16,7 @@ This is a quick'n'dirty adaption of VCV Rack 0.6.1 for the VST2 format.
+ supports VST program chunks (=> patches are saved with the DAW's project file or as .fxp files) + supports VST program chunks (=> patches are saved with the DAW's project file or as .fxp files)
+ supports VST host timing (audioMasterGetTime / kVstTempoValid / kVstTransportPlaying, see Core.MIDI-1 module) + supports VST host timing (audioMasterGetTime / kVstTempoValid / kVstTransportPlaying, see Core.MIDI-1 module)
+ supports VST parameters (send / recv) + supports VST parameters (send / recv)
+ supports internal oversampling (up to 16x with configurable quality)
+ supports internal resampling (up to 16x with configurable quality)


Here's a demo video of it: https://vimeo.com/277703414 Here's a demo video of it: https://vimeo.com/277703414




+ 115
- 115
vst2_bin/log.txt View File

@@ -3,122 +3,122 @@
[0.000 info src/main.cpp:63] Local directory: f:\git\VeeSeeVSTRack\vst2_bin\/ [0.000 info src/main.cpp:63] Local directory: f:\git\VeeSeeVSTRack\vst2_bin\/
[0.000 info src/plugin.cpp:673] vcvrack: Loaded static plugin Alikins 0.6.1 [0.000 info src/plugin.cpp:673] vcvrack: Loaded static plugin Alikins 0.6.1
[0.000 info src/plugin.cpp:673] vcvrack: Loaded static plugin AS 0.6.1 [0.000 info src/plugin.cpp:673] vcvrack: Loaded static plugin AS 0.6.1
[0.000 info src/plugin.cpp:673] vcvrack: Loaded static plugin AudibleInstruments 0.6.1
[0.001 info src/plugin.cpp:673] vcvrack: Loaded static plugin AudibleInstruments 0.6.1
[0.001 info src/plugin.cpp:673] vcvrack: Loaded static plugin BaconMusic 0.6.1 [0.001 info src/plugin.cpp:673] vcvrack: Loaded static plugin BaconMusic 0.6.1
[0.001 info src/plugin.cpp:673] vcvrack: Loaded static plugin Befaco 0.6.1
[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin Befaco 0.6.1
[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin Bidoo 0.6.1 [0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin Bidoo 0.6.1
[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin Bogaudio 0.6.1 [0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin Bogaudio 0.6.1
[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin cf 0.6.1
[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin DHE-Modules 0.6.1
[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin DrumKit 0.6.1
[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin ErraticInstruments 0.6.1
[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin ESeries 0.6.1
[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin cf 0.6.1
[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin DHE-Modules 0.6.1
[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin DrumKit 0.6.1
[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin ErraticInstruments 0.6.1
[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin ESeries 0.6.1
[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin FrozenWasteland 0.6.1 [0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin FrozenWasteland 0.6.1
[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin Fundamental 0.6.1
[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin Gratrix 0.6.1
[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin HetrickCV 0.6.1
[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin huaba 0.6.1
[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin JW-Modules 0.6.1
[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin Koralfx-Modules 0.6.1
[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin LindenbergResearch 0.6.1
[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin LOGinstruments 0.6.1
[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin ML_modules 0.6.1
[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin moDllz 0.6.1
[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin modular80 0.6.1
[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin mscHack 0.6.1
[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin mtsch-plugins 0.6.1
[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin NauModular 0.6.1
[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin Ohmer 0.6.1
[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin Qwelk 0.6.1
[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin RJModules 0.6.1
[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin SerialRacker 0.6.1
[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin SonusModular 0.6.1
[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin Southpole-parasites 0.6.1
[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin squinkylabs-plug1 0.6.1
[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin SubmarineFree 0.6.1
[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin Template 0.6.1
[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin trowaSoft 0.6.1
[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin unless_modules 0.6.1
[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin Valley 0.6.1
[0.006 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Alikins/plugin.dll does not exist
[0.007 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/AS/plugin.dll does not exist
[0.007 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/AudibleInstruments/plugin.dll does not exist
[0.007 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/BaconMusic/plugin.dll does not exist
[0.007 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Befaco/plugin.dll does not exist
[0.007 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Bidoo/plugin.dll does not exist
[0.007 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Bogaudio/plugin.dll does not exist
[0.007 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/BOKONTEPByteBeatMachine/plugin.dll does not exist
[0.008 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/cf/plugin.dll does not exist
[0.008 info src/plugin.cpp:155] Loaded plugin dBiz 0.6.1 from f:\git\VeeSeeVSTRack\vst2_bin\/plugins/dBiz/plugin.dll
[0.008 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/DHE-Modules/plugin.dll does not exist
[0.008 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/DrumKit/plugin.dll does not exist
[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ErraticInstruments/plugin.dll does not exist
[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ESeries/plugin.dll does not exist
[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/FrozenWasteland/plugin.dll does not exist
[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Fundamental/plugin.dll does not exist
[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Gratrix/plugin.dll does not exist
[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/HetrickCV/plugin.dll does not exist
[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/huaba/plugin.dll does not exist
[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/JW-Modules/plugin.dll does not exist
[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Koralfx-Modules/plugin.dll does not exist
[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/LindenbergResearch/plugin.dll does not exist
[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/LOGinstruments/plugin.dll does not exist
[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ML_modules/plugin.dll does not exist
[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/moDllz/plugin.dll does not exist
[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/modular80/plugin.dll does not exist
[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/mscHack/plugin.dll does not exist
[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/mtsch-plugins/plugin.dll does not exist
[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/NauModular/plugin.dll does not exist
[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Ohmer/plugin.dll does not exist
[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Qwelk/plugin.dll does not exist
[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/RJModules/plugin.dll does not exist
[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SerialRacker/plugin.dll does not exist
[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SonusModular/plugin.dll does not exist
[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Southpole-parasites/plugin.dll does not exist
[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/squinkylabs-plug1/plugin.dll does not exist
[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SubmarineFree/plugin.dll does not exist
[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Template/plugin.dll does not exist
[0.013 info src/plugin.cpp:155] Loaded plugin Template_shared 0.6.1 from f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Template_shared/plugin.dll
[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/trowaSoft/plugin.dll does not exist
[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/unless_modules/plugin.dll does not exist
[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Valley/plugin.dll does not exist
[0.013 info src/settings.cpp:286] Loading settings f:\git\VeeSeeVSTRack\vst2_bin\/settings.json
[0.034 info src/window.cpp:599] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/DejaVuSans.ttf
[0.035 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_146097_cc.svg
[0.035 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_31859_cc.svg
[0.035 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343816_cc.svg
[0.036 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343811_cc.svg
[0.036 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1084369_cc.svg
[0.036 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1745061_cc.svg
[0.037 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1240789_cc.svg
[0.037 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_305536_cc.svg
[0.037 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_468341_cc.svg
[0.037 info src/settings.cpp:286] Loading settings f:\git\VeeSeeVSTRack\vst2_bin\/settings.json
[0.039 info src/app/RackWidget.cpp:205] Loading patch from string
[0.041 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/Core/AudioInterface.svg
[0.042 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/ScrewSilver.svg
[0.042 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/PJ301M.svg
[0.042 info src/window.cpp:599] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/ShareTechMono-Regular.ttf
[0.044 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/Core/MIDIToCVInterface.svg
[0.047 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/XCO.svg
[0.048 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_68px.svg
[0.048 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_16px.svg
[0.048 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/button_9px_0.svg
[0.049 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/button_9px_1.svg
[0.049 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_38px.svg
[0.049 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/slider_switch_2_14px_0.svg
[0.049 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/slider_switch_2_14px_1.svg
[0.050 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/port.svg
[0.051 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCA.svg
[0.052 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundLargeBlackKnob.svg
[0.053 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCF.svg
[0.054 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundHugeBlackKnob.svg
[0.055 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/ADSR.svg
[0.056 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-hexscrew.svg
[0.056 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-SlidePot.svg
[0.056 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-SlidePotHandle.svg
[0.057 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-PJ301M.svg
[0.060 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCO-1.svg
[0.060 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/CKSS_0.svg
[0.060 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/CKSS_1.svg
[14.606 info src/app/RackWidget.cpp:167] Saving patch to string
[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin Fundamental 0.6.1
[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin Gratrix 0.6.1
[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin HetrickCV 0.6.1
[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin huaba 0.6.1
[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin JW-Modules 0.6.1
[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin Koralfx-Modules 0.6.1
[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin LindenbergResearch 0.6.1
[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin LOGinstruments 0.6.1
[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin ML_modules 0.6.1
[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin moDllz 0.6.1
[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin modular80 0.6.1
[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin mscHack 0.6.1
[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin mtsch-plugins 0.6.1
[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin NauModular 0.6.1
[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin Ohmer 0.6.1
[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin Qwelk 0.6.1
[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin RJModules 0.6.1
[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin SerialRacker 0.6.1
[0.007 info src/plugin.cpp:673] vcvrack: Loaded static plugin SonusModular 0.6.1
[0.007 info src/plugin.cpp:673] vcvrack: Loaded static plugin Southpole-parasites 0.6.1
[0.007 info src/plugin.cpp:673] vcvrack: Loaded static plugin squinkylabs-plug1 0.6.1
[0.007 info src/plugin.cpp:673] vcvrack: Loaded static plugin SubmarineFree 0.6.1
[0.007 info src/plugin.cpp:673] vcvrack: Loaded static plugin Template 0.6.1
[0.008 info src/plugin.cpp:673] vcvrack: Loaded static plugin trowaSoft 0.6.1
[0.008 info src/plugin.cpp:673] vcvrack: Loaded static plugin unless_modules 0.6.1
[0.008 info src/plugin.cpp:673] vcvrack: Loaded static plugin Valley 0.6.1
[0.008 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Alikins/plugin.dll does not exist
[0.008 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/AS/plugin.dll does not exist
[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/AudibleInstruments/plugin.dll does not exist
[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/BaconMusic/plugin.dll does not exist
[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Befaco/plugin.dll does not exist
[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Bidoo/plugin.dll does not exist
[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Bogaudio/plugin.dll does not exist
[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/BOKONTEPByteBeatMachine/plugin.dll does not exist
[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/cf/plugin.dll does not exist
[0.010 info src/plugin.cpp:155] Loaded plugin dBiz 0.6.1 from f:\git\VeeSeeVSTRack\vst2_bin\/plugins/dBiz/plugin.dll
[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/DHE-Modules/plugin.dll does not exist
[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/DrumKit/plugin.dll does not exist
[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ErraticInstruments/plugin.dll does not exist
[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ESeries/plugin.dll does not exist
[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/FrozenWasteland/plugin.dll does not exist
[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Fundamental/plugin.dll does not exist
[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Gratrix/plugin.dll does not exist
[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/HetrickCV/plugin.dll does not exist
[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/huaba/plugin.dll does not exist
[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/JW-Modules/plugin.dll does not exist
[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Koralfx-Modules/plugin.dll does not exist
[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/LindenbergResearch/plugin.dll does not exist
[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/LOGinstruments/plugin.dll does not exist
[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ML_modules/plugin.dll does not exist
[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/moDllz/plugin.dll does not exist
[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/modular80/plugin.dll does not exist
[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/mscHack/plugin.dll does not exist
[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/mtsch-plugins/plugin.dll does not exist
[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/NauModular/plugin.dll does not exist
[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Ohmer/plugin.dll does not exist
[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Qwelk/plugin.dll does not exist
[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/RJModules/plugin.dll does not exist
[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SerialRacker/plugin.dll does not exist
[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SonusModular/plugin.dll does not exist
[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Southpole-parasites/plugin.dll does not exist
[0.014 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/squinkylabs-plug1/plugin.dll does not exist
[0.014 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SubmarineFree/plugin.dll does not exist
[0.014 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Template/plugin.dll does not exist
[0.015 info src/plugin.cpp:155] Loaded plugin Template_shared 0.6.1 from f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Template_shared/plugin.dll
[0.015 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/trowaSoft/plugin.dll does not exist
[0.015 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/unless_modules/plugin.dll does not exist
[0.015 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Valley/plugin.dll does not exist
[0.015 info src/settings.cpp:286] Loading settings f:\git\VeeSeeVSTRack\vst2_bin\/settings.json
[0.032 info src/window.cpp:599] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/DejaVuSans.ttf
[0.033 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_146097_cc.svg
[0.033 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_31859_cc.svg
[0.033 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343816_cc.svg
[0.034 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343811_cc.svg
[0.034 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1084369_cc.svg
[0.034 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1745061_cc.svg
[0.035 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1240789_cc.svg
[0.035 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_305536_cc.svg
[0.035 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_468341_cc.svg
[0.035 info src/settings.cpp:286] Loading settings f:\git\VeeSeeVSTRack\vst2_bin\/settings.json
[0.037 info src/app/RackWidget.cpp:205] Loading patch from string
[0.039 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/Core/AudioInterface.svg
[0.040 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/ScrewSilver.svg
[0.040 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/PJ301M.svg
[0.040 info src/window.cpp:599] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/ShareTechMono-Regular.ttf
[0.042 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/Core/MIDIToCVInterface.svg
[0.046 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/XCO.svg
[0.046 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_68px.svg
[0.046 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_16px.svg
[0.047 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/button_9px_0.svg
[0.047 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/button_9px_1.svg
[0.047 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_38px.svg
[0.047 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/slider_switch_2_14px_0.svg
[0.048 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/slider_switch_2_14px_1.svg
[0.048 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/port.svg
[0.050 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCA.svg
[0.050 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundLargeBlackKnob.svg
[0.052 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCF.svg
[0.052 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundHugeBlackKnob.svg
[0.054 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/ADSR.svg
[0.054 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-hexscrew.svg
[0.054 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-SlidePot.svg
[0.055 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-SlidePotHandle.svg
[0.055 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-PJ301M.svg
[0.058 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCO-1.svg
[0.059 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/CKSS_0.svg
[0.059 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/CKSS_1.svg
[22.077 info src/app/RackWidget.cpp:167] Saving patch to string

Loading…
Cancel
Save