Mercurial > hg > octave-lyh
annotate scripts/audio/wavread.m @ 11587:c792872f8942
all script files: untabify and strip trailing whitespace
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 20 Jan 2011 17:35:29 -0500 |
parents | 3c6e8aaa9555 |
children | de3e90a420e3 |
rev | line source |
---|---|
11523 | 1 ## Copyright (C) 2005-2011 Michael Zeising |
5565 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7016 | 7 ## the Free Software Foundation; either version 3 of the License, or (at |
8 ## your option) any later version. | |
5565 | 9 ## |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
7016 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
5565 | 18 |
19 ## -*- texinfo -*- | |
6547 | 20 ## @deftypefn {Function File} {@var{y} =} wavread (@var{filename}) |
5567 | 21 ## Load the RIFF/WAVE sound file @var{filename}, and return the samples |
22 ## in vector @var{y}. If the file contains multichannel data, then | |
23 ## @var{y} is a matrix with the channels represented as columns. | |
5565 | 24 ## |
6547 | 25 ## @deftypefnx {Function File} {[@var{y}, @var{Fs}, @var{bits}] =} wavread (@var{filename}) |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
26 ## Additionally return the sample rate (@var{fs}) in Hz and the number of bits |
5565 | 27 ## per sample (@var{bits}). |
28 ## | |
6547 | 29 ## @deftypefnx {Function File} {[@dots{}] =} wavread (@var{filename}, @var{n}) |
5565 | 30 ## Read only the first @var{n} samples from each channel. |
31 ## | |
11563
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
32 ## @deftypefnx {Function File} {[@dots{}] =} wavread (@var{filename}, @var{n1} @var{n2}) |
5565 | 33 ## Read only samples @var{n1} through @var{n2} from each channel. |
34 ## | |
6547 | 35 ## @deftypefnx {Function File} {[@var{samples}, @var{channels}] =} wavread (@var{filename}, "size") |
5567 | 36 ## Return the number of samples (@var{n}) and channels (@var{ch}) |
37 ## instead of the audio data. | |
5642 | 38 ## @seealso{wavwrite} |
5565 | 39 ## @end deftypefn |
40 | |
7117 | 41 ## Author: Michael Zeising <michael@michaels-website.de> |
5565 | 42 ## Created: 06 December 2005 |
43 | |
5567 | 44 function [y, samples_per_sec, bits_per_sample] = wavread (filename, param) |
45 | |
5565 | 46 FORMAT_PCM = 0x0001; # PCM (8/16/32 bit) |
47 FORMAT_IEEE_FLOAT = 0x0003; # IEEE float (32/64 bit) | |
48 BYTEORDER = "ieee-le"; | |
49 | |
5567 | 50 if (nargin < 1 || nargin > 2) |
6046 | 51 print_usage (); |
5567 | 52 endif |
53 | |
54 if (! ischar (filename)) | |
10738
a4b8364e04c7
wavread.m: Correctly handle non-word aligned chunks (bug #30309).
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
55 error ("wavread: FILENAME must be a character string"); |
5567 | 56 endif |
57 | |
8796
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
58 # Open file for binary reading. |
5565 | 59 [fid, msg] = fopen (filename, "rb"); |
60 if (fid < 0) | |
5572 | 61 error ("wavread: %s", msg); |
5565 | 62 endif |
8796
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
63 |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
64 ## Get file size. |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
65 fseek (fid, 0, "eof"); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
66 file_size = ftell (fid); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
67 fseek (fid, 0, "bof"); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
68 |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
69 ## Find RIFF chunk. |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
70 riff_size = find_chunk (fid, "RIFF", file_size); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
71 riff_pos = ftell (fid); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
72 if (riff_size == -1) |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
73 fclose (fid); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
74 error ("wavread: file contains no RIFF chunk"); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
75 endif |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
76 |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
77 riff_type = char (fread (fid, 4))'; |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
78 if(! strcmp (riff_type, "WAVE")) |
5565 | 79 fclose (fid); |
8796
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
80 error ("wavread: file contains no WAVE signature"); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
81 endif |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
82 riff_pos = riff_pos + 4; |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
83 riff_size = riff_size - 4; |
8796
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
84 |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
85 ## Find format chunk inside the RIFF chunk. |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
86 fseek (fid, riff_pos, "bof"); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
87 fmt_size = find_chunk (fid, "fmt ", riff_size); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
88 fmt_pos = ftell(fid); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
89 if (fmt_size == -1) |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
90 fclose (fid); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
91 error ("wavread: file contains no format chunk"); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
92 endif |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
93 |
8796
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
94 ## Find data chunk inside the RIFF chunk. |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
95 ## We don't assume that it comes after the format chunk. |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
96 fseek (fid, riff_pos, "bof"); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
97 data_size = find_chunk (fid, "data", riff_size); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
98 data_pos = ftell (fid); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
99 if (data_size == -1) |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
100 fclose (fid); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
101 error ("wavread: file contains no data chunk"); |
5565 | 102 endif |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
103 |
8796
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
104 ### Read format chunk. |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
105 fseek (fid, fmt_pos, "bof"); |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
106 |
8506 | 107 ## Sample format code. |
6304 | 108 format_tag = fread (fid, 1, "uint16", 0, BYTEORDER); |
5567 | 109 if (format_tag != FORMAT_PCM && format_tag != FORMAT_IEEE_FLOAT) |
110 fclose (fid); | |
111 error ("wavread: sample format %#x is not supported", format_tag); | |
112 endif | |
113 | |
8506 | 114 ## Number of interleaved channels. |
6304 | 115 channels = fread (fid, 1, "uint16", 0, BYTEORDER); |
5567 | 116 |
8506 | 117 ## Sample rate. |
6304 | 118 samples_per_sec = fread (fid, 1, "uint32", 0, BYTEORDER); |
5567 | 119 |
8506 | 120 ## Bits per sample. |
8796
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
121 fseek (fid, 6, "cof"); |
6304 | 122 bits_per_sample = fread (fid, 1, "uint16", 0, BYTEORDER); |
5567 | 123 |
8796
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
124 ### Read data chunk. |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
125 fseek (fid, data_pos, "bof"); |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
126 |
8506 | 127 ## Determine sample data type. |
5567 | 128 if (format_tag == FORMAT_PCM) |
5839 | 129 switch (bits_per_sample) |
5565 | 130 case 8 |
5572 | 131 format = "uint8"; |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
132 case 16 |
5565 | 133 format = "int16"; |
5839 | 134 case 24 |
10549 | 135 format = "uint8"; |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
136 case 32 |
5565 | 137 format = "int32"; |
138 otherwise | |
139 fclose (fid); | |
6304 | 140 error ("wavread: %d bits sample resolution is not supported with PCM", |
10549 | 141 bits_per_sample); |
5565 | 142 endswitch |
143 else | |
5567 | 144 switch (bits_per_sample) |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
145 case 32 |
5565 | 146 format = "float32"; |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
147 case 64 |
5565 | 148 format = "float64"; |
149 otherwise | |
150 fclose (fid); | |
6304 | 151 error ("wavread: %d bits sample resolution is not supported with IEEE float", |
10549 | 152 bits_per_sample); |
5565 | 153 endswitch |
154 endif | |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
155 |
8506 | 156 ## Parse arguments. |
5567 | 157 if (nargin == 1) |
8796
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
158 length = 8 * data_size / bits_per_sample; |
5565 | 159 else |
10738
a4b8364e04c7
wavread.m: Correctly handle non-word aligned chunks (bug #30309).
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
160 nparams = size (param, 2); |
a4b8364e04c7
wavread.m: Correctly handle non-word aligned chunks (bug #30309).
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
161 if (nparams == 1) |
8506 | 162 ## Number of samples is given. |
5565 | 163 length = param * channels; |
10738
a4b8364e04c7
wavread.m: Correctly handle non-word aligned chunks (bug #30309).
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
164 elseif (nparams == 2) |
8506 | 165 ## Sample range is given. |
8796
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
166 if (fseek (fid, (param(1)-1) * channels * (bits_per_sample/8), "cof") < 0) |
5567 | 167 warning ("wavread: seeking failed"); |
5565 | 168 endif |
5839 | 169 length = (param(2)-param(1)+1) * channels; |
10738
a4b8364e04c7
wavread.m: Correctly handle non-word aligned chunks (bug #30309).
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
170 elseif (nparams == 4 && char (param) == "size") |
8506 | 171 ## Size of the file is requested. |
5565 | 172 fclose (fid); |
9598
70de69177370
wavread.m: rename data_size from obsolete ck_size
Christophe Tournery <christophe.tournery@illusonic.com>
parents:
8920
diff
changeset
|
173 y = [data_size/channels/(bits_per_sample/8), channels]; |
10738
a4b8364e04c7
wavread.m: Correctly handle non-word aligned chunks (bug #30309).
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
174 return; |
5565 | 175 else |
176 fclose (fid); | |
177 error ("wavread: invalid argument 2"); | |
178 endif | |
179 endif | |
5839 | 180 |
8506 | 181 ## Read samples and close file. |
5839 | 182 if (bits_per_sample == 24) |
183 length *= 3; | |
184 endif | |
5565 | 185 [yi, n] = fread (fid, length, format, 0, BYTEORDER); |
186 fclose (fid); | |
5839 | 187 |
8506 | 188 ## Check data. |
6304 | 189 if (mod (numel (yi), channels) != 0) |
190 error ("wavread: data in %s doesn't match the number of channels", | |
10549 | 191 filename); |
6304 | 192 endif |
193 | |
5839 | 194 if (bits_per_sample == 24) |
195 yi = reshape (yi, 3, rows(yi)/3)'; | |
196 yi(yi(:,3) >= 128, 3) -= 256; | |
197 yi = yi * [1; 256; 65536]; | |
7151 | 198 endif |
199 | |
5567 | 200 if (format_tag == FORMAT_PCM) |
8506 | 201 ## Normalize samples. |
5567 | 202 switch (bits_per_sample) |
5565 | 203 case 8 |
7117 | 204 yi = (yi - 128)/127; |
5572 | 205 case 16 |
7117 | 206 yi /= 32767; |
5839 | 207 case 24 |
10738
a4b8364e04c7
wavread.m: Correctly handle non-word aligned chunks (bug #30309).
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
208 yi /= 8388607; |
5572 | 209 case 32 |
7117 | 210 yi /= 2147483647; |
5565 | 211 endswitch |
212 endif | |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
213 |
8506 | 214 ## Deinterleave. |
5567 | 215 nr = numel (yi) / channels; |
216 y = reshape (yi, channels, nr)'; | |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
217 |
5565 | 218 endfunction |
8796
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
219 |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
220 ## Given a chunk_id, scan through chunks from the current file position |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
221 ## though at most size bytes. Return the size of the found chunk, with |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
222 ## file position pointing to the start of the chunk data. Return -1 for |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
223 ## size if chunk is not found. |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
224 |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
225 function chunk_size = find_chunk (fid, chunk_id, size) |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
226 id = ""; |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
227 offset = 8; |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
228 chunk_size = 0; |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
229 |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
230 while (! strcmp (id, chunk_id) && (offset < size)) |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
231 fseek (fid, chunk_size, "cof"); |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
232 id = char (fread (fid, 4))'; |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
233 chunk_size = fread (fid, 1, "uint32", 0, "ieee-le"); |
10738
a4b8364e04c7
wavread.m: Correctly handle non-word aligned chunks (bug #30309).
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
234 ## Chunk sizes must be word-aligned (2 byte) |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
235 chunk_size += rem (chunk_size, 2); |
8796
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
236 offset = offset + 8 + chunk_size; |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
237 endwhile |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
238 if (! strcmp (id, chunk_id)) |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
239 chunk_size = -1; |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
240 endif |
9662dfb26652
wavread.m: improve search for data chunks
Frederick Umminger <Frederick_Umminger@playstation.sony.com>
parents:
8506
diff
changeset
|
241 endfunction |