[LAU] timemachine click bug

andersvi at extern.uio.no andersvi at extern.uio.no
Wed Nov 26 12:49:53 EST 2008


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);



More information about the Linux-audio-user mailing list