shithub: sox

Download patch

ref: 804b3a0d89a14956f6c39db54b5b35b3e5d6d528
parent: f3d989542578054a4914bcf373fd6df5aa4094d2
author: rrt <rrt>
date: Mon May 28 06:15:54 EDT 2007

Mention LADSPA and other fixes to text files.

Some comment fixes.

Small LADSPA fix.

--- a/AUTHORS
+++ b/AUTHORS
@@ -6,8 +6,22 @@
 Creator:
 	Lance Norskog
 
-Mantainer:
+Mantainers:
 	Chris Bagwell		cbagwell@users.sourceforge.net
+	Reuben Thomas		rrt@sc3d.org
+		Build system makeover, libsndfile and ffmpeg sound
+		format support, libao playback, Secret Rabbit Code
+		resampling; many fixes and much cleanup.
+	Rob Sykes		robs@users.sourceforge.net
+                Formats: M3U, PLS, FLAC, AMR, 24bit support for popular
+                formats.
+		Effects: pad, bass, treble, new flanger, soft-knee companding,
+                speed via resampling, filters makeover inc. gnuplot & octave
+                plotting.
+                Others: open input files via URL, file merging, play
+                multiple files with mixed format types, play with replay-gain,
+                building with cmake, much manual improvement and expansion,
+                various fixes, enhancements and clean-ups.
 
 Contributors:
 	Juergen Mueller		jmueller@uia.ua.ac.be
@@ -84,17 +98,3 @@
 		patch collection and maintance.
 	Matthias Nutt
 		Multiple effects from command line.
-	Reuben Thomas		rrt@sc3d.org
-		Build system makeover, libsndfile and ffmpeg sound
-		format support, libao playback, Secret Rabbit Code
-		resampling; many fixes and much cleanup.
-	Rob Sykes		robs@users.sourceforge.net
-                Formats: M3U, PLS, FLAC, AMR, 24bit support for popular
-                formats.
-		Effects: pad, bass, treble, new flanger, soft-knee companding,
-                speed via resampling, filters makeover inc. gnuplot & octave
-                plotting.
-                Others: open input files via URL, file merging, play
-                multiple files with mixed format types, play with replay-gain,
-                much manual improvement and expansion, various fixes,
-                enhancements and clean-ups.
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,18 +9,21 @@
 
   File formats:
 
