comparison scripts/audio/@audiorecorder/set.m @ 19522:ee3ec3f02358

maint: moved @audiorecorder and @audioplayer folders inside the audio folder
author Vytautas Jančauskas <unaudio@gmail.com>
date Wed, 18 Sep 2013 00:16:28 +0300
parents scripts/@audiorecorder/set.m@e1f98e402a7e
children 77b52b86b419
comparison
equal deleted inserted replaced
19521:480407a8d226 19522:ee3ec3f02358
1 ## -*- texinfo -*-
2 ## @deftypefn{Function File} set (@var{recorderObj}, @var{Name}, @var{Value})
3 ## Set the value of property specified by @var{Name} to a given @var{Value}.
4 ## @deftypefnx{Function File} set (@var{recorderObj}, @var{CellOfNames}, @var{CellOfValues})
5 ## Given a cell array of property names and a cell array of values, set each property to a corresponding value.
6 ## @deftypefnx{Function File} set (@var{recorderObj}, @var{StructOfProperties})
7 ## Given a structure where fields are property names, set the value of those properties for an audiorecorder object to corresponding values.
8 ## @deftypefnx{Function File} @var{settableProperties} = set (@var{recorderObj})
9 ## Returns a structure of settable properties.
10 ## @end deftypefn
11
12 function settable = set (varargin)
13 if nargin < 1 || nargin > 3
14 print_usage();
15 endif
16 recorder = struct (varargin{1}).recorder;
17 if nargin == 1
18 settable.SampleRate = {};
19 settable.Tag = {};
20 settable.UserData = {};
21 elseif nargin == 2
22 for [value, property] = varargin{2}
23 setproperty (recorder, property, value);
24 endfor
25 elseif nargin == 3
26 if iscell (varargin{2})
27 index = 1;
28 for property = varargin{2}
29 setproperty (recorder, char(property), varargin{3}{index});
30 index = index + 1;
31 endfor
32 else
33 setproperty (recorder, varargin{2}, varargin{3});
34 endif
35 else
36 error ('audiorecorder: wrong number of arguments to the set method');
37 endif
38 endfunction
39
40 function setproperty (recorder, property, value)
41 switch property
42 case 'SampleRate'
43 __recorder_set_fs__ (recorder, value);
44 case 'Tag'
45 __recorder_set_tag__ (recorder, value);
46 case 'UserData'
47 __recorder_set_userdata__ (recorder, value);
48 otherwise
49 error ('audiorecorder: no such property or the property specified is read-only');
50 endswitch
51 endfunction