Please consider registering

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —

— Match —

— Forum Options —

Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
Sustain behaviour - DXSynth
January 19, 2015 - 3:26 pm
Member Since: December 21, 2014
Forum Posts: 23
sp_UserOfflineSmall Offline

Hi Will,

The midi sustain works in a strange way, when I release the note and press sustain on my midi keyboard, it sustains.
When I let go of sustain and press down sustain again while the sound is in release, the note ramps up to the last sustain vol level.
Is this the intended sustain behaviour? For most synths I've tried the sustain seems to work only once in the entire adsr, once you release that's it. Granted, it's probably an easy fix, but is this intended?


January 19, 2015 - 6:31 pm
Member Since: December 21, 2014
Forum Posts: 23
sp_UserOfflineSmall Offline

Turned out to be pretty simple to change the behaviour, commented the below code in doEnvelope()
But, is there a use case for such the original behaviour?

case release:
// --- if sustain pedal is down, override and return
// if(m_bSustainOverride)
// {
// m_dEnvelopeOutput = m_dSustainLevel;
// break;
// }
// else
// --- render value
m_dEnvelopeOutput = m_dReleaseOffset + m_dEnvelopeOutput*m_dReleaseCoeff;

// --- check go to next state
if(m_dEnvelopeOutput <= 0.0 || m_dReleaseTime_mSec <= 0.0)
m_dEnvelopeOutput = 0.0;
m_uState = off; // go to next state

January 22, 2015 - 6:52 pm
Member Since: January 28, 2017
Forum Posts: 659
sp_UserOfflineSmall Offline

Refer to the book regarding the way the DXSynth is different that all others in that it has no one specific Output EG connected to the DCA. The Sustain Override should only apply to EGs that are on the final output, and there is a flag you set to control this. So, when you hold the sustain pedal, only the output EG's should "stick" and the others should still be in motion. I think this may be what you are experiencing but you can double check that.

- Will

Forum Timezone: America/New_York

Most Users Ever Online: 152

Currently Online:
7 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Chaes: 56

Skyler: 48

Derek: 46

Frodson: 45

Peter: 43

TheSmile: 43

clau_ste: 39

Nickolai: 39

JimmyM: 33

Gwen: 32

Member Stats:

Guest Posters: 1

Members: 742

Moderators: 1

Admins: 6

Forum Stats:

Groups: 13

Forums: 42

Topics: 820

Posts: 3172

Moderators: W Pirkle: 659