From a711183507c8ebcff7f349481008c035528a2016 Mon Sep 17 00:00:00 2001 From: defrost256 Date: Thu, 6 Sep 2018 18:58:12 +0200 Subject: [PATCH 1/2] Changed sustain level to relative Changed sustain level to be relative to the amplitude of the input SoundObject as discussed in Issue #3 --- src/processing/sound/Env.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/processing/sound/Env.java b/src/processing/sound/Env.java index e19e66a..2fecab6 100644 --- a/src/processing/sound/Env.java +++ b/src/processing/sound/Env.java @@ -30,7 +30,7 @@ public void play(SoundObject input, float attackTime, float sustainTime, float s SegmentedEnvelope env = new SegmentedEnvelope(new double[] { attackTime, input.amp, // attack // gradual decay towards sustain level across entire sustain period - sustainTime, sustainLevel, // sustain + sustainTime, sustainLevel * input.amp, // sustain releaseTime, 0.0 }); // TODO re-use player from fixed or dynamic pool From 9c250cb7f4f279837c1b5cbaba118a0d866379bd Mon Sep 17 00:00:00 2001 From: defrost256 Date: Thu, 6 Sep 2018 19:10:42 +0200 Subject: [PATCH 2/2] Updated javadoc comment to represent changes --- src/processing/sound/Env.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/processing/sound/Env.java b/src/processing/sound/Env.java index 2fecab6..bf03100 100644 --- a/src/processing/sound/Env.java +++ b/src/processing/sound/Env.java @@ -23,7 +23,7 @@ public Env(PApplet parent) { * @param input Input sound source * @param attackTime Attack time value as a float. * @param sustainTime Sustain time value as a float. - * @param sustain Sustain level value as a float. + * @param sustain Sustain level value as a float. (as fraction of the input amplitude) * @param releaseTime Release time value as a float. **/ public void play(SoundObject input, float attackTime, float sustainTime, float sustainLevel, float releaseTime) {