Skip to content

Commit

Permalink
Wavetable Painting and Loading Fixes (#867)
Browse files Browse the repository at this point in the history
1. Fill frames for truncated tables with 0, fixing a problem
with pulse wavetable in rack. Closes #843

2. Invalidate more completely when dirty since background is
dirty dependent. Addresses #856 but will await for confirm to
close
  • Loading branch information
baconpaul committed Mar 5, 2023
1 parent aa8525d commit 801c035
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 2 deletions.
18 changes: 18 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# Surge XT VCV Modules Changelog

## 2.1.4 (Coming March 2023)

- EGxVCA: Pan Law is now an option of either the MixMaster
Stereo Equal Power or True Panning. Stereo Equal Power is
the new default, matching MixMaster. *This will change the
behavior of EGxVCA pan in saved patches unless you explicitly
restore the True Panning mode in the menu*.
- Mixer, TunedDelays: Left/Mono normalize properly.
- Mixer: Turn of the 'unmute-on-connect' mixer behavior when unstreaming, allowing
mute to save correctly
- Twist: Don't paint the Twist waveform with the LPG on
- LFOxEG: Imporove wording on "Set EG to Zero" on LFO
- LFOxEG: Paint the raw wave as a 'ghost' wave in the LFO display
- LFOxEG: Adjust the Phase/Shuffle label on the LFO front pane
- WaveTable/Window: Fix several problems with loading incomplete wavetables and
painting the resulting wavetable display.
- Infrastructure: Make Surge's use of SIMDE compile time selectable; use rack SIMDE

## 2.1.3

- Fix for wavetable 3d position display when modulating Morph parameter
Expand Down
8 changes: 7 additions & 1 deletion src/VCO.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,9 @@ struct OSCPlotWidget : public rack::widget::TransparentWidget, style::StyleParti
{
recalcPath();
bdwPlot->dirty = true;
// Oh dirty can also change the background not just the plot
// if features like oneshot changes
bdw->dirty = true;
}

if constexpr (VCOConfig<oscType>::requiresWavetables())
Expand Down Expand Up @@ -648,8 +651,11 @@ struct OSCPlotWidget : public rack::widget::TransparentWidget, style::StyleParti

if (VCOConfig<oscType>::requiresWavetables())
{
if (module->wavetableCount == 0)
if (module && module->wavetableCount == 0)
return;

if (module)
isOneShot = module->isWTOneShot();
}

if (module && module->draw3DWavetable)
Expand Down
2 changes: 1 addition & 1 deletion surge
Submodule surge updated 39 files
+1 −0 AUTHORS
+1 −1 doc/Developer Guide.md
+2 −2 src/common/DebugHelpers.cpp
+10 −7 src/common/ModulationSource.h
+9 −5 src/common/Parameter.cpp
+1 −1 src/common/SkinColors.cpp
+1 −1 src/common/SkinModel.cpp
+19 −7 src/common/SurgeStorage.cpp
+0 −1 src/common/SurgeSynthesizer.cpp
+1 −1 src/common/SurgeSynthesizerIO.cpp
+2 −2 src/common/dsp/effects/DelayEffect.cpp
+1 −1 src/common/dsp/effects/Reverb1Effect.cpp
+5 −5 src/common/dsp/oscillators/TwistOscillator.cpp
+40 −12 src/common/dsp/utilities/DSPUtils.cpp
+79 −16 src/common/dsp/utilities/DSPUtils.h
+14 −0 src/surge-fx/SurgeFXProcessor.cpp
+1 −0 src/surge-fx/SurgeFXProcessor.h
+24 −23 src/surge-python/surgepy.cpp
+1 −1 src/surge-testrunner/HeadlessNonTestFunctions.cpp
+3 −3 src/surge-testrunner/UnitTests.cpp
+2 −2 src/surge-testrunner/UnitTestsLUA.cpp
+1 −1 src/surge-testrunner/UnitTestsTUN.cpp
+1 −1 src/surge-testrunner/main.cpp
+2 −2 src/surge-xt/SurgeSynthProcessor.cpp
+2 −2 src/surge-xt/gui/AccessibleHelpers.h
+20 −12 src/surge-xt/gui/SurgeGUIEditor.cpp
+6 −0 src/surge-xt/gui/SurgeGUIEditorKeyboardActions.h
+1 −1 src/surge-xt/gui/SurgeGUIEditorValueCallbacks.cpp
+97 −37 src/surge-xt/gui/overlays/Oscilloscope.cpp
+13 −8 src/surge-xt/gui/overlays/Oscilloscope.h
+0 −1 src/surge-xt/gui/overlays/OverlayWrapper.cpp
+1 −1 src/surge-xt/gui/overlays/PatchStoreDialog.cpp
+34 −2 src/surge-xt/gui/widgets/LFOAndStepDisplay.h
+29 −1 src/surge-xt/gui/widgets/ModulatableSlider.cpp
+2 −0 src/surge-xt/gui/widgets/ModulatableSlider.h
+33 −7 src/surge-xt/gui/widgets/OscillatorWaveformDisplay.cpp
+1 −0 src/surge-xt/gui/widgets/OscillatorWaveformDisplay.h
+39 −24 src/surge-xt/gui/widgets/PatchSelector.cpp
+1 −0 src/surge-xt/gui/widgets/PatchSelector.h

0 comments on commit 801c035

Please sign in to comment.