Small fixes.

pull/1/head
Holger Wirtz 8 years ago
parent 3f9790f594
commit 35071036e4
  1. 5
      src/dexed.cpp
  2. 2
      src/manifest.ttl
  3. 2
      src/msfa/dx7note.cc
  4. 4
      src/msfa/fm_core.cc

@ -467,12 +467,15 @@ void Dexed::GetSamples(uint32_t n_samples, float* buffer)
TRACE("Voice[%2d] OP [%d] amp=%ld,amp_step=%d,pitch_step=%d",i,op,voiceStatus.amp[op],voiceStatus.ampStep[op],voiceStatus.pitchStep);
if(voiceStatus.amp[op]<=1069) // this voice produces no audio output
if(voiceStatus.amp[op]<=1069 && voiceStatus.ampStep[op]==4) // this voice produces no audio output
op_amp++;
}
}
if(op_amp==op_carrier_num)
{
voices[i].live=false; // every carrier produces no audio anymore
TRACE("Shutting down Voice[%2d]",i);
}
}
// TRACE("Voice[%2d] live=%d keydown=%d",i,voices[i].live,voices[i].keydown);
}

@ -9,7 +9,7 @@
<https://github.com/dcoredump/dexed.lv2>
a lv2:Plugin ;
doap:name "Dexed is a LV2 port of the famous DX-7 simulation which is based on MSFA." ;
doap:name "Dexed" ;
doap:description "Synth" ;
doap:shortdesc "Dexed" ;
lv2:minorVersion 1; lv2:microVersion 0;

@ -204,6 +204,7 @@ void Dx7Note::compute(int32_t *buf, int32_t lfo_val, int32_t lfo_delay, const Co
params_[op].freq = Freqlut::lookup(basepitch_[op] + pitch_mod);
params_[op].gain_out = gain;
}
#endif
/* int pitchbend = ctrls->values_[kControllerPitch];
int32_t pb = (pitchbend - 0x2000);
@ -219,7 +220,6 @@ void Dx7Note::compute(int32_t *buf, int32_t lfo_val, int32_t lfo_delay, const Co
pitch_mod += pb;
pitch_mod += ctrls->masterTune; */
TRACE("pitch_mod=%d pb=%d");
#endif
// ==== AMP MOD ====
uint32_t amod_1 = ((int64_t) ampmoddepth_ * (int64_t) lfo_delay) >> 8; // Q24 :D

@ -77,8 +77,8 @@ uint8_t FmCore::op_out(uint8_t algorithm)
{
if((alg.ops[i]&OUT_BUS_ADD)==OUT_BUS_ADD)
op_out|=1<<i;
TRACE("OP[%d]:",6-i);
TRACE("OUT_BUS_ONE=%d OUT_BUS_TWO=%d OUT_BUS_ADD=%d IN_BUS_ONE=%d IN_BUS_TWO=%d FB_IN=%d FB_OUT=%d",alg.ops[i]&OUT_BUS_ONE?1:0,alg.ops[i]&OUT_BUS_TWO?1:0,alg.ops[i]&OUT_BUS_ADD?1:0,alg.ops[i]&IN_BUS_ONE?1:0,alg.ops[i]&IN_BUS_TWO?1:0,alg.ops[i]&FB_IN?1:0,alg.ops[i]&FB_OUT?1:0);
// TRACE("OP[%d]:",6-i);
// TRACE("OUT_BUS_ONE=%d OUT_BUS_TWO=%d OUT_BUS_ADD=%d IN_BUS_ONE=%d IN_BUS_TWO=%d FB_IN=%d FB_OUT=%d",alg.ops[i]&OUT_BUS_ONE?1:0,alg.ops[i]&OUT_BUS_TWO?1:0,alg.ops[i]&OUT_BUS_ADD?1:0,alg.ops[i]&IN_BUS_ONE?1:0,alg.ops[i]&IN_BUS_TWO?1:0,alg.ops[i]&FB_IN?1:0,alg.ops[i]&FB_OUT?1:0);
}
return op_out;

Loading…
Cancel
Save