surge-synthesizer / surge

Synthesizer plug-in (previously released as Vember Audio Surge)
https://surge-synthesizer.github.io/
GNU General Public License v3.0
3.01k stars 385 forks source link

Mod List Unipolar Values #7597

Closed Jxp955 closed 2 months ago

Jxp955 commented 3 months ago

Bug Description: Using Velocity (or any Unipolar LFO) to modulate any of the Envelope parameters, or Filter Cutoff, seems to lead to incorrect values in the mod list. Bipolar modulations seem to always work.

Surge XT Version Surge XT 1.3.1.4b53827

Reproduction Steps: Steps to reproduce the behavior:

  1. Click Velocity modulator, or a LFO and set to Unipolar.
  2. When green, change some of the EG or filter cutoff values.
  3. When done click on the mod List.
  4. The numbers don't seem to add up.

Expected Behavior: The math on bipolar LFO's seems to be fine. The actual modulation may work, it could be just the numbers.

Screenshots: image Notice on both Attacks the 0 plus a value still equals 0. image

Computer Information (please complete the following!):

Additional Information: Add any other context about the problem here.

baconpaul commented 3 months ago

Oooh thanks.

baconpaul commented 2 months ago

Right theres two problems here

  1. The envelope time modulation depths are shown in seconds not milliseconds
  2. The 'target endpoint' indeed shows incorrectly in unipolar mod mode

Here's a clear example. Let me see if i can fix it today.

Screenshot 2024-04-19 at 1 23 37 PM

baconpaul commented 2 months ago

The first is the incomplete implementation in 12aa6a05

if the base value is below the millisecond value and ParamDisplayFeatures::kSwitchesFromSecToMillisec is true, show the modulation depth in milliseconds.