Fix from miod@

- looping envelope would not play correctly if the loop end point is
  the last point of the envelope.
This commit is contained in:
pvalchev 2002-03-04 00:02:46 +00:00
parent fe6e7da2f6
commit dcb400ad0b
2 changed files with 32 additions and 1 deletions

View File

@ -1,9 +1,10 @@
# $OpenBSD: Makefile,v 1.1.1.1 2002/02/05 03:52:00 pvalchev Exp $
# $OpenBSD: Makefile,v 1.2 2002/03/04 00:02:46 pvalchev Exp $
COMMENT= "mikmod sound library"
VERSION= 3.1.10
DISTNAME= libmikmod-${VERSION}
PKGNAME= ${DISTNAME}p1
CATEGORIES= audio devel
NEED_VERSION= 1.504

View File

@ -0,0 +1,30 @@
$OpenBSD: patch-playercode_mplayer_c,v 1.1 2002/03/04 00:02:46 pvalchev Exp $
--- playercode/mplayer.c.orig Mon Jan 21 14:23:56 2002
+++ playercode/mplayer.c Sun Mar 3 16:47:54 2002
@@ -20,7 +20,7 @@
/*==============================================================================
- $Id: patch-playercode_mplayer_c,v 1.1 2002/03/04 00:02:46 pvalchev Exp $
+ $Id: patch-playercode_mplayer_c,v 1.1 2002/03/04 00:02:46 pvalchev Exp $
The Protracker Player Driver
@@ -254,7 +254,7 @@ static int MP_FindEmptyChannel(MODULE *m
Voice_Stopped_internal(t))
return t;
- tvol=0xffffffUL;t=0;a=mod->voice;
+ tvol=0xffffffUL;t=-1;a=mod->voice;
for (k=0;k<md_sngchn;k++,a++) {
/* allow us to take over a nonexisting sample */
if (!a->main.s)
@@ -444,7 +444,7 @@ static SWORD ProcessEnvelope(MP_VOICE *a
* Non looping situations.
* Start to fade if the volume envelope is finished.
*/
- if (p > t->env[t->pts - 1].pos) {
+ if (p >= t->env[t->pts - 1].pos) {
v = t->env[a].val;
if (t->flg & EF_VOLENV) {
aout->main.keyoff |= KEY_FADE;