I'm not really sure it was there for a good reason :)

I'm not in a position to test the patch at the moment, and I've lost the CVS tree for that package, so I can't see if it was ever changed to +1. but if someone else can test it I'll put out a new version with the fix.

- Steve

On 27 Nov 2008, at 09:31, andersvi@extern.uio.no wrote:

guess the right addresat should be LAD for this...


From: andersvi@extern.uio.no
Date: 26 November 2008 17:49:53 GMT
To: linux-audio-user@lists.linuxaudio.org
Subject: [LAU] timemachine click bug


I think timemachine has had a bug during the last three years or so.  It
introduces a zeroed (extra?) sample after the pre-record buffersize in
the outputfile.

Ive used a hacked version myself for some time, which seems to function
- at least the click is gone.

The hack just takes away a '+ 1' at a strategic place (see diffs below),
but im sure its there for some reason!  Maybe more C-fluent persons here
could look at the code and see whats a real fix?

The source is here: http://plugin.org.uk/timemachine/timemachine-0.3.1.tar.gz


-anders


*** /tmp/timemachine-0.3.1/src/threads.c 2008-11-26 18:24:35.000000000 +0100
--- /tmp/timemachine-0.3.1/src/threads.c~ 2005-07-18 16:03:06.000000000 +0200
***************
*** 157,164 ****
  for (j = 0; j < BUF_SIZE && i < pre_size; i++, j++) {
     for (k = 0; k < num_ports; k++) {
  buf[j * num_ports + k] =
!    /* pre_buffer[k][(i + 1 + pre_pos) % pre_size]; */
!    pre_buffer[k][(i + pre_pos) % pre_size];
     }
  }
  sf_writef_float(out, buf, j);
--- 157,163 ----
  for (j = 0; j < BUF_SIZE && i < pre_size; i++, j++) {
     for (k = 0; k < num_ports; k++) {
  buf[j * num_ports + k] =
!    pre_buffer[k][(i + 1 + pre_pos) % pre_size];
     }
  }
  sf_writef_float(out, buf, j);
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user
I think timemachine has had a bug during the last three years or so.  It
introduces a zeroed (extra?) sample after the pre-record buffersize in
the outputfile.

Ive used a hacked version myself for some time, which seems to function
- at least the click is gone.

The hack just takes away a '+ 1' at a strategic place (see diffs below),
but im sure its there for some reason!  Maybe more C-fluent persons here
could look at the code and see whats a real fix?

The source is here: http://plugin.org.uk/timemachine/timemachine-0.3.1.tar.gz


-anders


*** /tmp/timemachine-0.3.1/src/threads.c 2008-11-26 18:24:35.000000000 +0100
--- /tmp/timemachine-0.3.1/src/threads.c~ 2005-07-18 16:03:06.000000000 +0200
***************
*** 157,164 ****
  for (j = 0; j < BUF_SIZE && i < pre_size; i++, j++) {
     for (k = 0; k < num_ports; k++) {
  buf[j * num_ports + k] =
!    /* pre_buffer[k][(i + 1 + pre_pos) % pre_size]; */
!    pre_buffer[k][(i + pre_pos) % pre_size];
     }
  }
  sf_writef_float(out, buf, j);
--- 157,163 ----
  for (j = 0; j < BUF_SIZE && i < pre_size; i++, j++) {
     for (k = 0; k < num_ports; k++) {
  buf[j * num_ports + k] =
!    pre_buffer[k][(i + 1 + pre_pos) % pre_size];
     }
  }
  sf_writef_float(out, buf, j);
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user


_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev