diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e854ed..1fc91c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,23 +1,30 @@ -### 1.0.0 (in development) +### 1.0.1 (2019-06-27) +- Fix VCO-1/2 sync being triggered with a negative slope. +### 1.0.0 (2019-06-19) +- Migrate to v1 API. +- Add performance optimizations with SIMD. +- Change brand to "VCV", so modules appear as "VCV VCO-1", etc. +- Make most modules polyphonic. +- Change VCO-1/2 method from oversampling to MinBLEP. ### 0.5.1 (2017-12-19) -- Added Sequential Switch 1 & 2 +- Added Sequential Switch 1 & 2. ### 0.5.0 (2017-11-21) -- Added 8vert, 8-channel attenuverter -- Added Unity, 2-channel mixer -- Changed LED functions in ADSR +- Added 8vert, 8-channel attenuverter. +- Added Unity, 2-channel mixer. +- Changed LED functions in ADSR. ### 0.4.0 (2017-10-13) -- Added Lissajous mode to Scope -- Added two LFOs and VCO-2 +- Added Lissajous mode to Scope. +- Added two LFOs and VCO-2. ### 0.3.2 (2017-09-25) -- Fixed Drive CV input of VCF -- Reverted SEQ3 to continuous gates +- Fixed Drive CV input of VCF. +- Reverted SEQ3 to continuous gates. diff --git a/plugin.json b/plugin.json index b43dd0f..8e67ddd 100644 --- a/plugin.json +++ b/plugin.json @@ -1,6 +1,6 @@ { "slug": "Fundamental", - "version": "1.0.0", + "version": "1.0.1", "license": "BSD-3-Clause", "name": "Fundamental", "brand": "VCV", diff --git a/src/VCO.cpp b/src/VCO.cpp index 2e482cc..b92788c 100644 --- a/src/VCO.cpp +++ b/src/VCO.cpp @@ -121,9 +121,10 @@ struct VoltageControlledOscillator { // Detect sync // Might be NAN or outside of [0, 1) range if (syncEnabled) { - T syncCrossing = -lastSyncValue / (syncValue - lastSyncValue); + T deltaSync = syncValue - lastSyncValue; + T syncCrossing = -lastSyncValue / deltaSync; lastSyncValue = syncValue; - T sync = (0.f < syncCrossing) & (syncCrossing <= 1.f); + T sync = (0.f < syncCrossing) & (syncCrossing <= 1.f) & (syncValue >= 0.f); int syncMask = simd::movemask(sync); if (syncMask) { if (soft) {