Bump version numbers to 6.2.0
[scilab.git] / scilab / modules / sound / macros / sound.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) ???? - INRIA - Scilab
3 // Copyright (C) ???? - ENPC
4 //
5 // Copyright (C) 2012 - 2016 - Scilab Enterprises
6 //
7 // This file is hereby licensed under the terms of the GNU GPL v2.0,
8 // pursuant to article 5.3.4 of the CeCILL v.2.1.
9 // This file was originally licensed under the terms of the CeCILL v2.1,
10 // and continues to be available under such terms.
11 // For more information, see the COPYING file which you should have received
12 // along with this program.
13
14 function []=sound(y,fs,bits,aplay)
15     //SOUND Play vector as sound.
16     //   SOUND(Y,FS) sends the signal in vector Y (with sample frequency
17     //   FS) out to the speaker on platforms that support sound. Values in
18     //   Y are assumed to be in the range -1.0 <= y <= 1.0. Values outside
19     //   that range are clipped.  Stereo sounds are played, on platforms
20     //   that support it, when Y is an N-by-2 matrix.
21     //
22     //   SOUND(Y) plays the sound at the default sample rate of 22050 Hz.
23     //
24     //   SOUND(Y,FS,BITS) plays the sound using BITS bits/sample if
25     //   possible.  Most platforms support BITS=8 or 16.
26     //
27     //   See also SOUNDSC.
28     [nargout,nargin] = argn(0)
29     if nargin<1 then
30         error(msprintf(gettext("%s: Wrong number of input argument(s): At least %d expected.\n"),"sound",1));
31     end
32     if nargin<2 then
33         fs = 22050;
34     end
35     if nargin<3 then
36         bits = 16;
37     end
38     if nargin < 4 then
39         if getos() == "Darwin" then
40             aplay = "afplay"
41         else
42             aplay = "aplay";
43         end
44     end
45     // Make sure y is in the range +/- 1
46     y = max(-1,min(y,1));
47     // Make sure that there's one column
48     // per channel.
49     if length(size(y)) > 2 then
50         error(msprintf(gettext("%s: An error occurred: %s\n"),"sound",gettext("Requires 2-D values only.")));
51     end
52     playsnd(y,fs,bits,aplay);
53 endfunction