Browse Source

support VST host timing (Core.MIDI-1 clock/start/stop)

pull/1639/head
bsp2 6 years ago
parent
commit
315a685a67
7 changed files with 186 additions and 81 deletions
  1. +3
    -2
      README.md
  2. +79
    -0
      src/Core/MIDIToCVInterface.cpp
  3. +32
    -2
      src/vst2_main.cpp
  4. +5
    -0
      vst2_bin/CHANGELOG_VST.txt
  5. +2
    -1
      vst2_bin/README_vst2.txt
  6. +65
    -76
      vst2_bin/log.txt
  7. BIN
      vst2_bin/veeseevstrack_instr.dll__

+ 3
- 2
README.md View File

@@ -6,7 +6,8 @@
+ supports VST MIDI input + supports VST MIDI input
+ supports up to 8 audio outputs + supports up to 8 audio outputs
+ supports up to 8 audio inputs + supports up to 8 audio inputs
+ support 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)
- does not support plugin DLLs due to VCV Rack's architecture which prevents this when it is run as a plugin itself - does not support plugin DLLs due to VCV Rack's architecture which prevents this when it is run as a plugin itself
- future releases may contain additional (open source) add-ons modules - future releases may contain additional (open source) add-ons modules


@@ -21,7 +22,7 @@ Tested in
# Downloads # Downloads
The current release can be found in the [vst2_bin/](vst2_bin/) folder. The current release can be found in the [vst2_bin/](vst2_bin/) folder.


Here's a snapshot of it: [veeseevstrack_0_6_1_win64_bin-05Jul2018.7z](dist/veeseevstrack_0_6_1_win64_bin-05Jul2018.7z)
Here's a snapshot of it: [veeseevstrack_0_6_1_win64_bin-06Jul2018.7z](dist/veeseevstrack_0_6_1_win64_bin-06Jul2018.7z)




# Demo Video # Demo Video


+ 79
- 0
src/Core/MIDIToCVInterface.cpp View File

@@ -1,3 +1,8 @@

#ifdef USE_VST2
extern void vst2_get_timing_info (int *_retPlaying, float *_retBPM, float *_retSongPosPPQ);
#endif // USE_VST2

