Mercurial > octave-nkf
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 |