summaryrefslogtreecommitdiff
path: root/audio/soundtracker/files/patch-app_tracer.c
diff options
context:
space:
mode:
Diffstat (limited to 'audio/soundtracker/files/patch-app_tracer.c')
-rw-r--r--audio/soundtracker/files/patch-app_tracer.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/audio/soundtracker/files/patch-app_tracer.c b/audio/soundtracker/files/patch-app_tracer.c
new file mode 100644
index 000000000000..8b137b394461
--- /dev/null
+++ b/audio/soundtracker/files/patch-app_tracer.c
@@ -0,0 +1,41 @@
+--- app/tracer.c.orig 2006-02-25 12:30:54 UTC
++++ app/tracer.c
+@@ -361,15 +361,19 @@ static st_mixer mixer_tracer = {
+ void
+ tracer_trace (int mixfreq, int songpos, int patpos)
+ {
++ st_mixer *real_mixer;
++ int stopsongpos, stoppatpos;
++ double rest, previous;
++
+ /* Attemp to take pitchband into account */
+ /* Test if tempo and BPM are traced */
+- st_mixer *real_mixer = mixer;
++ real_mixer = mixer;
+ mixer = &mixer_tracer;
+
+- int stopsongpos = songpos;
+- int stoppatpos = patpos;
++ stopsongpos = songpos;
++ stoppatpos = patpos;
+
+- double rest = 0, previous = 0; /* Fractional part of the samples */
++ rest = 0, previous = 0; /* Fractional part of the samples */
+
+ if((stoppatpos -= 1) < 0){
+ stopsongpos -= 1;
+@@ -381,12 +385,13 @@ tracer_trace (int mixfreq, int songpos,
+
+ while(1) {
+ double t;
++ guint32 samples;
+
+ double current = xmplayer_play();
+ t = current - previous + rest;
+ previous = current;
+
+- guint32 samples = t * mixfreq;
++ samples = t * mixfreq;
+ rest = t - (double)samples / (double)mixfreq;
+
+ tracer_mix(NULL, samples, NULL, 0);