#include "global_pre.hpp" #include "global_pre.hpp"
#include "Core.hpp" #include "Core.hpp"
#include "midi.hpp" #include "midi.hpp"
@@ -47,6 +52,10 @@ struct MIDIToCVInterface : Module {
PulseGenerator continuePulse; PulseGenerator continuePulse;
int clock = 0; int clock = 0;
int divisions[2]; int divisions[2];
#ifdef USE_VST2
int b_vst_transport_playing = 0;
float vst_timing_clock_samples = 0.0f;
#endif // USE_VST2


struct NoteData { struct NoteData {
uint8_t velocity = 0; uint8_t velocity = 0;
@@ -100,6 +109,10 @@ struct MIDIToCVInterface : Module {
clock = 0; clock = 0;
divisions[0] = 24; divisions[0] = 24;
divisions[1] = 6; divisions[1] = 6;
#ifdef USE_VST2
b_vst_transport_playing = 0;
vst_timing_clock_samples = 0.0f;
#endif // USE_VST2
} }


void pressNote(uint8_t note) { void pressNote(uint8_t note) {
@@ -141,6 +154,64 @@ struct MIDIToCVInterface : Module {
releaseNote(255); releaseNote(255);
} }


#ifdef USE_VST2
void handleVSTClock(void) {
// (note) calling this _per sample_ is quite excessive (but should not be a problem)
// (note) the VST host might not update this per sample, though
float songPosPPQ = -1.0f;
float bpm = -1.0f;
int bPlaying = 0;
vst2_get_timing_info(&bPlaying, &bpm, &songPosPPQ);
// printf("xxx songPosPPQ=%f bpm=%f bPlaying=%d\n", songPosPPQ, bpm, bPlaying);

if(b_vst_transport_playing ^ bPlaying)
{
if(bPlaying)
{
startPulse.trigger(1e-3);
clock = 0;
vst_timing_clock_samples = 0.0f;
}
else
{
stopPulse.trigger(1e-3);
// Reset timing
clock = 0;
}
b_vst_transport_playing = bPlaying;
}

if(bPlaying && (bpm > 0.0f))
{
float secondsPerQuarter = 60.0f / bpm;
// 24 clock ticks per quarter note (MIDI timing clock)
float samplesPerTimingClockTick = (engineGetSampleRate() * secondsPerQuarter) / 24.0f;

if (clock % divisions[0] == 0) {
clockPulses[0].trigger(1e-3);
}
if (clock % divisions[1] == 0) {
clockPulses[1].trigger(1e-3);
}

vst_timing_clock_samples += 1.0f;
if(vst_timing_clock_samples >= samplesPerTimingClockTick)
{
vst_timing_clock_samples -= samplesPerTimingClockTick;

// if(++clock < 0) clock = 0 (may be optimized away by a C compiler)
union {
int s;
unsigned int u;
} uclock;
uclock.s = clock;
uclock.u++;
clock = (uclock.s < 0) ? 0 : uclock.s;
}
} // if bPlaying
}
#endif // USE_VST2

void step() override { void step() override {
MidiMessage msg; MidiMessage msg;
while (midiInput.shift(&msg)) { while (midiInput.shift(&msg)) {
@@ -148,6 +219,10 @@ struct MIDIToCVInterface : Module {
} }
float deltaTime = engineGetSampleTime(); float deltaTime = engineGetSampleTime();


#ifdef USE_VST2
handleVSTClock();
#endif // USE_VST2

outputs[CV_OUTPUT].value = (lastNote - 60) / 12.f; outputs[CV_OUTPUT].value = (lastNote - 60) / 12.f;
outputs[GATE_OUTPUT].value = gate ? 10.f : 0.f; outputs[GATE_OUTPUT].value = gate ? 10.f : 0.f;
outputs[VELOCITY_OUTPUT].value = rescale(noteData[lastNote].velocity, 0, 127, 0.f, 10.f); outputs[VELOCITY_OUTPUT].value = rescale(noteData[lastNote].velocity, 0, 127, 0.f, 10.f);
@@ -224,6 +299,7 @@ struct MIDIToCVInterface : Module {
} }


void processSystem(MidiMessage msg) { void processSystem(MidiMessage msg) {
#ifndef USE_VST2
switch (msg.channel()) { switch (msg.channel()) {
// Timing // Timing
case 0x8: { case 0x8: {
@@ -255,6 +331,9 @@ struct MIDIToCVInterface : Module {
} break; } break;
default: break; default: break;
} }
#else
(void)msg;
#endif // USE_VST2
} }
}; };




+ 32
- 2
src/vst2_main.cpp View File

@@ -16,7 +16,7 @@
/// limitations under the License. /// limitations under the License.
/// ///
/// created: 25Jun2018 /// created: 25Jun2018
/// changed: 26Jun2018, 27Jun2018, 29Jun2018, 01Jul2018, 02Jul2018
/// changed: 26Jun2018, 27Jun2018, 29Jun2018, 01Jul2018, 02Jul2018, 06Jul2018
/// ///
/// ///
/// ///
@@ -771,7 +771,32 @@ public:


void handleUIParam(int uniqueParamId, float normValue) { void handleUIParam(int uniqueParamId, float normValue) {
if(NULL != _vstHostCallback) if(NULL != _vstHostCallback)
_vstHostCallback(&_vstPlugin, audioMasterAutomate, uniqueParamId, 0/*value*/, NULL/*ptr*/, normValue/*opt*/);
(void)_vstHostCallback(&_vstPlugin, audioMasterAutomate, uniqueParamId, 0/*value*/, NULL/*ptr*/, normValue/*opt*/);
}

void getTimingInfo(int *_retPlaying, float *_retBPM, float *_retSongPosPPQ) {
*_retPlaying = 0;

if(NULL != _vstHostCallback)
{
VstIntPtr result = _vstHostCallback(&_vstPlugin, audioMasterGetTime, 0, 0/*value*/, NULL/*ptr*/, 0.0f/*opt*/);
if(NULL != result)
{
const struct VstTimeInfo *timeInfo = (const struct VstTimeInfo *)result;

*_retPlaying = (0 != (timeInfo->flags & kVstTransportPlaying));

if(0 != (timeInfo->flags & kVstTempoValid))
{
*_retBPM = float(timeInfo->tempo);
}

if(0 != (timeInfo->flags & kVstPpqPosValid))
{
*_retSongPosPPQ = timeInfo->ppqPos;
}
}
}
} }


private: private:
@@ -1587,6 +1612,11 @@ void vst2_handle_ui_param(int uniqueParamId, float normValue) {
rack::global->vst2.wrapper->handleUIParam(uniqueParamId, normValue); rack::global->vst2.wrapper->handleUIParam(uniqueParamId, normValue);
} }


void vst2_get_timing_info(int *_retPlaying, float *_retBPM, float *_retSongPosPPQ) {
// updates the requested fields when query was successful
rack::global->vst2.wrapper->getTimingInfo(_retPlaying, _retBPM, _retSongPosPPQ);
}

#ifdef VST2_REPARENT_WINDOW_HACK #ifdef VST2_REPARENT_WINDOW_HACK
#ifdef YAC_WIN32 #ifdef YAC_WIN32
void vst2_maximize_reparented_window(void) { void vst2_maximize_reparented_window(void) {


+ 5
- 0
vst2_bin/CHANGELOG_VST.txt View File

@@ -1,3 +1,8 @@
** July 6th, 2018
- Core.MIDI-1: support clock and start, stop signals
(host must implement audioMasterGetTime(7) and support kVstTempoValid + kVstTransportPlaying)


** July 5th, 2018 ** July 5th, 2018
- add module huaba.EQ3 - add module huaba.EQ3
- add module huaba.ABBus - add module huaba.ABBus


+ 2
- 1
vst2_bin/README_vst2.txt View File

@@ -13,7 +13,8 @@ This is a quick'n'dirty adaption of VCV Rack 0.6.1 for the VST2 format.
+ supports VST MIDI input + supports VST MIDI input
+ supports up to 8 audio outputs + supports up to 8 audio outputs
+ supports up to 8 audio inputs + supports up to 8 audio inputs
+ support 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)
- does not support plugin DLLs due to VCV Rack's architecture which prevents this when it is run as a plugin itself - does not support plugin DLLs due to VCV Rack's architecture which prevents this when it is run as a plugin itself
- future releases will contain additional (open source) add-ons modules - future releases will contain additional (open source) add-ons modules




+ 65
- 76
vst2_bin/log.txt View File

@@ -1,77 +1,66 @@
[0.000 info src/main.cpp:63] VeeSeeVST Rack 0.6.1 [0.000 info src/main.cpp:63] VeeSeeVST Rack 0.6.1
[0.000 info src/main.cpp:66] Global directory: f:\git\VeeSeeVSTRack\vst2_bin\/
[0.000 info src/main.cpp:67] Local directory: f:\git\VeeSeeVSTRack\vst2_bin\/
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin AS 0.6.1
[0.002 info src/plugin.cpp:618] vcvrack: Loaded static plugin AudibleInstruments 0.6.1
[0.003 info src/plugin.cpp:618] vcvrack: Loaded static plugin Befaco 0.6.1
[0.003 info src/plugin.cpp:618] vcvrack: Loaded static plugin Bogaudio 0.6.1
[0.003 info src/plugin.cpp:618] vcvrack: Loaded static plugin cf 0.6.1
[0.004 info src/plugin.cpp:618] vcvrack: Loaded static plugin ErraticInstruments 0.6.1
[0.004 info src/plugin.cpp:618] vcvrack: Loaded static plugin ESeries 0.6.1
[0.005 info src/plugin.cpp:618] vcvrack: Loaded static plugin Fundamental 0.6.1
[0.005 info src/plugin.cpp:618] vcvrack: Loaded static plugin FrozenWasteland 0.6.1
[0.006 info src/plugin.cpp:618] vcvrack: Loaded static plugin HetrickCV 0.6.1
[0.006 info src/plugin.cpp:618] vcvrack: Loaded static plugin huaba 0.6.1
[0.007 info src/plugin.cpp:618] vcvrack: Loaded static plugin Koralfx-Modules 0.6.1
[0.007 info src/plugin.cpp:618] vcvrack: Loaded static plugin LindenbergResearch 0.6.1
[0.008 info src/plugin.cpp:618] vcvrack: Loaded static plugin ML_modules 0.6.1
[0.008 info src/plugin.cpp:618] vcvrack: Loaded static plugin Qwelk 0.6.1
[0.009 info src/plugin.cpp:618] vcvrack: Loaded static plugin SonusModular 0.6.1
[0.009 info src/plugin.cpp:618] vcvrack: Loaded static plugin squinkylabs-plug1 0.6.1
[0.010 info src/plugin.cpp:618] vcvrack: Loaded static plugin SubmarineFree 0.6.1
[0.010 info src/plugin.cpp:618] vcvrack: Loaded static plugin Template 0.6.1
[0.011 info src/plugin.cpp:618] vcvrack: Loaded static plugin trowaSoft 0.6.1
[0.011 info src/plugin.cpp:618] vcvrack: Loaded static plugin Valley 0.6.1
[0.012 info src/plugin.cpp:618] vcvrack: Loaded static plugin VultModules 0.6.1
[0.012 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_146097_cc.svg
[0.013 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_31859_cc.svg
[0.013 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343816_cc.svg
[0.014 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343811_cc.svg
[0.014 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1084369_cc.svg
[0.015 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1745061_cc.svg
[0.015 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1240789_cc.svg
[0.016 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_305536_cc.svg
[0.016 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_468341_cc.svg
[0.194 info src/window.cpp:703] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/DejaVuSans.ttf
[0.297 info src/app/RackWidget.cpp:192] Loading patch from string
[0.299 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/Core/AudioInterface.svg
[0.299 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/ScrewSilver.svg
[0.300 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/PJ301M.svg
[0.300 info src/window.cpp:703] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/ShareTechMono-Regular.ttf
[0.301 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/Core/MIDIToCVInterface.svg
[0.304 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/XCO.svg
[0.304 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_68px.svg
[0.305 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_16px.svg
[0.305 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/button_9px_0.svg
[0.306 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/button_9px_1.svg
[0.306 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_38px.svg
[0.307 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/slider_switch_2_14px_0.svg
[0.307 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/slider_switch_2_14px_1.svg
[0.308 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/port.svg
[0.309 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCA.svg
[0.309 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundLargeBlackKnob.svg
[0.310 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCF.svg
[0.310 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundHugeBlackKnob.svg
[0.312 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/ADSR.svg
[0.312 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-hexscrew.svg
[0.312 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-SlidePot.svg
[0.313 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-SlidePotHandle.svg
[0.314 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-PJ301M.svg
[5.948 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/trowaSoft/res/trigSeq.svg
[5.949 info src/window.cpp:703] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\plugins/trowaSoft/res/Fonts/Digital dream Fat.ttf
[5.949 info src/window.cpp:703] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\plugins/trowaSoft/res/Fonts/ZeroesThree-Regular.ttf
[5.950 info src/window.cpp:703] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\plugins/trowaSoft/res/Fonts/larabieb.ttf
[5.950 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/trowaSoft/res/ComponentLibrary/TS_pad_btn_0.svg
[5.951 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/trowaSoft/res/ComponentLibrary/TS_pad_btn_1.svg
[5.951 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/ScrewBlack.svg
[5.952 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundSmallBlackKnob.svg
[5.952 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/LEDButton.svg
[5.953 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/trowaSoft/res/ComponentLibrary/TS_Port.svg
[5.953 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/trowaSoft/res/ComponentLibrary/TS_pad_0.svg
[12.871 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/trowaSoft/res/voltSeq.svg
[17.842 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/trowaSoft/res/cvOSCcv.svg
[23.597 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/trowaSoft/res/multiScope.svg
[23.597 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/trowaSoft/res/ComponentLibrary/TS_RoundBlackKnob_20.svg
[28.057 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/trowaSoft/res/multiOscillator.svg
[28.058 info src/window.cpp:754] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/trowaSoft/res/ComponentLibrary/TS_RoundBlackEncoder_20.svg
[32.862 info src/app/RackWidget.cpp:154] Saving patch to string
[0.000 info src/main.cpp:66] Global directory: F:\git\VeeSeeVSTRack\vst2_bin\/
[0.000 info src/main.cpp:67] Local directory: F:\git\VeeSeeVSTRack\vst2_bin\/
[0.000 info src/plugin.cpp:618] vcvrack: Loaded static plugin AS 0.6.1
[0.000 info src/plugin.cpp:618] vcvrack: Loaded static plugin AudibleInstruments 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin Befaco 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin Bogaudio 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin cf 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin ErraticInstruments 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin ESeries 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin Fundamental 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin FrozenWasteland 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin HetrickCV 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin huaba 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin Koralfx-Modules 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin LindenbergResearch 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin ML_modules 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin Qwelk 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin SonusModular 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin squinkylabs-plug1 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin SubmarineFree 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin Template 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin trowaSoft 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin Valley 0.6.1
[0.001 info src/plugin.cpp:618] vcvrack: Loaded static plugin VultModules 0.6.1
[0.002 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_146097_cc.svg
[0.002 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_31859_cc.svg
[0.002 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343816_cc.svg
[0.002 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343811_cc.svg
[0.002 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1084369_cc.svg
[0.002 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1745061_cc.svg
[0.002 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1240789_cc.svg
[0.002 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_305536_cc.svg
[0.002 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_468341_cc.svg
[0.253 info src/window.cpp:703] Loaded font F:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/DejaVuSans.ttf
[0.276 info src/app/RackWidget.cpp:154] Saving patch to string
[0.567 info src/app/RackWidget.cpp:154] Saving patch to string
[15.484 info src/app/RackWidget.cpp:154] Saving patch to string
[66.347 info src/app/RackWidget.cpp:192] Loading patch from string
[66.348 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/Core/AudioInterface.svg
[66.348 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/ScrewSilver.svg
[66.349 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/PJ301M.svg
[66.349 info src/window.cpp:703] Loaded font F:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/ShareTechMono-Regular.ttf
[66.350 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/Core/MIDIToCVInterface.svg
[66.352 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/XCO.svg
[66.352 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_68px.svg
[66.352 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_16px.svg
[66.352 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/button_9px_0.svg
[66.353 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/button_9px_1.svg
[66.353 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_38px.svg
[66.353 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/slider_switch_2_14px_0.svg
[66.353 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/slider_switch_2_14px_1.svg
[66.353 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/port.svg
[66.353 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCA.svg
[66.354 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundLargeBlackKnob.svg
[66.354 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCF.svg
[66.354 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundHugeBlackKnob.svg
[66.355 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/ADSR.svg
[66.356 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-hexscrew.svg
[66.356 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-SlidePot.svg
[66.356 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-SlidePotHandle.svg
[66.356 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-PJ301M.svg
[66.357 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/Core/MIDITriggerToCVInterface.svg
[66.358 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/SEQ3.svg
[66.358 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundBlackKnob.svg
[66.358 info src/window.cpp:754] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/LEDButton.svg

BIN
vst2_bin/veeseevstrack_instr.dll__ View File


Loading…
Cancel
Save