changeset 219:b4eb9b59fef3

Fix envelope loops.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 07 Oct 2012 23:13:17 +0300
parents c619c8b6f696
children b0407a4c0a11
files jssplr.c
diffstat 1 files changed, 9 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/jssplr.c	Sun Oct 07 23:02:02 2012 +0300
+++ b/jssplr.c	Sun Oct 07 23:13:17 2012 +0300
@@ -147,20 +147,18 @@
             break;
     }
 
+    if (env->flags & jenvfLooped && pe->frame >= env->points[env->loopE].frame)
+    {
+        point = env->loopS;
+        pe->frame = env->points[env->loopS].frame;
+        pe->value = env->points[point].value;
+    }
+
     // Check for last point
     if (pe->frame >= env->points[env->npoints - 1].frame)
     {
-        if (env->flags & jenvfLooped)
-        {
-            point = env->loopS;
-            pe->frame = env->points[env->loopS].frame;
-        }
-        else
-        {
-            point = env->npoints - 1;
-            pe->exec = FALSE;
-        }
-        
+        point = env->npoints - 1;
+        pe->exec = FALSE;
         pe->value = env->points[point].value;
     }
     else