summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNils Wallménius <nils@rockbox.org>2007-10-05 12:22:58 +0000
committerNils Wallménius <nils@rockbox.org>2007-10-05 12:22:58 +0000
commit5118f48d73c00c2b3155b742c728b2c74e27b904 (patch)
tree8d86eff92b0528eaa3aa19c17ccbd5bd9719563f
parenta26ccdebf3e3664fc6de8451d80d447216e284a0 (diff)
downloadrockbox-5118f48d73c00c2b3155b742c728b2c74e27b904.zip
rockbox-5118f48d73c00c2b3155b742c728b2c74e27b904.tar.gz
rockbox-5118f48d73c00c2b3155b742c728b2c74e27b904.tar.bz2
rockbox-5118f48d73c00c2b3155b742c728b2c74e27b904.tar.xz
A loop with one iteration is a little strange, also put it inside an #if block to not rely on gcc otimizing it away
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14990 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/midi/synth.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/apps/plugins/midi/synth.h b/apps/plugins/midi/synth.h
index dd52c40..e04f9f4 100644
--- a/apps/plugins/midi/synth.h
+++ b/apps/plugins/midi/synth.h
@@ -48,9 +48,9 @@ static inline void synthSample(int * mixL, int * mixR)
voicept++;
}
- /* if max voices is an even number gcc is smart enough to not
- include this loop */
- for(i=MAX_VOICES%2; i > 0; i--)
+/* if MAX_VOICES is not even we do this to get the last voice */
+#if MAX_VOICES%2
+ if (MAX_VOICES%2)
{
if(voicept->isUsed==1)
{
@@ -59,8 +59,8 @@ static inline void synthSample(int * mixL, int * mixR)
sample *= chPan[voicept->ch];
dR += sample;
}
- voicept++;
}
+#endif
dL = (dL << 7) - dR;