i actually study the minisynth project who's really nice. But this project has only 1 ADSR envelopes for all (pitched osc, filter & DCA)
i saw that the Minisynth has already the possibility to have 4 ADSR envelopes.
So i added a second attack, sustain, decay , release section (DCA Amp ADSR) in the minisynth.cpp by adding the lines:
"// --- EG2:
m_GlobalSynthParams.eg2Params.dAttackTime_mSec = m_dAttackTime2_mSec;
m_GlobalSynthParams.eg2Params.dDecayTime_mSec = m_dDecayReleaseTime2_mSec;
in the minisynthvoice.cpp, added the lines:
"// 2) --- set any component specific stuff
m_EG2.m_bOutputEG = true; // our DCA EG"
adding GUI ADSR2 implementation. ADSR 1 : actual envelope, ADSR 2: DCA envelope.
But there is a problem. The 1rst and second ADSR go in conflict with the first. If the second ADSR (the filter ADSR) is all set to zero, the first ADSR work.
i think the problem is in the voice.h, here:
"inline virtual bool isActiveVoice()
if(m_bNoteOn && m_EG1.isActive())
// we are in a state to accept a noteOff message
// WILL need to override this for FM Instrument or any parallel-osc algorithm with multiple output amp EGs
inline virtual bool canNoteOff()
if(m_bNoteOn && m_EG1.canNoteOff())
i tried to add the EG2 in it, but always the same problem.
what am i doing wrong ?
First off, welcome to the forum and nice to see you are interested in the RackAFX software.
Just so I've got an idea, you are trying to create a new envelope to control an individual part of the synth, right?
Currently minisynth uses one EG for all the aspects so you'll want to unlink EG1 from the other components that you don't want it to control then you can assign your new EG2 to what you want then it should work independently from EG1 which is your current problem of conflict.
But I don't want to detail it too much in case this isn't what you wanted to do.
hello Hungryman 93 !
thanks for reply 🙂
yes my goal was to create a VCA/DCA ADSR EG. So like you wrote: disconnect DCA to EG1 (and all function like filter, osc, etc. ... directly bridged beetween EG1 and DCA output.
and that's DONE ! 😀
i forgot changing some "lines" in the voices (voice & minisynthvoice .cpp & .h) sections. Now EG1 is ADSR for osc, filter & LFO. EG2 is adsr for DCA.
So now i have a 4 piched osc + sub osc +noise osc, SVF SEM filter, 2 ADSR EG (VCF/DCF & VCA/DCA)
Yes, that was what I was going to suggest to do next if you were still stumped.
As I was looking over the code for mini synth, not everything is just contained in the mini synth cpp although it would be possible to override the standard source and destination points using the mod matrix, as you did you can also edit them directly in the voice and minisynthvoice sections.
Well done, looks great from your pic!
Most Users Ever Online: 152
Currently Browsing this Page:
Guest Posters: 1
Moderators: W Pirkle: 656