Thank you for the patch Eric. It's been merged to CVS.

2010/2/21 Eric Welsh <ewe...@biology.wustl.edu>:

> I have attached a diff (readmidi_xg_sysex.diff) to fix a bug with
> interpreting XG SYSTEM ON SYSEX events.
>
> playmidi.c: Allow Device Numbers other than 0x10 for XG SYSTEM ON SYSEX events
>
> See comments in diff for longer explanation.  All my XG midi files play
> fine in server mode now.
>
> -----
>
> I am also resubmitting an anti-popping patch I submitted a few months ago
> (mix_fix_amps.diff) after a discussion on this list.
>
> mix.c: Fix existing anti-popping minimum volume ramps for expression,
>       volume, pans, etc..  Extend anti-popping minimum volume ramps to
>       envelope amp changes.
>
>
> In adding the envelope volume ramps, I found that I had mis-implemented
> the original "reduce popping" code in compute_mix_smoothing() many years
> ago.  The previous 0.5 msec comment was wrong, since the code was
> effectively working over 20 msec and I only *thought* it was 0.5 msec from
> my incorrectly written code.  Looking at WAV output in a sample editor
> confirms this.  I have changed the calculation to correctly take the
> control_ratio into account, and changed the comment to reflect the actual
> minimum ramp time.
>
> I was originally hesitant to add anti-popping minimum volume ramp times to
> envelope calculations, since they would add very minor delays to extremely
> fast envelope rates.  However, saner minds convinced me that this was a
> good idea for the following reasons:
>
> 1) 20 msec is very short to begin with
> 2) It has been used for expression, volume, and pan changes for many years
>   with no noticible problems.
> 3) Most GUS instruments have rates longer than this anyways, so they
>   would not be affected at all.
> 4) I think the GUS PAT loader checks for missing envelope rates and sets
>   them to defaults that are longer than 20 msec.
> 5) This effectively adds some reasonable defaults to soundfonts if the
>   envelope rates are missing (which is not uncommon).
> 6) Other software synthesizers and real hardware do not have popping
>   problems with soundfonts that are missing envelopes.  They must be
>   adding their own volume ramps to envelope changes to avoid these pops.
>   Therefore TiMidity++ should too, so that it can have soundfont support
>   that is more compatible with other players/hardware.
> 7) Enforcing minimum envelope times should avoid other unforseen popping
>   problems in the future.
>
> I fully support adding minimum volume ramp times to envelopes now.
>
> -Eric
> ------------------------------------------------------------------------------
> Download Intel&#174; Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> Timidity-talk mailing list
> Timidity-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/timidity-talk
>
>

------------------------------------------------------------------------------

_______________________________________________
Timidity-talk mailing list
Timidity-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/timidity-talk

Reply via email to