diff scripts/audio/wavwrite.m @ 17201:af2051e363ea

Fix return arguments for wavread (...,"size"), bug #39639. * scripts/audio/wavread.m: Return two arguments in two output variables. * scripts/audio/wavwrite.m: Add %!tests for "size", and [N], [N1, N2] inputs to wavread.
author Rik <rik@octave.org>
date Wed, 07 Aug 2013 07:35:01 -0700
parents 221e71d2aef0
children
line wrap: on
line diff
--- a/scripts/audio/wavwrite.m
+++ b/scripts/audio/wavwrite.m
@@ -154,7 +154,7 @@
 %! fname = tmpnam ();
 
 %!test
-%! A = [-1:0.1:1; -1:0.1:1];
+%! A = [-1:0.1:1; -1:0.1:1]';
 %! wavwrite (A, fname);
 %! [B, samples_per_sec, bits_per_sample] = wavread (fname);
 %! unlink (fname);
@@ -163,7 +163,7 @@
 %! assert (bits_per_sample, 16);
 
 %!test
-%! A = [-1:0.1:1; -1:0.1:1];
+%! A = [-1:0.1:1; -1:0.1:1]';
 %! wavwrite (A, 4000, fname);
 %! [B, samples_per_sec, bits_per_sample] = wavread (fname);
 %! unlink (fname);
@@ -172,7 +172,7 @@
 %! assert (bits_per_sample, 16);
 
 %!test
-%! A = [-1:0.1:1; -1:0.1:1];
+%! A = [-1:0.1:1; -1:0.1:1]';
 %! wavwrite (A, 4000, 8, fname);
 %! [B, samples_per_sec, bits_per_sample] = wavread (fname);
 %! unlink (fname);
@@ -197,3 +197,22 @@
 %! assert (samples_per_sec, 8000);
 %! assert (bits_per_sample, 16);
 
+%!test
+%! A = [-1:0.1:1; -1:0.1:1]';
+%! wavwrite (A, fname);
+%! B = wavread (fname, 15);
+%! unlink (fname);
+%! assert (A(1:15,:) ,B, 1/2^15);
+%! wavwrite (A, fname);
+%! B = wavread (fname, [10, 20]);
+%! unlink (fname);
+%! assert (A(10:20,:) ,B, 1/2^15);
+
+%!test
+%! A = [-1:0.1:1; -1:0.1:1]';
+%! wavwrite (A, fname);
+%! [nsamp, nchan] = wavread (fname, "size");
+%! unlink (fname);
+%! assert (nsamp, 21);
+%! assert (nchan, 2);
+