-  o Added support for ADPCM-encoded PRC files, based on Danny Smith's
-    rec2wav and sndcmp.
-  o Added AMR-NB [FR# 728875] & AMR-WB formats (with external libs).  (robs)
+  o Added ffmpeg support.  (Reuben Thomas)
+  o FLAC: added seekable decoding; added seek-table generation.  (robs)
   o Added M3U & PLS playlist formats [FR# 1667341] (Note: SHOUTcast PLS
     is only partially supported).  (robs)
+  o Made format readers and writers into individual modules for easier
+    distribution of differently-licensed code.  (Reuben Thomas)
   o Added libao support.  (Reuben Thomas)
-  o Added read-only ffmpeg support.  (Reuben Thomas)
+  o Added support for ADPCM-encoded PRC files, based on Danny Smith's
+    rec2wav and sndcmp.  (Reuben Thomas)
+  o Added AMR-NB [FR# 728875] & AMR-WB formats (with external libs).  (robs)
   o Added LPC-10 support.  (Reuben Thomas)
-  o FLAC: added seekable decoding; added seek-table generation.  (robs)
 
   Effects:
 
+  o Use LADSPA effects (one input, one output).  (Reuben Thomas)
   o --octave option changed to --plot; can now also use gnuplot to
     plot effect transfer function.  (robs)
   o Added soft-knee companding.  (robs)
@@ -55,9 +58,11 @@
   Internal improvements:
 
   o Renamed libst to libsox for name recongition and to avoid
-    duplications with other existing libst libraries. (Reuben Thomas)
+    duplications with other existing libst libraries.  (Reuben Thomas)
+  o Moved effects to libsfx.  (Reuben Thomas)
   o Got rid of several hundred compiler warnings.  (robs, Reuben Thomas)
   o Added basic performance testing of I/O.  (Reuben Thomas)
+  o Added cmake build files for Win32.  (robs)
 
 sox-13.0.0
 ----------
@@ -68,7 +73,7 @@
     (Octave 2.0/2.1), .pvf, .sds, .sd2 and .xi file formats via libsndfile.
     If available, libsndfile can also be used to handle all the other file
     formats it understands.  (Reuben Thomas)
-  o Add FLAC support (robs@users.sf.net)
+  o Add FLAC support (robs)
   o Support Maxis's XA format. (Dwayne C. Litzenberger)
   o Add support for 24-bit PCM raw, wav (WAVE_FORMAT_EXTENSIBLE) [FR# 801015],
     au, aiff, & flac files. (robs)
@@ -75,7 +80,7 @@
   o Add AIFF-C output support.  (shashimoto)
   o New .ima file format for raw IMA ADPCM.  (robs)
   o Allow the rate and number of channels of .au files to be overridden
-    by command-line arguments. (robs@users.sf.net)
+    by command-line arguments. (robs)
   o Add seek support for GSM data in WAV files. Rafal Maszkowski
   o Allow encoding quality to be specified (FLAC & Ogg, but not
     MP3 yet).  (robs)
@@ -176,7 +181,7 @@
 
   Internal improvements:
 
-  o More and better self-tests. (robs@users.sf.net)
+  o More and better self-tests. (robs)
   o Build system overhaul to use the full set of GNU autotools.
     (Reuben Thomas)
   o Add new getopt1.c to win32 project file.
--- a/README
+++ b/README
@@ -111,6 +111,8 @@
   o Noise elimination using frequency profiling
   o Resample using libsamplerate (aka Secret Rabbit code, optional
     external library)
+  o Apply LADSPA (Linux Audio Developer's Simple Plugin API) effects
+    such as cmt (Computer Music Toolkit)
 
 Unless you're using a pre-compiled binary version, you will need to
 compile SoX as described in the INSTALL file.
--- a/src/ladspa.c
+++ b/src/ladspa.c
@@ -150,7 +150,8 @@
     }
   }
 
-  /* FIXME: allow use of source and sink plugins */
+  /* FIXME: allow use of source and sink plugins; needs a design
+     change to allow an effect to be a source or sink */
   if (l_st->input_port == ULONG_MAX) {
     sox_fail("no input port");
     return SOX_EOF;
@@ -191,7 +192,10 @@
   ladspa_t l_st = (ladspa_t)effp->priv;
   LADSPA_Data *buf = xmalloc(sizeof(LADSPA_Data) * *isamp);
   sox_sample_t i;
+  sox_size_t len = min(*isamp, *osamp);
 
+  *osamp = *isamp = len;
+
   /* Copy the input; FIXME: Assume LADSPA_Data == float! */
   for (i = 0; i < *isamp; i++)
     buf[i] = SOX_SAMPLE_TO_FLOAT_32BIT(ibuf[i], effp->clips);
@@ -204,7 +208,6 @@
   l_st->desc->run(l_st->handle, *isamp);
 
   /* Copy the output; FIXME: Assume LADSPA_Data == float! */
-  *osamp = *isamp;
   for (i = 0; i < *osamp; i++)
     obuf[i] = SOX_FLOAT_32BIT_TO_SAMPLE(buf[i], effp->clips);
 
--- a/src/noiseprof.c
+++ b/src/noiseprof.c
@@ -118,6 +118,7 @@
     int ncopy = 0;
     sox_size_t i;
 
+    /* FIXME: Make this non-fatal */
     assert(effp->ininfo.channels == effp->outinfo.channels);
 
     /* How many samples per track to analyze? */
--- a/src/noisered.c
+++ b/src/noisered.c
@@ -269,6 +269,7 @@
     int oldbuf = data->bufdata;
     sox_size_t i;
 
+    /* FIXME: make this non-fatal */
     assert(effp->ininfo.channels == effp->outinfo.channels);
 
     if (whole_window)
--- a/src/pitch.c
+++ b/src/pitch.c
@@ -453,7 +453,7 @@
     oindex = 0;
 
     /* warning:
-       because of the asynchroneous nature of buffering,
+       because of the asynchronous nature of buffering,
        the output index can reach the buffer limits before full consumption.
        I put the input index just in case. 
        If the code is correct, eithier len or iindex is redundant.
--- a/src/silence.c
+++ b/src/silence.c
@@ -10,7 +10,7 @@
  * when it sees a specified count of samples below a given threshold
  * (all channels).
  * It may also be used to delete samples anywhere in a sound file.
- * Theshold's can be given as either a percentage or in decibels.
+ * Thesholds can be given as either a percentage or in decibels.
  */